Tuesday, June 13, 2017

Monday:
I redid the first couple steps of the walkthrough. I've made it to the point where you have to turn the csv files into sql files. His instructions are a bit vague, and the code flawed according to Marco.

Tuesday:


Wednesday:

Thursday, June 8, 2017

Week 14: Day 71-75 - VA Votes #7


Monday:
N/A --- SDV 100 w/ Ms. Magro

Tuesday:
I continued helping Owen with the guide. According to Owen, he completed everything, and was able to start working on PostGIS stuff. I finished interpolating Mr. Elkner's guide on how to create the Postgres server with PostGIS functionality and importing VA precinct data, into the walkthrough. Now I think we're gonna be able to do a final walkthrough, and finally reach a final product.

Wednesday:
I was told to go through the walkthrough today, but they needed to create a virtual machine. There were a lot of things that prevented me from starting today, but I'm sure I'll be able to start next class. In the meantime, I was studying more postgres and SQL related items.

Thursday:
Today, I started going through the walkthrough, but we ran into some problems again. I only made it to the end of step 2 because of our setbacks. The setbacks were mainly the installation and configuration of plugins on the new virtual machine. I think the rest is straightforward enough that I can complete it next class.

Friday:
N/A --- Prom Day

Monday, May 22, 2017

Week 13: Day 65-70 - VA Votes #6


Monday:
Today, I spent all of class working with Owen on the VA Votes project. It's part of his senior experience, so we're gonna be working on this a lot more now. He showed me the script that he made in Python, and how it would take data from the CSV data files and convert them into stuff that can be transferred into tables automatically. It was interesting stuff, and I understood thanks to the way he explained it.

Tuesday:
N/A --- Senior Project Presentation

Wednesday:
Today, I provided Owen with information on how I designed my database. Next, I taught him about how to implement primary keys and foreign keys. Afterwards, he taught me some things about querying which I didn't know before. Then I went back and started playing around with a test database to figure apply what I learned earlier to something.

Thursday:
N/A --- SDV 100 w/ Ms. Magro

Friday:
Today, I helped Owen with his walkthrough guide, which documents our steps for the VA Votes project. He asked me some questions that he has been wanting to ask me since SOL week. When we reached PostGIS stuff, Mr. Elkner told me not to worry about it since it was something we haven't been able to reach yet.

Monday, May 15, 2017

Week 12: Day 55-59 - Continuing SQL


Monday:
I spent most of today in Ms. Magro's class, logging into my nova account and getting to blackboard through myNova. She asked us to do an assignment as well, just as a taste of what was to come. After that, I came back down to the room. The rest of the class I just explored some SQL.

Tuesday:
Today, I re-installed pgAdmin III, an SQL manager for all platforms. The version I had before was not a version that worked with vavotes. It took me most of class to install this, since it was a long process. Afterwards, I connected to vavotes and it was successful. The rest of class I spent learning how to use this properly.

Wednesday:
Today, I spent time practicing my ability to create Entity Relationship Diagrams. It's these diagrams that help you model a database. There are three important terms to know about ER Diagrams. The entities, actions, and attributes. Entities is an object with which you want to store information. An action is the type of relationship between entities. Finally, attributes are characteristics of an entity.

Thursday:
N/A --- SDV 100 w/ Ms. Magro

Friday:
N/A --- Out Sick

Wednesday, May 3, 2017

Week 11: Day 50-54 - VA Votes #4


Monday:
Today, Mr. Elkner was not here. He told me that this guy who meets with on Thursdays was going to make a diagram for me and email it to me, so I could create a database for VA Votes. Unfortunately, I did not get any email. Instead, I spent the class sharpening my skills in Postgres by messing around with other commands, and learning about SQL in general through the w3schools Then course.

Tuesday:
Today, I started out by telling Mr. Elkner I didn't get an email from the guy. Apparently, the guy didn't show up to the last meeting, so now Mr. Elkner will email him. I helped Amanuel access his Windows directory from his bash shell, since it puts you into the Ubuntu directory instead.

Wednesday:
I had my AP English test today, so I'm exhausted. I started out by replying to the email chain with details on my database plan, and samples of the data so James can make an ER diagram if he wants. At this point I don't have much to do, so I'm trying to learn what I can about querying and postgres. I also tried to learn how to import CSV files into a table through Postgres.

Thursday:
N/A --- SDV 100 with Ms. Magro

Friday:
Today, Mr. Elkner told me that there was an ER diagram circulating within the project collaborators. I did not receive this, so he e-mailed the chain inquiring for the diagram so I could get started. In the mean time I continued my work from last class. This time, I found a very useful software. It's called PGAdmin III, and it allows me to access vavotes and edit the tables in an easy way.

Thursday, April 27, 2017

Week 10: Day 45-49 - VA Votes #3


Monday:
Today, I started tinkering with the tables on the va_votes_testing database. It seems I am getting a good understanding of how the table relationships work, and I'm very happy about that. What's even more important though, is getting the data into these tables. However, the current data is simply too disorganized to be able to go into the tables. I will have to find a good way of rearranging the data to fit into the tables I made.

Tuesday:
So, after discussing with Marco and Owen, we found a good way of getting the data into the tables. I started modifying the CSV data from the official Virginia elections website, and I think I have a grasp on what it should look like. Now what we need is for Marco to make a good Python program that will clean the data the way I want it to.

Wednesday:
Today, Mr. Elkner was not here. We had a good sub, who let us do our thing. Marco showed me the mechanics of how he plans to store data into the tables using Python. The way it works is that it uses the SQL integration that's built into Python to take the data and put it into the tables. We decided it's faster if we create a "data cleaner" which will modify the CSV files into the way I want it to be. Marco may have decided to delegate that task to Ali, not entirely sure. I exported a PGSQL file from my database so Marco could have a reference point, I also uploaded it to the VA Votes Github.

Thursday:
Today, I started by exporting an SQL file instead, since the pgsql format was not good for Marco. I spent the rest of class manually organizing data from the 2000 election so I can input into my database. I basically finished doing that, along with creating data for the other tables so I can see if it really works properly.

Friday:
I implemented legitimate voter election data into the database. It's from the U.S. Presidential Election in 2000. This was for proof of concept. The database that I make works properly, but now I must await until I get the diagram from Thursday night so I can design the next database.

Tuesday, April 18, 2017

Week 9: Day 41-44 - VA Votes #2


Tuesday:
Today, I am looking into transferring CSV files into Postgres. To import it, you must create a table with the corresponding columns in the data. However, the columns have slashes in it, the rows have both text and integers, and I have no idea what to do to import the data properly. This is extremely frustrating, but I hope that I figure it all out during the week.

Wednesday:
Today, we began designing the database. First, I created a new database so I could mess around without causing any damage to the va_votes database. In my endeavor to find out how to extract the CSV data into a table, I tried pointing out the problems with the particular ones I was dealing with to Owen and Marco. They had no idea how to fix it, and clearly I didn't either. Instead, we focused on designing the database, and we wrote it down on paper. Next, I put it into action, and I believe that I created the proper key relationships.

Thursday:
Today, I was going through the W3Schools course on SQL. I'm trying to figure out all the joins and their functions. I went through a lot of the course, and skipped the parts I already knew.

Friday:
I started working on the tables for the database, and I'm having a bit of a hard time wrapping my head around how we're going to rearrange the data.


Monday, April 3, 2017

Week 8: Day 35-40 - VA Votes #1


Monday:
Today, I accessed Mr. Elkner's postgres server and created a database called "va_votes". We added postgis to it, and I will be accessing it using a tool called QGIS. Unfortunately, the file was taking forever to install, it had a 2 hour estimate at 2:15 pm so I was not gonna have it done downloading by the end of class. One hopes the installation would be faster haha. For the rest of class I was learning postgres commands from their website, and I also helped Ali fix his connection to a virtual machine.

Tuesday:
Today, I studied some more postgres commands about user/role management, and file system management. I finished installing QGIS, and I'm in now. I connected to Mr. Elkner's server, and attempted to load the precinct data of Virginia. Although it did load, it took forever, and anytime I zoomed, it would return to loading for a very long time. Afterwards, we decided that it was best to make a postgres server that was local. I had Ali create a virtual machine for me, so I could create the server.

Wednesday:
Today, I created the postgres server locally. I got Mr. Elkner to transfer the precinct data from his server, in an SQL file, through scp to vavotes. I then transferred that data from the SQL file to the database "va_votes". On a side note, I also helped Ali fix his computer's connection to a virtual machine. Whether or not the precinct data loads quicker or at all, I will find out tomorrow since there isn't anymore time left in class.

Thursday:
It's confirmed, the data loads, and much quicker then before. Mr. Elkner laid out the course of action for the Taco Truck project, or at least gave me a preview of what's coming up. I proposed a new project to better my SQL skills, and that's to compile a playlist of my favorite artists, songs, and labels. He gave me the green light on that, and I've already started to be honest. I hope I can turn this into a website too in the near future.

Friday:
Today, I worked on my side project by inserting a lot of data into my tables and creating a database. In addition, I started analyzing the data that Marco gave me, and figuring out how to design the va_votes database. So far it seems like a lot of data to organize, and it's kind of hard for me to wrap my head around it right now, but hopefully that changes.

Monday, March 27, 2017

Week 7: Day 30-34 - Postgres Server Pt. 2

Monday:
Today, I created a bash script for Marco for the Taco Truck project. Then I helped Edson move a bunch of files to a different directory. Afterwards, I started learning some Postgres commands regarding users and privileges. To create a new user, you have to do:

CREATE USER (username) WITH PASSWORD '(password)';

and you can delete just as easily doing:

DROP USER (username);

to give the user superuser (administrative) status do:

ALTER USER (username) WITH SUPERUSER;

to set a password:

ALTER USER (username) WITH PASSWORD '(password)';

To connect to your actual server, you do:

psql -h (ip address/hostname) -p 5432 -U (user) -d (name of database)

Tuesday:
Today, I wanted to work on the Postgres Server, unfortunately Mr. Elkner gave me a wacky password instead of just "password" like I suggested. So I was not able to log into the server. So instead, I added a new column to the Taco Truck table, and continued learning about querying in subqueries in SQL through Khan Academy, then did the follow up activity.

Wednesday:
Today, I had Mr. Elkner give me the password so I could get in to change it. I did that, and now I'm in and can learn how to use Postgresql.

Thursday:
Today, I helped Edzon with a Python syntax issue. Then Ian wanted to convert an image into a banner, and I helped him do that. Afterwards, Mr. Elkner assigned me to a new project. I started designing a database for the Virginia CS Standards. It's going to be a many-to-many relationship. You can check my github to see what work I've been doing on that.

Friday:
Today, I continued working on getting the many-to-many relationship to work on the Virginia CS Standards thing. It's been very tough to figure out, but I learned from this on how foreign keys work, and this reinforced it with an example in sqlite which joins two table for a many to many relationship. This is exactly what I emulated for the standards which I had to organize.

Tuesday, March 21, 2017

Week 6: Day 25-29 - Let's Get This Taco Truck Rolling


Monday:
My goal this week is to get the ball rolling on the Taco Truck project. I've already started with creating a document to organize our project, and now Marco is showing me some vital information regarding this project. He has shown me how he will get Python to interact with SQLite, and it's very intriguing. This seems to make a lot more sense to me now.

Tuesday:
Today, I helped Ali with his Red Hat Exam preparation. He asked me some questions about the networking side of things, and I pointed him in the right direction with what he should know before going into the test. Next, I created a table in SQLite for the Taco Truck project. Now it's time to get Marco to integrate it!

Wednesday:
Today I worked on the Taco Truck project even more. We created a Github page for it, and I stored my SQL file on there for Marco to work on. I also installed Postgresql on the virtual machine server that Ali made for me. Next time, I'm going to work on the VA Votes project.

Thursday:
N/A (Field Trip)

Friday:
N/A (Field Trip)

Friday, March 10, 2017

Week 5: Day 20-24 - Postgres Server


Monday:
Mr. Elkner has changed my focus for this week. Instead of Khan Academy, I will be focusing on setting up an SQL server. Today, I changed the hostname for the Raspberry Pi, as you can see it's "cdevlin" now, named after Catherine Devlin. In addition, I created a test database following your directions..

Tuesday:
Today, I gave Ali some great advice on his Red Hat test. I showed him how to hack the system to change the root password, and told him the biggest focuses he should have on the test. Afterwards, I made some great progress on my SQL server. I created it, and it seems to be working. Now, I need to make it so other computers on the network can connect to it. I will be doing that next class.

Wednesday:
Today, I helped out Edson, Ian, and Helber with Github. They needed to configure their SSH keys, which need to be generated using "ssh-keygen". In addition, I finished creating the Postgres SQL server, and Mr. Elkner is able to connect to it properly. There are several potential things I may end up doing moving forward. It seems that I might be helping a Wakefield student to help out a taco truck driver track his sales/resources using a database. At the same time, I will be furthering my studies using the Postgres server.

Thursday:
Today, I helped out even more people with Github. It seems that I have got most of the class to bind their terminals to github with SSH keys, despite the several problems that I encountered. In addition, Ali has been assigned to create a virtual machine for me, so I can transfer my Postgres server from the weak Raspberry Pi, to the more powerful and spacious Ubuntu VM that I'm getting. I've been told by Mr. Elkner the plan of action for this tack truck project. I will be handling the SQL side of things using SQLite, which will be receiving information in JSON through Python as middleware. Very exciting stuff!

Friday:
I spent a lot of time researching relational databases, to understand the concept. Edgar F. Codd is the guy who created the relational model, using relational algebra & calculus. Relational databases, use his relational model. Ali had finished creating my virtual machine server. I spent the rest of class creating the Postgres server, which I did successfully.

Friday, March 3, 2017

Week 4: Day 15-19 - Advanced SQL Queries


Monday:
Today I watched a video on Khan querying in subqueries. It was followed up by an activity as most of these videos are. It was extremely frustrating trying to figure out how to use IN.

Resources:
https://www.khanacademy.org/computing/computer-programming/sql/more-advanced-sql-queries/p/querying-in-subqueries

Tuesday:
Today I helped out a fellow classmate on trying to get Github for Terminal on his Mac. Afterwards, I went to Mr. O'Day's to get footage transferred from my Sony HVR HD-1000u camera onto the computer. My predicament was that there are not that many devices which support FireWire. Thankfully after much searching, there was a PC in the room which had FireWire support. However, it took me a while to figure out how to get my camera into "VCR Mode" so it could start the transfer. I was about to start transfer, but in the middle there was a fire alarm. When I got back I started the transfer, and it was around the end of class when it finished.

Wednesday:
At the beginning of today, I quickly went to Mr. O'Day's to import video from the camera. While it was importing, I went back and did more Khan Academy. Now I'm looking at restricting grouped results with "having".

Resources:
https://www.khanacademy.org/computing/computer-programming/sql/more-advanced-sql-queries/p/restricting-grouped-results-with-having

Thursday:
Today I learned about who issues SQL queries. Afterwards I moved on to calculating results with CASE, and followed up with another activity.

Resources:
https://www.khanacademy.org/computing/computer-programming/sql/more-advanced-sql-queries/a/who-issues-sql-queries
https://www.khanacademy.org/computing/computer-programming/sql/more-advanced-sql-queries/p/calculating-results-with-case

Friday:
Today, Mr. Elkner and I discussed a potential project that I will be working on with a fellow Wakefield student. It required an SQL server, which we set up on a Raspberry Pi. In the meantime I did some research on who the server should be named after. We chose someone whom Mr. Elkner knows for the honor.

Friday, February 24, 2017

Week 3: Day 11-14 - SQL Basics


Tuesday:
Today, I watched some of the Khan Academy videos. I learned about querying and aggregating data. However, halfway into the class Ian had problems updating Windows 10. I helped him, by manually installing the update.

Resources:
https://www.khanacademy.org/computing/computer-programming/sql/sql-basics/p/querying-the-table
https://www.khanacademy.org/computing/computer-programming/sql/sql-basics/p/aggregating-data

Wednesday:
Today, I did several things. First, I went to a guy called Larry to inquire about usage of a FireWire port. When I returned, I ensured that Ian's update went well, and it did. Next, I started watching the videos again. I have now learned the proper way to pronounce SQL, and apparently there is historical precedent for SQL to be called "sequel", since that was what it was previously called in the past. It's often pronounced "S-Q-L" by foreigners though. Next, I worked on a project assigned to me by the course on Khan Academy. I had to create a database for a store.

Resources:
https://www.khanacademy.org/computing/computer-programming/sql/sql-basics/v/s-q-l-or-sequel


Thursday:
Today, I finished the project that was assigned to me by the course. I decided afterwards, to learn how to import that into my SQLite. Apparently all you have to do is specify the name of your new file upon creation, and then copy paste the commands, since all it's doing is redoing what I already told it. Tomorrow I'll start doing more advanced SQL queries.

Resources:
https://www.khanacademy.org/computing/computer-programming/sql/sql-basics/p/project-design-a-store-database

Friday:
Today, I learned how to use AND/OR in SQL. It's a very useful selector, and I will be using it a lot in the future. It also mentioned "autoincrement", which is useful for IDs, so you don't have to specify them every time. I will be continuing this next week.

Resources:
https://www.khanacademy.org/computing/computer-programming/sql/more-advanced-sql-queries/p/more-complex-queries-with-andor

Monday, February 20, 2017

Week 2: Day 06-10 - Starting SQLite


Monday:
Mr. Elkner decided that I'm done with all my Battlefield stuff for the time being, and is now telling me to focus on SQLite, and so I will. I have installed SQLite on my bash shell, and intend on starting to learn about databases.

Tuesday:
Today, I started reading the book "The Definitive Guide to SQL Lite" but I only have to read a couple chapters. However, I've decided to read chapter 2 as well, since it gives more context on how to use SQL. In any case, I have to decide whether I want to use the database they provide or recreate it.

Wednesday:
I tried using the resource that Mr. Elkner referred me to. It wasn't really working, or perhaps I'm just not using it properly. Regardless, Owen began showing me how to create tables using SQLite. I successfully created a table, and I made the first entry into it. It's an employee/time table, to track the time my employees show up to work!

Thursday:
I kept working on that table from yesterday, Owen assigned me to make 7 more entries into it, and so I did. My employees are: Billy Bob, Moe Lester, Owen Sirabella, and OJ Simpson. He told me to make multiple entries for them with different times. Then he showed me how to find out everyone who came in at a certain time, or all the times that one of my employees had come in. Afterwards, Mr. Elkner showed me new resources since he thought the other one was too advanced. I will be going through the Khan Academy course for SQL now. Conveniently, they also use SQLite in it.

Friday:
Today, I started watching the Khan Academy videos. In the middle of class though, Owen showed me some other essential functionalities of SQL, and it was very helpful. Great way of ending the week.

Monday, February 13, 2017

Week 1: Day 01-05 - Working on Battleship


Hello and welcome to my next and final blog for the class of Advanced Topics in IT, at the Career Center. In the weeks leading up to the 2nd semester, I had been working on a Battleship game. I spent last week creating a new table and modifying my code to fit with the standards provided by the game. I successfully made a new table, but I'm still having some trouble getting it acquainted with my code. I will probably be able to figure it out soon though.

Note: This blog entry represents what I did for the entirety of last week.