A blog of interesting technical advances.

May 3, 2011

IT at School

Looks like I'm the IT guy at my school. I will be maintaining the labs server and setting up a version control and project management solution. Additionally, I'm looking into building my first cluster with a bunch of desktops that just reached end of life.

I've been looking into a couple projects that I want to integrate.

Kerberos/LDAP for AA.
Modules for Environment.
Redmine/Git for PM/SCM.
SGE or Torque for Batch Scheduler.
OpenAFS for Data Access.
GlusterFS for PFS.

Hmm its gonna be a long summer.

September 15, 2010

Ideas Ideas

I've been fumbling through some ideas today. This is a quick jote of what I am looking at.

Internal:
Finish setting up dev server and setup automated infrastructure using puppet
Setup backups for local and remote.
Setup a server at my parents house for remote backup. Tell dad about current disk on sale at Tiger.

External:
Setup a project to show of possible designs for clusters including the plug server idea.
Setup a project site to show of possible real time switch design.
Setup a project site to show off internal infrastructure design puppet, etc.
Setup a project to show the cost of running an ISP within an apartment complex.
Setup a project to show the cost of developing an ISP based data backup system. (no transit costs makes this very attractive to already established ISPs despite saturating the network.)

April 23, 2010

Nearing the End of Senior Design

I'm nearing the end of my senior year (graduation May 14th) and I have been working hard to get my groups senior design project up and running. We made a couple of good decisions and a couple of bad decisions. I failed to recognize some situations and I forced certain other situations. Number one bad decision was the work load I took on. I ended up working 232 hrs in total and over 70 hours in the last week. My biggest flaw was not trying to teach my group what I did and have them work on my parts as well. The most glaring example of this is the PCB and schematics we created. I use gEDA to do all of my electrical design. While gEDA is not the simplest program to use, I took on the posistion because I had the most experience doing schematic capture and layout. This task should have been handed off because what is more important is the Linux based datalogging system. I wrote the datalogger in a total of 12 hrs, it is the most awful, ugly and offensive program I have ever written, however this program has the most potential to be globally useful and a program which others could use to avoid the problems we faced. I wish I was able to hand of the schematic capture and layout to other in order to allow me the opportunity to work on the datalogging program. Who knows maybe I will get a chance to rewrite it but until then I hope to never be associated with that program.

Project Website
http://code.google.com/p/solar-efficiency/

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.

Me

Waco, Texas, United States

Electrical and Computer with an interest in FPGAs, Linux, and Embedded Systems. Enjoys playing with servers and experimenting with virtualization.