an eddy in the bitstream

Category: projects (Page 8 of 25)

Building Swish3 on OS X 10.6

I just wasted many hours trying to figure out why libswish3 failed to pass all tests on 10.6.

This link explains what I figured out to be true the hard way:

10.6 is now a mainsream 64bit OS !

10.5 a 64bit capable 32bit OS !

If I forced 32bit compile all is well:

CFLAGS=”-m32 -O2 -g” ./configure && make test

While I would like to figure out how to compile as a native 64bit app, my MacBook has too many libs from before the 10.5 to 10.6 upgrade to trust that all the dep chain is 64bit compat.

The error I was seeing was the noxious BAD_ADDRESS error which traced back to some libxml2 hash features. Red herring. Of course, I had to recompile libxml2 with the -m32 as well so that everything was 32bit compatible. Took me hours before I noticed that the older working version on the same box was about half the size of the new version… which triggered the ol’ 32-vs-64-bit thing in my brain.

Update: In the end this was a bug in libswish3 with confusing naming of some variables. But the 64-bit thing was a Good Thing To Realize.

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.

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 perl.peknet.com, 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.

« Older posts Newer posts »

© 2024 peknet

Theme by Anders NorenUp ↑