Archive for Computing

The mythical “musts” of computing

I’m regularly asked for advice, and do very much love helping people out in choosing the right computing solution for them. One of the greatest joys in such a role is not only showing people how easy it really is to make their computer do what they want, but that they don’t have to hold to old, outdated, or even purely mythical conventions that they had accepted as fact.

In this article, I’d love to share some that I have come across.

Read more

Mac Malware Myth Management

There are always a lot of myths floating about … about Macs and about malware. There always seem to be two camps with diametrically opposed positions. Some hold on to the rather antiquated “Macs can’t/don’t get viruses” which is inaccurate, and in fact never was accurate at any point in time. The other camp is claiming with each new news story that it’s the thin end of the wedge and soon OSX will be as much of a helpless victim as Windows always has. This is also incorrect, and probably not true of Windows any longer either.

Read more

Software Sins

Okay software developers and companies, it’s time we have a talk about our relationship. For years now you have been abusing your users and just in case you aren’t aware of it, I will detail what you have done. If you’re smart, then you’ll take note and learn something. If not, well there are always more fish in the sea.

Assuming your user is stupid

Helpful UIs, tooltips, detailed documentations are hallmarks of well constructed and respected software. Dumbing down options, removing or automating advanced features, and wasting our time with flashy eye candy is assuming your user is a child. I am not a child, stop it.

Stealing Focus

I guarantee you, whatever I’m doing is more important than what you are doing, at all times. By several orders of magnitude. Do not steal my focus, don’t flip to the front, don’t you dare interrupt what I am doing. Sit there silently until I need you, and stay out of my way. Have something important to tell me? pop a notification, once. Otherwise, shut up.

Being “Helpful”

Or the “clippy”. This ties in with assuming users are stupid. Do not auto-complete me, you insult my language. Do not select more text then I am explicitly selecting. Do not do tasks that you think is associated to what I am actually doing. In fact, do not do anything, not a single thing I don’t tell you specifically to do. You are a tool for my use, nothing more.

Wasting resources

When i’m not using you, don’t do anything. No, you may not use my internet connection, thrash my hard drive with pointless reads and writes, or leave unnecessary open threads going. I paid for my processor, memory, and storage, you use them at my pleasure. Heaven help you if you have a useless daemon running. You have no right to do anything unless I tell you.

Bloaty and Buggy

Sure, new features drive sales, but buggy bloatware drives users spare. No, we don’t need a newer faster machine. We need you to stop adding useless crap, fix outstanding bugs, and optimize your code so it runs smoothly, properly, and quickly. Make your software the best by making it work.

Subscription models

Want to make us pay every month for your crapware? Why would I ever rely on a tool I have to pay for every month? I want to install the software, use it, and forget about it when i’m not and have it right handy for when I need it. No you may not deny me the right to use what i’ve already paid for, nor extort money from me every month for nothing. I buy you, I own you and fuck your EULA and profit margins.

Update pressure

Newer is not usually better. Updates break things, and introduce new bugs from your useless new features. Don’t force me to update, you will just force me onto your kinder competitor. I do not care how many new features you are offering, I only care that it does what i bought it for and does it properly.


Treat your user base with respect. Though many may be novices there are an equal amount of pros who want to seriously burn down your house for treating us like dirt. Make your software right, the first time, stay out of the way of us doing real work, and don’t piss us off. We are your bottom line, never forget it.

Updates suck ass

We’ve all been there. We get a notification “oh updates available, coo” and blindly allow it. Then BANG, something that worked this morning is new perma-broke. Every platform imaginable falls victim to it. Some is by accident, a big “whoops” by developers pushing features forward accidentally breaking other things in the process. Others, are by design.

My particular case today was a simple update of the Ubuntu system which runs my XBMC media pc. Figured that’s kinda safe. I ran it and suddenly XBMC wouldn’t open. What? Now it complains that it requires 3D acceleration. But but but, it has a bloody radeon card in it. It worked this morning! Bastard. So, after some poking I discover it has installed the newest Catalyst drivers which OBSOLETED the card in my girlfriend’s old laptop. Thanks.

Rather than leaving it alone in its WORKING state, it chose to overwrite it with some new garbage that doesn’t work. Thanks a bunch, douche.

In desperation I tried out the Gallium open source drivers and they did work. I was much relieved. A small, but thoroughly annoying problem is my frame rate seems to have been reduced by at least 50%. Choppy and horrid on something that I usually show off to other people not only as an example of Ubuntu’s prowess, but XBMC’s clear superiority in the field of media centre software.

Not wanting to leave it alone, I pursue the issue. Apparently, I can grab some legacy drivers, fantastic! Installed and it worked as before.

Here’s how, open the terminal and:

  • sudo apt-get remove –purge fglrx*
  • sudo reboot
  • sudo add-apt-repository ppa:makson96/fglrx
  • sudo apt-get update
  • sudo apt-get upgrade
  • sudo apt-get install fglrx-legacy
  • sudo reboot

With any luck, you should be restored to former usefulness as I was. If not, you can always revert by:

  • sudo apt-get install ppa-purge
  • sudo ppa-purge ppa:makson96/fglrx
  • sudo reboot

I probably missed the obvious method of rolling back the package (if that was possible, check first) but this worked a treat.

The moral of the story, which I DID know but in temporary insanity forgot, is: if it ‘aint broke don’t fix it. Or in this case, DON’T UPDATE EVER. It’s a sad case that manufacturers deliberately obsolete their products this way, it would have cost them nothing to leave the working driver in there. Thank christ I got it working again just in time for some movies tonight.

Don’t Starve!

Cool game, brilliant artwork

I’ve been on the hunt for a game that really amuses me, there are times where I just don’t feel like being in the lab or doing anything serious. I’m only human right?

So, in going through reviewer lists looking for a game that isn’t a bloody shooter (grr why is every game some bloody FPS?) and with some heart I stumbled upon a recent release by Klei Entertainment called “Don’t Starve

What a cool game! The artwork is absolutely lovely. Gorgeous and quirky illustration style coupled with a stirring soundtrack really make this puzzle/survival game come alive. Basically, you are a “Gentleman Scientist” who is dropped off in the woods and you have to survive by making do with whatever you find. You can interact with almost anything and put them together to craft various tools to aid in your survival.

Best part – the game comes with no manual, no instructions and no tutorial. You just play it. The game is quite accessible if a bit head scratchy at first. Explore and click on things, see what you can do with them. Trial and error is the best way. Resist the temptation to google it up and just play.

When night falls, you better build a fire. It gets right spooky, and you don’t want to get eaten by a grue!

The game is a paltry $14.99 and is distributed digitally, DRM free. Isn’t that brilliant? You get a unique game and no bullshit. I know you might be tempted to steal it, but really – if any developer deserves the money, these guys do just for releasing it without copy protection. Think of it this way, you are casting a vote for quality software that isn’t crippled and doesn’t spy on you.

Also for sale is the bundle with the game and the soundtrack which I bought, can’t beat it :)

Check it out


So this game is so fun I’ve pretty much been sucked into it. Definite recommend. I WILL get the nixie clock finished, I promise!

Everything in its proper place…

Or how not to clutter up a user’s hard drive with your crap

Just a quick post as I clean out my hard drive, something I usually don’t have time to do. Usually, it’s a straightforward if laborious process but I’m running into an old problem that has annoyed me for years. It seems that many developers like to store their application information somewhat at random. Back in the day, at least on mac, this was ok since there was no designated folder structure other than what the user wanted it to be. Apps were self contained and you could run it from anywhere, you could move stuff around generally without problem.

Enter OSX. Like, more than 10 years ago. Here’s where Apple switched to more of a Unix/Linux folder structure scheme and it has worked out brilliantly. I always know where to find things – provided the developers of apps I install follow the same bloody structure!

Too often I still find folders of application information, shared libraries, caches, save files etc. randomly strewn around my hard drive. If I move them to their proper place, chances are the app in question will no longer function, at least properly, because it cannot find what it needs. What a pain. So I have useless app folders cluttering up my documents folders, or in the worst case essential files tucked in directories that – by definition – are meant to hold temporary, sacrificial files.

While not exhaustive, treat this as an introductory guide in how not to mess up your user-base’s hard drives.


  • This is the user space for the user’s documents, it is not for saved preferences and profiles. This is where we store our stuff, not your stuff. Stop cluttering it! Worst offenders: Adobe, Microsoft, many many games
  • Many linux programs love to put their stuff in here putting a “.” before the file name making it invisible. Though I realize this is the norm for *nix systems, please don’t do it on OSX. It’s annoying when we can’t see files. Though I much prefer this to the above
  • Leave this folder alone, don’t put anything into it ever

~ (home)

  • This is the top level user directory. Never put anything in here. Ever!


  • Do not put anything in this directory. You will note that there are several specialized sub-folders for this purpose. Use them, don’t clutter the library folder top level

~/Library/Application Support/

  • You can put stuff in here.
  • This folder is used for things to support your application (duh), put shared libraries, help files, icons, sounds, plugins etc.
  • Save games, custom workspaces and layouts etc. are also acceptable
  • In debugging problems with applications, one of the routines is delete your folder in here, so make sure the application can re-generate it’s factory contents on launch if possible
  • This is not a good place for user preferences, profiles, caches and logs (see below)


  • This is the ideal place to store your application’s cache files.
  • If you have multiple ones, put them in a folder so as not to clutter it up
  • Name your folder with the proper convention, usually the reverse of your web address: e.g. com.companyname.appname
  • remember: this directory is sacrificial. deleting cache files (some or all of them) frequently solves stability and speed bugs which build up over time. Don’t put anything you intend to keep in here


  • Put nothing in here, whatever it is, it’s not necessary to start it at login


  • Store your log files here so we can find them to read or remove them


  • This is where you can store your user preferences files
  • If you have multiple files, put them in a folder
  • Use the standard naming convention: com.companyname.appname
  • It is acceptable to store saved layouts, customizations, workspaces etc. in here
  • Use the standard XML plist format for files so we can read them and adjust them if there is a problem
  • If you must store personal information, license keys or the like: encrypt them!

/ root directory

  • Store nothing here, ever. It is for the operating system and nothing you could ever make is that important that needs to be at the root directory level
  • Unless absolutely bleedingly necessary for program functionality (not including the shitty things you force us into), you have no right to install anything outside of the user space apart from your application binary in the applications folder


  • This folder is for binaries of your application ONLY. Do not put user preferences, logs, and useless crap like readme files
  • shared libraries and auxilliary programs are ok provided you put everything nicely in a folder


  • A mirror of the user space Library with a few extra folders, same functionality, see above

Things to NOT do

  • Unless your program gives an option to install for all users of the machine, DO NOT install anything outside of the user space apart from the binary in the applications folder
  • Your program, unless it’s specific function requires it (not your selfish desire) you have NO NEED to run as admin (or *gasp* root)
  • Unless we specifically tell you to, you do not need to run at startup, at login, or run continually. Stay out of /Library/LaunchAgents /Library/LaunchDaemons and /Library/StartupItems, you are not welcome there

In conclusion

Following these simple guidelines is beneficial for both of us. You end up not cluttering up my hard drive or forcing me to spend hours looking for your files when I need them. You leave my documents’ space for my documents and allow for easy troubleshooting should something go awry with your program. The best key to user base loyalty is not to piss them off right? Work, be unobtrusive, don’t break things and you will be fine.

Where are my thunderbolt devices?

Very few PC users will have these yet, but every Mac made in the last couple of years sports a tiny new port with a lightening bolt on it – the thunderbolt port. Like firewire back in the day, thunderbolt seems to have almost glacial adoption in the industry despite promising amazing things that USB just can’t compete with. As with firewire, thunderbolt devices are out there, just ridiculously expensive.

I remember back in 2000 when I bought a shiny new PowerMac G4, it sported two firewire ports. At the time, there were very few, if any, firewire devices out there apart from the horribly expensive high end video gear. That port, I believe, sat unused for two years before I bought an external CD burner. Fast forward a few more years and I had five or more external drives and devices daisy chained at any one time … and loving it!

I loved firewire. I loved it for everything USB was not: it was full-duplex, you could daisy-chain devices, and devices could talk to one another rather than have to go through the computer and back out again. Despite FW400′s spec of 400Mbps compared to USB2′s 480Mbps, it was not comparing apples to apples. Firewire often ended up being faster due to it’s architecture, because of it’s full-duplex-ness and it’s ability to communicate with other firewire devices on it’s chain, the real speed would far exceed the dumb USB devices that had to wait for the host machine to tell it what to do. It’s the equivalent of taking the express train instead of the milk run.

The port war continued, with Firewire 800 coming out (which I still use). There has been terrible adoption on the windows PC side, missing out on Firewire’s architecture benefits in favour of on-paper speed and now the release of USB3 (promising 5Gbps speeds) clearly burying firewire for good.

When I got my current machine, a MacbookPro 17”, It was the first (I believe) to sport Firewire’s successor – the thunderbolt port. I was excited. It promised 10Gbps (twice that of USB3) and all the benefits of firewire in terms of being able to daisy-chain it. The best part is that it relies on existing standards. The thunderbolt port (and controller) is really a PCIe expansion coupled with a digital display port along with power in one tiny connector.

This is a great boon to owners of laptops and all-in-one computers that lack PCIe or ExpressCard slots. One could daisy-chain up to six devices off one port: say, four hard drives with a couple of external monitors at the end (thunderbolt port is identical to, and backwards compatible for the mini display port DVI interface, so long as it is at the end of the chain).

This also means that you can plug in six devices using one port from your laptop. Like many laptop users, I’m already finding that I have too many cables snaking all over the place. It’s annoying to have the clutter, the tangle, and having to disconnect every single one when taking my laptop out with me.

What I need is not a new invention. I need a docking station for my laptop. A break-out box that has one thunderbolt cable on one end, and the myriad of ports and connections I require on the other. These type of devices have been around since the early nineties. Thunderbolt, being an extension of PCIe, seems ideally suited for this application as Apple and Intel no doubt intended.

I search brought me two results of up-and-coming devices that looks to suit my needs: The Belkin Thunderbolt Express Dock, and the Sonnet Echo 13 thunderbolt dock.

I was elated, gleefully writing both in on my prospective shopping list and pouring over specifications. Which I will briefly list here.

The Belkin Thunderbolt Express Dock looks promising. It has a nice little aluminum enclosure and sports a nice variety of ports including: Ethernet, FW800, 2x Thunderbold ports, Audio I/O, and 3x USB3. Pretty cool! I could plug everything that lives on my desk into that with room for later expansion.

The Sonnet Echo 15 Thunderbolt Dock, yet to be released, promises even better. It’s a larger squarish enclosure sporting an internal HDD and optical drive bay (useful for new models that lack an optical drive, or those like me who are planning on swapping our optical drives out for SSDs). Even better is a greater variety of ports: 2x eSATA, FW800, Ethernet, 4x USB3, 2x Audio I/O.

Pretty killer right? Both look awesome, the Echo looking a bit better for its few extra ports and internal drive bays.

Unfortunately, like the firewire devices of old, it has one early-adopter failing: price. The Belkin is $300 and the Sonnet $500. Ouch. For what it actually is, this seems to me way overpriced. In addition, reviews have stated the Belkin’s USB ports to be horribly underpowered – not even enough to rapid-charge smartphones and power external hard drives which, invariably, is what these ports would be used for!

The Sonnet at least can deliver 5W of power (a whole amp) for it’s USB ports, making it a better buy. The $500 I mentioned also includes a DVD burner and 2TB hard drive. If it were $300 I think I would snap it up.

Sure, one could argue that current demand isn’t that great for thunderbolt devices, which are ridiculously expensive across the board. My argument is that no one will adopt the clearly superior thunderbolt interface if the devices are priced out of their market. I mean, I could just buy a USB3 docking station for less money despite it’s innate inferiority.

It’s falling victim to the same pitfalls as firewire. Clearly better, but priced out of the range of the common man.

Industry – I challenge you. Build me a thunderbolt dock. Make it have the following: Gigabit Ethernet, 4x USB3, FW800, 2x thunderbolt ports, and Audio I/O (combo analog and optical) and make this for $120. You have the ability to do this, and it would sell. If you don’t, might as well kiss thunderbolt goodbye as people settle for crappy USB (again).

Oh and Belkin – you could have just supplied a more robust power supply so people can at least have powered USB ports. That’s just weak.

The death of a laptop

A laptop has just ceased to be worth starting up. Many people don’t give this another thought beyond the huge price tag of replacing it. To me, though, a passing machine (especially a good one) deserves some mention, at least an obituary in remembrance of its years of service.

This particular laptop has a long history – a 2005 model who yes, just ceased to be useful yesterday. That’s 8 years of service, almost unheard of really. In that time, it served faithfully three owners despite faking it’s own death several times.

I first met this laptop from its original owner, the sister of a good friend of mine who heard I repair macs and gave me her dead laptops. She and her now husband apparently went through two Apple laptops both with disastrous results. The first of which was a lost cause. A 700Mhz white PowerBook with a loose GPU whose ball-grid array was defective. This one I attempted to fix first as I actually was greeted by the startup sound despite the flaky video operation. Following a YouTube fix beyond it’s conclusion, I managed to melt the motherboard with a butane torch. So it goes.

The second one, (the one that just passed), I did not have high hopes for beyond cannibalizing it’s parts. This was a bit of a shame because it was newer and better spec’d that the white one. A 2005 PowerBook G4 12” with a single-core 1.5GHz processor in a cute aluminum case. It was attractive, small, highly portable, and for it’s time packed a punch in power. One problem – wouldn’t start.

I would hit the power key and would be greeted with a whirr up of the fan, which immediately whirred down again. No startup sound was forthcoming and it remained silent. Scratching my head at this unusual behaviour, I initially feared its motherboard was fried. Despite this rather grim prognosis, I decided to mess with it anyway (just because I can).

I followed the usual routine – start removing bits and trying to see if it works. I removed the battery and wireless card, swapped the power adaptor, and still no dice. Whirr-klunk. Then I removed the memory door and memory and WHOA! It starts! Great I thought, a defective memory module. I can replace that.

Just to be sure, I replace the memory and the memory door and try to start it. Whirr-klunk. OK then, I open the memory door, and just randomly for no reason, I try to start it with the memory in but the door off. To my surprise, it started up. I tried starting it a few times just to be sure. As it happened, the memory door sensor was defective and refused to work when the damn thing was properly screwed in.

Leveraging all the fix-it powers at my command, I deftly used masking tape to secure the memory door and it started up every time after that.

At this time in my life, I was severely under-employed. This had two effects. One: I could not afford to keep technologically current and was relying on a heavily upgraded desktop from the year 2000. Two: I had plenty of time to fix things. The rebirth of this laptop was nothing short of a godsend to me.

Finally, I had a laptop A working laptop! What a concept. Previously, I had only severely outdated chunky novelties that weren’t worth using. This one screamed better than my desktop.

To make a very long saga somewhat shorter, this laptop became my primary machine for many years. In that time, while Apple marched on with progress and updates, it kept it’s 10.4.11 operating system and kept running through any task I set for it. Every time I hit a roadblock or limitation, I found some solution (or at least kludge) to keep it running. I ended up working progressively more and more (thankfully) and demanding more and more of it. It happily ran Adobe CS3, Blender, and even some 3D games much to my surprise. The fan would scream, the case would get burning hot to the touch, but it never failed to do what I asked it to. This went on for some time of faithful, reliable service.

As it happened, a couple of years ago, a chance meeting with a new client, and off-hand mention of the age of the machine I was using, I was notified I could have a brand-spanking new (like a few months old) MacbookPro (my current machine) in exchange for some work.

Don’t get me wrong, I loved the little PoweBook G4 but this was like the light of God was shining down on me. Like coming up for air while swimming in molasses. Finally, lady luck and the kind generosity of one lady in particular, landed me a lovely new Mac in my lap.

With almost tears in my eyes, I patted my faithful PowerBook G4 and thanked it for it’s faithful service, now being 180 in human years. Like a lot of my cast-offs, it was sent to my mother to replace her (even older) PowerBook.

I expected the machine to die or otherwise be too frustrating to use and that my mother would replace it soon after. To my surprise, it continued to truck.

By this time, its finish was coming off, half its keys were worn through, there was an ugly blue vertical line on the screen, the battery was long since dead, and it had an annoying habit of once a year faking its death by kernel panics on startup that would persist for a day, then go away as mysteriously as it had arrived.

Finally, yesterday, my mother was ready and resolved to buy a new machine. We went out and got her a shiny new iMac and transferred all her files over.

In this process, I had to remove the PowerBook’s hard drive. Apparently, back in the day it was made, Apple designed this laptop to be as difficult and annoying as possible to open. Probably to discourage creative types with soul-patches from monkeying with it. Patiently following the service manual, I managed to remove 20-odd tiny screws using three different bits to reveal the hard drive.

There I discovered a severe annoyance. The two screws holding in the hard drive rails were stripped. Badly. I know this hard drive was replaced at some point before I received it. Whomever did this – I hate you. I nearly stripped the nice precision Philips 0 bit trying to get it out. In the end, as with many things, the pliers on my Leatherman was used to extricate the hard drive.

At this point I resigned that I would never re-assemble this laptop. Not only did I wreck the hard drive rail, but really I had no patience to replace all those damn screws. Not that I could remember where they all went anyway. So, its death can be attributed merely to my laziness. I know I could re-assemble it and it would work.

Therefore, my lovely PowerBook G4, I would like to thank you for your 8 years of faithful service. You outperformed every time, you kept on ticking even when playing dead, you enabled me to work when I was broke, you have been a dear friend. You will be missed.

Ashes to ashes, motherboard to e-waste.

Keeping In-Sync

Flicker, flicker, everywhere!

No I’m not referring to the regrettable boy band, nor am I going to even touch the “cloud” as it were. This is about something much more solid, more hardware.

I remember the early days of personal computing, which (for me) was the 1980s when we had the option of a spinach-green or nuclear-orange command-line interface, or, if you were lucky, one of the primitive 256 colour machines, all of which used an electron gun shot at your eye.

Back then, owning a “flicker screen” was essential. Although the monitors were capable of refreshing in sync with mains power (60Hz), sadly the computers of the day were not and you could get all sorts of eyeball-bleeding from looking at the flickering moire-patterned mess. Remember the signs they used to put on computers “Use no longer than 15 minutes”?

Last night, finding myself alone, I sat myself down to watch a movie and have a quiet evening. To watch movies, I use my media pc (an old Acer laptop with Ubuntu + XBMC) and I just love it. Such convenience at never having to fiddle with discs and control my entertainment experience. It was working fine, or so I thought.

As I start to watch the film, an art film with lovely scenery, I notice something amiss. Some nightmare born out of the 80s. Not a flicker, quite. I notice just a subtle distortion. A flickery horizontal line that starts at the bottom of the screen and slowly winds its way up to the top, only to begin again at the bottom. That just doesn’t cut it, does it?

Setting aside my initial fears that the aging laptop simply couldn’t handle high-definition footage as panic-y, I spelunk into the settings to find out a problem.

My 80s experience saved the day: it was the vertical refresh rate being out of sync with the TV’s. This meant that the computer was refreshing the screen at a different rate than the display, causing this horizontal artifact that would progress up the screen. Much like when you used to see a computer monitor filmed on television and see it vertically dance, but more subtle, more digital.

To set it back, I simply turned on the “vertical blank sync” and the problem was solved, smooth watching again.

In a strange coincidence, with refresh rates much on my mind, there was an article posted on Slashdot today concerning the flickering of LED displays. What was neat about it is that it appears some people actually notice the flicker coming off of the latest generation displays – even though the refresh rate was in sync and fast enough for a human not to care about or notice.

The type of “flicker” is a completely unrelated issue than the type we were used to from CRTs.  In order to “dim” an LED, those of you in electronics will know that you don’t simply reduce the power to the LED, you have to flash it very fast, and the frequency of that flashing gives you the apparent brightness.

Unlike lightbulbs or CRT displays, which run on alternating current,  LEDs must run on direct current. This means it is either ON or OFF not anywhere in-between. To achieve a dimming effect, you modulate the DC current in a square wave (on-off-on-off-on-off) and set the frequency (duty cycle) to achieve the desired apparent brightness. This is called “Pulse-Width Modulation” or PWM.

I, personally, have only noticed this in my own electronics projects (using a 555 timer and a LED) or on my jailbroken iPod Touch which allows me to set the brightness lower than factory. I have never noticed this on a flatpanel television or on the purdy display of my Macbook Pro.

None of this is particularly interesting of itself. Quite a dry subject actually :) . What made it interesting was the aforementioned Slashdot post. Apparently a small minority can “see” this PWM flicker, and it’s driving them nuts causing eyestrain and nausea and call on the industry to fix this.

At least two comments posted on this article assert “it’s all in your head” and put it in the same category as people who wear tin-foil hats who put microwaves in the same category as gamma radiation.

One person struck a middle ground and perhaps suggested that the 60Hz flickering of the ambient fluorescent lighting is causing an interference pattern with the display refresh or this PWM dimming.

The question is: can you see it flicker? does it bother you? would you pay more money for a monitor that doesn’t do this? does anyone care?

I’m all for no flicker, but I’m damned if I can see it. Get rid of those stupid fluorescent lights first. Those DO bother me.

Application Abominations

I thought quickly rant off a few things I notice during my workday that not only have decreased my productivity, but also release an involuntary torrent of harsh language involving some developer’s butt and a sharpened stake. With splinters.

I am referring of course to application developers (or developer teams) who, instead of thinking outside the box, fall through the bottom because they didn’t tape it properly. Ok that metaphor didn’t quite fly, but we can’t all be perfect. I’m sober tonight so my wit is a little dull.

Back to my point.

If you are making an application, be it desktop, web or mobile, I would encourage, nay BEG you to please recognize these agonizing mistakes to avoid me coming after you with aforementioned splintery stake

10 Application UI design mistakes:

  1. Stealing focus – This is when some annoying little app thinks its okay to switch to the foreground to tell me something inane like “hey, I finally opened that document!” or “oh guess what? there’s an update”. No, I am afraid you aren’t the most important thing in the world to me, ever. Do not, I repeat DO NOT attempt to steal my focus. Half the time i’m typing something or doing something with precision that you utterly ruin by being a turd. You are like the cat that jumps on the keyboard, except not remotely cute or loveable. I can assure you, whatever I’m doing is more important to me than whatever you want, I hid you in the background for a reason.
  2. Updating every two days – You know who you are Flash Player. There’s a special hell, just for you. There is only one reason that an application should require frequent updating – if its an insecure piece of shit. In which case, why on earth would I use you? If this is not the case, why do I care what you are updating? why not collect all your feature enhancements and bug fixes into one big whopping update no more than quarterly? I am sure I am one amongst millions who, when they open a program, intent to USE it straight away rather than deal with updating. Half the time, updates break functionality anyway.
  3. Phoning home constantly – Though this has been taken to extremes lately with the massive Sim City shitstorm, you really would be surprised how every bloody program seems to just love phoning home.  Some do it to check for update, once every thirty seconds. Some do it to confirm their license every ten seconds. Some are doing God knows what and there’s no way of telling what sort of information it’s beaming back to God knows where to be used in “whatever way we feel like it” according to the license agreement. Here’s what I did: I installed a program called Little Snitch (not sure if there’s a windows counterpart, don’t really care either). What it does is act as a reverse firewall (technically, just a firewall but don’t spoil the analogy) allowing you to monitor and selectively block outgoing connections. Why does a friggin text editor have to phone home every five minutes? Block. Try installing it yourself and see just how many of your programs are attempting to send all sorts of crap over the internet. STOP IT. You are wasting my bandwidth, slowing my computer down, and hocking my private data. Fuck you.
  4. In-app purchases – though sometimes these are appropriate, say, game expansion packs, most of the time its just a way to try and syphon more money out of my wallet. They look so shiny and nice in the app store sure, looking like the proverbial Venusian vision of beauty coming out of the water, sunlight glinting off her perfect skin… I digress. It is being used too much these days to deliver crippled crapware for a price, then asking for more money just to get to its advertised functionality. Mobile app stores are rife with the stuff. Like the classic bait and switch, I am denied my buxom beauty and am delivered a toothless hairy hag and told I have to pay more to see the naughty bits. If I have to pay for a piece of software, and I find I will have to pay more for the bits I need, I will pass you by for the scum you are.
  5. Subscription based software – This is becoming more common, especially at professional grade levels (i’m looking at you again Adobe) and sheathed in the shiny, wooly package of being a “Cloud” application. Oooh! they used a buzzword! Basically, instead of buying something, and owning it in perpetuity, you get to pay for it every month or they will take it away from you. Probably when you need it most on a deadline. There is another name for this, its called a protection racket. Planned obsolescence wasn’t good enough for some, now they want to make a new standard of raping their customers on a monthly basis. I will not buy into this business model ever. Microsoft has tried to do it for years (and trying again with Office), so that should tell you how honourable that is.
  6. Non-standard UI elements – Some developers are so proud of their skills that they believe they are somehow better than the 30-odd years of proven experience OS vendors have in user interface design. Sure, if you are making an immersive game, go nuts! its your playground. Otherwise, I want to see a standard window, with close boxes I can find and using the system toolbox which is proven to work, rather than your glitchy and wholly unnecessary window and dialog manager you cooked up on peyote. Some even do evil things like switch the expected locations of “OK” and “Cancel” buttons to disastrous results. Seriously, Apple nailed UI, you cannot do better. Stick to making your app work.
  7. Inconsistent UI elements – Some companies release a suite of applications, and they decided, in their bureaucratic wisdom, to have a completely different development team making each app in the suite with zero communication between them. For programs designed to work in concert with one another, the user will frequently have several of them open at once and switch between them. You would therefore expect everything to be the same – the toolbars, windows, key commands, even the general logic around how the whole program works. Unfortunately, for anyone who has used the Creative Suite, we soon realize that this is far from true. If you are going to make a suite of apps, make them play together nicely. If you have the same function in your five apps, put them in the same damn menu, with the same key command. Hell, share the code and reduce the bloat while you are at it.
  8. Bloatware – Oh God, this has to be one of the worst. I have a relatively new machine: a year old MBP. I love her, she sings to me. She is also blindingly fast, so long as the programs I run aren’t coded by psychotic monkeys who, as expected from any caged animal, make nothing but a giant pile of shit that I have to clean off the walls. There is absolutely NO reason why any single application should take more than ten seconds to launch. There is also no reason (unless I’m doing motion graphics or video editing) that it has to hog two gigabytes of my memory. Nor should the installed size be any larger than 10GB. Like a narcissistic fat hog, it devours my system resorouces while other, far more important applications, go hungry and halt for lack of cpu time. Yes, you can skip installing the clip art, trust me I will not use it. There is only one reason that bloatware exists at all – crappy developers and their equally crappy managers who decide to skip cleaning and optimizing their code in favour of delivering a bunch of new features no one wants or would ever need.  Developers – make your apps lean and mean, not fat and gluttonous. As a bonus, they will work better and your user base won’t want to flay you alive.
  9. Rockin the single proc – Seriously, this is 2013. Why in the blue fuck are you slow as hell AND using only one processor? I have eight of them for a reason. Why should I have to wait for you to do a simple processing task because it never occurred to you to use more than one CPU? Shithead. In line with the points above – there is NO execuse why your app can’t run a crapton faster.
  10. Installing needless/annoying/damaging startup items/kernel extensions – This is a big beef of mine. Unless you are a hardware device driver, or if you have a real reason to be running all the time (almost never the case) DO NOT be a dick and assume I want bits of you loading at startup. Especially not bits named generically that take me a week to find like the dead mouse stinking up the apartment. 99.99% of applications do not need anything that loads at startup and most definitely do not require a (potentially destabilizing) kernel extension. Your updating yourself and phoning home (see above) are NOT valid reasons for doing this. If I want you to do anything, i will open you myself. Otherwise, stay the fuck out of my way.

There are more, but here we are at ten already. This means I am probably as bored as you are with the sound of my own voice. I’m sure many of you, my anonymous and silent readers, are nodding your heads and hrumphing your agreement at our shared experiences. Is there something you can do? Actually several.  Try these:

Don’t buy into it – Refuse to buy (as much as you can get away with) software that are guilty of the above. Why open yourself for financial fleecing only to install something that pisses you off? Better yet, look for leaner apps that can accomplish the same tasks. Never buy into it just because “everyone else did”.

Limit the damage – Watch for installer options and uncheck anything stupid/annoying/unnecessary. If not presented with an option, check installer logs or go hunting for bits you don’t want in there and remove them. Nine times out of ten, the app will still work fine and be much less annoying.

Trim the fat – In concert with the above, routinely check your login items, startup items, and kernel extensions folders (system and user level) for insidious vermin and remove them for a smooth computing experience.

Block the bullshit – kill processes that don’t need to be running, block their outgoing connections, turn off update checking, data collection, home phoning, caching – the lot. Apps are there to do what YOU want them to, and much like children, should not be left unattended. Preference panes can be a wealth of user definable options that you can disable to make your life less annoying. If the options aren’t there, check the preference files, you will probably find some “TRUE”s you can change to “FALSE”s.

Write the developer – Though it will probably fall on deaf ears since their customer support was outsourced to India, who in turn outsourced it to the United States, it still is valuable to cast your vote, especially when you gave them thousands of dollars.

Anyway, now I can relax with a drink, cheers!