A blog of interesting technical advances.

February 27, 2010

Senior Design


In my senior design class my group is designing a data acquisition and display system for the Solar Panels on the top of the engineering building. My dream for the system is to have statistics that can be viewed on the engineering home page. Today, we got one step closer to that dram as we just received a new computer called the SheevaPlug to run our LAPP (Linux, Apache,Postgres,PHP) stack. This system will interface with an Arduino based microcontroller that has a shadow band pyranometer, temperature sensors, and an RS232 interface to the grid tied power inverters. It's gonna be a rough rest of the semester getting all of this done but I believe it is possible, and I'm lucky to have such smart and hardworking people in my group.

February 11, 2010

The HPC Stack

I was reading the news today and came across this article. The author believse that there should be no seperation between cluster level message passing and hardware acceleration. Furthermore, he believes that application writers should only have to use one API to an entire cluster with specialized hardware. I would think that the best way to accomplish this is to use a hybrid approach where a specific API is used for cluster messaging and another API is used for hardware acceleration. This seperation is mostly beneficial from a project management standpoint as it can reduce the scope of the message passing interface and the hardware accelerator considerably and allows the projects to be run completely independent. Yes, a programmer would have to learn two API's instead of one, but accelerating a program using hardware would have a different API from message passing no matter the abstraction. Therefore, adding an API on top of this would still have almost the same number of calls as the number of calls in each library added together.

February 10, 2010

I'm a Ubuntu Contributor

I fixed my first Ubuntu Bug today. It was an interesting experience and the #ubuntu-motu team really helped me out. A special thanks goes out to Daniel Chen for uploading my new package. The process was a bit involved and I came out with a lot more knowledge than I had anticipated. The process went a bit like this.
  1. Download the Source : apt-get source package
  2. Update the changelog: dch -i
  3. Make modifications to the code and debian directory.
  4. Build the deb: debuild -S -us -uc #us and uc disable signing the package. -S builds both source and binary packages
  5. Take a debdiff: debdiff package-oldver.dsc package-newver.dsc > package-newver.debdiff
All and all an interesting and rewarding experience. I may just do this a bit more often.

February 4, 2010

Time Management

I've developed a system for managing my time that works really well for me. It's grounded in the LPS process. LPS stands for List, Prioritize, Schedule. In this methodology, I first list out my goals for the upcoming week and break them into reasonable tasks. Then I prioritize the items according to there importance. Finally, I schedule them into my day. I do this about once a day such that my life remains flexible and I can bend the rules when I need too. The only requirement is to have an accurate picture of what I did today and list my plan for tommorow.

Now on to the technology part. I'm using google calendar and remember the milk to accomplish this goal. I created a list for each important topic i remember the milk. I add to this list as soon as I think of the task. Then as a 10 min end of day routine, I re-rank my tasks in remember the milk and remove frivolous tasks and make sure that my depiction of the day is accurate. I then use Google calendar to create time slots in my next day for each new tasks that I would like to accomplish.

This routine is working really well for me and has enabled me to become a better organized and well defined person. I'll blog about this some more and provide screenshots such that you can see exactly how I accomplish this.