Slash Boxes
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

use Perl Log In

Log In

[ Create a new account ]

kasei (2524)

  (email not shown publicly)

Journal of kasei (2524)

Friday July 21, 2006
03:20 PM

Another year...

Almost a year since I've posted here. Sigh.

I spent quite a bit of the last year helping to write and edit a textbook for bioinformatics in beginning Perl. It should hopefully be published sometime later this year. The two authors I was working with were very open to my suggestions on getting the code into shape and keeping to Perl-ish idioms.

After writing and many rounds of editing, and with a looming deadline, they weren't as thrilled with my suggestion for getting a draft copy to The reason for this was partly justified as Perl Mongers, like any technical group, not being the target audience for the textbook (something that came up quite a bit in the review process where skilled programmers and Computer Science professors griped about things that arguably aren't relevant to bioinformaticists who are just learning to program). I think having the book reviewed by the Perl Mongers would have been a good thing, so this was a bit disheartening.

Most of my time this past year not spent on the book was spent working on RDF::Query, my pure-perl SPARQL implementation for querying RDF data. Perl is an underdog language in the Semantic Web world, but there seem to be a few people working on keeping Perl able to wrangle RDF easily and efficiently.

Most of my recent RDF::Query work has been on compiling SPARQL queries to SQL so that the runtime of complex queries doesn't explode on large data sets. This often increases the speed of queries by an order of magnitude or more, and puts the speed of RDF::Query ahead of things like Redland, while maintaining the flexibility of user-defined query functions.

My most recent work has been on combining user-defined query functions with the underlying database features so that I can use PostGIS spatial functions directly from SPARQL queries. I believe this has great potential for using SPARQL to make location-aware queries of such things as photos, maps, restaurant reviews, etc. These queries are espeically interesting as a SPARQL endpoint can emit the query results (via XSLT) as RSS or KML which can be used as a live feed of data in applications such as Google Earth and news aggregators. Anyway, lots of fun to be had with that.

Tuesday August 02, 2005
02:34 PM


I'm not sure I like the fact that this works:

bless\%); sub a { print pop } (\%))->a('hello');

The fact that the blessing sticks around after the object reference is gone just seems strange.

Wednesday July 27, 2005
04:53 PM


Wow. It's been a while since I logged in here. Just over three years, in fact. I've been reading the new posts and journals in an aggregator during that time, but I quite fell out of the practice of posting updates of my own. Part of that may have been due to the burnout of trying to cram an understanding of the perl internals and compiler suite into my head in too short a time.

In the mean time, I've been doing quite a bit of work on photo annotation in RDF, implementing a SPARQL query engine in perl, and RDF-enabling a weblogging system. Oh, and doing quite a bit of traveling and taking lots of photos.

I'm coming back, partly because I miss being involved (in whatever small way) in the perl community, and partly to help some friends. I've been asked to help out on a book being written that will involve lots of perl, to make sure it sits well with the perl community, and to ensure the programming aspects follow best practices and good style. In this, I hope to be able to leverage support from a community such as use Perl, and hope some of you might be so kind as to provide feedback and support when I need it. Anyway, I'll post more about that project as it unfolds.

So, it feels good to be back, and I hope this time I'll stick around.

Monday July 22, 2002
04:58 AM


This just in from Simon (Regarding my issues with creating a new CV with B::Generate):

B::CV->newsub_simple("mysub", $root);

should do the trick.

with Arthur's response:

Can I download you brain somewhere :-)

Good call. Thanks Simon!

Thursday July 18, 2002
09:16 PM


Does anybody have any good ideas for what I can do with an IBM 5150 that I just rescued? It's got an enormous external 20 meg hard drive (woohoo!), an ubercool monochrome phosphorus monitor, and both 5.25" AND 3.5" inch disk drives! Unfortunately the original keyboard (one of those nice, noise ones - "click clack") got replaced with a new(er) quiet one :(

Right now it joins the 11 other computers in my growing collection of computer hardware. Most of them seem to be just one part away from functioning; the Cube needs an optical/CD drive, the sparc stations need two hard drives and one video card, the alpha needs a 2.5" IDE drive (I don't think these are made anymore - all I really need is the 2.5" IDE cable!). Most of the macs are in working order, thank goodness, as are the newer intel machines. Ahhhhh... so many computers, so little (time|money).

02:58 AM

Random thought...

Ok, I just had a thought... are there any screen capture programs (for any OS) that instead of emitting an image, emit a (Photoshop|Gimp) file with layers for each discrete UI element (Window, Toolbar, Dock, Mouse, Menu [for a mac], etc.)? It would be cool to open up this file, and be able to drag windows around, and re-organize a screen-shot, just like moving windows around :)

I'm not sure how much actual *use* I'd have for something like this, but it sure would be nifty!

Saturday July 13, 2002
08:06 PM

back to use.perl

Ok, so it's been a while. gnat's latest journal mentions me thusly: "the last part of that list is people who haven't updated their journals in months," so it's probably time to update :)

The reason I found myself not posting to use.perl as often as I'd like (or as often as I posted to the quasi-blog on my website) was that almost every entry had entirely nothing to do with perl. Other people may find that acceptable, but I always felt a little strange about posting to use.perl about everything *but* perl.

But with my server MIA for the last week and a half (zoidberg, where are you!), I suppose I can just start puting my ramblings on use.perl again.

On the perl front, I've been wrestling with B::Generate (finally under a threading perl - thanks Arthur!), and am having a wonderful time causing segfaults from perl-land. No, really. It's great! ... I mean, it's better when it doesn't segfault, but even the segfaults are fun :) Anyway, I can't seem to figure out how to create a new CV with B::Generate - can this be done? It seems like I should be able to just instantiate a B::CV object and set the root and start ops, but B::Generate doesn't seem to provide a constructor for B::CV. Has anyone done this, or know how to do this?

Monday April 29, 2002
12:26 PM

OSX CLI integration

I love Terminal under OSX. I just wish it was easier to integrate the use of the Terminal with other applications. For example, I've got a finder toolbar scriptlet that starts a GraphicConverter slideshow with all images in the current directory. Now how do I start that from the Terminal? It's not as easy as I'd hope.

On a related note, this silly bit saves me so much time:
  alias finder "open -a Finder"
Tuesday February 26, 2002
10:12 PM

Loathe RedHat

After that mysterious problem that took down my computer some time ago, I was convinced to install anything but RedHat (RPM dependency hell being all too familiar to me on this particular machine). However, as I proceeded through several other operating systems, I found (quite to my dismay) that RedHat seems to be the only one that likes the combination of my video card, monitor, and mouse to be able to run X without a tremendous effort. Neither Debian (potato and woody), nor Free or OpenBSD would show me any love.

Being overloaded as it is with school work (genomics, thesis, and all the other odds and ends), I couldn't find time to determine quite why none of the other OSes would give me a simple working X install, but alas, none would.

The one exception to this, though not involving X specifically, was the wonderful BeOS (yow - dano rocks on this box). This is such a beautiful (both technically and in interface) OS, that it pains me to think that such a work could go so amazingly under appreciated ... Unfortunately the /dev/random driver needed to use ssh sporatically causes the input_server to hang. Oh well.

So it's back to my nemesis RedHat for the time being, because at this point, getting things done is probably more important than matters of taste.

It's very nice to be back on a functioning development box; And to be able to use MySQL, PostgreSQL and Sybase (not to mention that super-neat SQLite) all on one box (after developing under OSX for quite some time) is such a joy! So it is that work continues on the rewritten version 2 of BingoX (after much pressuring from Wonko).

Right... now it's back to the Philosophy.

(on the playlist lately are Handbags and Gladrags by Stereophonics, and the Amélie soundtrack, of which I can't seem to get enough)
Saturday February 09, 2002
02:42 PM


Back at school, I'm sneaking Perl into the mix at the Genomics project here. Everything I do this semester on my "Genomics of the Regulatory Regions of Bacterial Flagellar and Motor Genes" project will be in Perl.

Perl is already set (any day now) to go live managing some back end jobs for the existing Motif Lexicon for the Project - linking user searches with data mined from the NCBI PubMed abstract database. Unfortunately the rest of the lexicon project is a big heaping mess of Visual C++ code implementing CGIs under IIS. CGIs ... In C++! Thousands of lines of code waiting to be replaced by 'use CGI;'. Or better yet, to be replaced by a mod_perl handler - Mmmmm... tasty...