Benjamin Hodgens

A little bit of Web 2.0 nothing.

Computers

Experimenting with computers has been a large part of my life - pretty much since doing so became economically viable and I figured out how to use them in the early-1990s.

I started out computing on an ancient (even for the day) second-hand IBM 5155 Portable Computer: 4.77MHz 8088 processor with a whopping 640k of RAM, 2 5.25" disk drives, and a massive 8", 10Mb MFM hard drive. It still works (or did the last time I booted it up): it's sitting in the garage right now. The only thing 'wrong' with it is that it weighs as much as modern cars, and the floppy drives have ceased to work (or maybe it was the disks: they've not been commercially available for a while).

Today, I have a home network: my primary machine (an IBM laptop running Linux), a Windows machine, and a newer machine which runs Linux and serves as the network file server. There are several more systems "sitting about", and they'll get powered up for various uses as-needed.

You can have my .bashrc or .zshrc, if you wish.

Here is a little write-up on flash memory volatility and general utility I did after doing some research into failure rates.

These days, I'm largely interested in embedded systems - small, low-power non-x86 based systems - which run Linux, BSD, and various other OSes. The diversity of application for such systems is what fascinates me about them. I suspect that, before long, the common desktop and laptop computers of today will be supplanted largely by ARM (and maybe MIPS) based systems running with instant-on, low-power profiles, and just as much utility to the common user as x86 provides - through Linux.

People will have one in their kitchen to look up recipes, check the weather, and start their coffee maker; they'll have one in their bedroom to wake them 15 minutes early when road conditions look like they might be bad, and so on and so forth. The price of mass-produced SoC are finally getting low enough to make this possible - and products like the Asus Eee go a long way to demonstrating the possibilities.

If we were to combine such easily accessible, portable devices with "cloud" computing and what I would call "awareness" software (to, say, aggregate personalized weather, traffic, etc. data from various sources), we'd be a large step closer to the "Jetsons" distopia of the future.

Cool Projects Other People Made

Here are a couple applications I've found useful which aren't in the "common knowledge" domain amongst (most) Linux types. Or, at least, they're interesting things I was not familiar with until recently, and I think they're half decent projects worth a look. :)

Computer Projects

Firefox 3.2 apha with PGO optimization (Outdated - do not use)

This package is outdated - from February 2009. I'd recommend against using it; prebuilt binaries are made available elsewhere.

This is Firefox build with Profile Guided Optimization. It is much, much faster than the Firefox bundled with current distros due to the compilation optimizing for profile-specific tasks. This build was done using the Python use profile provided from the Mozilla nightlies. I didn't select any other build optimizations. The tree was checked out from cvs on 02/14/2009 from Mozilla Central.

I built this on Ubuntu 8.10, but I believe it should run on other distributions of a similar vintage and library versions. Just untar the file to (say) /opt and run the program from that path.

Firefox 3.2 alpha 1 pre

NetBSD 4.0 packages for mipsel

I built these from the 'current' pkgsrc tree at the end of 10/08 for my NEC MobilePro 780 to try and give the old little device a second chance at life. I was able to (partially) reach my goal, but ran into issues with pkgsrc. These packages were built on the MobilePro itself, with an NFS mounted root.

Here's a partial list of what the tarball contains (in addition to the requisite libraries):

  • epic4-2.2nb1
  • jed 0.99
  • mutt 1.4.2.3nb2
  • ncurses 5.6nb2
  • ncursesw 5.6nb2
  • lua 5.1.4
  • luafilesystem 1.4.1
  • antiword 0.37nb1
  • flwm 1.02
  • ion 20040729nb6
  • matchbox-wm 1.1
  • x11-links 0.39
  • matchbox-panel 0.9.2nb3
  • matchbox-themes-extra 0.3nb1
  • matchbox-wm 1.1
  • matchbox-desktop 0.9.1nb3

    The tarball is just the 'packages' dir from the pkgsrc tree. It should be able to be extracted and the packages installed manually, as needed. For those who are wondering: yes, matchbox works on the MobilePro - but Ion is so much more appropriate for the small touchscreen.

    This was an interesting look at both a different architecture as well as NetBSD running on said architecture. If the system had a little more RAM (32Mb is too tight for X), it'd probably have been usable for every-day tasks - even with only a 168MHz MIPSIII processor.

    Download Link to Tarball

    ...

    Other notable (non-resume-able) stuff I've done: made an OpenMosix build cluster for the Linux kernel (around 2004), written a build automation bash script (kernel retrieval, compile, and packaging), Linux From Scratch with the necessary iptables scripting for a minimalist router, and odds and sods.