I love computer security, and a very large part of computer security is encryption. I wrote this program to see if I could write a p2p secure RSA based encryption program. Thanks to how high-level of a language java is, it proved not to be difficult, and I am happy with the result.
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.
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.
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.
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).
To build off a web crawler that crawls the web looking for text or content, I created an image crawler. You enter a seed site and it crawls the web from there and displays (and optionally saves) all images it finds. It is very fun watching the random images appearing from random places all over the interent. Which seed site will you choose?
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.
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.
A common trick we frequently see is a large image made from a bunch of small images. I loved this concept and thought I could make the program myself. I went ahead and programmed an algorithm for making such images and got some great results. Below is a picture of an output and the program itself. Continue reading Collage Creater
I made a C++ program that essentially looks for patterns in text, and generates text based off what it finds. It finds common words that follow each word and then generates text picking common words that follow each previous word.