Planet OSL
Open Source in Africa
I spent the last two days meeting with a great group of people from the University of the Western Cape in South Africa. They will be at OSCON in Portland next week and were able to extend their trip a bit in order to come down to the Oregon State University Open Source Lab for a visit.
The visitors from UWC included: Derek Keats, Madiny Darries, Anver Natha, Ernie Smart, Paul Scott, and David Wafula. Although they have quite limited resources, they have been working on a number of open source projects which benefit many people in Africa. Their main initiative is a collaboration between about 13 different higher-ed institutions in Africa which develops, supports, and promotes open source software. In fact, Derek Keats will be speaking about the initiative (AVOIR) at OSCON - http://en.oreilly.com/oscon2008/public/schedule/detail/2320
The main project to come out of AVOIR is a framework called Chisimba. Chisimba is used at the core of most of their other projects, and appears to be a very solid PHP framework. You can also tie into the framework using modules written in other languages. I'm pretty excited about the framework, and we're going to look into ways of using it here at the OSUOSL as well.
All in all, it was a great visit, and I look forward to working with them in the future. The entire group from UWC will be at OSCON, so if you have a chance, I'd recommend seeing Derek's talk, or meeting them at their booth in the expo hall.
See you at OSCON!

If you’re in Portland, Oregon next week at the O’Reilly Open Source Convention - OSCON - be sure to drop by and say hello. I’ll be there with staff and students from the OSU Open Source Lab in Booth 401. On July 23 and 24, you’ll be able to take a Virtual Tour of our data center and talk with staff and students. OSL is home to many notable open source software projects and organizational infrastructure such as Apache Foundation, Linux Foundation & the Kernel, Drupal, OpenOffice.org, Gentoo and Debian Linux.
I’ll be on the lookout for interesting projects and people to showcase in the upcoming International Open ICT Summit, a new feature of GOSCON (the Government Open Source Conference - not affiliated with O’Reilly Media, but everyone at O’Reilly has been very supportive of our non-profit conference which focuses on public sector IT management, planning, legal and procurement personnel).
If you’re not registered for OSCON but would like to come see the exhibits, you can register for a gratis pass .
Nice Firefox Wallpapers
I just stumbled across a collection of very nice Firefox background images.

Some of them I’ve seen many times (like “always wear protection”, which always reminds me of the “natural mail enhancement” pic), others are new to me, but they seem to be the work of some very talented designers in the Mozilla community, so make sure to check them out.
Firefox + World Record = Hot
Here you see Tristan Nitot, president of Mozilla Europe, receiving the Guinness World Record certificate at the London Firefox 3 party. Awesome!
(Thanks for the link, laura)
Bonjour, iPhone
I recently saw this on the local network at the unversity:

Well, at least the user was honest
If he was aware that his iPhone would tell everybody of its existence through Bonjour? That, I don’t know.
Installing FOSSology on Slackware
Amazingly, developing a FOSSology agent seems to require an installation of FOSSology with which to test it. Installation of FOSSology goes smoothest on Debian, because (as with so many other projects) that's the distro the developers use. I'm way more comfortable with Slackware, so I decided to get it up and running on my home turf. Later on, I plan to provide regular slackware packages, which should obviate most of the work. For now, here's how I set up a Slackware-based server for FOSSology:
- Install Slackware. This step is left as an exercise for the reader.
- Install UPX. Yeah, I've never heard of it either. I just downloaded the binary and threw it in /usr/local/bin. Watch this space for a package and a SlackBuild.
Update:Don't use the binary distribution from UPX. The following garbage is from README.SRC in the source distribution:The precompiled UPX versions are linked against the NRV compression
library instead of the UCL library. Using the same compression algorithms,
NRV achieves a better compression ratio. NRV is not publicly
available, though, and probably never will be.
While you may be disappointed that you don't have access to the
latest state-of-the-art compression technology this is actually
a safe guard for all of us. The UPX source code release makes
it very easy for any evil-minded person to do all sort of bad
things. By not providing the very best compression ratio it is much
more difficult to create fake or otherwise disguised UPX versions (or
similar trojans), as any end user will notice when the compression
has gotten worse with a new "version" or "product".
They're not releasing source as a security measure? Sounds like a load to me. While the binary version works fine, I've built Slackware packages that use the open source software. You'll want both my UPX Slackware package and the the open-source compression library it uses, UCL. - Unrar can be found at linuxpackages.net.
- libextractor and cabextract can be found packaged at slacky.eu.
- Install Sleuthkit. I've packaged it for Slackware; you can find it here
- Install PostgreSQL. All of the pre-made packages I've seen are crazy in one way or another. I used the SlackBuild from slackbuilds.org. If you're lazy, the package is available here.
- The Slackware PHP package is compiled without support for PostgreSQL. This presents predictable problems. I've compiled a version of PHP with postgresql support enabled and posted the package here. You can just download it and use upgradepkg to replace the stock PHP build. The only difference between stock Slackware PHP and this one is the line --with-pgsql=shared,/usr inserted into the configure command. I seriously recommend you use my package instead of compiling it yourself, unless there are other patches and tweaks you need. PHP takes roughly ten thousand years to compile.
- Download FOSSology. Latest version should be available here. At the time of this writing, the latest version is 0.8.0, so that's what I'll be describing here. I moved it to /usr/src and untarred it.
- Follow the instructions in the README file. Most of this is tweaks to config files. Here's how I do it:
- As root, run:
groupadd fossy
useradd -c FOSSology -d /srv/fossology -g fossy -s /bin/false fossy - Make the suggested changes to postgresql.conf. Note with the package I made there's no site-wide conf file in /etc. The file you want is /var/lib/pgsql/data/postgresql.conf. I happen to have a copy handy. All the suggested changes are made in this copy.
- As root, run:
su postgres -c "psql -f /usr/src/fossology-0.8.0/setup/fossologyinit.sql"
This is, of course, assuming you unpacked the file to /usr/src. - Restart the database by running as root:
/etc/rc.d/rc.postgresql restart
Then make sure it's working. Run:psql -d fossology -U fossy
If you don't get any errors, you're good. Type\q
to exit psql. - Assuming you have a stock /etc/httpd/php.ini, you can just grab this, which has all the suggested changes already made.
- Ditto for /etc/httpd/httpd.conf. Find the altered version here.
- Build FOSSology and begin the installation process. As root, run:
make && make install
and kick back while it compiles. - As root, run:
/usr/src/fossology-0.8.0/install.sh -f
- Grab my scheduler.conf, which is set up to use one host (localhost) and one processor. Put it in /usr/local/share/fossology/agents.
- The other files mentioned in the README actually are fine -- the only thing you might need to change is the password on the fossy database, if you changed it from the default "fossy." In that case, edit /usr/local/share/fossology/dbconnect/fossology, and make the obvious change.
- As root, run:
/usr/src/fossology-0.8.0/install.sh -f
Yes, again. - For good measure, run /usr/src/fossology-0.8.0/check.sh. This will do a last scan to make sure everything's set up.
- As root, run:
- Grab my rc.fossology file, throw it in /etc/rc.d/, and start FOSSology by running, as root:
/etc/rc.d/rc.fossology start
- To start on system boot, put the following stanzas in /etc/rc.d/rc.local:
#Start postgresql.
if [ -x /etc/rc.d/rc.postgresql ]; then
. /etc/rc.d/rc.postgresql start
fi
#Start the FOSSology scheduler.
if [ -x /etc/rc.d/rc.fossology ]; then
. /etc/rc.d/rc.fossology start
fi
This makes sure postgresql is running before you start fossology. - Once all that's done, you'll need to restart apache:
/etc/rc.d/rc.httpd restart
- That's it! Open a browser, and enter http://servername/repo
- This is where you need to keep an eye out for php errors -- they usually indicate permissions problems.
- Log in with the username Default User and no password.
- Click Admin, then Initialize. Follow the on-screen instructions, and have at it! See the User Documentation to get started.
Boston skyline

I took this photo earlier this evening from the roof of my apartment building along with a few others. This place has a pretty good view of the city which should be nice for fireworks tomorrow. :-)
Tweeeeet
Now it has happened: As an effect of the urgent need for a weekend, I registered with twitter. Only adding people I could think of easily, I am not “following” 37 people
Of course, my twitter experience started all peachy right off the bat, by first giving me site errors:

(hey, at least they are pretty)
… and then I noticed something weird about the times they show on every page:

“ungefähr 1 Stunde ago from web…” … is that… Germenglish? Englerman?
But let’s not be discouraged. They probably just started their announced maintenance window four hours early
Anyone else think I forgot to “follow” them on twitter? Leave a comment.
I'll have an A/C on the rocks...
I am in the process of settling into my new home having all sorts of adventures but this one tonight is stupid enough to deserve a blog post. It turns out if I turn my air conditioner on the coldest setting and let it run for a day it tends to turn into a block of ice. The photo below was taken just a few minutes ago during the thaw process, and this is after an hour and scraping some off.

FTP Mirror Upgrade
We've been pushing the capacity of our current FTP disk arrays for quite some time now. Luckily, we were able to get enough funding to purchase new arrays for our three FTP servers. This will double our current disk space from 3TB each server up to 6TB.
This is very exciting because it'll relieve a lot of the stress on our end of limiting our mirrors to very specific content. It also means we can finally start mirroring all of the stuff we've been really wanting to provide mirrors for but just never had the space! As much as I wish this meant we could mirror everything under the sun, we'll still have to be pretty strict about setting up mirroring for new projects. The new disks will at least give us some much needing breathing room!
Below is a picture of the new arrays (on the left), and all the new disks to fill them (on the right). For those that are interested in the specifics, each FTP server will get two HP StorageWorks 70 disk arrays, with each array holding 25 2.5" 146GB SAS drives.

Userfriendly on the Second Microsoft Cake
Userfriendly.org published a funny little picture about the second Microsoft cake:
They should have covered the Firefox 2 cake instead: After all, it still rendered in black and white
(Thanks for the link, Jean Pierre!)
Firefox Credits
The Firefox world record attempt has just weighed in with a whopping 8 million downloads (plus change) in a 24-hour period.
And, as I recently noticed, each Firefox instance carries my name among the men and women mentioned in the credits list (for my work on the Mozilla Add-ons project):

Awesome
(did I mention I dig my name being spelled correctly?)
If you want to see who else is on the list, click on “About Firefox” in the help (or Firefox, on Mac) menu, then “Credits”.
Thanks to Mike Connor (who I believe put me on the list) and to everybody who made Firefox 3 such a great product.
Firefox PDF Extension for Mac OS X
Jean Pierre pointed out a fabulous little extension for Firefox 3 on OSX:

The firefox-mac-pdf extension embeds PDF files right in the browser, so you don’t have to download them, open them with Preview.app and remove the file off your desktop afterwards. It works much like Acrobat, except it uses OSX’s built-in PDFkit.
That’s definitely an extension I’d like to see on AMO.
Rules of Engagement
I am in the process of cleaning out all my stuff so I can move to Boston with a fairly minimal car load. I tend to collect all sorts of random things over the years which makes this process a bit difficult. (Why on earth do I have my pogs from elementary school?) On the up side I've found a few amusing things in the process. One such item is below. Way back when during my freshman year a couple girls compiled these "Rules of Engagement" and presented them to a group of guys including myself in a meeting of sorts. And yes, it does in fact start off with a quote from "Mystery Science Theater 3000."
Sorry for the poor quality, I don't have a scanner at the moment. Click for a larger version.
From Redmond With Love, Part 2
Oh, hello! The MSIE team sent us another cake. This time, sadly, I wasn’t around to taste it, but it looks much nicer than the old one! Internet Explorer just started getting color, it seems like!
Here it is, photo courtesy of robcee:
I hope it tasted as delicious as the first one!
Drupal Training Materials
I started providing Drupal training to Oregon State University faculty and staff earlier this year. Currently, there are two different sessions: an author session and an administrator session. The author session concentrates mainly on creating and editing content, while the admin session looks more into the administrative configuration of Drupal and even touches on custom content types.
All of the training materials are released under the Creative Commons Attribution-Share Alike 3.0 United States License, and are available here:
http://osuosl.org/training/drupal/
There are some references to OSU-specific Drupal modules, but the majority of the materials should be helpful to anyone wanting an introduction to Drupal. So, if you are looking to learn about Drupal, give them a shot. These intentionally do not cover installation of Drupal (nor apache/php/mysql), I'm sure that is covered in-depth by many others. If you have any suggestions on how to improve the materials, I'd be happy to hear them.
Open Source Software to Support EPA’s National Environmental Information Exchange Network
I’m not a fan of simply passing along a press release, but I found this one to exemplifiy the growing trend I see in open source software in government;
- OSS adoption and use is moving beyond tools and infrastructure and up the stack
- More vendors are becoming involved in providing services and support, key to successful government IT strategies (proprietary or open source)
- And something I’ve been saying for four years; the greatest value to governments lies in the model itself, creating collaborative communities with common program missions and business requirements.
FAIRFAX, VA, June 3 — CGI Federal, Inc., a wholly-owned U.S. operating subsidiary of CGI Group Inc. (NYSE: GIB; TSX: GIB.A), today announced the release of the first Open Source Node 2.0 software product to be available to EPA data exchange partners on the National Environmental Information Exchange Network (Exchange Network). The CGI Node 2.0 software is offered to Exchange Network partners and other interested members of the environmental community to give them capabilities to publish, share, and gain access to environmental data for improved decision making.
The National Environmental Information Exchange Network includes EPA’s Central Data Exchange (CDX), the point of entry for Agency environmental data exchanges. Together, CDX and the Exchange Network partners’ nodes are the infrastructure that enable efforts to collect, share and monitor the environmental data used to assess the impact of global warming, monitor the safety of our water supplies, gather geographic information on sources of pollution, and encourage overall excellence in the study and stewardship of our environment.
CGI Node 2.0 represents an expansion of this community to allow sharing across federal, state, commercial and citizen boundaries related to software development and technological innovation. It allows users to collaborate, publish, and discover environmental information and services across disparate systems. The node’s dashboard allows for quick and easy reporting, scheduling, and administration capabilities.
"Flexible and rapid data exchange capabilities are critical to responding to environmental challenges faced by government agencies and their trading partners," said Melanie Morris, Chief of Data Integration Division, Mississippi Department of Environmental Quality. "Establishing the building blocks of an Open Source community that supports environmental collaboration and decision making will help stakeholders leverage their investments and capitalize on shared business drivers."
CGI Vice President Kenyon Wells added: "CGI is proud of our long history in helping EPA meet its mission of protecting the environment. Our open source software is the latest example of how CGI invests in the success of its clients and will allow Exchange Network partners to save money while promoting standardization for the sharing of important environmental data."
CGI will be hosting a Webinar to demonstrate the CGI Node 2.0 on June 4th. For more information about this event or about the Node product please refer to the CGI Environmental Practice Website: www.cgi.com/environment
Source: CGI GROUP INC. CONTACT: Peter Cutler, Director, Communications, (703) 227-6933, peter.cutler@cgifederal.com"
Make Firefox a Guinness World Record!
As many of you may already know, tomorrow, June 17, Firefox 3 will be released to the general public.
But that’s not all: In an event called “Download Day” Mozilla is trying to set a Guinness World Record for the most software downloads in 24 hours. You can help set the record!
All you need to do is download Firefox 3 tomorrow within the first 24 hours of its release.
Need more info? Hop over to the Mozilla Blog or read the official Download Day FAQ.
Reverting All Local Changes in SVN
Whenever I apply somebody else’s big patch to review it, I obviously go ahead and revert the changes to my local Subversion working copy afterwards. Here’s the line I use to do it, maybe somebody will find it useful (though I mainly blog it not to forget it myself):
svn st -q | awk '{print $2;}' | xargs svn revert
(To be honest, I also expect about 17 comments now that tell me how I can do this more efficiently, or what I didn’t consider when writing this in about 5 seconds — so, don’t disappoint me, fire away!
)
Dear GMail,
Dear GMail,
I would like you to know that it really really sucks how you add everybody to my address book who I only sent one mail to, ever. That clogs the address book and depending on what kind of message it was, after just about 30 seconds I neither care nor remember what I wrote them an email about once in my lifetime.
Imagine me writing an email to some company’s customer service. I get an answer from a representative asking me to provide some more information. I reply and attach the needed infos. You helpfully add this person to my address book so I can remember every customer service representative that I ever had to deal with, just in case I ever need to email them personally again. Thank you so much!
Let alone all these random people on craigslist who use a gmail address who you add to my instant messenger automatically, so they can start chatting with me or at the very least see me being online for the next 25 years.
A one-click option to add somebody to your address book is a great idea. Automatically adding everybody to my address bucket (that mess is not a book anymore) however is a bad idea.
Just sayin’…













