Mon, 14 Apr 2008

TurboTax for Linux users

Linux has been my primary OS for several years. I used to keep a Windows box simply for the purpose of running TurboTax once each year. Then Intuit began offering TurboTax online, and I was able to prepare my returns using my Linux desktop system and Mozilla browser. The Windows box went on the scrap heap.

In past years, I've always received a browser compatibility warning using TurboTax Online. I ignored the warning was always able to complete my return without any difficulties.

This year, however, the browser compatibility check page has no continue button. It is no longer a warning; it is a brick wall.

I found a reasonably painless way over the brick wall using the User Agent Switcher plugin.

When presented with the browser compatibility check page, I use the User Agent Switcher to lie to TurboTax, telling it I'm using Internet Explorer 6.0, then I reload the page. The compatibility check passes and the sign on page loads.

Next, and this is actually the most important step, I immediately set the User Agent Switcher back to default and reload the sign on page. Failing to do so results in a sign on page that doesn't work for my Mozilla browser.

After scaling the brick wall, it's clear sailing. I was able to complete my tax return without a hitch, including Schedules C and D.

I found a post on the ArchLinux BBS that was helpful, but using the alternative Start.htm link provided didn't work for me since I was initiating the process from a brokerage account that netted me a discount price on TurboTax Online. Using the simple URL bypass resulted in the full retail price.

It also failed to mention the need to set the User Agent Switcher back to default and reload the sign on page.

Intuit should really test their online tax filing application with Linux. With the exception of the browser compatibility check failure, it seems to work just fine. Surely there are enough Linux users to warrant some testing and a simple modification to the compatibility check.

[/linux] [link]

Sat, 19 Aug 2006

Paged directory listing with color

A friend had the typical alias ls='ls —color=auto' to produce directory listings in color. When I pipe the output to less, he said, "I lose the colors. For a long listing, I would like to pipe the output to less and preserve the colors. How can I do that?"

With a bit of experimentation, I came up with the following short script and saved it as $HOME/bin/lsl.sh.


 #!/bin/sh
 lsl () {
     /bin/ls --color=always -C $* | less -r
 }

To use it, source it, for example in .bashrc. Then, 'lsl' will behave just like 'ls' except the output will be paged with 'less'. I added the following line to my .bashrc:


 source $HOME/bin/lsl.sh

The trick is to first tell 'ls' to always use color, even when the output is not to a terminal, then tell 'less' to display raw characters with the '-r' option. Because we want to pass arguments to 'lsl' just like we do to 'ls', it needs to be a function, not a simple alias.

[/linux] [link]

Sun, 10 Oct 2004

Mount St. Helens meets Linux

The Mount St. Helens VolcanoCam is a webcam located at the Johnston Ridge Observatory. The online image is updated approximately every 5 minutes. With recent volcanic activity, I started checking the VolcanoCam image periodically.

Not having time, patience, or inclination to watch it for the hours on end that would be required to see an eruption which could occur at any time, I ran a small script to begin grabbing the image every 5 minutes.

Actually, to call it a script is an overstatement. I simply started a screen session and entered on the command line:


 while true; do wget \
 http://www.fs.fed.us/gpnf/volcanocams/msh/images/mshvolcanocam.jpg;\
 sleep 300; done

Originally, I intended to simply let wget run in the screen session for the day and view the images when I returned home. But it's been running continuously since Monday, October 4th, when I started it.

Frustrated with my inability to view the images in a reasonable way, I decided to try to create an MPEG movie with them so I could quickly scan the day's images for interesting events and single step the frames when I found one.

It took a bit of research to discover the tool I needed was ppmtompeg, which is part of the netpbm package of graphics software. It took a bit longer to learn how to use it. The result has been MPEG files for each day starting with Monday, October 4, each about 2MB. I'm using the EXHAUSTIVE search algorithms for best compression, so it takes about 7 minutes to create each MPEG file on my 2GHz P4 system.

I've used the contact form on the VolcanoCam to request permission to share the MPEG files I've created since I don't own the images used to create them. No response, yet. If they grant permission, I'll find a way to get the MPEGs posted on provide links to them.

This little project demonstrates one of the many reasons I love Linux. The tools I needed for this simple, personal use project were readily available and the only cost was the time and effort required to learn them.

[/linux] [link]

Sun, 08 Feb 2004

Linux Potpourri

I took a few random paths on the Web today and found couple of gems. The first is a neat little article about using LPD to play music.

Following the instructions, I had it working in minutes. This would be be a lot of fun in an office or group setting where everyone could queue up a few of their favorites songs for all to listen to.

Apparently a group of engineers at Dell are behind the new Dell Linux Community Web. This looks like an interesting and useful site. I've bookmarked it and I'm sure I'll be back regularly.

I found a link from Jeff Duntemann's ContraPositive Diary to the Linksys Blue Box Router HOWTO by Eric Raymond. I've always liked the Linksys devices but hadn't realized some run Linux and play so well in a Linux environment.

I may consider replacing my Linux firewall box with a Linksys Blue Box soon. I subscribed to Vonage and I'm anxiously awaiting the arrival of the analog phone adapter (probably a Motorola VT1000v ). I'll be using the Linux Advanced Routing and Traffic Control HOTWO to figure out how to ensure quality voice connections without dropped packets or delays. I intend to install the analog adapter behind my firewall.

If a Linksys Blue Box can do a better job of routing my VoIP traffic I'll happily replace my 400Mhz Celoron based firewall. I can recycle it as my annual Windows tax machine.

At home, I use Windows just once a year. The only piece of software I find I still need Windows to run is TurboTax. I have an old 200 MHz system with Windows. Once a year, I fire it up, headless, with just a keyboard (and only then because it refuses to boot without one). Then I access it via RealVNC from my Debian GNU/Linux desktop. I would happily use one of the online tax preparation services except I need to prepare several returns: mine, one for each of the kids (3), and this year I'll probably be preparing one for my mother. Having my own software is more cost effective.

I love all my free, open source software. However, I would happily pay for a good quality tax preparation package to run on Linux. It would certainly be nice to see TurboTax for Linux!

[/linux] [link]

Sun, 16 Nov 2003

Linux season

With winter here, I'm spending more time indoors, now. Linux gets most of my indoor time. After a long summer of neglecting Linux in favor of bicycling, I've refocused on extending my Linux knowledge and skill.

I've been reading The Art of UNIX Programming by Eric S. Raymond. This isn't the kind of book I would normally purchase. It is virtually devoid of any in-depth technical material, source code listings, and detailed explanation of technique. I spent nearly two hours at Barnes and Noble thumbing through a copy before I decided I had to take it home with me.

I've learned great deal from the book that I wouldn't have gotten from a more technical treatise. I learned, for example, which IPC mechanisms are preferred, and that some, although documented, are deprecated and should not be used. There's a lot of best practices information to be gleaned from Eric's new book.

And there were a few threads to chase, as well. Eric referred to Pic as one of his examples of mini-languages. Pic, it turns out, is a tool I immediately put to use. I generated the images in my Vernier scale post a few days ago using Pic.

Pic was originally written by Brian Kernighan. I used the GNU version, gpic, which is part of the groff package.

That lead me on a search for a similar mini-language to use for 3D modeling. I really wanted such a tool when I wrote my Summer Solstice post in June. What I found was POV-ray. POV-ray's scene description language does, indeed, allow me to quickly and easily describe simple models like the one I needed for the Solstice post. It goes far beyond, however. A visit to the POV-ray Hall of Fame (a continuously updated gallery of scenes) is well worth the time.

I bought a used flat bed scanner, an Epson Perfection 1200U, on eBay. When it arrived, I discovered I did not have support compiled into the Linux kernel for USB scanners. Normally, that would be a simple matter of compiling the necessary module and installing it individually. But somewhere along the line, probably with and upgrade to gcc, the 2.4.20 kernel source would no longer compile.

Linux is so stable that there has been no need, whatsoever, for me to keep on top of the kernel releases, recently. So, the need to get the new flatbed scanner working resulted in a download and compile of the 2.4.22 kernel. That was, as always, a trouble free experience. And my sound card now has native kernel support, so I was able to drop the Alsa sound drivers I was using previously.

I'll need some time to experiment with the scanner, but so far, the SANE scanner utilities seem to be doing a perfect job.

Linux certainly hasn't lost it's appeal for me; I'm looking forward to plenty of time with it this winter.

[/linux] [link]

Tue, 08 Jul 2003

SMTP Authentication in Exim

At work, we recently took our Microsoft Exchange Server off the front lines. It still handles internal mail, but all external connections are made via Linux servers running Exim.

The motivation for the change was spam. We discovered we could eliminate about 50% of our spam by using the Spamhaus RBL. It is trivial to configure Exim to use an RBL. The same can't be said for Exchange Server. Simply making a Linux server the primary MX wasn't enough. The spammers just backed off to other MX hosts, the Exchange Server being one of them.

So, we configured back-up MX support on three separate domains each on different broadband networks. They each provide backup MX for the other two and they each use the same RBLs. Spam on all three domains dropped dramatically.

We had, however, relied on the Exchange Server to provide our road warriors with SMTP access. We allowed relaying from IP address on the internal network and for authenticated connections from the Internet.

I was unable to find a way to allow relaying for authenticated connections while disallowing any mail delivery from unauthenticated connections. So, I simply added SMTP authentication support to one of the Exim servers.

The following configuration was added to a new, 7th section in the exim.conf file:


 # End the Rewrite section.  It was implicitly ended here before,
 # because this was the end of the file.
 end
 
 ################################################################
 #                AUTHENTICATION CONFIGURATION                  #
 ################################################################
 
 auth_login:
    driver = plaintext
    public_name = LOGIN
    server_prompts = "Username:: : Password::"
    server_condition = "${if eq{$2}{${lookup{$1}lsearch\
                        {/etc/exim/passwd}{$value}fail}}{1}{0}}"
    server_set_id = $1
    
 auth_plain:
    driver = plaintext
    public_name = PLAIN
    server_condition = "${if eq{$3}{${lookup{$2}lsearch\
                        {/etc/exim/passwd}{$value}fail}}{1}{0}}"
    server_set_id = $2
 
 auth_cram:
    driver = cram_md5
    public_name = CRAM-MD5
    server_secret = "${lookup{$1}lsearch{/etc/exim/passwd}\
                     {$value}fail}"
    server_set_id = $1

I started with CRAM-MD5 hoping, but not expecting, the remote Microsoft Outlook clients would use it to authenticate without sending clear text passwords. Not surprisingly, Outlook did not use it.

Next, I added the PLAIN method. This time, I was surprised when Outlook did not use it. I resorted to sniffing the authentication transactions between an Outlook client and the Exchange Server and discovered that the LOGIN method was being used. So, finally, I added LOGIN support. The other two remain to support any mail clients we may employ in the future that use them.

The password file /etc/exim/passwd is a simple key value list of user IDs and passwords:


 alice: sea-kert
 bob:   mySecret

One step closer to a non-Microsoft network!

[/linux] [link]

Sun, 06 Jul 2003

Getting mail to AOL users

Since finally getting broadband Internet access a few weeks ago, I have very much enjoyed the ability to host my own web server and mail server.

Today, however, I had trouble sending e-mail to a couple of AOL users in my address book. I remembered reading a /. article about AOL blocking e-mail from DSL hosted accounts, so I immediately recognized the problem.

Fortunately, solving it was trivial. I prefer to let my mail server, running Exim, send mail directly, but adding a smarthost router entry for AOL was quick, easy, and solved the problem:


 smarthost:
   driver = domainlist
   transport = remote_smtp
   route_list = "aol.com smtp.comcast.net bydns_a"

I just inserted the smarthost entry ahead of my default lookuphost router entry. Now, mail to aol.com users is sent via my ISP's mail server. Everything else is still sent directly.

[/linux] [link]

About this weblog

This site is the personal weblog of Marc Mims. You can contact Marc by sending e-mail to:
marc@questright.com.

Marc writes here about cycling, programming, Linux, and other items of personal interest.

This site is syndicated with RSS.

Archives

Credits

CSS stolen from Tom Coates who didn't even complain.