I recently decided to buy the X-keys L-Trac Red Trackball because I just like track
balls and this was one of the best reviewed trackballs I could find. Over all I’m happy
with my purchase but I have had some issues and I wanted to explain in this article
how I solved them. My hope is that others with similar issues can find this article
and save themselves some time.
The challenge with the L-Trac is that it only comes with three buttons (you can
buy more though but other than the foot peddles that would take up more room
than I want to use and don’t appear terribly easy to use). This left me a
bit in the lurch because I really liked being able to navigate back in web
browsers when I’m just using the Trackball and for some apps I use (like
Balsamiq and Excel) the ability to left/right tilt is a requirement for a good
My online research pointed to X-Mouse Button Control as the solution. This is a
free piece of non-open source software that lets you remap mouse buttons in a
dizzying variety of ways. The good new is that it solved my missing button problems.
The bad news is that it took me a while to figure out how to make it work right. So I
thought I would share what I learned to hopefully save others time in the
For Web Navigation the easiest solution appeared to be using chording. That is,
to combine one button (I choose the left trackball button) to change the trackball
scroll wheel into a navigation wheel (e.g. scroll up goes forward, scroll down
goes back). This absolutely works but it’s kind of a pain because the super
smooth scroll wheel has no clicks or other indications when it has incremented
so it’s easy to over or under scroll and end up way more pages away than
I intended. A much nicer solution was to chord the left button with the
middle button as back and the right button as forward. To do this you have
- Go to Left button and set it to "Button Chording"
- Go to the Right Button in the chording menu and set it to Forward
- Go to the Middle Button in the chording menu and set it to Back
- I unchecked "Block" in the chording menu because I often hold down the
left button and use it with the track ball to do selections so I didn’t want
chording to interfere with dragging.
For simulating the tilt wheel left/right the obvious solution would be to use "Change
Movement to Scroll" feature which turns the track ball into a huge mouse up/mouse
down, left tilt/right tilt sphere. But in practice I found the feature to be clunky. How
far it scrolled depended on how far I moved the cursor and regardless of the
sensitivity setting the scrolling always felt jumpy and hard to control. In the end I
took a different route. I set up chording, this time with my right button and I
programmed wheel up and wheel down to map to tilt left and tilt right. This proved
to work really well and gave a really nice scroll experience. Setting this up
- Go to Right Button and set to "Button Chording"
- Go to Wheel Up and set to Mouse Wheel Tilt Left in the chording menu
- Go to Wheel Down and set to Mouse Wheel Tilt Right in the chording
- In this case I did activate "Block" in the chording because otherwise I
accidentally trigger the right click menu which is annoying.
One last problem I ran into is that I use Remote Desktop a lot and I wanted my
trackball to work properly there. To get this to work right I had to:
- On the machine I’m Remote Desktoping from go to "Add" on the
Application / Windows Profiles menu
- Select "mstsc.exe" as the app (this is easiest if you have Remote Desktop
running so you can select it from the Process Menu)
- Then set everything to "No Change" for the remote desktop profile on
the machine I’m remote desktoping from The idea is to completely disable
X-Mouse Button Control on the machine I’m Remote Desktoping from
when I’m using Remote Desktop.
Then on the machine I’m Remote Desktoping to:
- Install X-Mouse Button Control
- Configure all the chording on the machine I’m remote desktoping to as
given at the start of this post
Now my trackball behaves itself just fine both on my primary box and my remote
desktop box and I have a nice forward/back navigation experience as well as a nice
left/right tilt experience. It took me quite a bit of experimentation to figure this all
out so I’m hoping that this post will help save other folks some time if they if they
have similar problems.
Ever since Gutmann published his original paper 
in 1996 there has been an assumption amongst security types that to 'securely' delete a hard drive one had to overwrite it many times. While it's not entirely clear that this claim was true when Gutmann made it, nevertheless, changes in magnetic hard drive technology appear to have made the need for multiple overwrites completely unnecessary. As explained in gory detail in 
there is no economical way known to recover data that has been overwritten just once from a modern magnetic hard drive. So a single pass writing zeros should more than handle things.
As explored in the Wikipedia article on data remanence
it is possible for bad sectors to potentially be recovered because the zero pass wouldn't touch them. But keep in mind that no matter how many times one wipes a drive those bad sectors won't be written to. So if bad sectors are an issue then one will probably need to degauss, physically destroy the drive or use whole disk encryption.
Where things get more fun is with solid state drives (SSDs). As explained in 
there are real problems with securely deleting SSDs. Right now there is really no good way for a normal person (e.g. someone who isn't a storage expert) to really know if they have successfully deleted everything off a SSD. Tricks like filling up the drive with data won't work because the drives have more capacity than they advertise and since flash cells fade the drive may have taken cells (with data) offline. The drives do support entire disk delete commands but as 
points out, those commands aren't always appropriately implemented. Overwriting sometimes works but sometimes not and using a pattern of zeros is particularly problematic because some SSDs compress contents.
So if one wants to securely dispose of a SSD I suspect the only reasonable approach is software based disk encryption. Yes, some SSDs do implement hardware level encryption but given the lack of easy validation of the logic and updates when there are issues I wouldn't personally trust that approach. Of course this reduces the security of a 'wipe' to someone not being able to crack the password on the key file stored in the SSD. Personally I'd still do two wipes, at least one using some kind of random data, before disposing of a SSD just to be especially paranoid. Perhaps the only reasonable alternative with SSDs is physical destruction.
Normally using my Mac is a simple joy. But recently I created a
sparse disk image bundle on my main OS X box and wanted to share it
with other OS X boxes. This is quite possible but requires some very
arcane commands to make work. I explore those commands below.
Continue reading Sharing sparse disk image bundles across OS X machines
I want to get a mac laptop for my wife but I want to be able to use it as a remote terminal for my iMac upstairs.
There doesn’t appear to be a decent solution for this problem on the mac. VNC is a joke. It will just take my 24 inch iMac screen and shrink it down to the laptop’s screen size. And yes I have played around with smart zoom but it’s really painful.
Isn’t there an equivalent for the mac to Microsoft’s outstanding Remote Desktop Connection application and RDP protocol?
For what it’s worth I signed up to be notified when AquaConnect releases their mac remote desktop product which is based on RDP but they aren’t even announcing dates.
Any ideas or am I just out of luck?
The minimum system requirements for iLife '08 requires either a Power Mac G5 dual 2.0Ghz or iMac G5 1.9 Ghz. My machine is a Power Mac G5 dual 1.8Ghz and my wife's iMac is a G5 1.8 Ghz. I bought my machine in 4/2004 so after just 3 years and 4 months the machine is, in so far as Apple is concerned, obsolete. We bought my wife her iMac in 6/2005 so in her case it only took 2 years and 2 months for her machine to be declared obsolete by Apple. I think that is insane. Apple takes thousands of dollars and gives us just over 2 years before declaring our machines obsolete? I am not a happy Apple customer.
And yes, I know, it is possible to run iLife '08 on these machines but we wouldn't have any official support and if there is a problem we can't even return the software since, it is my understanding, that Apple won't take back open software boxes. So we're screwed. I typically upgrade my computers every four years or so, so I was planning on upgrading my box in 2008 but even then I can't move to iLive '08 because we won't be upgrading my wife's machine until 2009 and we share iPhoto by file synching (as in, my wife's machine is the 'master' and I synch off her drive). And no, terminal serving in to my machine from her machine won't work. The whole reason we got my wife a Mac is to make her life simpler, not more complex. Besides, she downloads the pictures to her machine, not mine.
Normally Apple makes me really happy but I feel seriously screwed by iLive '08. Obsoleting a main line machine in under 3 years is just wrong.
As someone who writes for a living I have used a whole slew of word processors and generally haven't been all that happy with any of them. When I write I want to focus on the content, not the presentation. So the whole WYSIWYG generation of word processors left me cold. In fact, I spend most of my time in outline mode in Word. LyX takes a different approach. It focuses on What You See Is What You Mean (WYSIWYM). In other words, it doesn't worry about formating, just content.
When I first reviewed LY X a year ago I decided it was good enough to use (and have done so regularly since) but still painful. With the 1.5.1 release I can revise that review to say that it's only minorly irritating to use LY X but it's good points are so numerous that it's more than worth the pain if you need to deal with large documents, with math formulas or with large bibliographies. And thanks to the efforts of folks like Dr. Richard G. Heck (who has my undying gratitude for fixing HTML generation in LY X) LY X is substantially better at generating HTML.
LY X does have a learning curve and one is well advised to at least read the tutorial (Help->Tutorial). But I believe that the modern versions of LY X have vastly improved over their predecessors and the learning curve is well worth the effort.
Continue reading Making LY X Produce Decent Hyperlinked
HTML & PDF Files
The good news is that J2SE 1.5 is available for OS X. Last I checked it was available here. For whatever reason Apple decided to keep the default version of Java on OS X as 1.4.2. So when I try to run Java programs directly from Terminal using "Java -Jar X.Jar" the program will be run under 1.4.2. But the goodies in J2SE 1.5 (like generics and enums and iterators) are just too yummy to give up so all my Java code is in 1.5 which means it won't run on Terminal. To fix this problem I found a script (details available here). Once I downloaded the script and saved it as java_functions_bashrc, I then opened terminal, navigated to the directory with the file and executed "source java_functions_bashrc". This changes the command prompt to indicate that the file is running and I then ran "setJava 1.5". At this point any Jar files I run will be run under J2SE 1.5. I tend now to write little scripts that wrap my Jar files to load up Java 1.5.
Naive Java user that I am when I built a Java program that contains Jar files for Xerces and MySQL and such I assumed that Eclipse would be able to create a Jar file for my program that contains these other Jar files. That part was right, Eclipse can do that, what Eclipse can't do is set up the class paths correctly so my custom generated Jar file can't find the classes it needs. Thankfully, One-Jar came to the rescue.
Continue reading Creating Executable Jar Files That Contain Jar Files
[Updated to include instructions on how to configure web browsers to only use Tor for some websites but not others.]
Tor is an EFF supported open source software project that makes it difficult for anyone to figure out who a Tor user is talking to on the Internet. For example, someone using Tor can pretty effectively hide which websites they visit, where they download content from, who they are sending e-mail to, etc. As I explain below, Tor is a tool everyone should be interested in, even those who don't think they have anything to hide.
Unfortunately Tor's performance can be quite slow. But using proxy configuration files (pac files) it is possible to configure browsers to use Privoxy/Tor for some websites but not others. This is not a perfect solution since, as I explain below, there are some trivial ways to get around this technique but it is better than nothing.
Continue reading Tor & Why You May Have Something to Hide
I really like iTunes. In general it is easy to use. Unfortunately it does have some short comings and my experience with Magnatune showed some of them. Specifically, iTunes handles m3u play lists badly and it can't handle FLAC files. But thankfully there are somewhat reasonable work arounds.
Continue reading Working Around iTunes Problems