My First AutoHotkey Script - Making a Basic Clipboard Manager

Recently at work, I was introduced to AutoHotKeys, a script-able desktop automation tool to create macros and small apps. This tool gave my an idea! I could re-create one of my all time favorite apps Ditto - Clipboard Manager. AutoHotKeys would allow be to mimic and re-create my own version of Ditto because at work like other work places third party apps are blocked from being installed. If you fall into this situation and AutoHotKeys is white listed within your work intranet or just need a small lite clipboard manager give it a try.

  • Stores up to 5 items at a time
  • Clipboard selection window is always on until you select the item to paste
  • Just double click to select the item or use your arrow keys
  • History is deleted at shutdown or reloading of script


  1. Download and Install AutoHotKeys.
  2. Download or copy and paste my script from My GitHub called AHK-Ditto into a file
  3. Double click on the AHK file with the extension .ahk and your off. 
  4. Use Cut, Copy and Paste like normal but when you want to access the clipboard manager press CTRL + `. 

Learning Chrome Extension Development and JavaScript

I am the type of individual who always is curios how technologies work. It is what drives me always to keep learning in this fast pace technology field. An example was when I was curious how Chrome Extension worked. All I knew was that Google had a set of JavaScript API's that interacted with Chrome. During the Summer, I set out to teach myself with the power of the internet. I started to read examples and look at the documentation. My first road block was when I realized that these Chrome Extension were written in JavaScript. I did not know JavaScript but thanks to my education in computer science it allowed be to establish a base. This allowed me to leverage any language and use it.

Once I got the basics, I started to develop an app called Reconsider. This extension would search for Amazon prices and convert them to workday prices. An example would be if an item costed $100.00 then instead of displaying the price it would display 4.5 days of work to pay this item. This would allow the shopper to see how much hard work it would take to purchase that item that they might not need. 

Download Work in Progress

Status: Under Development


Reviewing Lastpass and its Security

At California State University, Northridge I took a computer security class. Computer Security has always been a hobby of mine. I always listen to Security Now religiously. Security became a hobby when I owned and hosted my website and my website got compromised. At the time I had very little knowledge about security so I was forced to wipe everything and start over. This experience then fueled my fire to learn about security. 

On the Security Now Podcast I learned about a password manager called LastPass. Lastpass helps you manage and produce strong passwords. It auto fills passwords so you do not have to remember all your unique long complicated strong passwords per each website. I quickly adapted this service and have been using it since. A question arose Security Now Podcast, "How secure is LastPass?". This fueled my interest to listen closely to the co-host Steve Gibson review the technology. I listened closely and it fascinated me.

While I was taking the computer security class at CSUN I was instructed to write a paper on Security. I choose to re-analyze the technology and write a paper.  

LastPass Paper Download

Sonos Hack Week - 1st Place

While at Sonos and being part of the team I observed some repetitive tasks.This was a waste of time that could have been used to do other tests. I decided to implement a desktop program in Java that with a push of a button could run a set of commands. These commands could reset, reflash, restart, update, gather properties of the devices that where under test. This would save the individuals time and effort to verify devices states. I later went to present this at the Sonos Hack Week Competition. My software solution won in its category as the best software internal tool. In the first 10 months it has been used over 4,000 times! 

Sonos Internship

My one internship at Sonos was filled with technical challenges. Most of the technologies used at Sonos I had never been exposed too. Like most jobs I had to learn on the job. I started as a Software Test Engineer Intern. I would go though test plans and verify functionality was according to the specifications. I was usually found myself in a command line environment in Linux. After about three months my manager observed that I was good and coding. He gave me the chance to prove myself and I gained the position title of Software Automation Test Engineer Intern. Here I worked on testing the Sonos speaker UPnP API's. All scripts were written in Python which I had to teach myself over the weekend on At Sonos I was exposed to the Agile Scrum Methodology. I love the structure and code review process which helped me learn about my strength and weakness.  

Class Pi at Southwestern Region of the Consortium for Computing Sciences in Colleges

As part of the AIMS2 Computer Science Cohort I had the chance to work with a team of four and work on a Raspberry PI board. This project would provide a instructor a way to gather information from their students during lecture. The Raspberry PI would serve a website where they would vote and analyze the professors methods of teaching the material. Class Pi, the official name of the project, was presented at the Southwestern Region of the Consortium for Computing Sciences in Colleges and won 1st place in the poster presentations. 

Class Pi Poster

Abstract – ClassPi

           The purpose of ClassPi is immediately obvious to all college students – creating a better system of communication between the instructor and the student.  There are countless cases in which students are unable to grasp the concept of a topic, or instructors cannot gauge the level of understanding of their students.  ClassPi serves as the mediator, to bridge the gap between instructor and student.  ClassPi allows the instructor to post up questions about his topic for the class to see.  Students are able to respond to those questions and give feedback about the instructor’s topic.  Students’ answers are made immediately visible to the instructor by means of graphs.  This provides the instructor with fresh, live information regarding students’ understanding of the course material.  ClassPi runs on a Raspberry Pi server, which provides an ample amount of mobility.  Students are able to access ClassPi via WiFi enabled devices. Features for instructors include Instructor View, where they are able to upload questions before the start of the class, to see the results of the quiz, and to see how focused the students are on the topic.  Student features include a quiz-taking page, and a feedback field.  These features in ClassPi help modernize the traditional classroom to new technologies, which will result in better student-instructor communication and overall positively impact education.

Bluetooth Vehicle with Ultra Sonic Distance Sensors

Ever since I started programming my main focus has been software. I did not want to do anything with hardware until I started to see small hardware projects people did. This grew on me. I saw so many cool projects with development boards and what sold me was that it was cheaper and easier than I thought. One day I looked into the Arduino and was amazed on what you could do. It was like Lego's for adults! I stepped on it and purchased a full kit with sensors, wires, boards, solder iron and other little electronics. So this is how my side project started and it is still in progress but I am teaching myself a lot of new things. 

Dancing LEDs

I have always liked music as an energy booster, calmer or just to have fun. I am not a musician but I like doing projects around music that enhance the experience.  One day I was roaming the internet when I found many articles on Dancing Leds on I had been looking for a small project to do. I decided to build dancing LEDs with music but with a long led strip. I used a 16.4ft RGB Color Changing Kit with LED Flexible Strip, Controller with 44-button Remote and Power Supply.  I used the transistor to alter the voltage based on the audio coming in and then power up the LEDs. I could have not done this project alone but recieved helped from me EE friend Noe Gonzalez. 

SendMe - Android App


SendMe is an Android application that  will provide the user to send there location to anybody with a smartphone or access to the internet. There is always a case were the user may be in a obscure location and needs to send directions to a friend to be located. Also some users may not be as map savvy as others. This app will allow the users to send their location. A second function that SendMe has is the ability to "check-in" if you have Foursqaure, Google Plus and or Facebook. 

Status: On Hold 

Presenting Research at the SACNAS Conference

On October 11-14, 2012 I had a chance to travel to Seattle, Washington. I had the opportunity to present my research I had done through the INSET program at the University of California, Santa Barbara. Unfortunately, no award was won but experience was gained in poster presentations, networking, and traveling.  My research was on Building A Server-Client Framework: Visualizing Social Graphs And Querying Human Patterns.  

Modern graph and query visualizing software has been applied to social networks in returning simple relationship queries, such as neighborhood queries. It is evident that the large complexity of social networks has prompted a need for more complex query results and visualizing the complex relationships among humans. Resolving complicated graphs would allow non-computer science researcher’s to understand the social query structure and semantics.  Visualizing millions of nodes to answer a search can have a heavy computational load on the users system, proving inefficient and resulting in a non-user friendly experience. We will look into developing a server client framework which houses a system that will rely on efficient graph querying algorithms which can handle millions of nodes and edges. By moving the complex queries, such as a graph match, graph iceberg, and graph olap query, to a server and displaying the results on the client side could result in an effective method to handle heavy social graphs. Java Servlets and Applets provide bi-directional communication and establish a possible solution with continuous community and industry support. Our goal is to implement this server client model. This would permit a load transfer among servers that could allow the system to answer, by visualizing a graph, on the client side without worrying about a computational load. Achieving implementation of this framework will result in a social graph querying and visualizing software, Project SocialViz, which will be used to visualize complex relationships between humans.

Poster can be downloaded here.

AIMS Program at CSUN

There is a saying in Spanish that says, "Dime con quien andas, y te dire quien eres" or translated to English, "Tell me who you hang out with and I will tell you who you are". This is very true for my case. I have met and made so many of my friends through engineering. This has allowed me to take advantage of programs that benefit me through them. I want to thank, my friend, Noe Gonzalez, an electrical engineering student, who invited me to the AIMS program at CSUN. AIMS is a program that helps engineering  students that have transferred into CSUN make connections with other minority transfer students in the same field. It also give them access to professors and tutors directly from the start.  In the program I have met others students with the same interests and struggles. We have connected and shared thoughts about classes to help improve our grade.