Skip to Content

Posts Tagged ‘school’

The Story So Far

Permalink

This is assignment zero, a brief biography, written for Dr. Budd’s CS419 and CS480. Enjoy!

Part of my decision for coming to Oregon State was that my Debian install had automatically chosen ftp.oregonstate.edu as the fastest mirror available. The message this sent me as a high school student was that OSU, our at least a few people on campus, cared about Free Open Source Software. It didn’t hurt that OSU had an engineering program that is well known for creating quality graduates either.

During the fall term of my freshman year I meet up with the ftp.oregonstate.edu admin, Scott Kveton. At the time he was forming the Open Source Lab and was looking to hire students to write open source software. I had been using Linux for a couple of years and could hardly contain my excitement; I was going to be paid to write open source software as a freshman! And at the time I had no idea that this job was going to open up crazy amazing opportunities for me and all of the other students at the Open Source Lab.

Every successful project I have ever worked on has had a few components: an interesting problem, an experienced mentor and hands off management. At the Open Source Lab I had all of these components for three years and I grew a lot as a developer and person. The OSL and FOSS are great opportunities for students to work on interesting and large projects even as they are still developing their skills in the classroom.

The software I find the most interesting is behind the scenes: the system software. Kernels, device drivers and networking protocols are all things that most users don’t have to think about but are nonetheless very important. There are a few interesting properties about this level of software. First, it must be extremely well thought out and written; if this software goes bad then the user is going to have a very bad day. Second, the code is usually rich with interesting data structures and programming tricks to squeeze out as much performance from the hardware as possible. And finally a lot of smart and interesting people work in system software and I like working with those types of people.

I decided I wanted to be a computer scientist after working for two high school robotics project. The patience and guidance of my mentor, Ron Jackson, helped improve my programming abilities a great deal. Despite the tight deadlines involved in creating full scale humanoid robots in under 6 months during both years the software was written and working before the competition. It was a huge confidence boost to have that responsibility and trust invested in me and in the end come through with a working solution. I had found something I was good at and had a really fun time doing. Perfect.

After college I would like to work as a Linux Kernel developer. This decision is partly influenced by the great experience I had working on a genetic algorithm for the CPU scheduler while working at IBM in Austin. It is also a result of the number of great interactions I have had with members of Kernel community including: Val Henson, Greg KH, Jake Moilanen, the entire OzLabs crew and many others that I have probably forgotten. Plus, I like penguins- that helps.

/me runs off to Australia for a bit.

It’s About Community

Permalink

As my work at IBM on the genetic library comes to a close my attention is beginning to turn to life back in Corvallis and at Oregon State. And one of the most exciting things about heading back is my new job.

With the help of Dr. Timothy Budd, Alex Polvi and I are going to create the Open Source Education Lab at OSU. Now, why isn’t that a link? Because the OSEL is so hot and new that it doesn’t even have a website yet! (That will change soon)

But, in the mean time a “What” document for the OSEL was created (here) to give some hint at what we are aiming to do at the OSEL. And one of the first headings in this flyer reads: “It’s About Community”. The term community gets thrown around alot in the FOSS world and is arguably one of the most important aspects to creating good Free software. So, in this post I wanted to share some of my recent run ins with communities in and out of the software world.

At the Supermarket

Nisha, a friend from my NASA days, recently visited France with her Dad and sister. During her visit she told me about an attempt to go to the corner market to pick up some produce with their family-friend and host Etienne Uncle. When they got down to the market door it was shut and locked despite being a Tuesday afternoon. But, Etienne Uncle wasn’t suprised, he had simply forgotten that the family who runs the store was on vacation for the month.

My mind boggled- could you imagine this situation happening in the states? Etienne Uncle didn’t even vow never to shop there again!

But, then I started to reflect: The 8-5 grind of working life keeps me on a pretty regular schedule and for that reason I tend to hit up the supermarket at a pretty regular time two or three times a week. In doing so I have discovered that I see some of the same employees everyday when I come in.

Now, some nights I come in right at 9pm (it is too hot to run before 8pm) when the meat counter is closing. A few times the regular guy there, Mike, told me he was closed, so I thanked him and moved on. But, he started to notice my pattern and I started making an effort to come in before closing time. This worked out well and on most nights we would exchange a few words about the day and I would move on. Then, tonight I showed up at 9:05pm and Mike just smiled and laughed a bit, and so did I.

However, this time he didn’t say he was closed- he set down his mop, said hello, and asked if I needed anything. And to my suprise, despite showing up 5 minutes late I got the deli meat I needed and had a quick pleasant conversation too.

Then, at the checkout, the checker Sean noticed I was buying my new favorite drink: Naked Juice (stop laughing :-)). I had recommended it to him a few days ago after he asked about it- and he stopped his checking and thanked me for the recommendation.

These three anecdotes are about community- it isn’t anything magical- it is simply people who are empathetic to one another and who are willing at times to do a little extra for each other.

Communities Go Beyond Differences

Ananda, my officemate, gave me some insight into the way religions mix in India. He told me that in the city in which he grew up the population was a mix of people following Muslim, Hindu, and Christian faiths. But, he never saw or heard of animosity towards any group because of their faith; and in fact everyone lives and works side by side.

Maybe, he suggested, if people were to live in this city for a few months, they would see that intolerance is unnecessary.

Between Colleagues Beyond Companies

This summer I had the opportunity to visit the Ottawa Linux Symposium and after a bit of coaxing from Val Henson I went to a room party for file system developers. When I arrived I saw that there were people from big tech companies and universities sharing ideas, complaints, insights and critiques on file system development and the Linux Kernel. So, in the case of this community FOSS was the enabler.

A Company that is a Tribe

Over at Robert Paterson’s Weblog a great post was made about the web design firm Silver Orange and in particular their strive to maintain a small tribe of developers instead of growing a big company. For a company of this size they are quite successful and seem fully dedicated to maintaining a healthy tribal community:

We openly challenge each other all the time. I don’t mean that we fight but that we speak out minds about what each of us are doing. Peer review happens everyday and in all settings. To fit here you have to be able to be comfortable with giving and in receiving opinion about what is going on for real and what you are doing for real.

Conclusion

Communities are important for a few reasons:

  • Develop empathy and friendships
  • Build tolerance and comradery
  • Bring smart people with a common interest together
  • Enables productive work

It is the goal of the OSEL to encourage the growth of a thriving FOSS community on the OSU campus. And I think it is quite clear why this is a Good Thing™.

P.S. Don’t ignore the communities forming all around you when you are walking down the street with your earbuds a blaring. Visit Social Recession for more information.

America’s CS Isn’t Trying Hard Enough

Permalink

After reading A Red Flag in the Brain Game I started reflecting on my schooling. From my experience Universities are going soft on CS students. In the first two years of undergraduate classes we play with Legos and Java instead of working on hard problems. And even senior level courses are soft: in Computer Architecture we have spent the first three weeks explaining key concepts of computer architecture that every C programmer must be aware of to create working code. Oh, and how many times must I listen to a lecture on binary arithmetic?!

CS 411 - Best CS Class Yet?

Permalink

My first lecture of the term was today at 9am: Operating Systems II. Paul Paulson, OSU instructor, detailed what I have known for a few months: this class will now use the Linux Kernel and simulate a class size open source community. The required text is “Linux Kernel Development” by Robert Love (a book I recently read and enjoyed) and halfway through the term a special lecture by Greg KH is scheduled! It should be a great course.

World Famous

Permalink

Alex, Mike and I were featured on the front page of the Daily Barometer today for the Google Pizza Ambassador program and the Linux Users Group. Go Beavs! Update: Photos here and here.

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:

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.