Skip to Content

Posts Tagged ‘oslug’

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.

Java Without the IDE?

Permalink

Duke the Java Mascot
Today I stayed home but wanted to do some work on the Registry. However, I don’t have a workstation at home with the specs to run IntelliJ with any reasonable speed. Furthermore, I was hoping that dumping the ultra slick IDE will help me learn a bit more about the Java environment.

Eclipse Integration in Vim (Eclim) was the first promising lead I found. However, I had a tough time getting the Registry to run properly under Eclipse and Eclipse is as resource hungry to run as IntelliJ.

I couldn’t turn up any other good Vim tools so I started searching for Emacs tools. Although I am not a huge fan of Emacs I was very impressed with the SLIME environment when I did my towers of hanoi assignment in LISP. And it turned out a very slick Java environment for Emacs is available tool

A quick search for emacs java lead me to the Java Development Environment for Emacs (JDE) which offered a reasonable level of integration including:

  • Debugger Integration
  • Syntax Higlighting
  • Ant Integration
  • Code Templates

JDE Emacs with the Registry

However, it was a beast to configure. My primary problem was that the Debian jde packages in unstable are broken. After uninstalling this package and doing a manual install I had JDE running like a champ.

JDE Emacs with the Registry

The next task was to write a prj.el that would contain all of the information for JDE including: source location, classpath, default file headers, and build configuration. With some help from an example prj.el I wrote one for use with the Registry (here). Although, this file looks daunting the IntelliJ project files are unreadable by comparison.

This screenshot shows Emacs and JDE after an unsuccesful compile of the Registry. Clicking on the ant error loaded the proper file making it quite clear that I had an unfinished line.

Another standard IDE feature that JDE supports is method completion using the compact keystroke [sic] C-c C-v C-.. This brings up a dialog that lists all methods that can be called on this object.

After some digging it turns out debugging the application while it is running in Tomcat is a straightforward affair also. After deploying the application into the $TOMCAT_HOME/webapps directory running $TOMCAT_HOME/bin/catalina.sh jpda start starts Tomcat with remote debugging via JPDA on port 8000. Because the prj.el I wrote has this port set in jde-db-option-connect-socket using the menu Jdb->External Process->Attach via socket enables the debugger. Using this mode common debugging tools such as breakpoints and variable inspection are available.

Overall I am very impressed and excited to start using JDE. Only one thing is holding me up: JSP debugging. Anyone have a solution?

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.

Open Source and Defense

Permalink

Phlak linux logo, http://phlak.org/Recently I recieved an email from Jay Lyman of NewsForge.net who wanted my input on an article he is working on:

I heard you talk a little about your work developing software at NASA when I got a tour of the OSU Open Source Lab earlier this year. As I recall, you mentioned that some of your work had the potential to end up in weapons systems, and a discussion of the matter then followed. I’m working on an article now on the appropriateness of open source for weapons, military and national defense and would like to include your input.

This is a very creative and timely topic given our current political climate and I was happy to help by answering the questions that followed.

Do you believe that military, weapons or defense applications are contrary to the ideals of the open source software community? Please explain.

Freedom is the number one ideal of open source and I believe it would be contrary to these ideals to restrict what the software is being used for. The FOSS community is providing a general purpose foundation for a computing system that requires a great amount of customization for a military application and because of the dedication to the ideals of freedom I think it is a valid however possibly unfortunate use of the software.

As a developer, are you concerned about the use of your creations and development for military/defense purposes?

The project I worked on this summer while in the NASA Goddard Robotics Internship Program was general purpose hand recognition software that had as much application on a Mars rover and physical rehabilitation as it does on a military platform.

This is the only software that I have ever developed that has any military applications.

Although I am concerned that the software could be used in a weapon I am hopeful that more productive application may be found. And by using a FOSS license a developer may be inspired by this software and create an entirely new application.

Do you believe open source is appropriate for these types of applications and national defense?

Ensuring that FOSS is protected by licenses that offer liberal and wide freedom to everyone is key. It would be dangerous to start trying to put any restrictions on how FOSS is used as many good things can come out partnership with governments such as the NSAs SELinux.

Furthermore creating additional barriers of use may confuse consumers and scare off vendors from distributing FOSS.

For example would using Linux on desktops in the Senate be considered defense use? Senate does handle defense funding and decide on military actions.

From your perspective, how significant is open source software in this area?

The group that I worked used Linux for prototypes. However this is primarily R&D and proof of concept work. Deployed military applications more than likely are then converted to a specialized CPU like an FPGA.

I think FOSS is used for rapidly prototyping and feeling out a concept but deployed hardware is futher ruggedized and made more compact and manufacturable by special hardware.

Anything else you would like to add?

Freedom is a central value of the community and I think restricting that freedom to protect from unwanted users, such as the military, would be subverting this value.

The next day after emailing my response I started reading The Debian System and read the following passage:

The additional ability to use Debian for whatever purpose a user thinks fit is equally important. Debian does not allow any discrimination of persons, groups, or fields of endeavour. Debian may be put to use by anyone for anything, even in morally debateable domains, such as genetic research and warfare. Debian does not attempt to define what is acceptable and what is not because it would put a limit on the freedom of its users

So it seems that the community has already given some thought to this topic; however I am still anxious to see what Jay has found from the research of his article.

Note: Tux logo borrowed from Phlak linux, a modular live security Linux distribution, see http://phlak.org

Mozilla Day Part 1

Permalink

Today shall be deemed Mozilla Day.

Update: Write-up from the OSLUG Website

Weather Balloon
Spectator balloon
Last Saturday at a Kveton BBQ Polvi, Marineau, Kveton and I were trying to come up with an idea to celebrate the 100 Millionth download of Mozilla Firefox.

At 50 Million we painted a Firefox logo mural in the middle of the MU quad which got a ton of attention. This time we wanted to do something even bigger so after several suggestions like paper mache logos and beachballs.

Then I remembered the NASA Oregon Space Grant Consurtium and LaunchOregon weather balloon program. Perfect!
NASA and Firefox together at last
So after a few minutes of thinking through the logistics it was a done deal.

On Monday I went to the Space Grant and talked to Catherine Lanier at the OSGC and she was pumped! w00t. The weather balloon was a go.

By Friday Northwest Graphic Imaging had donated a 5′x6′ poster that would fly on the balloon, press was covered and we found out perspective students would be hitting the quad at 12:00pm for launch due to the Beaver Open House.

The event went off smoothly today and we had a ton of people and coverage in the quad. It was a great collaboration of OSLUG, NASA Oregon Space Grant Consurtium, Mozilla, and NW Graphic Imaging. Thanks guys!

Around 3:00pm the satellite should have landed back on Earth from a descent of 100,000 feet. The satellite carried two cameras, one pointing down and another pointing at the poster both were on a 3 minute delay. And when we recover the balloon there will be amazing shots of the horizon and the Firefox logo.

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!

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:

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.