Typo on Textdrive

I have recently been having problems with running Typo on Textdrive. The cause seems to be that the ruby grows too big and is killed by FreeBSD. Why it isn’t being restarted automatically by lighttpd, I don’t know. The solution is supposed to be to start the rails fastcgi program separately from the lighttpd process. I just finished switching my lighttpd config to the new recommendation in the Textdrive knowledge base.

One thing which seems interesting for the future is mongrel, a Ruby web server. It sounds like it could be proxied to and replace lighttpd.

Bridge Pedal

I did the Bridge Pedal for the third time yesterday. It is a signature Portland event where they open the bridges to bicyclist and 18,000 people come out for a mass ride. A big draw for me is that they close to the top decks of the two big freeway bridges which are normally not accessible to bikes or pedestrians. The views of the city and the bridges covered in people were great. It was a perfect day, sunny and not too hot.

I originally planned on doing the 6-bridge ride which is just the downtown bridges plus the ride to the downtown start. This year, the 10-bridge ride came down to the Sellwood Bridge and went right in front of my place. I couldn’t resist and joined the stream. We went down the Marquam Ave to the Hawthorne Bridge. Past that point, all the different rides sort of merged together. Then, we went over the Hawthorne, Ross Island, and Marquam bridges. Then, we went over the Burnside, Broadway, and then the Fremont Bridge. I thought it was less crowded than last year; I didn’t have to walk up the Marquam. There was some confusion with different groups of riders merging together and routes crossing but I didn’t have a problem.

I decided to do the longer ride to the St. John’s Bridge. I hadn’t been up north in previous years. That added probably 10 miles to the total. The climb to the top was struggle. I ended up walking most of the way. Unfortunately, my camera exhausted its battiers so I couldn’t take any pictures to document the achievement. After that, we came down Willamette Blvd and Interstate Ave to the Steel Bridge and the finish. Then, I had to ride back home down the Springwater Trail. I discovered that my legs give out after 35 miles. Unfortunately, the whole ride was 36 miles and the last mile was slow and painful. That is the longest I ever ridden, beating the previous Bridge Pedals of 20 miles. I spent the rest of the day sitting down because I could barely walk.

Marquam Bridge

Tram Tower and Ross Island

Fremont Bridge

iTunes & Track Numbers

I was using iTunes today and turned on the display of the Track Number. And discovered that none of my Ogg files had any track numbers. Soon after I got the MacBook, I installed the Quicktime Components which allow playing Ogg and FLAC files because that it what nearly all my music is encoded in.

I went searching for “itunes”, “track number”, and “ogg”. One of the pages I found looked familar. I had seen that color scheme before. I realized that it was my brother’s blog. The AppleScript he mentioned is currently working its way through my collection.

Virtualization on the Mac

Parallels rocks. It is the first virtualization software for the Intel Macs. They also Windows and Linux but they aren’t well known compared to the big guys of Microsoft Virtual PC and VMware. The performance is pretty good since it makes use of the Intel VT extensions in the Core Duo processor which allows full virtualization.

It works quite well with the Virtue Desktops desktop manager. Virtue has some cool animations when changing desktops, like flipping the screen, or rotating a cube. It is cool to flip over to a virtual Linux display.

There are a couple of problems. It doesn’t seem allow changing the VM definition while it is running which is a problem for changing devices, network configuration, or mounted CD images. VMware allows changing devices on the fly. Even the free VMware Player allows enabling devices, including USB ones. It also only supports bridged networking. This is a problem at work since the wireless access point only allows a single IP address per login and bridged networking gives the VM a separate IP address. VMware supports NAT networking.

New Stuff

I answered the question of what laptop to get by buying an Apple MacBook. I got the simplest (and cheapest) model. I put 2 GB of RAM that I bought from Fry’s. One reason is that I could pick it up from an Apple Store. Another is that I liked the flexibility of the choosing what operating system to run and the chance to try out Mac OS X. I haven’t decided yet if I am going to run Linux or Mac OS X primarily and how to switch between them. I am going to give Mac OS X a try first and see if I can get everything done that I need.

I also got some wireless network gear to replace all my old equipment. I got a Linksys WRTP45G which is a wireless broadband router and Vonage phone adapter in one. I also got a Linksys WRT54GL to flash with Linux and turn into a wireless bridge. Fry’s isn’t selling wireless bridges any more and the modified router is cheaper in any case. I don’t understand why the wireless bridging isn’t more available. I finally got rid of the phoneline network I was using.

Which Laptop?

I have been thinking about getting a laptop. Seeing all the laptops at OSCON made me want to get one now. The problem is, I am not sure which one to get. I want to get a small, light one. I have never gotten the point of the big laptops; the point is to carry them around. I would also like a Core Duo processor.

Unfortunately, the really light ultraportable tend to be underpowered, expensive, or both. I really like the Samsung Q35 with Core Duo, but it is expensive (and not available in the US). The Gateway NX100X and Dell Latitude D420 both look nice and are not too expensive but are only Core Solo. The ThinkPad X60 is supposed to be great but is expensive.

I like the Apple MacBook. The keyboard is usable, the screen is good. The extras, like the camera, are nice. And it looks nice; the black one is really nice but the premium is too much. The low cost is also nice. The only problem could be the weight. It weighs 5 lbs, which is at least a half-pound heavier than the competitors. I am not sure if lugging that around will be a problem. I will likely install Linux, either dual-booting or using virtualization.

There are a few contenders at four pounds. The Lenovo 3000 V100 is heavier and cheaper than its ThinkPad cousin. Unfortunately, it only comes in two configurations either cheap and more limited, or expensive and more powerful than I wanted. The Dell XPS M1210 also sounds like a good compromise between power and cost. Dell and Lenovo also have 14″ models, the Latitiude D620 and ThinkPad T60 and Z60t.

OSCON 2006, Day 1

This year, I only went to the sessions for OSCON. This is the sessions on Wednesday.

Big Bad PostgreSQL: A Case Study, Theo Schlossnagle

This talk was about migrating some data warehouse systems from Oracle to PostgreSQL and the issues they ran into. Some of the issues were ones we had run into at work, about vacuuming being a hassle, no ability the upgrade between versions, no support for Oracle statistic functions like RANK OVER(), more limited partitioning support, and less evoled replication. The big advantage of PostgreSQL for them is that it could handle the complicated queries. And the Pl/PgSQL and Pl/Perl allowed them to do complicated stuff in the database.

Current State of the Linux Kernel, Greg Kroah-Hartman

He talked about the Linux kernel. His talk had many points that I had read online. I found it impressive how much change the kernel undergoes and how well the development process holds together. The kernel is the poster child for distributed, evolving open source project producing something that works.

He also talked about the issues with external patches (like OpenAFS, Xen) and closed-source kernel modules. I think the new consensus that proprietary drivers are wrong and won’t be included in distros is a good thing. He pointed out that the common closed-source drivers, like VMware, NVIDIA, and ATI are operating in a gray area. They force people to compile the code. Anyone who distributes the resulting binaries is violating the GPL. Hopefully, this will force them to open source their drivers; I can’t see why VMware does not open-source their drivers. The graphics drivers will likely move into user space; there is no problem with proprietary X drivers.

The Atom Publishing Protocol as Universal Web Glue, Tim Bray

He described the new Atom Publishing Protocol, showed some examples, and described a little bit how it is being used. The protocol is quite simple, basically a REST protocol for posting Atom entries and media files. Simple enough that I am now thinking about implementing a client for Palm, and a server for Typo.

I wish he had gone into more detail about the spec. Some history about other publishing protocols would have been nice. So would have some discusion about the design choices in the protocol.

Plagger: Pluggable RSS/Atom Aggregation, Tatsuhiko Miyagawa

He described Plagger, a Perl framework for RSS/Atom aggregation. It has lots of plugins for pulling feeds, filtering them, and publishing to different formats.

I have been thinking that it would be interesting to do a personal feed aggregator web site. I have also been thinking about how to get my daily dose of news to my Palm.

Puppet: An Operating System Abstraction and Automation Framework, Luke Kanies

I was disappointed about this talk. I had investigated Puppet at work and thought it was a great tool for doing system administration automation. He spent too much time talking about the purpose of the tool and the field with very little details. Technical details don’t work in a short talk but I got the impression that the audience wasn’t clear on what puppet is for and what it can do. Or why it is better than the competitors in this space like cfengine.

I think some concrete examples would have been better. Showing both the problem and the solution. A good example would have been setting up dozens of servers. First, the manual method. Second, the distributed scripts. Third, imaging. Finally, puppet can setup lots of machines in an automated way. Puppet can even take existing machines and change them to look like the declarated state.

Perl Lightning Talks

Luckily, I got to see Schwern’s play about module building. Very entertaining.

The rest of the talks were interesting with a few good ideas.

Trackback Spam

I foolishly had left trackbacks on by default on this blog. I just noticed that some of the articles had hundreds of trackbacks on them. I doubt this blog is that popular. I think I would have noticed if I got on slashdot. They all looked like link spam.

Unfortunately, Typo does not have any mechanism for mass deleting trackbacks. I had to go into the database and delete all of them. I ended up deleting 2045 trackbacks on only 45 articles. While I was at it, I changed all of the articles to not allow pings.

SVK on Fedora Extras

Over the weekend, I got the SVK version control system included in Fedora Extras. It is in the perl-SVK package. I also packaged up a bunch of its required Perl modules.

I actually used svk for the spec files for the packages. It was very handy for synchronizing and merging changes between home and work using the repository at my ISP. My repository doesn’t allow public changes but you can work the same way with any Subversion repository.

Setup the mirror:

svk mirror http://znark.com/svn/repos //mirror/znark

Sync the mirror to the svk depot.

svk sync //mirror/znark

Copy the mirror to local directory

svk copy //mirror/znark/cpanbuild //cpanbuild

Checkout the local directory

svk co //cpanbuild
cd cpanbuild

Make some changes and commit:

svk ci

Push the changes to the repository:

svk push

At another location, or after somebody else has made changes, I can do:

svk sync //mirror/znark
svk pull

Booting Fedora Installer from Disk

If you already have Linux installed, it is possible to boot the Fedora installer to do installs or upgrades without a boot CD.

In the images/pxeboot directory of the distribution repository, there is vmlinuz kernel and initrd.img ramdisk image. Download those and put them in /boot. Then edit /boot/grub/grub.conf and add the following entry:

title Fedora Installer
    kernel /vmlinuz
    initrd /initrd.img

This assumes that you have a separate /boot partition. If not, add /boot to the paths.

Then, reboot your machine and select the “Fedora Installer” entry from the grub menu. Once the installer has booted, you can do a network or hard disk install or upgrade.