Skip to Content

Category Archives: general

Mission Success

Permalink

I’m Back

I'm Back!

Although serious injuries almost resulted from the obvious ending to this situation it was alot of fun at the time.

NASA

The last 5 weeks at NASA were fantastic; everyone came together and finished not only their team projects but also the group project.

In those last weeks I finished up the hand tracking software although I never got the chance to integrate it in to Archie, there just wasn’t enough time. But I did manage to make a neat demo of the software in action:

Click to play video of hand tracking software

In amongst finishing up Archie I was elected the President of the NASA Robotics Internship Program Alumni Association. My first order of business as President is organizing the “reunion trip” to Vegas to see the DARPA Grand Challenge. When we visited CMU Red Wittacker assured us that the Red Team Racing team was going to win the challenge this year; we will see first hand.

In the future I will be working with the Treasurer Daniel Calvo to establish the Alumni association as a incorporated non-profit guaranteeing not only our positions as dictators for life but also giving us an opportunity to figure out how to do it. The only difference between a non-profit and for profit organization is one isn’t allowed to make money; pretty obvious huh?

New Town Pennsylvania
After graduation Kim and I took Amtrak up to New Jersey to eventually meet Kim’s Uncle, Aunt and Cousins at their home in New Town PN.

I couldn’t think of a better way to end my crazy 10 weeks on the east coast then sitting out by the pool and talking to Freddie and the family. If any of them are reading; thanks for the conversation and hospitality.

Reading
Since my last post I finished Robot Visions a collection of Asimov’s short stories; this book was a great collection and the introduction had some interesting insight from Asimov about the Three Laws of Robotics; the most famous words he ever wrote.

Given my next few weeks off I have started to tackle the first volume of The Art of Computer Programming which promises to be a good warm for school. On Intelligence; which was recommended to me by Freddie and it is a book that offers one of the first theories on how the brain creates what we call intelligence.

Kernel and Mozilla Builds

Permalink

tuxIn the last few weeks I have had the opportunity to watch releases of both Mozilla (1.0.3) and the Linux Kernel (2.6.11.8 aka Woozy Beaver). These are two of the largest open source projects in existence today and watching the release, build, bug tracking, and communication systems used by these projects was an eye opening experience. Why was it so interesting? Because these projects have strinkingly different ways to develop software.

Bug Tracking
Bugzilla is used pretty much exclusively by Mozilla to track issues, patches and the versions of software that they effect. Chase Phillips of Mozilla seemed very happy and comfortable working with the interface and understanding how and what all of the flags meant. It is a system that seems to work very well for the Mozilla crew.

Alternatively Greg KH said that the bugzilla.kernel.org rarely gets the attention that it needs and ofter goes ignored by kernel developers; although Andrew Morton does notify the proper subsystem maintainer if a bug has been sitting in the database too long. Instead the LKML is used as the primary place for tracking bugs and patches.

The kernel seems to have alot more “buy in” from its community of developers than Firefox does. And from my limited experience in working with open source communities, I think that the use of a mailing list over a BTS could make this difference. When filling a bug report people generally file and forget never having to get involved further. But with a mailing list you post your own problem and in response get to see everyone elses bugs and get introduced to the development process as patches poor into your mail box.
firefox
I realize that there are many other differences between the projects but I think that the dynamics of a mailing list are superior in getting people involved in a software project. But it has its draw backs- the LKML is historically a very harsh environment to get introduced to as the existence of Kernel Newbies and Kernel Mentors suggests. Furthermore some people do not feel comfortable working with mailing lists and smaller projects may miss out on bug reports from users if that is there only form of contact.

Source Code Management
Mozilla uses CVS and have some cool tools setup and integrated with it. Chase gave us a brief tour of Tinderbox (see below), LXR and Bonsai. If there is something that you want to know about the sourcecode these services would be a real help.

The Kernel deals in patches sent through email in particular Greg showed off some cool scripts that allow mbox files containing patches to be automatically parsed applying the patch after a dry-run and adding the patch writers information to the commits and changelog. It all seemed to be a very regulated and standardized process that was inspiriing to watch.

Recently the kernel developers have been working on git and from Gregs recommendation I have been following its development and all I can say is WOW the system is already usable after a month of work and it is looks to be one of those software products that is so practical, simple and pragmatic that in a few years it will become the standard. At the very least I have been having fun reading the source and watching it being developed.

Automated Builds
Mozilla’s Tinderbox system was impressive. The system was polished and well used by the developers. Particularly the integration with CVS and the ability to comment on who was taking charge and fixing the issue was neat.

The Kernel doesn’t have such a system although I have emailed the IA64 team which runs this service and I have been following the git mailing lists and playing with cogito. Maybe I will write one before someone points me to one that exists already :-).

Thanks Guys

Greg KH PCI, USB, I2C, Driver Core and 2.6.x.y maintainer.

Chase Phillips - release engineer for Mozilla

Dave Miller - system administrator for Mozilla

SpreadButter!

Permalink
SpreadButter Logo

A few days ago Beth Gordon suggested the idea of SpreadButter.com as a spoof on the great community developing over at SpreadFirefox. I just couldn’t stop laughing after she suggested the idea, so I did the only logical thing; I registered the domain and installed CivicSpace.

Already some of my friends have written some pretty funny odes to butter and I hope you will too.

Heck, SpreadButter has even been on Slashdot with Polvi submitting the poll I wrote.

SpreadButter!

OpenCV

Permalink

Recently I have started playing with a computer vision library. But it is one of those pieces of software that just moves sooo slow because the developers are hard to get ahold of.

In particular I have a terribly trivial patch that makes the library compile under Linux 2.6 and no one has even commented on it on the mailing list or bug tracker. Furthermore the documentation currently has examples that do not compile because of missing libraries and almost twice a day someone is asking how to fix it on the mailing lists.

To make things worse the mailing list is hosted on a closed Yahoo! Groups account and requires logging in to view. Gah!

In any case I am doing my part and I am going to update the documentation and post it on my wiki as soon as possible. If I can’t get the developers attention I see a fork in the future…

Maintain Talk at Panug

Permalink

PANUGAt InnoTech I met Ed Sawicki of the Portland Area Network Users Group. Ed is working on a new book about DNS outside of the world of BIND and was very interested in Maintain since it uses Tinydns as a backend. In any case he convinced me to give a presentation.

On April 21st Danny and I gave the talk (OO.org Impress File) in a conference room on the Novell campus in Tigard. Unfortunatly the 21st happened to be one of the first sunny and warm days in several weeks so only about 10 of the expected 25-30 showed up to the meeting (I keep telling myself that is the reason for the low turnout :-)).

Also a good friend of mine, Ryan Miglavs, stopped by to watch the presentation. Ryan and I go way back, waaayyyy waaayyyyy back, to a time when squirrels roamed the country side and anti-pirates walked the streets. Phew, I am glad I got those inside jokes out of the way (you better be reading Ryan).

In any case it went well and I hope a few people went away wanting to try out the software. And I would like to thank PANUG for inviting me.

One interesting thing I learned from Ed during the presentation is that DJBDNS supports handing out different records depending on what IP they come from. This coupled with IP to country mappings would make for an interesting way to distribute the load accross a mirror network.

The Perfect Summer Internship

Permalink
NASA Logo

What is the recipe to my ideal summer internship?

  • 1x Robotics
  • 1x Image and Voice Processing/Recognition
  • 1x Embedded Linux
  • 1x Internet Technologies

Now of course it should be in a really neat location. I have always wanted to live on the east coast and visit the MIT AI lab and the NASA centers; so lets put it in Maryland. To finish it off I want to be working for some very talented people and most important of all making a difference in peoples lives.

In January Kim told me about a new NASA robotics internship program, I applied and patiently waited as the date of notification for interns was pushed back several times, settling on April 1st 2005. The 2nd and 3rd came and went with no phone call and I began considering my other options.

At 10:30am today my phone rang, it was from an area code that I didn’t recognize and I almost elected not to answer. I am glad I didn’t make that mistake.

It was Lubna Rana of the Goddard Space Flight Centers Office of University Programs and she had some good news. I got my first choice project for the Robotics Internship Program and I should be in Maryland on June 6th 2005. Wow! It was the last thing I expected today.

The project I will be working on is called “CosmoBot,” a robot used to help educators and therapists give better care to children with special needs. And it will be my job, along with 2-3 other students, to figure out how to integrate image processing, voice recognition and wireless sensors in to the product over a 10 week period.

It is going to be a great summer!

Other Cool Internships
Fellow LUG members Alex and Jeremy are taking off on some cool internships too:

Open Source Business Models

Permalink

Jive LogoWhy did you open source your Jabber library and server?
I asked this question to the great guys over at Jive Software during their open house last month. To my suprise I learned that their flag ship product Jive Forums began life as an open source application but was re-written as a closed source application when Sun showed an interest in using it to power the Sun developer forums.

Today Jive runs jivesoftware.org on which they host a number of projects based around Jabber. Although I am sure they all feel a need to give back to the OSS community given their own beginnings it also makes business sense for them. Their Live Assistant product is based on the XMPP (Jabber) standard and as such if they are able to help that community grow and get corporations to deploy IM systems using Jabber, then when the time comes to pick a Live Assistant product Jives Live Assistant will be the first choice.

It makes business sense: it helps generate revenue, grows a community around a technology that have developers familiar with, and they have also hired a few developers over the years who have been significant contributers to their open source products.

Now this is by no means the only way in which a company can make money off of open source.

Atlassian and BitMover both have give/gave their product gratis to open source projects as a way of gaining good will in the community. This works in a few different ways:

  1. Most open source developers also work for a company that has a budget and their own closed source products. If an employee is pleased with the product, he will want to use it at work too
  2. Good ol’ grass roots advertisement, these tools are going to get alot of press. Before BKBits.net, no one had heard of BitKeeper, and without the help of Linus’ star power I can’t imagine that would have changed
  3. Testing and bug reports. There is no distributed software development project bigger than the Kernel, if BitKeeper could handle it, it could handle anything. Not only that but open source developers have a tendency to tell it how it is and report truthful and helpful bug reports that are not sensitive to any political or organizational choices. At the end of the day the company is going to get an improved product.

And of course their is always pay for support model. This is what I think of as the classic open source business model that has been adopted by Red Hat, Mandriva, Progeny and the rest.

Why am I so interested?
Last week I visited a “Pitch Night” with a few of the people at Oregon Venture Partners and they said that one of the areas that they have been investing in is open source software. But, they aren’t a philanthropic group, and some sort of business model needs to exist to run a company.

When I was asked to put down my career goals for my scholarship application I stated my wish to create a company around open source software:

It is the blending of both the open source application work with the customer specific consulting that will help me succeed both in my experiences here and once I have graduated from Oregon State University.

New Useful Tools

Permalink

Last week I found two tools that make my life better and make me look cool in front of my friends (j/k). So I thought I would share them.

Zebra Tele-scopic

Keeping bookmarks sync’d and accessible
Back in the day I used to use a shareware tool to dump my IE bookmarks to html, then upload them via FTP, and then download them again and re-sync. But times have changed and del.icio.us is the new way to bookmark.

For those not in the know del.icio.us is a “social bookmarking” website. The first consequence is that your bookmarks are stored on a globally accessible webserver with an easy to remember URL like http://del.icio.us/philips. The second and more fun aspect is that when you make a bookmark (with one of the great del.icio.us bookmarklets) you can see who else has bookmarked the same page and what other sites may be related and of interest. From this feature I have found some great websites, including my new favorite techno radio station Radio ABF France.

But the coolest part is a plugin for Firefox called Foxlicious that allows you to sync your bookmarks from del.icio.us into a folder, organized by tags. It is great I can bookmark at home, and sync at work, then bookmark at work and sync at home, then; well you get the idea.

Zebra Tele-scopic

As you may already know I carry with me at most times an analog notebook (you know the paper kind). But I have never been able to find an inexpensive pen that is compact enough to keep in my pocket. Until my faithful run to the store last week where I found it! “It” being the Zebra Tele-scopic pen which is small enough to put in a jean pocket but telescopes into a regular sized and balanced ball point pen. Not only that but they are far cheaper than the Fisher Space Pen. At ~$5.49 US for two tiny telescoping pens with two refills these pens are a great deal!

Projects in School

Permalink

Yuba County Charter Hot RodBob 2.1OSLUG

While waiting in line at the Portland Car Show I snapped a photo this Hot Rod not knowing that it was actually a project by a group of high school students. When I walked by the booth of a local AM station I saw these students talking about their hot rod project and listened for a few moments, they were really excited, and had alot to say about what they had learned and done.

This all reminded me of how empowering and important it is that schools encourage their students to work on real world projects. Why? Because, the students benefit greatly years after the project is finished, and the few extra resources applied to these students, get great returns for the school.

In high school I joined a three person independent study group doing robotics work. We had the same excitement and enthusiasm for working on robotics, that the Oregon State Linux Users Group has for Linux.

Anyways, this group attracted the attention of Newberg High School, whose robotic teams had been going to National conventions for years. In 2001 they wanted to do a PC based robot, but needed some programmers for this latest project. They decided to partner up with my group at Sherwood High, and I worked with them on two seperate projects.

Over the next two years I learned and experienced alot:

  • Learned what real software development was
  • Visited New York twice to compete in the RI/SME
  • Wrote a magazine article for Servo Magazine
  • Started working on independent consulting projects for USB

The school also got alot of love from the project. During all four years I took the robot to several shows, fund raisers, photo shoots, newspaper interviews and board meetings. Heck, I just noticed that the robot is still on the front page of Sherwood High Schools website.

They also provided the group with alot of resources, like some minor funding, and a small lab… hmm…

This all comes back to the OSLUG and our goal of getting permanent lab space and FOSS used in the computer science classes. Like my high school project and the Yuba County project we have an excited and enthusiastic group of students, and all we need now is some encouragement, and resources. The OSLUG has been doing some great things, and I think that with the support of the college it can do some amazing things.

But, I think that the last point is the most important. I was able to start working on the side for both Fascinating Electronics and Ron Reed eVentures/OHSU doing work with USB devices. Dean Adams wants to see entrepreneurs coming out of the department and I think that if it is going to come from anywhere it will come from the students of the OSLUG. When I started my work with the robotics project I had no idea that I would eventually write for a national magazine and do consulting, but had it not been for the help I had gotten from the school I would never had gotten these opportunities.

Bugs, Curriculum, and Communities

Permalink
GentooBugDay

The last few days have been alot of fun and required the help of a few friends. There have definitely been some challenges, but in the end it has been rewarding.

The GentooBugDay was a great experience, I got two bug fixes submitted 77328 and 68277. It is a start, and I plan on doing more in the future.

Alex Polvi invited Michael Marineau and I to a meeting he had set up with Professor Quinn and Dean Adams. Hearing the questions and concerns of Professor Quinn helped to focus what we can do to move our idea of having Oregon State use more Open Source Software in the classroom.

The next few baby steps are creating a document, a StateOfTheLug, something that we can place down on a table and show people what we have done, show them we have students excited about this, and that we need to bring that into the classroom. What we need to show is the benefits of having software developed by communities that reach outside the bounds of any one company, school, or even person. And how exposure to this process is valuable to students. It is an experience that Dan Frye, Randy Kalmeta, and many other universities recognize, but that we, OSU, are not taking the opportunity to engage in.

But, I think that we are approaching it the right way, the students should be able to demand the skills that the college teaches them, and I want to see open source development taught.

Today Dan and Randy came down today from the Linux Technology Center at IBM. Both of these men understand Linux the business very well, and listening to them helped me to realize how important Linux is becoming to the technology sector, and how it is making customers, engineers, and business people happy. I talked to Randy about where their employees are coming from, and they are not from Oregon. In fact one of their goals in coming down was to meet with the computer science department to see how they are going to help train students to work with open source communities; it is the community stupid! Dan said that it is not the “technology that is revolutionary but the community, and how this software is developed.” This isn’t a new idea, Eric S. Raymond, Linus, and Richard Stallman have recognized the power that a community of dedicated people have when they are able to work together without the frictions and bounds of traditional organizations.

On Alex’s blog he quotes Professor Quinn, “There are only finite resources, however there are infinite things to do.” I think the ultimate goal is to show the department that this is not another check box to add to the list of things that are being done, but a new way of teaching and learning about the things we are already doing. I don’t want to see an “Open Source Class” I want to see Open Source In Class. I think Dean Adams understands it, and loves the idea and we need to work on concentrating what it is we want to see done.

In other news I have been doing alot of work with Ruby On Rails. This framework is beautiful, Ruby is a great language, and the community is very fun and excited about the project. I plan on doing some weekend hacking on my side project of getting Maintain re-implemented in RoR. So far I have been impressed, and think with a week or two of work I could get a system rolling with alot of momentum. But I will wait and see how this weekend goes.