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.


Dennis Ritchie

dmr

Whereas there are those that shine in the limelight and are celebrated in the general public for their contributions, there are the quieter ones in the background who's wisdom and genius benefit all of humanity.

His legacy is the amazing tech world we have now

Dennis Ritchie was one of the true computing pioneers. He was the R in the K&R C Programming Language; a tome which all computer science students and programmers have studied, language designers have used as inspiration, and upon which much of the world's software has been developed. The descendents (direct and indirect) of the UNIX operating system he co-developed power the world's fastest supercomputers, the Internet, workstations, phone networks, and quite possibly the handset in your pocket.

C and UNIX haven't been without their critics or detractors, but it's hard to imagine the world without them, or argue that they haven't have a profound effect not just on our industry, but the entire world. Its a testament to his principals that decades later we're all still using this language and descendents of this system even in our latest generation of devices, software and networks that are continuing to make our world a smaller, more connected place.

We have truly lost one of the world's greatest minds today. I will miss his brilliance, but also his famed modesty and gentle good nature. On a personal level, he was a teacher and mentor whom I never got the chance to meet, but whom I've looked up to since I was a child first wanting to explore computing.

I hope as he lay his head down to rest for that one final time that he appreciated just how many lives he has touched.

Most fitting way I can think of

I'll anger the standards bodies for this, but derived from his definitive work.

Thank you so much sir, and goodbye


Merging KDE icons into the Task Manager

KDE icons merged with the Task Manager widget

I keep discovering new and wonderful things about KDE again since moving back! These tips are probably already well known, but just in case :).

The problem

If you use KDE like me, you probably have a series of launcher icons in your panel for easy access. The problem with this is on lower resolution displays they take up a lot of horizontal space, which reduces the amount of space your Task Manager widget can use to display window titles:

KDE icons merged with the Task Manager widget

The answer

The clever solution is to let the Task Manager widget handle your shortcuts instead.

  1. Remove all your application launcher icons
  2. Launch the application you use frequently
  3. Right click its button in the task bar
  4. Choose the Advanced menu
  5. Click "Show A Launcher For X when It Is Not Running"

Icons will appear to the left of the task bar as before, but when you launch applications, their corresponding launcher disappears. This quickly saves large amounts of precious screen real estate when you have many different windows open.

As Kmahjongg said to me in 2007:

Kmahjongg: You have won!


Fortran 4chan

I was born too late to be a part of the Fortran generation, but upon discussing the language with my sister this evening I received the following in response:

You mean 4chan?

As I said on The Twitters, I think a part of my brain just melted.

In other news, I need that font. Retro futuristic is one of the single greatest design methodologies of all time. I also need their slogan printed on a shirt.


Downgrading from Lion

Given previous OS X upgrade experience, I decided to hold off from upgrading to Lion until 10.7.1 was released this time around. Alas, despite doing this there are still several issues severe enough to warrant me downgrading back to Snow Leopard until they're addressed.

But that makes no sense, you're a Mac fanboi!!1!!one!

So what are they?

1. Lion has been the first release of Mac OS X where my machine has been noticeably slower since upgrading. Applications take fewer “dock bounces” to launch, but more time. Scrolling is sluggish and key repeat rates are slower. Most maddening of all though are context menus: the current record is a whopping six seconds before they appear after a mouse click. OS/2 Warp 4.5 running on my 120MHz Toshiba Libretto displays menus faster than my Mac Pro with Lion does.

2. The Finder doesn't seem to have a memory leak, but it routinely chews up 70 to 90% of a single CPU core on idle. Killing it or force quitting drastically speeds up the machine, though only temporarily.

Finder using 85.6% CPU on idle

3. I have custom icons for my mounted volumes and drives so I can see at a glance which I'm working with. Lion's Finder sidebar replaces these with uniform drive icons in the same monochrome style as iTunes 10. From a glance, individual drives are now indistinguishable.

Indistinguishable Finder icons

4. While I can appreciate Apple’s intention to make automatic backups and revision control easier for people, technically proficient users already have their own tools for this, and the lack of an option to disable this is frustrating. I suspect its responsible for some of the reduced performance and greater hard drive utilisation.

5. Related to this new feature, the removal of the one-step "Save As" and replacing it with the two-step "Duplicate" then "Save" function is one of the most maddening changes I’ve ever encountered in an OS upgrade. It was driving me so crazy, I gave up using Lion’s built in applications such as Preview and TextEdit entirely, and wrote symbolic links to redirect to other applications should I accidentally launch them!

Reverting to previously saved versions of a file

6. After Mac OS pioneered the commercial GUI with a simple resize handle in the bottom corner of windows to change their size, Lion finally caught the all-edges-resize disease. It’s visually distracting having cursors constantly changing as I move them across the screen, and it increases the chance of changing windows by accident. To me, this was more of a feature to appease Windows-switchers than something useful, though I suppose I could get used to it. In KDE I overcame it by having all my windows full screen by default ;).

7. DigitalColor Meter.app only shows decimal RGB now, not hex. Why remove this?

Finder using 85.6% CPU on idle

Cue Arnold Schwarzenegger reference

One of the good things about Apple on the desktop is they tend to listen to our concerns. When Leopard came out, they quickly headed our cries for folder icons in our stacks, and opaque menu bars. There's nothing here that can't be fixed, provided we all keep giving them feedback. Not that it helped for some of these features given we voiced our concerns before the GM, but still...

In the meantime, it's back to Snow Leopard for me until at least the performance and reliability issues are addressed. 10.7.4 perhaps?


Firefox 7.0

Admittedly these version updates were bigger news before Mozilla got Chrome envy, but still Firefox just got updated to 7.0. I just downloaded it for my Macs, and I'm sure the tireless maintainers of the FreeBSD Ports system and Fedora repositories are hard at work at adding it.

I'd already been using the 7.0 nightly builds given I was one of the unlucky few bitten by the severe memory leaks and CPU hogging with 6.0.2, as you can see in the screenshot above.


Text editor "bloodlines"

ZEdit

A discussion on Hacker News about TextMate 2.0 spawned a fascinating general discussion on text editors, specifically what people have replaced TextMate with in its intervening abandonware years. Because I have a blog, I leave my comments here! ^_^

Editor Platform Comment
ZEdit DOS Syntax highlighting, in 1993! Wonderful editor
MS-DOS Edit MS-DOS Mostly in it's QBasic form
IBM E Editor PC DOS Should have been the default for MS-DOS too
Taco HTML OS X Beautiful little editor
Smultron OS X Formally free editor with side tabs
TextMate OS X Great for small projects, but I replaced it with...
MacVim OS X With NERDTree, it's my new favourite editor!
nano Console My first job used this, surprisingly!
Vim Console With vi compatibilty mode set to... off ;)
nvi *BSD Not my first choice, but can use now if need be
Emacs Console Not bad, just not my cup of tea
Kate KDE My favourite graphical *nix editor ^_^
Gedit Gnome Very capable and lightweight
Geany GTK+ More of an IDE, but worth a mention!
C=BASIC Plus/4 Retroactively learned on some 2nd hand hardware ^_*

As a matter of disclosure, this post was created in one of the aforementioned text editors.


TextMate: What's next?

After years of silence, we suddenly got an update on the future of TextMate 2.0 yesterday:

There will be a public alpha release this year, before Christmas, for registered users.

While it's welcome news for Mac developers who love the software, it's too late for me. I painstakingly moved all my TextMate projects over to Vim/Cream/NERDTree, and I also just received my key for Chocolat. Reviews pending!


Warning! OEMNADAP.INF already exists.

PKSFX: (W18) Warning! OEMNADAP.INF already exists. Overwrite (y/n)?

The least you need to know: if you receive the above error when extracting Windows NT 3.51 Service Pack 5, use the /b flag while extracting.

More detail

For those of you running Windows NT 3.51 (the last version of Windows that separated the kernel and UI subsystems), running the self-extracting SP5_351I.EXE file in a temporary directory from the likes of File Manager will result in the following error:

PKSFX: (W18) Warning! OEMNADAP.INF already exists. Overwrite (y/n)?

Typing Y here will extract the rest of the files, though when you run UPDATE.EXE you'll be given the following error.

An error has occurred: Unable to open the file OEMNADAP.INF

The solution is to use the /b flag, which extracts files into a tree of directories, rather than just putting them all into one place:

SP5_351I.EXE /b

Why Microsoft decided to use software that doesn't extract in this fashion by default for archives that clearly have files with the same name in different places is nothing short of baffling.

Microsoft identified this bug in their Knowledge Base article 149306.


Windows VM licencing?

A question for someone more in tune with Microsoft licensing. Is it acceptable under the terms of the Microsoft EULA to run an OEM copy of Windows XP in a virtual machine, provided its still being run on the same hardware it came on?

I've been running Windows 7 for a few retro games and Visio for about a year, and have finally had enough.


Esoteric DOS tip of the week

If you've installed Windows 3.x in IBM PC DOS 7.0/2000 and it reports insufficient conventional memory, you may be running the wrong version of SmartDrive.

Insufficient memory or address space to initialize Windows in 386 enhanced mode. Quit one or more memory-resident programs or remove unnecessary utilities from your CONFIG.SYS and AUTOEXEC.BAT files and restart your computer.

Potential fix

If you've installed Windows 3.x in IBM PC DOS 7.0/2000 (wait, didn't I already say that?) and received the above error message regardless of the amount of conventional memory you've painstakingly freed by loading everything into UMBs like a good DOS memory managing guru, chances are you're attempting to use the PC DOS version of SMARTDRV.EXE instead of the one provided by Windows.

While the PC DOS version uses less memory (ironically), I've never been able to get it to work with Windows 3.x. The only workable solution I've found is to go into your AUTOEXEC.EXE and CONFIG.SYS files and replace:

C:\DOS\SMARTDRV.EXE [/FLAGS]

with:

C:\WINDOWS\SMARTDRV.EXE [/FLAGS]

The DOS version of EMM386.EXE works however, and is newer than the one offered with Windows 3.x.