My next Linux install will be Debian

But, god the delight of hunkering down in the Debian commune again. I love how relentless and unsullied they are, even by Ubuntu.

Danny O'Brien on moving from Mac to Debian. I'll also be switching from Ubuntu on my next install. Ubuntu have screwed their users far too hard. Danny's smoking crack if he thinks Gnome 3's shell isn't insane though.

And welcome back Danny. You've been missed!

Google, you're starting to give me the shits

I've been a fan of the Google keiretsu for a long time. Adwords is a brilliant piece of technology, and a brilliant piece of business: it works so well because everyone wins. More recently, they've started to hit some of the people scaling problems you see in big companies. In particular, the authentication system is seriously broken.
I've had a "Google Apps" account for a few years now. I got sick of endlessly tweaking spam detection rules, and decided it was probably time to start using a graphical email client. It's been great for that: spam detection is better than ever with less than five spams a year polluting my inbox in general, and the Gmail UI is sensational and gets better by the day.
The problems started, however, when I discovered I actually had three Google accounts. One was an old test account I'd always used for signing up to Google things. Another was my Google Apps account, which was the same as my email address.  Another was an invisibly-created, but different, one that lived behind the scenes at the same email address.  It seemed to own a few services that didn't support "Google Apps" accounts, somehow.  It wasn't normally a big deal.

Then came the new version of the whole Google Apps, which required migrating that hidden non-Apps account into the Apps account.  I kicked off the process, but now half of Google's services don't work.  I was warned that some things wouldn't, like AdWords and the like.  No problem.  What I wasn't warned of was that basic functions would stop working.  Like Google Help.  And the Google Help forums. I get a message like that above.  I'm not trying to do anything funky mind, just browsing to a link from the Help within Google Apps itself!
Worse yet, other things are broken too.  The Android Market no longer seems to let me buy anything. Google Latitude doesn't work.  And I'm constantly finding new things I can't do while logged into my Google accounts.
It's not like this is a transient problem. It's been going on for some time now. Colossal balls up is how I'd describe it.
I think it's time for Google to, at least in some parts, start behaving more like a traditional IT company. At least the bits providing services that people pay for! Time to get project managers, and test plans, and DEV/TEST/STAGE/PROD environments. Boring yes, but essential if you want things to actually work in the real world when you've got complex, interconnected services.

Should I run Cat 6?

Wow, three times in the last few days I've been asked by people whether it's a good idea to run Cat 6 ethernet in their homes. The answer is, emphatically, yes!


Us lucky people in Australia are going to have fibre optic connections to teh Interwebs in the near future, so while you can't imagine it now, there are likely to be good uses for it at some point in the future. Already you can't reliably stream high definition, minimally-compressed video over common wireless technologies. That's only going to get worse, especially when you decide you want to do that in two or three rooms in your house.

Now you're cabling, don't go for the marginally cheaper Cat 5 cable. You don't want to have to crawl under that house again, do you? You don't have to terminate the cable with Cat 6 connectors just now, if money's an issue, but keep it future proof!

Photos credit: Fo0bar from Wikimedia CommonsAnd yes, that picture shows Cat 5 not Cat 6.

Linux, implemented in JavaScript

JavaScript is just a buggy toy language right? Wrong! (Though having the same operator for addition and concatenation is still idiotic.)

It's amazing how far JavaScript, and particularly the implementation of JavaScript engines, has come.

Linux, implemented in JavaScript. Astonishing. And it runs about as fast in a browser on my desktop as my first Linux machine, back in 1992.

Reading Crikey on the Kindle @hmoffatt

A commenter, Hamish Moffatt, on my post about my first impressions with the Kindle has asked if I've solved the reading Crikey problem. The problem is how to read the daily Crikey newsletter on the Kindle. It's a long block of text so it's convenient to be able to read it on the bus, in bed, on the couch at home.

The solution I'm using now isn't perfect, but it's not bad and saves a lot of trees.

Set up an Instapaper account. Instapaper is designed to allow you to read long web pages offline, and I use it all the time. It's mostly used by iPhone and iPad people, but there's some (rather hidden) Kindle features. You'll want to set up the "Read Later" bookmarklet anyway. This gives you a button you press on a long pieces you want to read later, and they'll get pushed to your Kindle the next time you send out a bundle.

Now go to the "Manage your Kindle" page in the settings section of Instapaper's site and enter your Kindle's email address. You'll then need to login to your Amazon account and set up your Kindle to accept emails from the special address shown on the Instapaper Kindle page. Note that the Instapaper Kindle page gives the impression it'll automatically send you a new bundle of articles whenever there's new stuff.  It doesn't, so bookmark the page so you can send it through on demand.

Finally, on the Instapaper Extras page, "Email in links and long messages". Copy that out, then go into your email account and set up a rule that will forward your crikey emails, identified as coming from "postman@crikey.com.au", to this unique address.

Now each afternoon, after the Crikey email arrives, go to the "Manage your Kindle" page and send yourself the latest bundle. You'll want to go into Instapaper and archive stuff from time to time, but otherwise it's pretty painless. The first page with links to the articles will look really messed up, but after that the formatting is mostly okay.

Now if Crikey really wanted to help us out, they'd create a Kindle-specific version of Crikey, with images automatically resized and the formatting less broken, I'd be thrilled. It wouldn't be that hard for them and I'd be happy to help out!

Shed progress, and networking disaster

Insulation
Over the weekend I started insulating the shed. It's tough work because every joist width on the shed is different, seemingly for no good reason. That means every batt has to be cut. I bought polyester insulation to make this easier and more pleasant than cutting fibreglass or rockwool, but it's still a big job.  I expect the professionals have a huge guillotine to make this a lot easier.

I've done three walls, including the fiddly bits around the doors and windows.  This week I hope to get the big wall and ceiling done, in time to fit plasterboard next weekend.

Networking disaster
Had a bit of a disaster with the network. I didn't have the cable when we ran the conduit, so we ran a wire through the middle with the intention of pulling the Cat6 when we had it.  We tried that yesterday and the pull wire snapped halfway through the pull.  Whoops.

So I'm now looking into 802.11n at 5 GHz to make a high speed, reliable point-to-point wireless connection to make up for the lack of a wired connection.  Bummer, but the wireless system should be okay.

I know where you've been

Reading the site behind the evil evil evil evercookie hack (evil, almost indestructible cookies), I stumbled upon the author's CSS History Knocker code. This is something I'd toyed with in the past but never really came up with something I could apply it to, or a business evil enough to let me try.

The basic idea, articulated by Jeremiah Grossman back in 2006 (I can't remember where I first heard about it), is that browsers expose a piece of privacy data, the history of URLs you have visited. In the old days, links were blue and underlined. Links you had visited were purple and underlined. Along came Cascading Style Sheets and this became something designers could style, so the colours could be anything. Along came widespread and mostly-usable JavaScript, and suddenly you could get hold of that information.

The possibilities of this kind of sneakiness are pretty awesome, and scary.  Let's say you're a bank, you can know which other banks the user has visited, and present your offer with direct comparisons to the offers of other banks the user has visited. If you know the logged-in URL of a competitor, you can tell who of your visitors are your competitor's customers and make offers or inducements specifically for that audience.  Cool.

Of course you plug this kind of thing into an ad network and all kinds of evilness can start to be done.

My demo page

And so I present my edition of the CSS History Knocker.  Chrome seems to have plugged the hole, so try Firefox, Exploder or the Android browser. Haven't tried Safari.

Kindle: first impressions


My Kindle arrived on Monday and I've been using it to read stuff ever since so I thought I'd record my first impressions of the device.

Hardware design
The industrial design is incredibly slick. This piece of kit looks and feels like the future was always supposed to turn out. It's no bigger than it needs to be to accommodate the screen and buttons, so incredibly thin and light. One downside of this form factor is that I've found holding the device slightly tricky. With a paperback novel, you'd tend to hold it by the page you're not reading. With this screen, I worry about getting smudges across it (though it's less of a problem than, say, a mobile phone screen). The left and right sides have the page turn buttons, the bottom the keyboard, so they're not available for holding it. It's funny but it almost feels like it'd be better if there were more unused space around the screen area.

The screen, as I'm sure you've read, is divine. Just as readable as paper, in any light, with crisp edges to text. Out-of-the-box the device has instructions for your initial charge. The instructions look like one of those plastic notes stuck on modern equipments' screens when you buy them, but actually they're rendered on the ePaper screen. When you plug it in, it changes to etchings that show off the screen.  Slick.

Reading books
Reading books formatted for the Kindle is a dream. I bought William Gibson's new novel and have been reading it. Very quickly the device disappears and you find yourself immersed in the book. The technology just goes away, and impressive achievement.

PDFs
Reading PDFs is less successful. The only available view modes are to fit the entire page to the screen, which means unacceptably-small text and images, or to have a movable viewport at a fixed zoom level. Any document with text running all the way across and A4 is a major pain to read this way. Switching to landscape view, which is a few clicks to hard if you ask me, solves this for some documents. I can think of a couple of usability improvements here:
  • Allow you to adjust zoom for the full-screen mode so that you clip the margins out and get more useful screen space.
  • In viewport mode, have shift-Page-turn-button zoom in and out, shift-arrow move the viewport.
  • A one-click way of rotating would be nice.
Getting documents
Getting documents onto the device is trivial. You just email them to <address>@free.kindle.com and it'll be delivered next time you're on a wireless network. Drop the "free" part and it'll be delivered over 3G (if you bought that model) for a cost of US$0.15/megabyte which isn't actually that bad given ebooks are generally quite small.

I've been playing with Calibre, which can download newspaper content from web sites and turn it into an eBook, then email it to your Kindle. The Guardian and Sydney Morning Herald turned up on my Kindle this morning from this approach.  It's nice, but I think I'll toy with the recipes they're using for the Guardian to give better navigation of sections and highlight the bits I'm really interested in there, similar to the awesome how Guardian Anywhere for Android works.

ReKindleIT is a bookmarklet that converts the web page you're viewing into an eBook and emails it to your Kindle. It works well for longer text you see online that you want to read at leisure, or need for offline reference like recipes.

Crikey?
Quite nice, but I haven't had much luck with Crikey's daily emails. Crikey is my number one target for reading on the device, but most of the conversion tools rely on RSS feeds and Crikey's paid newsletter doesn't show up anywhere as RSS. For yesterday's edition I converted to PDF and emailed, but as noted above PDFs aren't great.  I'll continue to work on this one, trying to find a better way to handle it.  ReKindleIT doesn't work, and I'd prefer something that was completely automatic as well.  Anyone got a better approach?  The perfect solution would take the daily email and have it just pop up as an eBook on the Kindle. Getting the HTML email, plus images, converted is the trouble.

Funniest bug ticket comment ever!

Comment #56 on issue 1180 by bryce.boley: Email app does not display inline images

http://code.google.com/p/android/issues/detail?id=1180

So my ex-girlfriend sent me some really hot photos of herself. Much to my dismay.. I fucking couldn't view them on this fucking phone.. (evo). What the fuck? I thought I had something wrong in settings.. increased download size... tried sending to another email account.. nothing. Ironically my pos palm pre (it's still on and connected through WiFi) has no problem at all viewing online attachments. So I "googled" it and here I am. I don't know what the hell they do on the Google campus.. but it's not email development for the Android phones. All these fucking never-been-laid nerds at Google need to understand the importance of a woman sending you provocative photos of herself as inline attachments. Let me make a suggestion.. buy palm.. keep their software developers.. fire yous.

Sadly it's already been deleted, but hopefully that means some Googlers will finally look at the bug. It's a pretty lame bug on their high-profile device, for their high-profile service.