Monday, December 28, 2009

Disabling Firefox Preview in Aptana

Eclipse uses xulrunner to embed mozilla firefox within SWT applications. Unfortunately, xulrunner does not work with 64 bit cocoa (cocoa-x64). I'm trying to do Palm Pre development, so I don't need to preview my html in firefox. In fact, previewing in Safari is probably better anyway since, like the pre browser, it is webkit-based.

To disable Firefox preview, and stop errors like this:
(Build [ERROR] Unable to create Firefox browser control
No more handles (java.lang.UnsatisfiedLinkError: Could not load SWT library. Reasons:
no swt-xulrunner-cocoa-3624 in java.library.path
no swt-xulrunner-cocoa in java.library.path
Can't load library: /var/folders/Az/Az+0r2ubHtm3wMGMatRuQE+++TI/-Tmp-/swtlib-64/libswt-xulrunner-cocoa-3624.jnilib
Can't load library: /var/folders/Az/Az+0r2ubHtm3wMGMatRuQE+++TI/-Tmp-/swtlib-64/libswt-xulrunner-cocoa.jnilib
and this:
(Build [ERROR] (Build [ERROR] Unable to create Firefox browser control
No more handles [Could not detect registered XULRunner to use]
Go to the Window->Preferences->Aptana->Editors->HTML->Preview preference page and uncheck Firefox.

If you want to use xulrunner with eclipse out of the box, you must use eclipse carbon 32-bit. If you want to be a little more adventurous, an aptana bug report claims that xulrunner is a universal binary and runs on carbon and cocoa 32-bit. I haven't tried to verify this.

Monday, October 5, 2009

XCode Beach Ball Lock Up While Running Unit Tests

I downloaded the iphone unit test calculator example project, iPhoneUnitTests. I followed the included directions, and my XCode locked up with a beach ball. I'm running OS X 10.6 and XCode 3.2. According to this article, there is a problem with XCode's regex parsing of the test completion dates for GMT-5:00. Since I'm in Central Daylight time, I am affected. The simple solution is to switch your time zone to Pacific.

Thursday, April 9, 2009

VmWare Fusion Shared folders in CentOS Guest

I'm working on a personal project that requires RHEL, so I'm using CentOS as a free substitute. Using the default options for RHEL5 on fusion didn't work. Nothing was showing up in /mnt/hgfs, which is where shared host folders should show up. Within the steps of this tutorial, I found the trick. I needed to disable SELinux, which means I needed to manually install CentOS rather than using fusion's easy install option.

Sunday, March 29, 2009

Mail stays in my Gmail inbox even after I trash it on iPhone

Actually, on my 2nd generation iPod Touch, but its the same app as the iPhone. I had the most annoying problem: I followed all the Gmail instructions on setting up iPhone mail for gmail, yet when I would trash messages, they would remain in my inbox. After tons of research, I finally found an apple forums post that resolved my issue.

Basically, I needed to set gmail to expunge my message immediately on the 'Settings -> Forwarding and POP/IMAP' menu. It seems that gmail thinks expunging a message means removing it from the inbox. I thought that expunging a message meant deleting it, and I don't want my messages to be deleted. It would be very helpful if the gmail team would include a note about these settings in their instructions.

Monday, March 9, 2009

Crapple Care

Almost 2 years ago, I bought myself the nicest laptop possible for my birthday.  I hadn't purchased any computer equipment for 5 years, and previously, I had constantly upgraded my desktop machines.  I originally purchased a 17" Dell, but Vista had too many issues (mostly bluetooth), and Dell claimed my video card would have 256MB of RAM and I only got a 128MB card.  I was tired of fighting Dell, and Apple had just released a new Macbook Pro with a 1920x1200 17" screen.  I spent $3000 on the Macbook Pro and a 3 year AppleCare plan.

Today, I took my Macbook Pro to the Apple store in the St. Louis Galleria because the sound died on me.  Up until I got to the Apple store, Apple had an experience that far surpassed Dell.  When my bluetooth didn't work with the mouse I purchased from Dell, I had to spend almost 4 hours on the phone before I could talk with a native-english-speaking high level technical support person.  When my sound died on my Macbook Pro, I waited about 5 minutes to talk to a native-english-speaker.  He seemed more knowledgeable than the Dell tier-1 tech support.  He had me wait another 10 minutes while he asked higher-level technical support about my issue, and when he came back he scheduled me for an appointment at the Apple Store's genius bar for the same night.  So far, so good.

Once, I got to the Apple store, Apple began giving its lead in customer service back to Dell.  I arrived 5 minutes early for my 8pm appointment and waited 20 minutes without explanation.  If Apple is going to make appointments, they should at least explain when they are 15 minutes late.  After a short diagnosis, they notified me that my audio board was probably dead and that it would need to be replaced, which was covered by my Apple Care plan.  The Apple store clerk said it would take 1 week to replace the audio board.  This is total crap.  I could have almost purchased two Dell laptops for what I paid for my Macbook Pro, yet I have to wait almost 7 times as long to get my laptop back from Apple.

When I was dealing with my bluetooth and video card issues with Dell, I had terrific repair experiences.  Even though Dell had terrible phone technical support, their repair service is second to none.  Dell sent an independent contractor to my office and she repaired swapped my bluetooth card the very next day after I called technical support.  It took only two days for Dell to swap out my video card the first time, and only one day the second time.  I never had to leave my office.  The work was all done in front of me, and the repair technician was on time for all her appointments.

Even though Apple makes a vastly superior product that I'm very happy to pay for, they have lost a repeat customer today.  I'll probably buy Dells in the future and just dual-boot ubuntu.

Sunday, March 8, 2009

Windows UAC rootkit

Last week, my mother-in-law had me look at her laptop because she couldn't defrag her disk, and "Google wasn't working". I thought perhaps her google problems were related to her satellite internet, and I didn't think defragging really mattered anymore, so I thought perhaps nothing was wrong.

My gut was very wrong.

I was able to get google results, so I assumed google worked. Additionallly, her gmail came up fine in firefox and in outlook. However, her defrag didn't work. The defrag UI would start, but it wouldn't perform a defrag or analysis, so I tried googling for a diagnosis of these symptoms.

Then I discovered what my mother-in-law meant when she said "Google wasn't working."

Whenever I clicked on a google search result in firefox, I was redirected to spam sites like When I tried to navigate directly to some security sites, or microsoft update my browser would fail to connect to the site.

I noticed after initially clicking a google result, my status bar would show a link to I googled '' and found the following very helpful result:

Unfortunately, my mother-in-law had gotten a rootkit somehow, and her AVG antivirus was unable to detect the rootkit, neither was spybot or adaware. Thankfully, the above link outlined a fix using combofix, malware removal software I'd never heard of, but it worked perfectly. I had to download the installer from another machine because the rootkit prevented me from connecting to the download site. After downloading, I changed the name of the executable so the rootkit wouldn't stop it from running. I followed all the recommendations of the combofix prompts and poof! no rootkit.

Thanks combofix!

Sunday, February 1, 2009

Ubuntu 8.10 Intrepid Ibex on Dell Dimension 2400

I just installed Ubuntu 8.10 Intrepid Ibex server on my Dell Dimension 2400. It was locking up after I would log in. I found the problem and workaround on Ubuntu's forums:

and here on Ubuntu's bug tracker:

I applied the workaround and the login proceeded normally. Yay.

Monday, January 12, 2009

dojo.require omitModuleCheck

I don't get why the omitModuleCheck option exists in dojo.require.  I can't think of a situation where you would require a javascript library to be present yet not care whether loading of said library fails.

Also, setting omitModuleCheck to true causes problems for debugAtAllCosts in firefox 3.