Why I Switched Back To Windows From Linux

I’ve been using Windows as my primary operating system for over 20 years, since Windows 2.1x. I’ve used every major release since then plus some exotics like NT for DEC Alpha. But as I get older, more experienced, and more knowledgeable I get more frustrated with Windows. I’ve always loved the command prompt so when I was introduced to the *nix environment about 10 years ago I took to it quickly. I’ve used Linux in the server environment but had limited experience with it as a client OS. Fast forward to a little over a year ago. I began using a Mac at work, running the latest release of OS X. Setting aside the fanboys’ belief that it’s the greatest thing to ever grace a hard drive, I could see real merit in a *nix based client OS. After my experience with OS X and frustration with Vista’s bloat I decided to try Linux on my laptop.

Most of my exposure had been to CentOS. I had installed Ubuntu briefly before my last Windows re-installation and had liked what I saw. I decided to try the latest development release. This was in January of this year so I ended up with an early alpha of Jaunty Jackalope (9.04). I was excited to get it all setup and spent a weekend installing and configuring. I quickly found that early alpha Ubuntu releases are full of bugs. The system was unstable and had many issues. I decided to persevere and just deal with it. With each update the system became more and more stable. But I also found some important problems that remained unfixed. This would play a big part in my return to Windows.

(get ready for the rant)

From day one video playback had problems. Sometimes videos would just stop playing. This did improve as updates were released but never went away. H.264 videos would stop every 10-15 minutes forcing me to skip around to restart playback. I watch a lot of Xvid and x264 encoded files and never had issues in Windows. These problems were player independent and were either video, codec, or sound driver related. Speaking of sound drivers, Pulse Audio sucked from day one and never got much better. It frequently screwed up my audio by either eating resources or freezing. Flash playback was very very poor due to Adobe’s 64 bit version of Flash 10 being full of bugs. I had to kill Flash almost every time I played something. Due to the prevalence of Flash videos on the web this alone would be enough to switch back.

Multi-monitor support for laptops is weak. When at home I connect my laptop to an external LCD for dual displays. On Windows all I have to do is plug in the display and my previous settings are automatically restored. In Linux I’d have to go into the video setup and enable it every time. Panels don’t like adding and removing displays. Every time I connected the 2nd display they would get screwed up and I’d have to fix them. I do this at least 5 days a week so it got annoying very quickly.

I had trouble finding some common Windows software equivalents. I didn’t rip any DVDs for two months because I couldn’t find a decent ripper. The ones I found either wouldn’t work or were a PITA to use. I spent half a day looking for video editing software that would allow me to speed up a clip and dub a song. I couldn’t find anything that worked. Want a good GUI based incremental backup solution? Good luck, I couldn’t find one. There is plenty of non-incremental CLI backup software, none of which did what I wanted.

Right before I switched back to Windows there was a regression in the WiFi drivers. It would drop my connection every minute or two.

(end rant)

That said, Linux has plenty of great features that Windows is sorely lacking. NTFS permissions are horrible to manage. VirtualBox was 5x faster than in Vista. Sleep mode was 10x faster than Vista. The configurability of Linux is far superior. Tight integration with the command prompt is a plus. Folding@Home dual core support is much easier to setup.

Had I wanted to spend hours troubleshooting, hacking, recompiling, and reading I’m sure I could have solved some of my problems. The thing is I don’t want that. I don’t mind installing software from the source, compiling libraries, and editing config files. I don’t want to have to rebuild everything just to make it work though. There is so much software available for Windows that if something doesn’t work there are 5 other good choices. Most of my time is spent in a web browser. The time I spend in the OS shouldn’t be obtrusive.

After testing Windows 7 RC in VirtualBox I was sold. Windows 7 eliminates Vista’s bloat. It’s what Vista should have been. I switched the day Vista 7 Beta was released and haven’t looked back. Sleep mode is now as fast as Ubuntu. VirtualBox is nearly as fast. I can use my favorite programs again. If I stick with non-Apple hardware I’m sure I’ll try Linux again, maybe a different distro running KDE. I found the X environment too rough around the edges for my liking. You’ll never see me running a Windows-based web server and for now you won’t see me running a Linux-based client.

June 6, 2009 • Tags: , , • Posted in: Uncategorized • 9 Comments

Solving XUL Permission Denied Exceptions

Our company has a XUL-based CRM-ERP application that I maintain. Like most applications we run into bugs from time to time. We’ve had an ongoing battle with some very annoying permission denied exceptions. The exact error varies but it’s always in the form “Permission denied to [accessing|get|set property] XULElement.something”. Here are some examples:

This past week we encountered one that had something to do with XULElement.childNode but I don’t remember the exact exception. For us these errors only show up after upgrading Firefox and almost always have something to do with trees. This one appeared after upgrading from Firefox 3.0.7 to 3.0.8. This is the third time I can remember these exceptions distrupting our app. There is almost nothing published on the internet about the issue and debugging a complex app without much incite can be a nightmare.

Fortunately I figured out what was going on! The root of the problem stems from bugs in the app’s Javascript. When a sequence of events occurs, say reloading a tree’s data from the server, other data is removed or reloaded. Due to a variable not being reset the JS that handles our trees attempts to access a child node that no longer exists.

It’s all well and good to find the bugs and fix them but why do these errors show up after Firefox updates? My speculation is that it results from improvements to the XUL core. It seems that, by default, these types of errors have been gracefully ignored. The missing elements were just passed over without generating an exception. As the XUL team improves their code they are adding additional, proper error handling by throwing exceptions for these events. While an exception should be thrown, adding them in at a later time can wreck havoc to existing code. In our case these exceptions break the application since it halts JS execution and the whole thing needs to be reloaded.

Our policy has been to insist on a Firefox version freeze, disallowing updates until we’ve had time to review and test each one. This is an unfortunate policy since new versions are released for good reasons (security patches, speed improvements, etc). While I’ve been actively pursuing these bugs and squashing them as they pop up I’m not sure what else I can do short of wrapping everything in try catch blocks. It would be nice if the Firefox changelog was more detailed, allowing me to actively seek out problems before they arise.

April 18, 2009 • Tags: , , , • Posted in: Web Development • No Comments

Site Resurrection!

That’s right my friends, The Dan Experiment is back. While I haven’t posted anything in months and no new worthwhile content has been posted in at least a year I haven’t forgotten about my blog. I started working on a whole new installation of Wordpress a month ago. I found time here and there to install plugins, find a new theme, and copy over the old data. The updated blog is now live!

I’ve been thinking a lot about my blog and where I’d like to take it. I want something more substantial than trite musings about my daily life. That’s what Twitter is for. Instead I plan on writing posts with substance. I’ll still post about my personal life from time to time but I want to shift more towards my work and views. This blog is over 3.5 years old now with very little content from the past 2 years or so. Over the next few days I’ll be taking time to write an extensive update about myself and my work. From there I will start with new meaningful posts that I hope will help or interest many people.

There’s still some ironing to do with the new site. The old image gallery has been removed which will probably break images I’ve posted around the web. I need to tweak various plugin settings and test all the features. While I like the new theme it’s missing a few things I want and it’s lacking in color. I’ll be getting these items finished up over the next two weeks. At that point I’ll consider the site out of beta testing and should be into full-blown posting mode.

April 8, 2009 • Posted in: My Websites • No Comments

Major Changes Soon!

Nope, the site’s not dead, far from it. Major changes are underway, changes I started planning back in July on my last update. This includes a different theme, new logo, new ideas, and a series of articles. Some of the planning is complete as are some ideas for the first few articles. I don’t have much more to say at this time. Stay tuned…

November 16, 2008 • Posted in: My Websites • No Comments

Template Tweaks

The template tweaks are nearly complete. Here are some of the changes I made:

I still need to change some images and do a lot of content updates but the site is progressing!

One very strange thing I stumbled on while testing validation was a spammer somehow added content to one of my posts. It was a list of links with display set to none, making it hidden. I assume it was from some older vulnerability in WP but I’ll be keeping an eye on the site.

New Theme, Updates Soon

I’ve changed the site theme to Tomodachi. It’s going to take some tweaking (links are sized incorrectly) but I like it. I’ll be updating a lot of things around the site, including the static pages, plugins, and more.

I’m going to shift some of my posts to cover my observations and ideas on web development, design, hosting, and related topics. I already have some topic ideas, such as “What To Look For In A Web Developer / Designer.”

July 7, 2008 • Posted in: My Websites • No Comments

What’s this? A post?!?!?

That’s right my friends, a new post after a year and 3 months of nothing. Recent ideas rekindled my interest in this site. As I’m heading off to the gym in a few minutes I don’t have time for a major update, but here are a few high points that occurred during my off time:

I’ve updated the site’s software to the latest version of WordPress and Gallery2. This broke the old skin. It was time to change it anyway. For now I’ll be sticking with a default skin until I have time to find and customize one that I like.

I’m Back!

I decided to switch to a new, cheaper server. I’m now up and running on the new VPS. I wrote a new post on the old server by accident and it didn’t get moved over :( I’ll try to summarize what has been going on with me.

I’ve been participating in a 12 week fitness competition, Body For Life. I’ve been keeping a daily log on the bodybuilding.com forum. The log can be found here: http://workout.thedanexperiment.com

I have a few things to post about in the blog so watch for updates soon! I promise!

March 7, 2007 • Posted in: My Websites • One Comment

Another Trade - WIT

One trading strategy I wholeheartedly believe in is CANSLIM. I’m not going to go into details about the method, you can read about it at the link provided and all over the web. It’s a fundamentals based strategy that relies on great earnings and great companies. When I was researching CANSLIM months ago I stumbled onto Pitbull Investor. I used their free trial with demo trading and had decent results, somewhere around 5% in one month. I finally ordered the system a few weeks ago. It’s basicly a simplified version of CANSLIM with the addition of the cup and handle chart pattern. Every week their automated system publishes a list of stocks that fit their guidelines. The past few weeks have created very small lists and none of the companies jumped out at me. Then this weekend the new list was longer. I found two stocks that interested me, WIT and MEOH. Both are fundamentally great companies but WIT is in a cup and handle chart pattern. They were also scheduled to release earnings today. I used the rest of my cash account to buy WIT yesterday at $16.96. Today they beat the predicted EPS of $0.10 by $0.02, pushing the stock up over 4% to $17.84 as of right now. I’ll be holding this stock until it reaches the target of $20.62, it goes sideways, or I find a new stock that I feel has better potential.

January 17, 2007 • Posted in: Financial • No Comments

Investing again…

It took a while but I’m finally back in the market. After selling my house I decided to put aside $5,000 to open a new brokerage account. While OptionsXpress has a LOT of great features their fees are a bit high. I’m keeping $1,000 with them as a backup account and for the tools they provide (free L1 streaming quotes, calculators, market scanners, etc). I put the $5,000 in a ChoiceTrade account. I haven’t decided if I’m going to stay with them yet but I’ve begun trading. Their website is bare bones and they don’t allow anything beyond basic options trades (no spreads, etc). Their fees are very low though, only $5 for stock trades (unlimited shares including penny stocks) and $0.75 per options contract ($6 minimum).

Anyway, back to the trading. I opened a long position of AMZN at $37.50 on Thursday and sold one $40 February call (ZQNBH). Online retailers had an excellent Christmas season with Amazon announcing that this season was their best ever. Despite the announcement there hasn’t been a lot of interest in AMZN. I believe that interest will increase as we approach their earnings release at the beginning of February. The implied volatility (IV) is quite a bit higher than historical volatility (HV), meaning that options are currently selling at a premium. If AMZN reaches $40 I earn about 10%. On the downside the stock has to decline about 3.4% before I start losing money thanks to the option. I plan on closing my positions by option expiration (2/14/07). As of now AMZN is up over $1 so everything is looking good.

January 16, 2007 • Posted in: Financial • No Comments