software category

I primarily run Mac OS X and RHEL-based Linux distributions. I also have experience with the BSDs, and think if a problem can’t be solved with Perl then it’s insurmountable.


Apple only awards Mac App Store developers

If you're covering WWDC 2011, I most likely have a nit to pick with you. Apple has not resumed honouring Mac developers as you are claiming, they've started honouring Mac App Store developers.

Don't worry, even the pros are making this mistake, but there's a huge difference. I trust this [un]intentional obfuscation on your part will be resolved ;).


Orange MobileNotifier vests

TiPb is reporting that Apple has hired MobileNotifier developer Peter Hajas. A well known figure in the jailbreaking community who has long shown Apple how notifications should be done, presumably he's been hired by Apple to... show them how notifications should be done. This has always been a serious weakness in the iOS UI, and I'm hoping he'll get them on the right track.

Meantime, the most critical and underreported aspect of this story was... his vest and jacket combination. And how I want them both. Actually, I could go for his glasses, shirt, tie, the whole ensemble. I want to look like that. Anybody want to lend me a hand?


Will VMware Fusion 3.1.3 fix my woes?

Initialization of the dynamic link library KERNEL32.dll failed. The process is terminating abnormally.

If you haven't seen yet, VMware just updated Fusion to 3.1.3. I can't see amongst the list improvements any mention of fixes for VMware Tools for Windows 95 and Windows NT 4.0 Workstation that I half-jokingly blogged about, but installing just in case.

My previous attempts to install the VMware Tools in NT 4.0 resulted in BSoDs immediently after rebooting, but for some reason on my forth attempt it generated the same error in a modal dialogue box immediently before restarting.

Still no word on my forum post on the topic either. Guess the adage applies... you get what you pay for. Hey wait, I did pay for this!


Image Capture.app import error

Import error. An error occured while importing.

Do you get this unhelpful error sometimes when using Image Capture.app? The only solution I've found is to choose a different destination directory for the imported files, then try again.

Even if your chosen destination folder is on a recognised, writable drive with enough space, this error still crops up sometimes. Another bug that's lingered around since 10.4 Tiger, so Apple's developers either aren't in the mood to fix it, or don't consider it a priority.


libcxxrt C++ runtime now available under BSD licence

The NetBSD Foundation Press Release: libcxxrt C++ Runtime Now Available Under BSD License. This is big news!

The FreeBSD Foundation and the NetBSD Foundation announced that they have acquired a non-exclusive copyright license to the libcxxrt C++ runtime software from PathScale, a leader in high performance Fortran, C, and C++ compiler products for AMD64, Intel64, and MIPS. This software is an implementation of the C++ Application Binary Interface originally developed for Itanium and now used for the x86 family by BSD operating systems. Libcxxrt will be available under the 2-clause BSD license.

Interesting that they chose the 2-clause BSD licence which FreeBSD uses, over the 3-clause BSD licence that NetBSD uses, or at least used last time I checked. But I digress.

Why is this so cool? Well for one, I've used it before in bidness! Secondly...

"This work complements other work done in the community and is a further step in letting us adopt alternative toolchains in FreeBSD," said Robert Watson, a FreeBSD committer and Director at the FreeBSD Foundation.

Alternative toolchains != GPL, which for the otherwise BSD licenced NetBSD and FreeBSD operating systems can only be a Good Thing™.

There have been lots of interesting developments in this area recently. The GNU toolchain has served us well, but there are leaner, faster and more liberally licenced compilers, linkers, libraries and tools coming out now, and with Apple backing LLVM in a big way now (for example) this movement can only gain further momentum.


[/.] Are Third-Party Android Vendors Violating the GPL?

This is a test, to see if my Slashdot comments automatically syndicate to my blog properly. If you're reading this, maybe it was successful!

Are Third-Party Android Vendors Violating the GPL?

"Google's refusal to not release Honeycomb source code is kosher because the code in question is released under the Apache license. But the kernel at the heart of Android is GPL'd, which means that code must be released. Google has actually been a good citizen in this regard

Wait wait, hold on a minute. It's precisely the fact the Apache licence doesn't compel them to release the source that would make them "good citizens" if they did, rather than just giving it to a select few OEMs.

but many third-party Android vendors, not so much. While Asus has released their code, there are a host of companies that seem to have not done so, and Matthew Garrett is maintaining a list."

We were sold on Android being an open source and free alternative to iOS and the like, but unfortunately the reality is proving anything but. Part of this is Google going back on their stance on what constitutes open, but also that they haven't more rigorously enforced compliance of the GPL by their OEMs.

It's a shame they have to do this for companies other than Asus and Samsung (good GPL folk, IIRC), but companies have proved time and time again their misunderstanding of what their responsibilities are under the GPL at best, and knowingly ignoring them at worst.


Steve Ballmer, mua har har

Steve Ballmer, by Engadget

Back when I used to watch lots of Microsoft keynotes, I always noticed how awkwardly Steve Ballmer held his arms; at times it made him look practically ghoulish! Judging from this photo from Engadget, he's still doing it.

We can't all be Jobs or Ellison when delivering sales pitches; heck I twitch and flail my limbs all over the place when speaking! Still, as the CEO of a company trying to shed its evil overlord image, perhaps he could stand to gain from some lessons!

I... love... this... company! Developers developers developers developers! Sorry, it had to be said.


Fun with VMware Fusion 3.1.2 instability

Windows 95 crashing after autoloading the VMware Tools installer

Want to regularly emulate a guaranteed system crash or even a BSoD? Install VMware Fusion 3.1.2 build 332101 and follow me!

Windows 95

  1. Create a new VM and install any version of Windows 95
  2. Select Install VMware Tools from the Virtual Machine menu
  3. Wait for the VMware Tools CD to automount and autostart
  4. Budda boom! Kernel crash!

Windows NT

UPDATE: This issue has since been resolved in version 3.1.3, as I talked about here!

A simple crash dialogue box like that not enough? Well how about a fully blown kernel panic blue screen of death!

  1. Create a new VM and install any version of Windows NT 4.0 and either the high or regular encryption version of SP6.
  2. Select Install VMware Tools from the Virtual Machine menu
  3. Install any combination of the available VMware Tools you'd like
  4. Reboot, enjoy the show!

Windows NT crashing on boot after installing VMware Tools

As I blogged about in 2007, I've been a paid VMware Fusion user since Version 1 and have bought all the upgrades. Glad to see these new features being introduced :).

Seriously though, it sucks that I have to have VirtualBox on my Macs to run OSs that a product from a premier company like VMware should be able to handle, but lately can't. Tested the same configuration on my Mac Pro, my MacBook Pro and my sister's MacBook with the same results. Oh well.


Pseudo-Scrabble pseudo-drive letter icons

Thought I'd have a theme to my posts today :).

One of the pointless, nostalgic things I miss about Windows and DOS are drive letters, so this afternoon on a whim I decided to label mine with none other than Scrabble icons by Marc Heatley, and then for something completely different some purple and blue letter icons from Supratim Nayak's fine collection.

Of course, such an endeavour reminded me why drive letters were a dumb idea; in the days of DOS they made more sense given users didn't generally partition their drives, use virtual volumes and had limited physical drives themselves, but thesedays they're redundant and very limiting! I gave up with the network icons and just stuck with X, because they look XTREME.

I'll keep them for a day, if only because they took half an hour to configure that I can't get back. Tomorrow it'll be back to pastries. Don't laugh, these are all very important decisions for the maintainer of any modern computer system; well other than the ones that eschew (gesundheit) desktop icons.


A user interface progress rant

Sounds like a jolly good idea!

Product of the 80s!

Having been at uni on and off for several years now and having seen the work my fellow students produce, there's no doubt in my mind there are some extrodinarily talented developers in my generation. The problem is, talented developers aren't always the best UI designers, and I'm not just talking about all the technically brilliant but visually ugly projects on Github or SourceForge, I'm talking about basic UI principles.

In our latest project, we were tasked with solving a problem that involves some fairly intensive backend processing. I don't know why that sounds so wrong. As such, the user is instructed to wait for a period of time while the work is completed, then the results are displayed.

Being the very technical and logical folk they are, the two people in my group in charged with the frontend proceeded to write the interface for the user, following the instructions for the assignments to a T. Mmm, tea. They dutifully created a dialogue box informing users they would have to wait, then sent the stuff off for processing.

So what?

Seems simple enough, but the approach is fundamentally flawed, and you probably already know why yourself!

One of the most fundamental principles of good UI design is users should always, always be given a visual indication that activity is happening. Not sometimes, or most of the time, or only if there's activity on the network or hard drive or whatever, always. Without exception.

The problem is, for GUI applications that present a simple "Working..." dialog box, there's no way for the user to know if the application is really working, or if its stalled or crashed. People get frustrated, and quit applications that look like they've crashed, which means obviously they can't complete their tasks. In simpler or more poorly written applications without fault tolerance, suddenly quitting can lead to data loss or corruption, which means the user is even worse off!

Professional users can run packet sniffers and process inspectors to check the status of seemingly crashed GUI applications, but regular users can't be expected to do this, and those who think they can be are either deluded or the stuff they're smoking is more powerful than they realise!

Icon from the Tango Desktop Project

Devil's Advocate General

The problem is, for developers of CUI applications its fairly easy to show the status of a process: you typically check for a -v option, then send what you're doing to standard output and be done with it! Before we used Eudora at home our email program was called Cooee, which kinda looks like CUI. But I digress.

With GUI applications there's more fuzzy logic involved; it's up to you to interpret what is pertinent information to the user, translate it into English and give a visual indication. It could be "connecting to network" or "38% processed" or an animation that plays for as long as data is being transmitted or processed. In any event, if these messages are interrupted or paused for an unreasonable length of time, users can be more confident that applications have crashed or not, and can take corrective action.

This rant was limited to GUI applications on the desktop, but the same arguments could be made about the latest generation of AJAX applications online that are so opaque and slow its downright maddening. For online software that is so dependent on network connectivity, I would argue effective visual indications of activity are even more important! But that's for another post ;).

Picture by 白菜/mute on Pixiv. Screenshot taken from an early prototype of our project, unfortunately!