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/
A blog of interesting technical advances.
April 23, 2010
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.
- Download the Source : apt-get source package
- Update the changelog: dch -i
- Make modifications to the code and debian directory.
- Build the deb: debuild -S -us -uc #us and uc disable signing the package. -S builds both source and binary packages
- Take a debdiff: debdiff package-oldver.dsc package-newver.dsc > package-newver.debdiff
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.
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.
January 30, 2010
Setbacks
Today has been an interesting experiment in setbacks and how to handle them. Let me give you a brief run down of my day so far. I was supposed to travel to Dallas today and hang out with Holley.
Anyways, talk to you later interwebs.
Spenser
- 12:00pm: Wake up late and hustle to get out the door.
- 12:05pm: Realize that my car is pulling to the right really heavily and pull over at Quiznos.
- 12:06pm: My front tire is completely deflated, I get out the spare and start putting it on.
- 12:15pm: After finding a way to jack up my car, I realize I don't have the right wrench to get the lug nuts off and need to walk home to get the right wrench from the tool chest.
- 12:30pm: Back at home, grab the right wrench and start walking back.
- 12:45pm: I get all the lug nuts off, push the spare tire into its place, and tighten it down.
- 12:50pm: Drive home sad, beaten, and discouraged.
- 12:55pm: Grab a beer.
Anyways, talk to you later interwebs.
Spenser
January 29, 2010
Organizing Me

I'm trying to develop a plan that pushes me to be more aggressive in attaining my goals. And in order to do this I need to develop some habits that push myself and some way of measuring my success. So this week I have been hashing out some, daily, weekly and monthly goals that I should always accomplish. These goals are not easy, and are not something that I even think I will be able to accomplish everyday/week/month/etc but they are something to strive for and represent a goal that will produce a better version of myself. Specifically, what I lack is discipline and these tasks and goals will help me better develop the mental and physical discipline I need in order to complete my larger goals.
I'm also trying to learn from my previous mistakes. In all previous attempts, I usually did not hold myself accountable and did not remind myself of them often enough. I'm hoping to change this by having email reminders everyday of the goals and tasks I need to accomplish. I'm trying to build in safeguards that remind me of what to do. Kind of like having a virtual boss. The goal for this is to find a way to better manage myself and develop a better model of how I work.
Here's a list of my weekly, monthly and daily goals.
Daily
- Talk to Holley for at least 30 min.
- Draw one graphic per day for documentation
- Write a blog post
- Write 50 lines of source code or draw one page of schematics
- Write one page of research oriented documentation
- Drink at least one beer
- Create a new test for on of my projects
- Get others to do something for me
- Only be absent from class one time
- Talk to at least one technology company
- Do something fun... and blog about it.
- Keep finances up to date.
- Learn a new library or computer language.
Subscribe to:
Posts (Atom)
Archives
- June 2013 (1)
- October 2012 (1)
- March 2012 (1)
- May 2011 (2)
- September 2010 (1)
- April 2010 (1)
- February 2010 (4)
- January 2010 (5)
Me
- Spenser Gilliland
- Waco, Texas, United States
Electrical and Computer with an interest in FPGAs, Linux, and Embedded Systems. Enjoys playing with servers and experimenting with virtualization.