Most Common 3-word Phrase In All Books Ever Written Up To 2010

As I explained on the c++ page, Google offers a service that shows word and phrase usage over all books up to 2010. They have the raw data available to download (each phrase and how many times it was used in each year). I re-wrote a c++ program I had previously written to parse this data except this time I wrote it in java. The program counts up each phrase usage and keeps track of it all and sorts it at the end. Because there is so much data however, I had to use memory management techniques to remove low-occurring phrases. Using java allowed me to auto download, unzip, and parse all the data. I made the program multi-threaded so it would download the next file as it processed the current one. It managed to finish this difficult task in just under 5 hours.

Continue reading Most Common 3-word Phrase In All Books Ever Written Up To 2010

Defeating a virus and finding the hacker’s location

Learning how hackers hack computers allows me to defeat viruses when they try to defeat me. I have never faced straight on a virus but I do have friends that have. One of my friends faced a dangerous virus and lost control of his computer to a hacker. The virus took control of his computer and webcam and didn’t allow for it to be terminated. I walked step by step with him to fix it and we ended up fixing his computer and I dissected the virus on my own computer using a virtual machine.

Continue reading Defeating a virus and finding the hacker’s location

Smart Watch

I decided to try and create a prototype smart watch that would communicate with my android phone via bluetooth.  I thought the project would be great to help me get started in android app development and further my knowledge with arduinos and low level communication protocols. In the end, the prototype looked and worked great. I have my phone app send the smart watch the time, battery remaining, and amount of new messages and the name of the newest received message’s sender via the bluetooth module. The smart watch then displays this data and reads its own battery using a lithium ion battery fuel guage. I never built it into the shape of a watch, but it had the general size and form of a watch and was a very successful proof of concept.

3D Glove/Hand

A friend of mine and I decided to create a glove full of sensors that would display a 3D model of a hand on a computer and move a mechanical hand as well to your exact movements. Our time-frame was tight so we didn’t have time to make it perfect, however it did work pretty well and we both learned a lot through the project. I designed and created the code and circuitry while my friend designed and created the mechanical hand. Below is a document I wrote up explaining some technical details about the project. Below that are some pictures of the project (I took the pictures and my friend is the one in the frames).

Google Ngrams Analyzer

Google offers a service known as ngrams that gives access to each time a word or phrase is used in a certain year in a certain amount of books from all books every written (to the extend that they have). They offer the raw data for download so what I did was make a c++ program that parses and analyzes this data to find the most common word of phrase every out of all books.

Continue reading Google Ngrams Analyzer

Common Phrase

I made a c++ program that looks through a text file named data.txt and finds the most common x word phrase where x is a chosen number. In the screenshot I used the most common 3 word phrase and listed the top 20 (I can also list the least commonly used phrases) from a file that contained a bunch of wikipedia articles that I crawled using a java web crawler I wrote. This project was particularly difficult to optimize. The first version of the program was very very slow, but I soon used lots of pointers, lots of optimization techniques I thought of, and clever memory management, the final version is lightning fast compared to its predecessor.