I’ve just posted an alpha version of VNC2DL on github.
This is a VNC viewer which uses the new Open Source library from DisplayLink to display a VNC session on a USB-connected display, rather than in a window.
Just in case it’s useful to anyone…
“I would show you this on my laptop”, said a visitor to our company recently, “but it would take forever to boot up”.
And I realised how long I’d been living in a Mac world: for the last eight or nine years I’ve had a laptop where you open the lid and start typing pretty much immediately. (Camvine is an all-Mac shop except for the servers, which are Linux, and stay on all the time anyway.)
The slow start-up (and even rather painful resume-from-suspend) that people in the Windows world often experience has led to some modern machines having a minimal Linux installed alongside Windows, so you don’t have to wait for your entire world to load if you just want to check something quick on the web. Chris Nuttall, writing in the FT techblog, seems to be quite impressed with Presto.
I’ve only just started playing with Dropbox, but it looks very cool.
It’s what iDisk should have been. Software for Windows, Linux and Mac will create a Dropbox folder on your machine. Anything you drop on that folder is efficiently and securely synchronised to all other machines connected to the same account. It keeps past versions of updated files for you. The storage behind the scenes is Amazon’s S3 service. And if you’re using less than 2GB, Dropbox is free.
For some years I’ve been backing up my various Linux-based servers, websites etc using a custom script which makes incremental tar-based backups of key directory hierarchies, dumps some MySQL databases, and then copies the lot to a remote machine using scp or rsync. We run this each night using cron. It’s worked well, but it’s becoming rather spaghetti-like since we run some version of it on several machines, copying stuff to several other machines. And the process of pruning old backups to keep disk usage under control at both the sources and the destinations is somewhat haphazard.
So I’ve been looking at various other backup systems which may do a more manageable job. The big systems in the Unix world are the venerable Amanda and the more recent but highly-respected Bacula. I may do something based around Bacula in due course, but for now I needed something quick. Here’s a quick rundown of some useful backing-up scripts. They all make use of rsync, or the rsync algorithm, in some way, but do more than just copy from A to B.
Just in case anyone else is looking…
Update: Emanuel Carnevale reminded me about:
My first computer, a Sinclair ZX81, cost £69.95. Since then, every computer I’ve owned has cost more – usually substantially more. Until today.
Today I bought a new laptop for £179 inc. VAT, which in real terms is less than my ZX81 of 27 years ago. Progress at last! And this one I didn’t have to plug into a cassette deck and an elderly black-and-white TV!
It’s an Acer Aspire One, and I have to say that, so far, I’m really impressed. It runs OpenOffice, Firefox, Thunderbird and Skype very nicely, and it includes a few things like a camera and microphone that work remarkably well – I’ve just had a video-Skype call with my pal Jason while walking around the house.
Of course, it has some limitations – it boots up very much faster than any Windows machine I’ve ever seen but it’s not like a Mac’s almost instantaneous wake-up from sleep. I couldn’t write this post on it but only because it can’t read the RAW-format images from my SLR, and I couldn’t watch movie trailers on the Apple site because you can’t get Quicktime for Linux. But the number of things it can do rather well are remarkable, and I could happily survive with it for a weekend when I didn’t want to carry anything heavier, or use it to catch up on news at the breakfast table.
It may not be a Mac, but it’s certainly not a ZX81!
If you have an existing Linux machine (already running GRUB) and you want to install a fresh version of Ubuntu on it, this page may be handy. All you need to do is download a kernel and an initrd file, reboot and issue a couple of GRUB command lines, and you can install everything else over the network from the Ubuntu repositories.
I’ve just got a new hosted server which came with 6.06 installed, and I wanted to wipe it and start with a clean 8.04. This was a very quick and easy way to do it, especially since I didn’t have easy access to the machine’s CD/DVD drive.
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.
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.
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.
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.
© Copyright Quentin Stafford-Fraser