My Solstice Holidays present to myself this year was a Nokia N810 Internet Tablet. It's kinda like an IPhone, but without the phone part and especially without the locked down you-can-only-do-what-steve-jobs-says-you-can-do garbage. It runs on Linux and is wide open. I was very interested in getting one right up until I discovered that somebody had already ported Ruby to it... then I just HAD to have one. Don't hold your breath for Ruby to come to the IPhone. It'll never happen.

So, I've had it for about a week now, and have already been having way too much fun. It's got a built in GPS (yah that was another reason I HAD to have it), and I've been playing with that a bit. Naturally, I wanted to write stuff for it in Ruby, and naturally I wanted to take advantage of the GPS to do some location based stuff, so the first thing I needed was a Rubyish way to get at the GPS data in a friendly object-oriented fashion, which leads me to...

I just released Rupl, the RUby Personal Locator. It's a Ruby library for accessing the GPS. It's what I intend to use in any apps that I write for this thing that need to know where they are in the world within 20-30 feet. I put it up on RubyForge in hopes to attract more Ruby developers to this platform, as well as hope that they'll take it a run with it to create some cool location oriented apps that even I hadn't thought of (but can't live without).

Obviously, Rupl has a way to lookup where the unit is (Rupl.last_known_location) which will return a hash of data on where the GPS was the last time it got a GPS fix and what time that was at. So for instance, if you go inside a building and the GPS looses the satelite signal, last_known_location will return the latitude and longitude of the front door and whatever time it was that you were there.

Secondly, Rupl provides a few convenience functions to do related calculations such as computing the distance and direction between two given coordinates.

And last but not least is the Trigger class. Your application can create an arbitrary number of triggers and pass a block of code that will be fired whenever the trigger conditions are met. For instance, conditions can be based on the distance you've moved away from where you were the last time the trigger fired. So the trigger will fire every time you move another 42 feet, or whatever. Or, conditions can be based on how far away you are from some arbitrary hotspot and fire when you get within some set radius of that point.

Rupl can be found on RubyForge at the follow addresses and is released under the MIT license. Enjoy!

Project Page: http://rubyforge.org/projects/rupl/
Documentation: http://rupl.rubyforge.org/
SVN Repository: http://rupl.rubyforge.org/svn/trunk/
Comments: 0 [add comment]
At last, Missoula has a Linux Users Group. The Mailing list is located at http://groups.google.com/group/msla-lug?hl=en. We had 12 people show up to our first meeting on Wednesday, and have another one scheduled for Saturday the 15th. Hopefully we'll eventually settle on a regular schedule of meetings so they can be easily planned for.
Comments: 0 [add comment]
  • Tux500

Go #77

Comments: 0 [add comment]

I've been using TurboTax Online to manage my taxes since 2000. Usually I've been very pleased with their service. When you've got a few small investments a run a small home based business, using TurbotTax Online makes the whole process of filling out all those stupid forms (not to mention figuring out WHICH stupid forms you actually need to fill out and which don't apply to you) exponentially easier the more complex your situation gets.

However, this year when I went to do the dirty deed, I instead got redirected to a page telling me that TurboTax online "only supports IE6 or better, or Firefox 1.7 or better" (but I'm running Firefox 2.0.0.1?!?!?).... "on Microsoft Windos XP or better, or Mac OS X".

So I ask myself "What the #*&! does the operating system I'm running have to do with the price of tea in China?" As it happens, I managed to finally wean myself from Redmond and purged all Microsoft products from my home about 9 months ago. I run Fedora Core 6 and have been very happy with my decision.

Software that physically resides on a computer is dependent on the underlying OS to be able to function, but the whole point of Web Applications (such as TurboTax Online) is that you don't need to worry about the underlying OS at all, as long as the user is running a standards compliant browser.

A significant advantage of building Web applications to support standard browser features is that they should perform as specified regardless of the operating system or OS version installed on a given client.

Already knowing it was a futile waste of time, I called TurboTax customer support to complain. To her credit, the girl who answered the phone was very kind and friendly and did everything in her limited power to solve my problem. My purpose wasn't really to get anything fixed, since I knew that wasn't going to happen, but instead to get my complete dissatisfaction with their decision to discriminate against me and other Linux users on record. The support girl put me on hold several times to talk to her support people and after about 15 minutes on the phone, their final answer was that the "scripting is different on different operating systems." I told her that her support people were feeding her a line of bull, decided I'd done my civic duty on behalf of the Linux community and let her move on to help other customers.

After doing a little searching online, I found several forum threads that indicate people have used TurboTax Online in past years on a wide variety of operating systems, including Sun OS. So, it would appear that this is the first year TurboTax decided to outright block everyone using an alternative OS.

All was not lost though, Firefox has this nice feature that allows users to install add-ons, one of which is called User-Agent Switcher that changes the "User-Agent' header that gets sent to the server on every page load. The User-Agent header identifies what browser your running as well as what operating system. I installed that and set it to indicate to the TurboTax server that I was running Firefox on Windows XP. Bingo! That got me past the 'compatibility check' screen and on to doing my taxes.

Just for fun I played with a few different settings. In the end as long as the User-Agent header reported that I was running Firefox, it didn't matter which OS or version I chose, as long as it was on their supported list. (Note to those having trouble following along; I'm not actually changing the OS my computer is running. I'm just changing what OS TurboTax THINKS I'm running.) Everything about the software worked fine. There were absolutely NO problems due to me being on Linux. The only time I had any issues was when I set the header to report that I was running IE6. I agree and can confirm from experience that there are differences between how Firefox and IE handle javascript and it's not surprising that a script written for IE wouldn't function in Firefox... but note that that has abolutely nothing to do with the underlying OS.

What I found most amusing though, was that I only needed to change the User-Agent string to get past the 'compatibility check' screen at the very beginning. After that, I could change it back to tell the truth and everything kept humming right along, happy as a clam. So, it's not like the server was delivering different code depending on your OS. Firefox users on Windows and OS X were getting the same scripts.. the same scripts that would (in fact, did) work just as well in Firefox running on Linux. The only thing preventing Linux users from using the software was a guard posted at the front door telling them they weren't allowed in to the party. But a simple disguise to get past the guard was all that was necessary to fix the 'bug'.

So, despite an otherwise great software product that (even still) makes my life much easier than it otherwise would be every spring, SHAME on you TurboTax! You only got my money this year because I was in a crunch for time. Next year, I'll be looking elsewhere.

It's a fact though that there are tons of different browsers out there on tons of different OSs, and it would be completely unreasonable to expect TurboTax, or any Web Application developer, to test their software on all possible configurations. The solution though isn't to block anyone using something different than what you did test on. The solution is to warn those of us running something you haven't tested, and give us the option to proceed at our own risk. Those of us who run alternative OSs are usually quite at home in uncharted waters, as long as we're not being arbitrarily denied access.

Comments: 0 [add comment]