Category Archives: Open Source

Mac Mini 9

My Mac Book Pro has a new baby brother. It’s a Dell Mini 9 on which, thanks to the instructions here, I was able to install Mac OS X.

I already had a properly-licensed copy of the OS, in so far as any operation like this could be properly-licensed. I ordered the Dell with 2G RAM, an improved webcam, a larger (16GB) SSD and a bluetooth module. Total cost: £277. Including VAT. And shipping. Oh, and a nice carrying case.

As soon as you pick the device up, you can tell from the construction that it’s not an Apple. But my first solid-state ‘Mac’ runs the OS really quite nicely. I had a vague idea that Apple software was only licensed to run on Apple-badged products, so I fixed that too:

However, there was one downside to the bargain special price I got from Dell. After ordering, I discovered that some varieties of this machine, such as those purchased from PCWorld or from Vodafone, have a 3G modem and a slot for a SIM. This doesn’t have it, and it would have been really quite nice. But then I might not have got some of the other upgrades, and since everything else, including a 3G connection via Bluetooth to my phone, seems to work fine, I’m really very happy.

Open Source as a strategy for the future

One of the most interesting discussions I’ve heard on the subject of Open Source for some time is the interview with Simon Phipps, the chief open source officer at Sun, on the FLOSS Weekly podcast.

Highly recommended for anyone with an interest in Open Source – this goes beyond the level of the usual debates.

Ahead of its time?

In 2001 at the AT&T Labs in Cambridge, we created a system we called the Broadband Phone:

Basically, it was a Linux-based VOIP phone with a VNC viewer and touch screen built in to it, and we built a GUI toolkit which rendered directly over the network in VNC. A standard Dell PC operated as the phone exchange (I wish we’d had Asterisk then!) and also provided the graphics for a variety of specially-written applications. It drove about 100 phones without any trouble, and we used this as our internal phone system in the lab for some time. The plan was to spin out a company based around the technology, but this was 2001, and you couldn’t get funding for new companies, whatever you did!

Anyway, at one point I created a cordless version based around a Compaq iPaq. I came across a publicity photo of it recently, and it took me a moment to realise why it looked so familiar:


Perhaps we were just too far ahead of the curve… 🙂

You can find my original pages about the Broadband Phone project here on the Internet Archive.

Adieu? Or Adeona?

What are the chances of getting your laptop back if it’s stolen? Pretty slim, probably. But you can at least improve the odds.

There are various utilities out there which, when installed on your machine, will call home from time to time. If somebody steals your machine and connects it to a network, you can then use information from these connections to help track it down.

I’ve created various home-brewed versions of these in the past but I guess a perfect utility would be:

  • not dependent on any one company
  • usable on multiple platforms
  • secure
  • open source
  • free

Ah! That would be Adeona you’d be wantin’, so it would.

More info here.

wget for Mac OS X Leopard

Three years ago I compiled a version of the ‘wget’ utility so that it would run under Mac OS X and uploaded it to Status-Q. It’s had an amazing number of downloads, and I felt it was probably time to update it!

So here is a shiny new wget.zip, which contains the following:

  • the wget binary
  • the wget.1 man page
  • the default wgetrc configuration file
  • A README file telling you a bit more.

The main changes from the original version are:

  • it’s a universal binary
  • it’s the latest version of wget (1.11.4)
  • it’s compiled on 10.5.4 and may possibly not work on older versions – please let me know in the comments if it does!

Hope it’s useful! Here’s some more of my Apple-related posts, or you could always just subscribe to the blog – here’s the RSS feed !

SSH ProxyCommand

Here’s an exceedingly useful feature of SSH which I only discovered recently.

Imagine that you have a single ‘gateway’ machine on your network which you can connect to from outside using SSH; I do this all the time. You can then use that machine to connect to other machines inside your network in a variety of ways: using the port-forwarding abilities of SSH (the -L and -R options), for example, or simply by running another SSH command from the gateway machine once you’ve connected to it.

But there’s a much tidier way to do it, using the ProxyCommand option.

To connect to internalmachine.mynet.com, just add something like the following to your ~/.ssh/config:

Host internalmachine.mynet.com
     ProxyCommand ssh gateway.mynet.com exec nc %h %p

then you can ssh directly to internalmachine.mynet.com from outside. SSH will connect to the gateway machine and run ‘nc’ to forward the SSH session to the internal machine.

And, of course, you can use it for things layered over SSH, like checkouts from Git or Subversion repositories. Very tidy! I also sometimes add -C to the ssh command so that any access done this way is automatically compressed, even in situations where it was hard to specify that explicitly.

If you’re unlucky enough to find yourself stuck behind a web proxy with no other outgoing access, one very nice-looking use of ProxyCommand is the Corkscrew utility by Pat Padgett.

Hope this is helpful to someone!

Update: there are a few useful extra tips in the comments.

Build version numbering with Git

The ‘Git’ version-control system is used to develop the Linux kernel, amongst other things, and it’s the most powerful one I’ve used. (And I’m old enough to remember SCCS :-)) It takes some work to get your head around Git, but we’re now using it to develop our CODA system, and it’s been well worth it.

Michael came up with a nice way to number our build versions and has written it up on his blog – might be of interest if you’re using Git already.

If you aren’t, Randall Schwarz’s talk is a good intro.

Firebug

For those of us who do web-based development, Firebug must be the single most useful tool invented in a long time. I’ve used it for ages but I keep discovering new stuff it can do.

If by any chance you haven’t discovered it yet, go and get it now – it’s free. Any time spent learning your way around it is definitely going to be worthwhile. For some more advanced examples, you can watch Joe Hewitt’s talk, given last year at Yahoo.

You CAN make money from Open Source software…

The acquisition of XenSource by Citrix a few months ago was a powerful example, and yesterday Sun announced that they will be paying $1B for MySQL, which many people thought might have an IPO this year.

It’s a surprise, but I think Sun will probably be good guardians of what has become one of the most important Open Source projects.

Admiro

Miro (formerly known as Democracy Player) is like an iTunes for Video. It lets you subscribe to channels (which are RSS feeds with video enclosures). But iTunes does video, and video podcasts, and does them reasonably well, especially if you install a few extra codecs in your Quicktime.

So why bother with Miro? Well, it’s interesting partly because of a few extra features – some nice searching capabilities, and integration with YouTube and Google Video, for example – but mostly because it’s Open Source. No DRM here, and it will run on Windows, Mac and Linux. It looks good, too… not an attribute one often associates with Open Source.

Could Miro be to iTunes what Firefox is to Internet Explorer? Worth watching…

MacPorts tips

If you do development on Macs and you don’t use MacPorts, you should seriously consider it, especially if you come from a Unix background. Formerly known as DarwinPorts, it’s the equivalent of the Debian package-management system for Macs, and exceedingly useful when you find you just need to grab a copy of libpng, or try something with PHP 5, or some such.

The documentation will help you get started, but it’s very handy when someone like Garrett Albright writes a helpful tutorial to explain some of the more obscure features. Thanks, Garrett!

Building a Debian package using SCons

I wanted to do this and couldn’t find any examples, so I’ve posted some notes on how I did it.

© Copyright Quentin Stafford-Fraser