I'd been thinking about getting mobile broadband for a while, but up until recently all options were pretty expensive. You had to pay through the nose for fairly small traffic allowances and since these were all plans, you pay even if you don't use.
A few months ago I found that a bunch of providers offer pre-paid these days. The blocks of data you're allocated on these still expire after a set amount of time, but I noticed "3" offer a 12GB block that remains active for a whole year. Unused data will roll over if you buy a new block before the expiry date.
After Andrew Cowies blog (thanks AfC!) about how the new USB 3G devices (ZTE MF627) don't work with Linux I decided it would be prudent to obtain an old one (Huwai E160) before they were no longer avaiable. I got a blue one this afternoon, as the orange one wasn't available.
It's detected by Gnome and the NetworkManager wizard happily configures it. Of note is that it will default to the 3netaccess APN. If you're on prepaid you need to change that to 3services, or you'll have no tubes. Which is fail.
You'll be given a 10.x.x.x IP address. On whirlpool there is some speak about VPNs not working on this due to multiple levels of NAT, but I can happily confirm that OpenVPN works just dandy.
p.s: When you buy mobile broadband it seems you need to sign a declaration that you won't use it for terrorist purposes. Wtf?
Edit: Ubuntu 9.04 Caveats
I (possibly inadvisably) updated my laptop to Ubunu 9.04 (Jaunty Jackalope) and have had intermittent problems connecting to three. It turns out that the device presents two serial usb ports when it's plugged in and that they are detected and assigned device names in random order.
Only one of the serial ports (/dev/ttyUSB0) works, but it seems they get listed randomly in the NetworkManager applet with no indication as to which connection uses which device.
If you find you are unable to connect, check syslog and make sure you're using the ttyUSB0 one.