Archives: September 2009

IE7 + Putty + SOCKS5 Proxy + VirtualBox

I need to test web apps with IE7 for $work. I work from home and use a reverse SSH tunnel into the corporate LAN. I run a SOCKS5 proxy using the -D option to ssh over the reverse tunnel. I use a Mac.

What’s a geek to do with these odds and ends?

I run VirtualBox (free VM from Sun) with WinXP for IE7. No problem. I use Putty to open a ssh SOCKS5 proxy over the reverse ssh tunnel. No problem. Problem: IE7 does not route DNS requests over SOCKS so even though I can theoretically get to the remote HTTP server, I can’t resolve names inside the corporate LAN using the corporate DNS server.

The Russians to the rescue.

A nice little Windows app that lets any Windows app proxy through it. Now I can test my web apps with IE7 under a VM on a Mac using a reverse SSH tunnel + SOCKS5 proxy.

How’s that for jargon overload on a Friday?

Search::Tools 0.26 released

After several weeks of late nights and OCD-tinged hacking, I’m pleased to have uploaded version 0.26 of Search::Tools to CPAN.

I’ve also started a page just for this module.

The big thing in this release is a rewrite in XS/C for much of the tokenizing and snippet extraction code. That, and lots more test coverage. A big thanks to Henry at zen for prompting this development and release and for providing good bug reports.

I also want to acknowledge how awesome the NYTProf profiling tool is. Helped me find all the bottlenecks.

Quiet Fear

When my friend and neighbor Chris was out watering his sculpture late at night a couple of winters ago, little did I know pictures would end up on the huffingtonpost.

Life is strange.

My son and I walked over the next day to visit the ice house and Ari was so intrigued that he snapped one of those delicate icicles off in his little hand. Chris and I quickly intervened lest any more of his hard work be undone by a curious three-year-old.

But that is the way with Chris’s work: my boys — most everyone who encounters it — want to climb inside and animate the work. Chris’s sculpture begs for it. In a good way.

That huffingtonpost article interprets the work in a way I never would. Global climate change? If anything, works like that will become harder to create as Minnesota gets warmer. Chris had to ice that house two times, as after the first time it thawed out. That’s where the quiet fear is for me: winter is disappearing. I need winter just like I need summer: it resets my psychic clock.

perl projects

For several years I have developed software projects using Perl, pushing them to the shared Perl repository at CPAN. During that time I have maintained my own Trac install at, mostly for the use of the SVN browser, which I find helpful. I’ve started updating the wiki on that site as a home base for my Perl projects. Google suggest to me that I’ve not made that URL public before, so here it is, for the collective memory.

Perl Accessors

Thanks to the presence of mind of Marcel GrĂ¼nauer, the Perl community can easily see benchmarks for common Perl accessor packages with App::Benchmark::Accessors.

Here are the numbers on my MacBook Pro with 10.6:

# class_accessor              719424/s
# rubyish_attribute          1176471/s
# spiffy                     1342282/s
# class_spiffy               1388889/s
# class_accessor_fast        1428571/s
# class_accessor_complex     1449275/s
# class_accessor_constructor 1470588/s
# class_methodmaker          1550388/s
# moose                      1612903/s
# moose_immutable            1612903/s
# accessors                  1724138/s
# mojo                       1785714/s
# mouse_immutable            1941748/s
# mouse                      1960784/s
# class_accessor_classy      2000000/s
# class_accessor_fast_xs     3333333/s
# class_xsaccessor           3508772/s
# object_tiny_xs             3508772/s
# rose                       3571429/s
# class_xsaccessor_array     3921569/s

Glad to see Rose::Object (with Class::XSAccessor support) near the top of the list. That’s what I chose for Net::LDAP::Class, and I’ll be switching to that for the rest of my projects RSN.