Category: Linux

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.

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.

CamVine is hiring!

Aha! You know things are really getting serious at CamVine now... we've just created an 'Opportunities' page! Keep your eye on it!

The first post we want to fill needs somebody who really understands web applications and enjoys creating them, and who has excellent all-round software skills and IT interests.

I've been doing much of this development in the past, but I now have to concentrate on other things, so somebody else gets to do the fun stuff. Besides, we now need somebody really good!

Could this be you? More info here.

Virtualisation

A while back I thought virtualisation technology was going to be the hot topic of 2006. Well, it was, in certain niche areas, but the momentum is still growing.

Shortly after VMware's amazing IPO, XenSource, a spin-out from the Cambridge Computer Lab, have been bought by Citrix in a deal worth $500M. And not all of the money is virtual - there's a good chunk of cash there too.

Many congratulations to my pals there, who will now definitely be buying the drinks next time we meet at the pub.

But this is also a nice challenge to those who don't believe you can make money from Open Source...

Laptopia?

Not long ago, Dell announced that it was starting to ship computers with Linux installed.

Now Lenovo have followed suit. Lenovo are a large supplier of PCs, having bought IBM's PC business a few years back.

This is encouraging stuff. Linux's biggest handicap in the past has been that users need to install it, which put it at a big disadvantage when compared to other PC operating systems.

Ndiyo and the 940UX

Michael and I got a couple of new toys for the Ndiyo office. We took them out of the box and plugged them in, ran some of our experimental software, and they just worked.

So we decided to point a camcorder at them and make a little movie...

We're biased, of course, but we think this is quite cool.