HIG and QA

Three great articles from Bruce Tognazzini (i.e. Tog) the founder of Apple’s Human Interface guidelines (HIG.)  Back in the day Apple payed millions to figure out what exactly allowed a GUI to be useful and easily understandable… and they incorporated that knowledge into the old Mac OSes.  Tog gives his opinion about the OSX Dock and Panther (the latest release of OSX.)  For more information about human interface guidelines check out Fitts’ Law and Principles of Interaction Design (based on Fitts Law.)

If you think you are really knowledgeable concerning HIG you can take a Designed To Give Fitts test provided by Tog. 

The final article is a discussion on quality assurance procedures called When Good Design => Bad Product.  Its an absolutely wonderful synopsis of why good QA is fundamentally required for any level of application dependability.

Virtual Bochs

Yes it has support for more than 16 colors! Just a quick link to anyone who is interested. After more than a year of waiting for a new stable version bochs is here. For anyone who does not know what bochs is here is a pretty good description:

Bochs is a highly portable open source IA-32 (x86) PC emulator written in C++, that runs on most popular platforms. It includes emulation of the Intel x86 CPU, common I/O devices, and a custom BIOS. Currently, Bochs can be compiled to emulate a 386, 486, Pentium, Pentium Pro or AMD64 CPU, including optional MMX, SSE, SSE2 and 3DNow instructions.

Bochs allows you to create a virtual PC inside of your PC. Need to run Windows 2000 once in a _great_ while. Install a full blown version of Windows inside of a bochs virtual PC… some of the more interesting features are VMware virtual image support, 3DNow!/SSE/SSE2 (i.e the virtual processor has these instructions available), and support for high/true color… Go get it Mike!

KOpenOffice

Undoubtedly the most powerful Office suite for Linux is OpenOffice.org/StarOffice (aka: OO.org.)  It has most of the features of Microsoft Office and many many features that are not available in MS Office.  The biggest problem with OO.org is its overall lack of UI integration with any Linux desktop.  Sure it looks and acts fine but it does not fit with the rest of the desktop when using something like KDE or Gnome. 

Ximian has worked to fix this by “Gnomizing” OO.org through their OpenOffice.org Bonobo Integration project (which has evidently died since being bought by Novell.)  But that still left the best Linux desktop environment out in the cold.  Well that has changed.  The OpenOffice.org KDE Integration Project has been made an “incubator” project by OO.org (meaning that if it continues well it will be come an officially “accepted” OO.org project.)

This is good news for the KDE desktop community.  The interesting part is that lots of KDE/OO.org integration has already taken place.  KOffice already had plans to switch its file type to OO.org’s document type; and there is already an KPart for OO.org files in Konqueror (the founder of that project is also the founder of the OO.org KDE Integration Project.)  The X11 calls have already been replaced and work will hopefully start on a KDE NWS.

How much is it gonna hurt

Have run into a couple problems the last few days.  My home Linux box got hacked via weak user password (my wife now has some “minimums” for her password=) ) and backdoored.  You can check out here to see a pretty good list of *nix backdoors and rootkits.  You will forgive me if I don’t go into too much detail yet…

rsyc me baby

This article talks about using rsync and expect to automate the process on rsyc’ing your home directory to a central server via ssh without needing user input each time.  It also keeps the system from being insecure (i.e. setting up a server/client trust without a passphrase) via storing the password in a variable for latter use.  The administrator can then enter the password at his/her convience without waiting for the cron job execution time.

I have a KDE project idea that I am starting to form in my head and this is a useful article towards that project.  As such.. you see it here.

Moving along

To start the morning off my buddy Mike pointed by over to this link. Its a Windows-to-Linux road-map for migration. It looks like it will give offices not familiar with Linux a basic idea on how to implement a migration. Links to other articles and such.

JavaScript Programming

SlashXB is an application environment that allows users to develop programs using HTML and JavaScript.  A good tutorial on how to use SlashXB can be found here. Sense the applications are HTML and JS they can either be run locally (SlashXB applications are run within a GUI frame provided by Mozilla, without the need to actually start up a Mozilla and open the SlashXB file) or can be served over the web.  Sounds like a good way to teach newbies how to program without turning them into worthless VB programmers.

That and there are a whole lot of people out there that can JavaScript but don’t know how to program in a conventional language.

Clueless

This article from the PBS author “i, cringely” does a wonderful job of explaining to the lay-person why Microsoft continues to underestimate and misunderstand the success of Open Source software (specifically Linux.) 

Planet Linux

Wired is running a 6 page article on Linus Torvalds; the creator of the Linux operating system.  Its nice to see such a level headed person running the helm of Linux development (instead of a  greedy, self-indulged, fanatic.)

In an interesting side note Larry McVoy (the founder of BitKeeper, the version control and configuration management system used in the Linux kernel development) posted a rundown of Linux kernel activity.  The quick rundown is that the Linux kernel developers have averaged 179 changesets per day; 24 hours a day, 7 days a week.  Thats about 65,337 changesets this year alone!  That number does not even include the sizable group of developers who choose not to use BitKeeper (for ideological reasons; i.e. see fanatics above.)  That rate of development may qualify the Linux kernel as the most actively developed software project on the face of the earth, commercial or otherwise.