fixing your desktop

Apple Brighton: Macbook Air fixed (for free)

Less than 24 hours after giving Apple my FUBAR’d MBA, it’s back – fixed, working perfectly, and with a whole new screen too.

All credit to the local store and/or Apple’s internal repair processes. I’m not sure how much we should praise Apple overall for this, given it’s allegedly their fault in the first place (see below), but seriously – less than a day to get a laptop fixed? For free? Even though the warranty had expired? That’s awesome.

Repairing the hinge, out of warranty

NB: the reason this is such a big issue is that the hinge is integrated with the screen, so for Apple to fix this one tiny component, less than an inch long, requires replacing the most expensive part of the laptop at the same time. Apple’s estimates of the cost have been almost $1,000 for the repair, according to some reports. That’s enough to buy an entire new Air instead!

On, there are 12 pages on this one topic, with many people who’ve reported the same issue, most of whom have had free repairs, even if their warranty had expired. Something to note: *many* of the failures happened either on very new laptops, or laptops just at the end of their warranties / recently expired. This could be to do with the failure, but I suspect it’s instead a signifier that only the people in those two situations are bothering to go online and complain.

(if your warranty just expired, and you’re afraid of having to pay for a new laptop … OR you just bought the laptop, and you’re afraid it’s an endemic issue, and you might have a chance of getting a full refund for the thing … you’re much more likely to research it. In all other cases, if your warranty is still valid, you’d probably just go to the store, get it repaired, and say nothing)

When I arrived in the store, with the obviously broken laptop, and told them what I’d read on about the problem, I got suitably suspicious looks. Ten minutes later, after they’d looked through Apple’s internal notes, they came back and agreed to take it for repair immediately, no quibbles. Although by the sounds of it it’s *not* guaranteed – they seemed to be saying that not all the Air’s of this generation get the “free” repair.

So far as I can tell, Apple has never made an official statement on the issue. Specifically, they have NOT stated there is a “manufacturing defect” or “design fault” … although people claiming to be current or former Apple staff have (privately) described the problem that way.

…which also means we can’t be sure if the new models have been “fixed” in any way – although I’ve not (yet) heard reports of this affecting them. But given how expensive this issue appears to be for Apple, I’d bet they’ve had some level of changes made specifically around these hinges.

I wonder if this is down to legal liability – maybe there is a defect on a very few models, but there’s also a much-wider “flaw” in the design that they didn’t appreciate until the product went live (or they knew about, but didn’t have time to fix: this laptop was a major marketing piece for Apple at the time).

fixing your desktop

Macbook Air: how to disable the Swap file (run your laptop faster)

NB: This technique is useful in precisely TWO situations:

  1. EITHER: you have a lot more RAM than you need (on OS X / Apple computers: at least 4Gb, more likely 8Gb), and you want your computer to run faster
  2. OR: you have an expensive SSD hard disk in your laptop, and you want it to last a couple of years or more

Symptoms of a dangerous swap file on the Air

I’ve got a new digital camera, takes very large photos (18 MP). If I load up more than 5 photos in Apple’s Preview, there’s a high chance that Preview *and the whole computer* will seize-up for about 5 seconds. Then it runs normally again.

Preview is a very simple app – it’s not doing anything complex (like, say, Photoshop), it’s just reading images from the disk. If Preview hangs – and hangs the whole OS – there’s something very deeply wrong with your laptop.

There’s no spike in CPU usage – just the OS seems to hang. OS X often does this when it’s waiting for transfer of data to/from somewhere – either the network, or the hard disk. (this is a flaw in OS X’s design – in most cases, the OS shouldn’t hang, but Apple hasn’t coded it that well)

So … I’m fairly sure this is a sign that the SSD drive is being asked to do something it really doesn’t like, and because Apple’s code is imperfect, the OS is being forced – at a very low level – to “hang” while it waits for the hard drive.

Remember: SSD drives are very fast, the drive should have dealt with this in 0.005 seconds, not 5 seconds. That exceptional slowness is what you’re looking for as a sign that something is “wrong”.

Disabling it … permanently

I researched this extensively, and found a lot of interesting stuff about 3 different ways of achieving this. Most of them were from OS X 10.5 (Leopard), where Apple’s swapfile code was a lot weaker. Snow Leopard (10.6) has massive improvements in Apple’s code, and it seems you can get away with this extremely easy technique:

In the Terminal, enter the following command. This will unload the dynamic pager from the Mac OS X kernel:

   sudo launchctl unload -w /System/Library/LaunchDaemons/

Again, this completely disables the Mac OS X paging ability, do not mess around with this for fun.

And then … reboot. I found a couple of useful tips elsewhere on how to check the swap status:

sysctl vm.swapusage

Outputs something like this:

   vm.swapusage: total = 0.00M  used = 0.00M  free = 0.00M

Re-enabling it…

In the Terminal, enter the following command:

   sudo launchctl load -w /System/Library/LaunchDaemons/

Why / (not) disable the swap file?

Actually, I didn’t really want to – I have a 1st-gen Air, and it only has 2GB Ram. With OS X, that’s *not enough* to forego a swap file (NB: Windows applications tend to be slightly less memory hungry, and linux apps a LOT less mem hungry. With Linux, 2 Gb is plenty, with Windows it’s “probably” OK)

BUT … when my Air’s hard disk got fried, I replaced it with an SSD drive. The change is enormous – the Air runs literally 2-3 times as fast on many operations (basically: if you buy an Air without SSD, you are wasting your money, and you’re getting ripped-off)

However … SSD drives are *destroyed* by swap files (literally – the hardware gets worn down and soon breaks, permanently). Interestingly, MS Windows will automatically disable lots of its own behaviour to reduce the chances of this happening. As does Linux. Apple (as ever) appears to be behind the times: allegedly, OS X doesn’t do this (even though Apple sells Air’s with SSD drives!) … but then again, no-one seems to know for sure.

Ultimately, the bizarre OS hangs scared me into doing this – I know that the cheap SSD drives have very short lifespans if you don’t use them properly – measured in months, rather than decades. And by “cheap” I mean “anything costing less than $5,000”. That definitely includes anything I could afford, then ;).

fixing your desktop

How to cool down a Macbook Air … fast

Is your Macbook Air overheating? Here’s a technique I’ve been using for the last couple of years, works everytime. I suspect it still works on the new models – I *suspect* they have the same basic design flaws as the original, from looking at the case.

Problem: vents in wrong place

Those vents along the rear underside of the case … don’t work. I don’t know how they ended up there, but I suspect it was a triumph of “looks” over “not breaking the expensive laptop” (until Apple patched OS X, just running Flash was enough to cause OS shutdowns on a regular basis).

Solution: assume launch position…

Grab your Air, hold it at the hinge (so the lid doesn’t slam down and switch the laptop off), and tilt it towards you 90 degrees.

i.e. the keyboard half of the laptop should be vertical, resting on the long, bottom, edge.

The vents now vent air straight up – unimpeded – instead of down-and-out (impeded by the case itself).

Result: fast cooling

I can usually get an Air that’s been running “hot” (fans very loud and noisy) for minutes / hours to cool down in under 60 seconds using this technique.

Why does this matter?

Well … once an Air is cool, it tends to stay cool. i.e. it’s crap at bringing it’s own temperature down, but it’s got enough oomph to *keep* it at whatever temp is current. So, manual intervention fixes the problem.

Super-fast cooling (a.k.a. “PANIC!”)

What do you do if your Air starts beeping?

(hint: this is the never-actually-explained-to-you hardware warning that “your CPU is about to melt. Cool it down NOW or buy a new laptop”. I wonder how many people realise what’s happening when they hear that screeching, high-pitched beep and think “WTF?”)

As above, only shut the lid too.

This may seem counter-intuitive – after all, this will reduce the air-surface of the Air by about 50%, reducing it’s ability to cool down.

In practice, although that’s true at low temperature, at high temperature the heat is already concentrated in the top-left corner of the keyboard (where the CPU sits) – and most of the case is too far away to help.

In practice, closing the lid causes OS X to suspend processes, which normally takes enough load of the CPU that the laptop / hardware is able to cool itself MUCH faster – but only if you’re holding the whole laptop vertically, with the vents pointing upwards.

I’ve found this normally cools an Air from “max fans” to “silent” in under 15 seconds.

fixing your desktop

Apple’s bad engineering: my Air just snapped

I now get to join the (sadly non-exclusive) club: My Macbook Air just snapped at the hinge, and now the lid WILL NOT close and WILL NOT stay upright – it just falls flat on the desk, like a book lying open.

I’m blogging this purely for anyone with an Air who doesn’t yet know about it – this is APPLE’S FAULT, it’s a manufacturing defect, and they are (usually) obliged to fix it for free. If they make a mistake, the charge can be anywhere from $500-$1,000 (from reports I’ve heard) – so you *really* need to know about this.

Sob. Whimper. No laptop, and I can’t even put it back in the case / bag – I have to hold it two-handed to stop it from ripping apart at the seams.

Sadly, this laptop has been upgraded and repaired before, and has scratches and minor bumps on the case, so I’m dreading getting ranted at by the Apple staff. This has happened before, when a brand-new Apple power adapter broke within two weeks, and the manager on duty was having a bad day and decided to accuse me of “deliberately” breaking it so I could get cash for it. Seriously? I would break my laptop to try and get a $60 refund? Yikes. Get a grip, lady!

fixing your desktop photos security system architecture web 2.0

FlickrEdit – looks like a virus?

IMHO, Flickr/Yahoo has one of the best user-authentication systems I’ve ever seen. I’m sure it’s no accident that Twitter (eventually) moved to a system that is extremely similar.

(NB: I don’t know if flickr copied if from someone else, but they were the first I remember seeing like this, many years ago)

You want sensitivity in your security? Yeah!

It’s so sensitive that it’s currently blocking FlickrEdit’s (bad, broken, buggy) implementation. Not just with an error; not even with a warning … but with giant red letters, a yellow background, and a warning icon:

I was pretty annoyed that the app was seemingly so poorly written it wasn’t doing the desktop-based auth that it should be – and that it popped-open a web browser and “told” me to login (Flickr’s auth-system is slightly more seamless than that, and a much better user-experience).

But I was very impressed that Flickr noticed it too, and decided to warn me that this might be a scam of some kind…

Leaving just one question…

…is this open-source project buggy, or has someone hacked the source and put in a virus? Hmm…

Well. I’ve contacted the project owners, and informed them. Interesting to see what they say.

In the meantime, I have so much faith in Flickr’s authentication system (e.g. I know that it doesn’t share passwords) that I’m happy to go ahead and use the application. There are very few systems where I’d do this, but flickr’s (approach) is one of them.

fixing your desktop

Phone numbers, and making iPhones and Androids switch networks

Short note for anyone with my cell number: I’ve finally got my new number working in an iPhone, so within the next day or so I should be running both UK numbers again (my old UK number has been phone-less for about 8 months now).

It’s been a long journey, and a small accident, to get to that point. This might help someone else moving an iPhone from O2 / AT&T / etc to a new network.

Or trying to get a T-Mobile SIM to work on a modern Sony Ericsson phone (maybe other Android phones too).

From iPhone to Google Nexus One

I run a small iPhone/Android dev company. At the start of this year, we didn’t do Android, but I planned to do so by summer 2010.

It’s part of our ethos to avoid client work with a platform until we know the platform well ourselves. So, as well as writing some Android apps (e.g. the shoot-em-up I blogged about earlier this year), I switched from my iPhone to a new Nexus One as my personal phone. The plan was to use it daily for a month or two and get to understand the platform.

We’ve got a lot of phones, and for testing purposes (and for client meetings) they all need data plans. Paying a contract for each would cost us thousands of dollars a year if we’re not careful. So, instead, we use 3’s £5/month 1-month contract, which gives you 1gb data, free incoming calls, and expensvie (£0.55/minute) outgoing calls.

Randomly, the number I got for the Nexus One was palindromic – much easier to remember than my own number – so I didn’t bother switching SIMs.

O2 iPhone refuses 3 SIM

After a couple of months, frustrated with the legion of critical bugs on the Nexus phone (and on Android itself), I tried to switch back to iPhone.

Ah. Hmm. Well.

My iPhone was a (legitimately) unlocked 3G. i.e. I’d had it more than 12-months, and (as per the carrier policy) they’d remotely removed the carrier lock (this costs £15 if I remember correctly – cheeky bastards).

But it wouldn’t accept the 3 SIM. Just came up with variations on “No SIM” and “No Service”.

The O2 SIM was noticeably thicker than the 3 SIM, so I wondered if it was a seating problem, physically. Vigorous squeezing of the phone got rid of the “missing SIM” messages permanently – but still no service.

All the following failed to work:

  1. soft reboot
  2. hard reboot (hold power button, then slide to confirm)
  3. re-sync
  4. run battery to dead, recharge, power-up

Xperia X10 Mini – the (almost) perfect phone

This Summer, the manufacturers went wild with new Android phones. So, a few months ago, we got a broad range of new handsets to cover the different hardware profiles (many of which hadn’t previously existed in meaningful numbers “on the street”).

I saw the X10 mini, and fell in love. Despite being made by Sony “snatch defeat from the jaws of victory” Ericsson, this is (almost) the phone I’ve been waiting 15 years for. It’s tiny, fits very easily in the hand/pocket, and has every feature of a modern smartphone (even includes an FM tuner). Plus a speaker that produces great sound quality, despite it being a phone. You can get it in two versions – with or without pop-out hardware keyboard.

(obviously, it’s from Sony, so they fucked up the software. If they’d done *nothing*, the phone would have been better, but they spent time and money replacing the OS apps which work with Sony apps that don’t work. Fortunately, this is Android, so you can download “real” software from the Market. A minor annoyance, you’re stuck with the icons for the Sony crap – the only way to remove them is to jailbreak the phone. Yet again, Sony reduces their own sales because they don’t have the courage to tell their own software teams “sorry, your output isn’t good enough”)

Switched the 3 SIM, and … perfect. Worked first time. Just the iPhone being a PITA, then.

AT&T refuses to serve foreigners

So, fast forward to last week. I was in New York for the UK Digital Mission. Last time I was in USA, about 6 months ago, I walked into an AT&T store and bought a pre-pay 3G SIM for my phone. Worked fine. I had to lie about my phone(s) – I’d read on the internet that AT&T would ask “is this for an iPhone?” and if you said yes, they would refuse to *allow* you to buy it – even if you then promised to stick it in a non-iPhone instead.

This time, AT&T new york stores just flatly refused. Maybe they don’t sell pre-pay any more – I don’t know, I couldn’t be bothered with this “lie to the retail store to get them to sell you their product” game any more. I’d spotted a T-Mobile store just round the block, so I went there instead.

…so, on to T-Mobile USA. Ah, but: T-Mobile + Android = FAIL

The T-Mobile SIM wouldn’t work in the iPhone (no surprise, given the previous problem)

The T-Mobile SIM wouldn’t work in the Sony Ericsson phone either. Hmm. Now, that’s odd.

The store reps followed their usual practice – re-configure settings, switch to GSM mode (cheap SIM), switch airplane mode off and on again. Nothing.

Eventually, after 15 minutes of me and the store reps trying everything we could think of, I did a hard reboot of the Android phone (explicit power-off, and restart – takes a couple of minutes to come back on). Voila! Instant re-acquisition of the network.

Amazingly, if I took the SIM out, and popped it back in again (not even powering off phone, or putting in a different SIM), it *permanently* lost the T-Mobile network again … not coming back until I did a hard reboot again.

Finally, OS 4 “fixes” the iPhone

I got home from NYC. New desktop, new iTunes install, plugged in the iPhone to do some compatibility testing for one of our client apps.

I get the popup messages from Apple telling me there’s a new OS download available for this phone, do I want it installed? or just downloaded? or ignored?

Obviously, it would be catastrophically bad if I installed the OS download – although Apple publically pretends they support old OS versions, they privately *deliberately* prevent developers from doing this. If you upgrade an old phone OS, you can’t go back (unless you jailbreak the phone, which causes other problems in your QA process).

But I figured I might as well accept the OS download, so it’s on this desktop for later install.

Apple software: world’s worst user-interface design

If you select “download but don’t install”, it then asks if you want to check-for-new-and-install … or not.

Actually, although it’s the same dialogue it uses for “check-for-new-and-install”, the text is supposed to read:

At Apple, we were too lazy to update our scripts. This dialogue is literally useless. Please hit the “Check” button, or else I will cancel your previous action.

…I’ve been through this game a few times before, and I know the secrets now. Although it *has already done* the check, you have to tell it to check again. Or else it (silently) cancels the download.

And here’s where it gets weird…

Coincidentally, I had the 3 SIM sitting in the phone. I’d put it there for safe keeping while I was in USA, since I now had the T-Mobile SIM in the Android phone.

As soon as itunes started downloading the new iOS build (which takes a while), the iPhone switched to “first time install” mode.

i.e. the lock-screen disappeared, replaced by a picture of a USB cable, and the text “Emergency only” flashing up in different languages (spanish, french, etc).

…meanwhile, iTunes popped up a message “updating carrier settings”.

Oh, Rly?

Ya Rly – 5 seconds later, I had carrier signal. My old 3G iPhone is now working perfectly with 3.

So, apparently, *merely downloading* a new iOS version causes iTunes to do the carrier updates it it supposed to do automatically on sync.

My guess is that it actually did a firmware update of the phone, without telling me. If so, this is a mildly evil thing for Apple to do, since it fundamentally alters the hardware. It’s only a guess – specific per-carrier “fixes” are a standard part of firmware updates, and IIRC you can’t do one without the other on iPhone – but given the dialogues are already self-evidently the wrong ones, I’d not be too surprised.

(incidentally, why are the dialogues wrong? Basically … Apple doesn’t care about software quality. This comes up time and time again with iTunes, iWork, and OS X: the hardware may be great, but the software contains basic bugs that even a junior QA person would spot immediately)

fixing your desktop

Un-format your SD card (Android)

Android 2.2 has a nasty bug where it disables the SD Card on Google Nexus One phones.

Fine, I found a workaround. But there’s a down-side – what happens when you only AFTERWARDS remember that it’s got the ONLY copy of several hundred photos, including plenty of uniques that can never be re-captured?

No way I was getting the photos back – after all, it *formatted* the card.

But … saved by Google’s poor OS … a couple of days after I’d formatted the card, I had the thought:

Hmm. This Android OS has a lot of design flaws and bugs. I wonder if … “formatting” the SD card doesn’t actually format it, but simply marks all the files as deleted?

After all, it’s flash memory – older Flash cards could only be formatted a set number of times before they’d stop working. Maybe, just maybe, Google’s OS doesn’t do what it says it does…

Yep, turns out that’s what it did: mark all the files as deleted, without actually deleting them. So I was able to get back about 95% of my photos. I could probably have got all of them if I’d known in advance that the format … doesn’t format.

Time for … CardRecovery

Card Recovery is awesome. It’s an excellent example of one of the best sales techniques:

  1. Free (no barrier to trying it)
  2. Very easy to use (idiot-proof)
  3. Shows you exactly what you’ll get for your money (it does all the work FIRST, and shows you the photos it’s recovered – all of them!)
  4. Offers a one-click, in-app purchase of the “full” app, that will actually *save* all those photos it’s recovered
  5. Reasonably priced

I got to the end, and was expecting something vicious – $500-$1000 price (after all, they have you in a vice at this point). Their software proved it was possible – the data was still there – so I prepared myself to manually recover the files, even if it took many hours. I’ve been using computers so long that I’ve had to do data-recovery by hand more than once, in the days before data-recovery firms existed.

Most “data-recovery” firms do this: get the customer in, get the physical media off them, show a tiny piece of data to give the customer hope (oftenn deliberately NOT mentioning how much data is missing), then charge outrageously high prices for their services, because at this point it’s hard for the customer to back out of the deal.

CardRecovery was barely $50.

No hesitation, I bought it on the spot. Especially since I’ve now got this handy utility should I ever need it again in the future…

fixing your desktop

Nexus One / Android 2.2: If your SD card stops working

Google’s Nexus One auto-upgraded a few weeks ago, to Android 2.2

It immediately broke itself. It was no longer able to use the SD card.

As a side-effect, it was impossible to install any applications. Making this a very expensive, very heavy, very slow excuse for a mobile phone.

The error was that the SD card permanently unmounted itself, with a message in status bar “SD card can now be safely removed”, accompanied by an error if you tried to install anything: “your SD card is unavailable or missing” (or words to that effect.

Factory-reset of the phone? Still broken.

By fiddling around, I eventually found the solution (and you’re probably not going to like this): Format the SD card.

Yep. It seems that Google changed something between Android 2.1 and 2.2 that – in some cases – makes it unable to read the SD card any more.

For the record, other things I tried include: remove the card physically and reseat; dismiss the error messages and try again; install apps from private sources (e.g. our own apps we wrote).

fixing your desktop

OS X: A burst of mouse-y awesomeness

Apple added some of the earliest, best *hardware* support for mouse and trackpad gestures (2-finger swipes, pinch/zoom, etc), but has been very slow to add support for gestures to their *software*. Out of the box, OS X can do almost nothing with them. Previously, I’d used the quick-n-dirty-but-it-works “MultiClutch” app to make OS X much more usable.

But I broke my laptop, bought a new desktop, and had to re-install everything. Today, I found this awesome app:

Why’s it so awesome? Well, plug in an apple mighty mouse, hit “Show Live View” and start touching your mouse. You can visually track all 4 touch points, and try out a variety of funky custom gestures.

NB: this isn’t old-fashioned “move the mouse in circles” gestures. Oh no. This is the new-style “glide your fingers over the surface of the mouse” gestures (treat the top of your mouse like an iPhone).

Great little app. Even has a decent UI, and options for exporting/importing settings, so you can setup some very complex setups on a per-app basis, share them with colleagues, etc.

fixing your desktop

“but Gmail said I don’t have to do anything”

(Google just made a major change to Gmail accounts in the UK, now that they’ve settled a trademark case brought against them. This is great – it will simplify mailing list management for a lot of people, and everyone in the world can (legally) be “”)

However … I’ve now had two friends write the above (“it said I didn’t have to do anything”) when asking for help with the changeover. Hmm. When the message came up for me first time, I got that impression too, but looking at it more closely, it doesn’t explicitly say that:

gmail changeover screenshot instructions

Anway, two friends in quick succession is a suggestion that I’m going to have to answer this question a few times. Instead, from now on I’ll just send them a link to this blog post :). Copy/paste of my original response:

Sorry, Google’s instructions aren’t very clear. You need to click the “more info/FAQ” link to get the “true” instructions, which include this gem:

“Mailing Lists: If you have signed up to send mail to mailing lists on behalf of your address, you might need to re-register for the group using your address. Google Groups will automatically accept your new address.”

…although Google is being disingenuous when they say “might need to” – they know that *most* mailing lists will require you to manually change address, re-signup, or ask the admins to change your address :).

I like the visual approach that Google took here – the page is simple, clearly formatted, etc – but it’s tragic that it fails to include the critical information. “Breaking every mailing list you are on” should not be relegated to “Have questions? Not sure you want to switch?” – it should be right there on the main screen with a big red warning sign. I’m intrigued as to how the page was designed: it’s hard to believe that the usability people missed something as obvious as this. Are mailing lists not used that much by Gmail users? Even harder to believe. Have mailing lists fixed the gmail/googlemail problem? Possibly, but none of the ones I administer have (mostly for orgs that are using mainstream “free” list managers).

fixing your desktop

Thunderbird 3 critical bugs: IMAP folders

Why couldn’t I stop thunderbird from downloading 2GB of files that it is absolutely not supposed to download in the first place?

Ah, well, it turns out … there’s a bug in the basic “include folder for offline” GUI, whereby it is COMPLETELY IGNORED for certain folders. One of those folders being … the magic “All Mail” folder in Gmail.

Instead, you must use a *different* part of the TB GUI to kick the damn stupid software into doing things properly in the first place:

“Right click on the account in the Folder pane, and click on Subscribe..
You can then tick or un-tick the subscribe box for each folder.
Click on OK when you’ve finished.”

This seems to work, having just tried it. Although … I also went into my profile and manually deleted the monstrous All Mail file – but before I did the above hack, TB (dis)loyally would immediately start redownloading that folder each time you started it up. Now it merely downloads the headers (at least that’s counted in MB, not GB). Now you can have your email client, with about 4 pages of manual hacks, work as … a basic IMAP email client.

Picture 140

fixing your desktop

Thunderbird 3: fixing the fonts

The font-settings in ThunderBird are terrible: the default settings are ugly, and the GUI is too broken to let you change them. Fortunately, if you hand-edit the config files, you *can* change the fonts, as much as you like.

Sadly, the options etc are undocumented, and easy to get wrong. Incidentally, not only does TB have *no* help or documentation (why not?), if you go to the online “knowledge base” and search for something fairly obvious like “fonts”, you get nothing – not even the usual 3-years-out-of-date result that’s normal for this app:

Picture 131

For future reference, here’s how I made my fonts go from “ugly” to “delightful”.

Changing fonts in Thunderbird 3 – theory

For reference, in case TB fixes their fonts in future, here’s what you’re supposed to do, but doesn’t quite work yet:

  1. Go to settings
  2. Go to Display tab
  3. Click on the Advanced button in the Fonts section
  4. Configure font options, per-language

In reality, here’s what happens

  1. “Western” languages (Europe, USA, etc) in TB often do not use the “Western” font settings
  2. …rather, they use the “unicode” font settings
  3. …which aren’t available in the TB GUI
  4. …and they don’t always use them as expected

Changing fonts in Thunderbird 3 – practice

There are a couple of things that DO work, and which you need to set anyway, so:

  1. go to Setttings -> Display tab -> font-settings -> “advanced” button
  2. Choose Serif or Sans-Serif (bizarrely, this is a GLOBAL setting, even though the GUI claims it is a LOCAL setting) – this will affect all other font choices
  3. *try* setting the font-sizes, I think it sets global defaults (but … looking through the config file, those “defaults” appear to be over-ridden in most places … by default)

NB: TB is … confused … when it comes to font choice. The obvious way to make a desktop app is to ask the user “which font do you want to use in place X?” (where X = “email body”, “compose window”, “menu items”, “dialogs”, etc). Windows has been doing this for more than 15 years. TB instead arbitrarily declares different parts of the app as “Proportional” or “Monospaced” or some combination of the two. Even if you tell it not to use monospaced in certain places, it mostly ignores you. It doesn’t tell you which is which, and it’s not documented, you have to work it out by trial and error.

Edit the master config file:

  1. go to Setttings -> Advanced tab -> General -> “Config Editor” button
    • NB: another bug in the GUI – that button appears to be some local setting; it’s not, its the most important part of all the “Advanced tab” settings; I’ve no idea why they hide it like this
  2. use a filter of either “.serif” (sic) or “sans-serif” depending on which fonts you want your TB to use
    • (I think you’re nuts if you use anything but sans for email, but it’s a personal choice)
  3. The two you need to set for “email bodies” are:
  4. The two you need to set for “GUI dialogs” are:
  5. The *one* you need to set (but could also set in the main GUI) is:
    • font.default.x-western

(I’m still using TB 3; I need a desktop client at the moment, and I find myself still using it. TB 3.0.4 seems to run well on OS X. It’s fast enough and with little enough RAM that it’s easy to leave running and forget about it; earlier versions of TB on OS X would kill your Mac, and had to be force-quit frequently. With this version, I keep forgetting I’ve got it running, until it sends out a Growl…)

fixing your desktop

Thunderbird (Firefox email): REALLY doesn’t work, catastrophically

When you run Thunderbird, and connect to gmail, it downloads your inbox.

Then it does nothing, for an hour or so.

When you run Thunderbird a second or third time, OR when you first synch a single IMAP folder (I don’t know which of these two events triggered it) it waits a minute, and then spontaneously downloads your entire GMAIL account. Since Google makes it very hard to delete emails, this probably amounts to a huge amount of data.

It also means downloading two (or more) copies of everything that has a label.

If you tell it NOT to download folders, it ignores you and downloads them anyway.

On my laptop, I don’t have several gigabytes of spare storage to carry every piece of random crap ever sent to me on Gmail. I cannot run Thunderbird. I hereby giveup! I wish they’d dump the “clever” stuff they don’t seem to be able to make work, and just provide a simple, straightforward, “email that does what you tell it to”, and *then* add the rest by plugins…

If you *don’t* use Gmail, TB is looking like a viable option right now (although still lacking features that its predecessor – Mozilla Mail – already had).

(I tried every option on the folder – they all said the folder would NOT be synchronized, even as the activity manager was saying “now downloading 1 of 15,000” (ish))

fixing your desktop

Thunderbird (Firefox email): still doesn’t work

Thunderbird just released an update a couple of weeks ago, so I thought I’d try it out.

Day 1: Thunderbird refuses to check email. See this screenshot, note the timestamps, while I’m sitting here waiting for an email that should ahve arrived a few minutes ago, desperately pressing the “get mail” button, and thunderbird refuses to do anything at all:

Picture 94

I’m not sure I’ll bother with a day 2; an email client that cannot fetch email is no email client at all.

(although, that said, I’ve noticed a fascinating bug with Google’s iPhone contender (the Nexus One) – it cannot send email, even though it displays a message saying “Sending email…”, unless you switch the phone into a special “synching” mode, or manually tell it to Refresh the inbox; until you do that, the “Sending email…” message displays forever, not actually doing anything. Basic testing that Google apparently forgot to do, sigh)

fixing your desktop

Firefox bug: Who deleted my cache?

There’s a major bug in Firefox (allthough I left at “normal” severity, leave it to the maintainers to judge) that’s been around since Version 2.0 (maybe earlier). I’m *pretty* sure that Mozilla (i.e. precursor to Firefox) did not have this bug. It’s been bugging me for years, and I’ve seen lots of people complain about it, but the latest release still hasn’t fixed it, so I went hunting. No bugs found.

Not any more:

Bug 525266: Disk cache is deleted when browser restarts

fixing your desktop

Eclipse v3.5 / OS X: Breaking the fonts is “non optional”

EDIT: the fix that worked for most (not all) people on the internet … doesn’t work for me. Even with reboot. I have no idea how to fix this now :(.

Look what they’ve done to the latest release of Eclipse: (old version at top – rendering CORRECTLY on high-res monitor; new version below – rendering BLURRY on high-res monitor)
Eclipse aliasing 3.5
(note the side-by-side compare with the old version – in the same screenshot – so presumably Eclipse 3.5 is using a different font-rendering call than Eclipse 3.4).

i.e. it’s now unusable on OS X. Unless you enjoy headaches and probable permanent damage to your eyesight (oh, you like that? OK. Good for you. Leave the rest of us – with decent LCD monitors – alone, please).

bitching dev-process fixing your desktop iphone programming

Unity: First impressions

I had to do some iPhone prototyping recently, and we had a trial copy of Unity to hand. I thought this was a great excuse to try using it. First impressions of the editor/IDE/environment – at least on OS X – are not good.

NB: In general, in terms of what can be done with it etc, I’m a fan of Unity. But I’ve never developed with it directly myself, and I’m now finding it surprisingly painful / steep learning curve.

Need to know basis

None of the built-in tutorials work, flat out, because the startup code has apparently changed substantially since they were written. The tutorials keep talking about things like “create a new project; by default it will X and Y and Z” but Unity no longer does any of those by default. Sadly, the tutorials don’t tell you how to get any of those manually – because, you know, they’re done for you by default, why would you ever need to know how to do them by hand?

File Association Theft

I was also *extremely* unhappy to discover a short while later that Unity has stolen the file association for PHP files. Under OS X (thanks, Apple) managing file associations is a surprisingly irritating business, as bad as with Microsoft Windows (Apple deems users too stupid to be allowed to simply edit associations – but applications are allowed to overwrite each other with absolute trust from Apple, and no user intervention allowed), so this is a pain to fix. In particular, I have an entire *suite* of applications and IDE’s for doing web editing, including a specialized high quality PHP IDE. Not any more; Unity has clobbered that with a crappy text editor that does nothing more than basic syntax hilighting. This is pretty offensive: firstly, don’t steal my files without asking, and secondly – give me back my IDE!

NB: I have no idea how it has done this, but Unity appears to have overridden OS X’s systems for file association management – following the standard procedure (e.g. here) has no effect, and Unity keeps stealing control of the files immediately that you confirm you want to give the assocation to some other app.

At this rate, if I can’t find out what it’s done to my OS and undo it, I’ll be uninstalling and deleting Unity with extreme prejudice in the very near future. Sure, this is partly Apple’s fault for assuming all apps are perfect and all users are not, but at a simpler level I just cannot afford to have a non-functioning development computer just because of one badly behaved application.

fixing your desktop

Firefox 3.0/OS X: Do NOT install 3.0.7

For some reason, Firefox 3.0.7 force disables the KeyConfig extension (itself a workaround for Firefox bugs that have been around for more than 2 years and gone unfixed).

The main problem is that on OS X, the keys for editing in a textfield get overridden by firefox re-binding the same controls for moving back and forth in page history.

e.g. Press the OS X key combo for “jump to start of line” == Firefox will instead hit the Back button (and you cannot disable this directly inside Firefox. I did once try to do it through hand-editing config files, but it didn’t work)

Why is this still not fixed in Firefox? I’ve no idea (although I have a vague memory of FF developers specifically advising people to install KeyConfig as it provides not only a workaround (you disable the broken “feature” of FF) but it also adds a lot of useful missing functionality).

Anyway. I’m now in a really bad position that any form filling in Firefox is difficult and sometimes wipes data – that includes everything from “replying to emails” to “writing blog posts”. Hopefully I can find some hack that forces Firefox to re-enable the plugin (or I can find a copy of the last working version of firefox which allows KeyConfig to run, and uninstall Firefox, and install the working version)

NB: Firefox does, of course, warn you when plugins are going to be disabled. Unfortunately, I’d forgotten that the reason I had the KeyConfig plugin was not so much a “nice little add-on” as “essential fix for core bug in Firefox” :(.

fixing your desktop

Anti-aliasing fonts is really stupid

As a quick followup to this article (how to workaround the bug in Microsoft Office 2007 that breaks your fonts in Windows), I had to show someone today what I meant when I said that their laptop was set to “blurry” mode, and realised there was a quick way of testing it.

If you can’t be bothered to try it, here’s two screenshots that demonstrate precisely why I hate blurry fonts on any good-quality LCD:

The image on the left is Windows in “blurry” mode (with forced anti-aliasing of all system fonts). The image on the right is the exact same system, just with blurring turned off. Note that the way Windows renders fonts, the title bar of the two windows looks significantly different. This is really annoying, because the left hand title IMHO looks much nicer – but that same effect isn’t applied to the rest of the window, including the menu bar, which looks awful.

bitching fixing your desktop

Fixing the blurry fonts in Outlook 2007

(do you have fuzzy text in Outlook 2007? hard to read fonts? System settings for fonts broken in Office 2007? Help is at hand…).

You have to do a couple of things to fix the one bug, and I had to find all the different parts of the solution in different places, so I put them all together into one post here.