Irish Swiss cheese

This country never ceases to amaze me. Everything is standardized – down to the kind of cheese you get when you order a sandwich. There’s American, Swiss, Cheddar, Provolone, etc.

Somehow Emmentaler, Gruyere and the many other cheeses from Switzerland got standardized into ‘Swiss cheese’.

And that ‘Swiss cheese’ often tastes best when imported – from Ireland for instance:

It tastes quite good – like a young Emmentaler, but as if it was made from sheep’s milk rather than cow’s milk. Irish Swiss cheese – what a concept!

I must note that it is easy to buy the various different kinds of imported (Swiss) cheeses – but they are of course more expensive.

Posted in Personal | Leave a comment

Free the Airwaves

Via the Google blog: the FCC is set to rule shortly on the unused ‘white spaces’ – parts of the spectrum between broadcast TV channels that currently goes largely unused.

Google’s launching Free the airwaves – a campaign to make people aware of the FCC’s pending decision that could alter the broadband landscape significantly. If the FCC turns the ‘whitespace’ into an unlicensed band the US might finally be able to escape it’s third-world, backwater broadband status. We need more competition!

Posted in Broadband | Leave a comment

price comparison: Dell XPS M1530 with Ubuntu vs. Windows

Dell announced that a few more models are now available pre-installed with Ubuntu: the XPS 1530n and the Studio 15n.

I configured an XPS 1530n with the following specs, which are available both with Ubuntu and Windows:

SYSTEM COLOR Tuxedo Black
PROCESSOR Intel® Core™ 2 Duo T5850 (2.16GHz/667Mhz FSB/2MB cache)
LCD AND CAMERA Full Hi Definition, glossy widescreen 15.4 inch LCD (1920×1200) & 2.0 M
MEMORY 4GB Shared Dual Channel DDR2 SDRAM at 667MHz (2 Dimms)
HARD DRIVE Speed: 250GB 7200rpm SATA Hard Drive Free Fall Sensor
INTERNAL OPTICAL DRIVE Slot Load DVD+/-RW (DVD/CD read/write)
VIDEO CARD 128MB NVIDIA® GeForce® 8400M GS
WIRELESS CARDS Intel® 3945 802.11a/g Mini-card
BLUETOOTH AND WIRELESS USB Dell Wireless 355 Bluetooth Internal (2.0+Enhanced Data Rate)
BATTERY OPTIONS 85 WHr 9-cell Lithium Ion Primary Battery
SOUND OPTIONS High Definition Audio 2.0
FINGERPRINT SCANNER Finger Print Reader XPS M1530
WARRANTY AND SERVICE 1Yr In-Home Service, Parts Labor,24×7 Phone Support

The Ubuntu version comes with:

OPERATING SYSTEM Ubuntu 8.04 with DVD Playback
ENVIRONMENTAL OPTIONS Recycling Kit and Plant a Tree for Me

The Windows version ships with:

OPERATING SYSTEM Genuine Windows Vista® Home Premium Edition SP1
PRODUCTIVITY No Microsoft Office

The only other configuration difference was that Windows users need to pay $25 extra for a recycle kit, and are not given the ‘plant a tree for me’ option. I guess it costs extra to dispose of all that proprietary software ;)

There were a few options available on the Windows version that are not yet on the Ubuntu version – presumably because free software drivers are still missing for that hardware.

The verdict? Financially, the Ubuntu machine is a way better deal:

  XPS 1530 with Ubuntu: $1,518
  XPS 1530 with Windows: $1,788

On top of the substantial price difference, the Windows version comes with the cheapest, most basic version of Windows Vista pre-installed, as well as the NO office software option. This is a very basic setup, software-wise. You’ll also need to shell out extra bucks for antivirus software.

Compare that with the Ubuntu version which ships with a very powerful operating system and ton of extra software, including Open Office. And you get a major operating system release every 6 months for free!

Now if only Dell would start selling more of their systems without Windows around the world – they are still not available in large parts of Europe, for instance…

Posted in Free Software/Open Source, Hardware | Leave a comment

kexec’ing into a Xen kernel

I’ve got a number of servers that run coreboot + Xen. I like to run coreboot with a linux-as-a-bootloader (LAB) payload. That means that coreboot, after bringing up the machine, boots into a small linux kernel + busybox environment, entirely contained in rom. That environment can serve as an emergency fallback to resolve booting problems remotely – remember, coreboot has excellent serial support from power-on. Anyway; on a normal boot the machine kexecs into a Xen kernel.

And that works great. Recently, on deploying a new server, I discovered that the machine would just hang trying to kexec into Xen 3.2.1.

After a lot of digging and some fun setting up a test environment with qemu, I discovered that this broke somewhere between Xen 3.1.0 and 3.1.3. A message to the Xen-devel mailing list today yielded a quick response from a Xen developer suggesting I try the ‘no-real-mode’ parameter as an argument to the hypervisor.

The no-real-mode option stops Xen from doing some bios calls, and it also tells it to ignore the e820 bios table.

Here’s an lab.conf that works:

CMDLINE="no-real-mode com1=115200,8n1 cdb=com1"
INITRD=""
KERNEL="/xen-3.1.4.gz"
MODULE1="/vmlinuz-2.6.18.8-xen root=/dev/md1 ro xencons=ttyS0 console=tty0 console=ttyS0,115200"
MODULE2="/initrd.img-2.6.18.8-xen"

Note that you need to pass no-real-mode as the first xen command line argument, otherwise it won’t work.

And somehow that solves the problem for Xen 3.1.3 and 3.1.4, both under qemu + coreboot and qemu + bochs. Kexec’ing into Xen 3.1.2 triple-faults qemu under qemu + coreboot, but works fine under qemu + bochs. That smells like a coreboot bug. I’ll try on real hardware tomorrow to see if this bug is specific to our qemu port, or a more general coreboot problem. To be continued..

Posted in coreboot, Xen | Leave a comment

my apartment needs a tail

Ars Technica describes a pilot project in Ottawa that puts a new twist on telecommunication infrastructure: the customer-owned last mile.

From the article: A private company has recently completed a project to string dark fiber from a colocation facility under the Ottawa City Hall to a neighborhood of 400 older, upper-middle-class homes.

The idea is to sell the fiber to the home-owners. The larger the uptake, the lower the cost of the fiber will be since the bulk of the run is shared between all home owners. They estimate a cost of $2700 (Canadian $, I assume) if there is an uptake of 10%. If 50% of all homes sign up, the cost could be as low as $1000, and it can be paid with a lump sum or in installments.

The colocation facility is carrier-neutral, allowing the home owners to sign up with any ISP that has a presence there. A fiber management company will look after the fiber for a small fee, similar to how condo associations are often organized.

This is a really great idea. It puts the whole last mile problem on its head, and puts power in the hands of the home owners. Best of all – local communities can start doing this without having to wait for any state-wide or national laws.

Posted in Broadband | Leave a comment

upgrading from dapper to hardy: ‘Hash Sum mismatch’

So you’ve done quite a few dapper to hardy upgrades, and you’re ready for the next one.

You

  apt-get update
  apt-get upgrade
  apt-get install update-manager-core

and then

  do-release-upgrade -d

You go get a cup of tea, and come back to

# do-release-upgrade -d
Checking for a new ubuntu release
Done Upgrade tool signature
Done Upgrade tool
Done downloading            
extracting 'hardy.tar.gz'
authenticate 'hardy.tar.gz' against 'hardy.tar.gz.gpg' 

Reading cache

Checking package manager
Reading package lists: Done
...
...
Done http://archive.ubuntu.com hardy-updates/restricted Sources
Done http://archive.ubuntu.com hardy-updates/universe Sources
Done downloading            

Error during update 

A problem occurred during the update. This is usually some sort of 
network problem, please check your network connection and retry. 

W:Failed to fetch 

http://security.ubuntu.com/ubuntu/dists/hardy-security/main/binary-amd64/Packages.bz2

Hash Sum mismatch 
, W:Failed to fetch 

http://security.ubuntu.com/ubuntu/dists/hardy-security/restricted/binary-amd64/Packages.bz2

Hash Sum mismatch 
, W:Failed to fetch 

http://security.ubuntu.com/ubuntu/dists/hardy-security/universe/binary-amd64/Packages.bz2

Hash Sum mismatch 
, W:Failed to fetch 

http://security.ubuntu.com/ubuntu/dists/hardy-security/main/source/Sources.bz2

Hash Sum mismatch 
, W:Failed to fetch 

http://security.ubuntu.com/ubuntu/dists/hardy-security/restricted/source/Sources.bz2

Hash Sum mismatch 
, W:Failed to fetch 

http://security.ubuntu.com/ubuntu/dists/hardy-security/universe/source/Sources.bz2

Hash Sum mismatch 
, W:Failed to fetch 

http://archive.ubuntu.com/ubuntu/dists/hardy/main/binary-amd64/Packages.bz2

Hash Sum mismatch 
, W:Failed to fetch 

http://archive.ubuntu.com/ubuntu/dists/hardy/restricted/binary-amd64/Packages.bz2

Hash Sum mismatch 
, W:Failed to fetch 

http://archive.ubuntu.com/ubuntu/dists/hardy/universe/binary-amd64/Packages.bz2

Hash Sum mismatch 
, W:Failed to fetch 

http://archive.ubuntu.com/ubuntu/dists/hardy/multiverse/binary-amd64/Packages.bz2

Hash Sum mismatch 
, W:Failed to fetch 

http://archive.ubuntu.com/ubuntu/dists/hardy/main/source/Sources.bz2

Hash Sum mismatch 
, W:Failed to fetch 

http://archive.ubuntu.com/ubuntu/dists/hardy/restricted/source/Sources.bz2

Hash Sum mismatch 
, W:Failed to fetch 

http://archive.ubuntu.com/ubuntu/dists/hardy/universe/source/Sources.bz2

Hash Sum mismatch 
, W:Failed to fetch 

http://archive.ubuntu.com/ubuntu/dists/hardy-updates/main/binary-amd64/Packages.bz2

Hash Sum mismatch 
, W:Failed to fetch 

http://archive.ubuntu.com/ubuntu/dists/hardy-updates/restricted/binary-amd64/Packages.bz2

Hash Sum mismatch 
, W:Failed to fetch 

http://archive.ubuntu.com/ubuntu/dists/hardy-updates/universe/binary-amd64/Packages.bz2

Hash Sum mismatch 
, W:Failed to fetch 

http://archive.ubuntu.com/ubuntu/dists/hardy-updates/multiverse/binary-amd64/Packages.bz2

Hash Sum mismatch 
, W:Failed to fetch 

http://archive.ubuntu.com/ubuntu/dists/hardy-updates/main/source/Sources.bz2

Hash Sum mismatch 
, W:Failed to fetch 

http://archive.ubuntu.com/ubuntu/dists/hardy-updates/restricted/source/Sources.bz2

Hash Sum mismatch 
, W:Failed to fetch 

http://archive.ubuntu.com/ubuntu/dists/hardy-updates/universe/source/Sources.bz2

Hash Sum mismatch 
, E:Some index files failed to download, they have been ignored, or 
old ones used instead. 


Restoring original system state

Aborting
Reading package lists: Done
Building dependency tree: Done
Building dependency tree: Done
Building dependency tree: Done

So you check the documentation at http://www.ubuntu.com/getubuntu/upgrading and http://help.ubuntu.com/community/HardyUpgrades. Nothing different. You try a different mirror. Same problem. What’s going on?

You google around a bit until you stumble across https://bugs.launchpad.net/ubuntu/+source/update-manager-core/+bug/223741 with a comment from 2008-07-17:


Using the ‘-d’ flag now causes Packages.bz2 and Sources.bz2 Hash Sum mismatch’s. “sudo do-release-upgrade” by itself now works. Please modify the upgrade instructions on http://www.ubuntu.com/getubuntu/upgrading as this is causing considerable problems with folks trying to upgrade. I’ve just tested on a 6.04.2 (fresh) install and the following works:

sudo aptitude upgrade
sudo aptitude dist-upgrade
sudo aptitude install update-manager-core
sudo do-release-upgrade

Ergo, drop the ‘-d’ and all will be well. Would sure be nice if the docs could be updated…

Posted in Free Software/Open Source | 3 Comments

new coreboot logo

It’s official – we have a new logo!

Coreboot Logo

Many thanks to the folks who made this happen:

* Konsult Stuge
* coresystems GmbH
* Kitchener Waterloo Linux User Group and Richard Weait
* Breakfast Design

Posted in coreboot | Leave a comment

misleading mongrel errors

So you’re happily developing a rails app, and for whatever reason need to restart your devel server.

And then you get this (paths removed to improve readability):

$ script/server
=> Booting Mongrel (use 'script/server webrick' to force WEBrick)
=> Rails application starting on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
** Starting Mongrel listening at 0.0.0.0:3000
** Starting Rails with development environment...
Exiting
.../vendor/rails/railties/lib/commands/servers/mongrel.rb:16: warning: already initialized constant OPTIONS 
.../vendor/rails/railties/lib/commands/servers/mongrel.rb:19: undefined method `options' for []:Array (NoMethodError) 
  from /usr/lib/ruby/1.8/rubygems/custom_require.rb:32:in `gem_original_require'
  from /usr/lib/ruby/1.8/rubygems/custom_require.rb:32:in `require'
  from .../vendor/rails/activesupport/lib/active_support/dependencies.rb:496:in `require'
  from .../vendor/rails/activesupport/lib/active_support/dependencies.rb:342:in `new_constants_in'
  from .../vendor/rails/activesupport/lib/active_support/dependencies.rb:496:in `require'
  from .../vendor/rails/railties/lib/commands/server.rb:39
  from script/server:3:in `require'
  from script/server:3

Googling for this error shows that Mongrel is eating the real error message. There are patches that have been committed to work around this – and guess what, your rails version already has those patches *and yet you still can’t see what’s going on*.

A number of underlying problems are suggested – missing dependencies/gems, problems with gems being renamed between rails versions, etc.

As Murphy would have it, the error could well be caused by something totally different.

There’s an easy way to find out. Don’t use ‘script/server’ to debug this. Just start your mongrels with mongrel_rails, which will tell you the problem right away, like it did for me:

$ mongrel_rails start
** Starting Mongrel listening at 0.0.0.0:3000
** Starting Rails with development environment...
.../vendor/rails/activerecord/lib/../../activesupport/lib/active_support/dependencies.rb:249:in `load_missing_constant': Expected .../app/controllers/admin/key_hosts_controller.rb to define Admin::KeyHostsController (LoadError)
  from .../vendor/rails/activerecord/lib/../../activesupport/lib/active_support/dependencies.rb:453:in `const_missing'
  from .../vendor/rails/activerecord/lib/../../activesupport/lib/active_support/inflector.rb:257:in `constantize'
  from .../vendor/rails/activerecord/lib/../../activesupport/lib/active_support/core_ext/string/inflections.rb:148:in `constantize'
  from .../vendor/plugins/hobo/lib/hobo/model_router.rb:91:in `add_routes_for'
  from .../vendor/plugins/hobo/lib/hobo/model_router.rb:82:in `each'
  from .../vendor/plugins/hobo/lib/hobo/model_router.rb:82:in `add_routes_for'
  from .../vendor/plugins/hobo/lib/hobo/model_router.rb:70:in `add_routes'
  from .../vendor/plugins/hobo/lib/hobo/model_router.rb:70:in `each'
   ... 28 levels...
  from /var/lib/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel/command.rb:212:in `run'
  from /var/lib/gems/1.8/gems/mongrel-1.1.5/bin/mongrel_rails:281
  from /var/lib/gems/1.8/bin/mongrel_rails:16:in `load'
  from /var/lib/gems/1.8/bin/mongrel_rails:16

I made a stupid mistake in app/controllers/admin/key_hosts_controller.rb. No problems with dependencies or gems at all.

I don’t know what’s up with script/server, but it needs some love. Badly.

Posted in Free Software/Open Source | Leave a comment

ftp.us.debian.org

$ host ftp.us.debian.org.
ftp.us.debian.org has address 128.30.2.36
ftp.us.debian.org has address 64.50.238.52
ftp.us.debian.org has address 64.50.236.52
ftp.us.debian.org has address 35.9.37.225

$ telnet ftp.us.debian.org 80
Trying 35.9.37.225...
Connected to ftp.us.debian.org.
Escape character is '^]'.
HEAD / HTTP/1.0

HTTP/1.0 200 OK
Connection: close
Content-Type: text/html
Content-Length: 2949
Date: Tue, 03 Jun 2008 22:36:34 GMT
Server: Microsoft-IIS/6.0

Connection closed by foreign host.

Excuse me?

$ whois 35.9.37.225
Merit Network Inc. MICH-1 (NET-35-0-0-0-1) 
                                  35.0.0.0 - 35.255.255.255
Michigan State University MICH-618 (NET-35-8-0-0-1) 
                                  35.8.0.0 - 35.10.255.255

# ARIN WHOIS database, last updated 2008-06-02 19:10
# Enter ? for additional hints on searching ARIN's WHOIS database.

Why, exactly, is Michigan State running an official Debian mirror on IIS?

The three other hosts run a real OS/webserver.

Posted in Free Software/Open Source | Leave a comment

NPR on ogg vorbis

WBUR, one of the two NPR stations in Boston now streams in unencumbered and patent-free Ogg Vorbis!

Check out the WBUR listen page. Here’s the direct link to the m3u. Also see the FSF press release about this.

Posted in Open Standards | Leave a comment