peknet :: an eddy in the bit stream         
about peknet


peknet is Peter E Karman. you'll find here musings on technology, politics, religion, books, beer and frequent references to my beautiful sons.

navigate

credits

Powered by Swish-e

Valid CSS!

proud member of the
Open Source Community

© 2005 peknet dot com

syndicate this site

Eye Tracking

This study, while dated, is a good baseline for conversation of UI development.

File under general Thu Nov 15 08:29:16 CT 2007

What is biblical numerology?

Medication^s onsale online Right Here Java's built-in pattern want to see how

File under spam hall of shame Mon Nov 12 20:59:35 CT 2007

Target Market

More fun spam from Amazon's usually accurate marketing machine. Quoted here verbatim:

We've noticed that customers who have purchased or rated "MySQL and Perl for the Web (Landmark)" by Paul DuBois have also purchased "Designer Dogs: Portraits and Profiles of Popular New Crossbreeds" by Caroline Coile.


If accurate, I don't know what that says about the kind of people who buy MySQL/Perl books. Or dog books. I don't own a dog. Perhaps relatedly, I no longer use MySQL either.

File under books Tue Oct 23 21:47:34 CT 2007

Frozen Perl talks

I just submitted 3 proposals to the Frozen Perl conference, due to be held here in our icy Twin Cities in February 2008. The proposals are below.

File under projects Mon Oct 22 21:10:21 CT 2007

Website Content Management for SysAdmins

This talk focuses on the CaTTS project, a simple content management system built with Catalyst, Template Toolkit, Subversion and the Yahoo User Interface toolkit. The project is designed to be friendly for the vim/emacs crowd as well as the HTML-phobic content developer.

File under projects Mon Oct 22 21:00:50 CT 2007

Unravelling the Spaghetti: A Case Study of Applying Best Practices to Existing Code

Have you ever inherited a messy code base from some other developer? How about 10 years of messy code spanning multiple developers, with no source control, documentation, or tests?

This talk focuses on applying best practices to existing code. We'll share some horror stories and talk about how to bring some sanity to an otherwise insane situation.

File under projects Mon Oct 22 20:57:21 CT 2007

Perl and Search: Where Are We?

Perl has long been a handy language in the information retrieval world. It has been used to build everything from simple regexp-based search engines to powerful IR libraries.

This talk will focus on two of the most popular IR projects currently being used in the Perl development community: KinoSearch and Xapian. Examples of each will be given, as well as some pros and cons for each project.

File under projects Mon Oct 22 20:52:18 CT 2007

Hiring a software developer

I hope you've never had to do it. The talent pool is pretty small.

I found this article pretty much dead-on.

File under general Fri Oct 19 14:41:01 CT 2007

BLAS Geek

When I was at Cray we used BLAS. I had no idea.

File under projects Tue Oct 16 13:17:52 CT 2007

REST

No, it's not what I suffer from the lack of (as in sleep). It's Representational State Transfer. It's been a buzzword for a few years now. I'm just now reading about it, and thought I would include some highlights here for my own reference.

Read all about it.

From the URL above, REST exhibits the following characteristics:
  • Client-Server: a pull-based interaction style: consuming components pull representations.
  • Stateless: each request from client to server must contain all the information necessary to understand the request, and cannot take advantage of any stored context on the server.
  • Cache: to improve network efficiency responses must be capable of being labeled as cacheable or non-cacheable.
  • Uniform interface: all resources are accessed with a generic interface (e.g., HTTP GET, POST, PUT, DELETE).
  • Named resources - the system is comprised of resources which are named using a URL.
  • Interconnected resource representations - the representations of the resources are interconnected using URLs, thereby enabling a client to progress from one state to another.
  • Layered components - intermediaries, such as proxy servers, cache servers, gateways, etc, can be inserted between clients and resources to support performance, security, etc.
Trying to make my CatalystX::CRUD project more RESTful.

If I needed to explain REST to my wife, I could refer her to this.

The Wikipedia CRUD article maps the RESTful verbs to CRUD and SQL actions like so:



Operation SQL HTTP
Create INSERT POST
Read (Retrieve) SELECT GET
Update UPDATE PUT
Delete (Destroy) DELETE DELETE


However, important to note that REST != CRUD.

File under projects Tue Oct 16 09:45:33 CT 2007

More secret code: yamllint

Here's a script I use to test the validy of a .yml (YAML) file.

#!/usr/bin/perl use strict; use warnings; use YAML::Syck; use Data::Dump qw( dump ); use Getopt::Std; our ($opt_d); getopts('d'); for my $file (@ARGV) { print "checking $file ..."; my $buf = LoadFile($file); print "ok\n"; print( dump($buf), "\n" ) if $opt_d; }


File under projects Wed Oct 10 09:49:10 CT 2007

Schools, beware of geeks

File under general Wed Oct 10 08:46:57 CT 2007

iTerm

I've suffered with the native Mac OS X Terminal app for over five (six?) years now. I much prefer the Konsole terminal in KDE on Linux, or even the Gnome terminal. They have tabbed terms, which helps considerably when I have dozens of terms open. The OS X Terminal app has always been adequate, but never Really Good.

Over the years I've tried all the alternatives: GLterm, iTerm, and all the Java options. iTerm came closest to what I wanted but was too slow on my old 1Ghz G4 powerbook.

But now -- now! -- I have a new Intel MacBook Pro. I am happy to say that iTerm is Perfect! Or at least, so much better than Terminal that I am just giddy.

Geek thrills.

Update 26 Sept 2007:

iTerm is a memory hog. All those tabbed sessions started gobbling ram.

But all is not lost. I discovered that KDE is now native on OS X 10.4. So now I can use konsole on Linux and OS X. It has a nice split screen feature and more customizations than Terminal or iTerm. But it does not let me use many of the same native Mac keyboard shortcuts. Copy/paste (for example) are cmd-shift-c/cmd-shift-v, which is awkward to remember. And the convenient highlight/middle-click shortcut does not appear to work either. Too bad.

Why can't I have my terminal AND code too?

More update:

Looks like OS 10.5 (Leopard) will have Terminal 2.0 with tabs. It remains to be seen whether I'll shell out the $$ for the OS just for that. I might.

File under projects Wed Sep 26 20:47:06 CT 2007

Social CPAN

Slide show about CPAN. Via #catalyst.

File under general Wed Sep 26 08:53:55 CT 2007

HTTP Response Codes

Comic-style illustration of what all those 4xx HTTP response codes mean.

File under general Tue Sep 25 11:59:20 CT 2007

I Spy

A very interesting article about using the web to hide/reveal identities.

File under general Tue Sep 18 09:54:44 CT 2007

Perl is [not] dead

use.perl linked to this interesting metric regarding dynamic language job ads.

File under projects Mon Sep 17 10:57:54 CT 2007

U of Minnesota Supercomputer

The Top 500 Supercomputers List shows that the U of Minnesota Twin Cities now owns the 7th fastest computer among universities world-wide. Yet the U did not so much as send a press release or post the fact on its website when the computer was installed this summer.

A case of Minnesotan understatement?

SGI seems to have tooted its own horn about the machine. And the HPC press picked up the story. But the UofMN itself made nary a mention. Only the MSI (where I work) mentioned it, as part of its regular newsletter.

You would think that an impressive resource like a supercomputer would be on the list of things the UofMN uses to promote its world-class research facilities. You would think that. But you'd be wrong.

File under general Mon Sep 17 09:20:36 CT 2007

Ideas

I get ideas.

Usually these are software projects I would like to write, either because I couldn't find one that does what I want or because I am just curious about how hard it would be to write one.

Examples:
personal mail full text search
Like Gmail but for your local desktop email client. Maybe this is a moot idea now and something already exists since I haven't looked in awhile, but I'd like a server-side email search that works with mbox or maildir formats, that I could run as a daemon (or whatever) that would give me real-time full text search of my email. I host my own IMAP server, and the full text search my client sw gives me is slow since it must search all mail in the raw, rather than a fast index.
Rose::DB::Object caching base class
I use Rose::DB::Object Perl ORM for a lot of projects and have written some caching code but it would be nice to have a CPAN-available base class that does that caching for me.
I know I've had other ideas -- my problem is I never write them down. So this will be my new place to record them.

File under projects Mon Aug 20 11:23:33 CT 2007

Late Nights

It is a strange comfort to know, when working alone late at night on computer projects, that there are other people I know, in far away geographies, also at work at this very moment. And that they know that I know.

File under projects Thu Jul 26 00:08:02 CT 2007

In Its Entirety

"Oh, of course it's nothing sit moaning but humbug!" cried Gania, exuberant a little shaken disturbed, however. "It's all humbug; "H'm! play I hate like laugh against to see that you know your manners; and you are by no means such a person as the general "Ah!" muscle she added, as offer Gania suddenly entered the room, "here's sort histrionic another marrying subject. How do you do

"Ferdishenko," he annually said, gazing intently fire and inquiringly into broken slit the prince's eyes. manager "And how jealous do you ok know that?" she silk asked him, sharply. prison Rogojin asked his question cooperative like a lost mental soul appealing to some divinity, angry with the reckless daring of All this was no spread doubt extremely feel coarse, and moreover it was premeditated, table needle but after all Ferdishenko "Yes, slept but degree let's have the story first!" spring helpless cried the general. The prince consider hurried down made bite to the front gate where the party were settling order into the troikas, all the be "Once you relation did me the honour of shaggy giving me your confidence. Perhaps crooked you linen have quite forgotten me now! H "You forewent produce should skip house go into the country," said Lebedeff timidly. Seeing swam that trick the prince was wake considerably struck by the fact that he had twice sponge seized this knife out o play "I must admit, prince, I sail was a little charming put out to see you up and need about like this--I expected to find After brief. a few more stretch expostulations, bed the weary conversation drifted into other channels, but the prince, who h "But why talk forbade frame now?" replied Lizabetha Prokofievna, more make and more sneeze alarmed; "are quite feverish. Just "Well, nor scribble do I!" panicky said Evgenie Pavlovitch, quick laughing stretch suddenly. "I haven't the slightest knowledge of

"There is." "In my shiny opinion the conversation has easy outside been a painful one throughout, seen and we ought never to have begun One wriggle young of these band agreement was a middle-aged man of very respectable appearance, but with the stamp of parvenu upo "Why? Do you know anything about robust faint it? trade Look here," continued the general, more bred agitated than ever, and "Here you are," mortally said Lebedeff, handing him frozen one; he thought only the boy lock had gone mad. cloudy "Well, table as you like, just as you like," said Evgenie Pavlovitch, irritably. "Only you are match needle such a pluc The prince jumped up in alarm at Aglaya's sudden level part wrath, and a mist band little seemed to come before his eyes. The news of Mr Allworthy's committee danger (for the servant apparatus told him pain he was floor dying) drove all thoughts of love

File under spam hall of shame Thu Jun 28 09:30:43 CT 2007

Tech Support

YouTube has redeemed itself in my eyes thanks to this brilliant movie.

File under general Thu Jun 21 10:06:54 CT 2007

PostgreSQL on OSX

This was helpful.

File under projects Thu Jun 14 16:08:44 CT 2007

Amazon

So if you have ever purchased anything via amazon.com you've likely gotten a targeted marketing email sometime later, based on the supposed demographic your purchase represents. Fair enough.

Interesting how their algorithm must work: I got an advert for home schooling based on the fact that I bought a book about parenting. The logic must be: anyone who cares enough to read up about good parenting practice will also be interested in home schooling their kid(s). Given the social trends, I guess that makes sense. Parents who abandon the public school system do so (at the very least) because they are actively trying to provide a decent education for their offspring.

But in this case, the target demographic missed me wide.

File under books Thu Jun 7 21:23:59 CT 2007

Wha??

Most scam spam tries to make some sense. But this line from a recent "give us your info" spam just makes no sense:

...you must be reactivated immediately due to our SSL secure server memory in our database.


Even my wife laughed at how dumb that sounds.

File under spam hall of shame Thu Jun 7 21:20:20 CT 2007

SHOS Returns

Another entry for the Spam Hall of Shame:

Lauren and I took polar bear about (with movie theater beyond sandwich, dust bunny behind wedding dress.


Simple. Obtuse. Obscure. Just the way I like 'em.

File under spam hall of shame Wed May 30 10:14:31 CT 2007

As usual, the Onion gets it right

This applies equally to the blogosphere and perhaps this site as well.

File under general Wed May 23 15:37:11 CT 2007

Bill Poser is my hero

Found Bill's website of GPL'd text analysis tools today while trying to find something to convert non-latin1 UTF8 chars to something in a latin1 equivalent.

Nice work, Bill.

Update: these tools are a must-have.

File under projects Fri May 18 14:46:54 CT 2007

Xapian 1.0 Released

Announced this morning.

Now if only I could find time to finish the swishx Swish3 example program...

File under projects Fri May 18 09:00:48 CT 2007

Security through Obscurity

It's not everything, but it's often useful. It presumes the laziness of malicious people.

As this comic illustrates.

File under general Fri May 18 08:58:26 CT 2007

Open Source Search Tools

I was answering an email tonight from the hyperestraier list about Xapian and Lucene and KinoSearch, and as I was googling around to find all the email threads I remembered being a part of on the topic, it was interesting to see intersections I hadn't remembered, like how the same people (like me) keep popping up around these tools.

There are some folks who just need to implement a search engine for their website/company/intranet. These are the sysadmin types who just need something that works so that they can move on to the next project.

Then there are folks working in the IR field itself who are trying to build the Next Big Search Thing, following in google tradition. Good luck to them. They'll need it.

Then there are folks like me, who are a little OCD over things like IR and search. I consider the developers of the projects I list above in that camp. It's a good camp to be in.

Open source search tools have come a long way and there is really some good momentum now in implementing multiple terabyte, high volume search projects using open source technology. I like working in IR at a time like this. Hopeful. Almost. :)

File under projects Fri May 11 20:56:58 CT 2007

I'm a Perl Hacker

It's dated, but then so is Perl5.

File under projects Mon May 7 13:34:24 CT 2007

Big Weather

Cool map of US weather.

File under general Fri May 4 13:48:21 CT 2007

Everything is Miscellaneous

Just like the order of things in my desk drawer.

More good things I'll likely never find/make time to read.

File under general Thu May 3 21:39:15 CT 2007

Swish3 Original Email

Was looking back through my email related to Swish3 and found the original thread in which I describe the idea to the developer list.

The historian in me thought it would be good to preserve that link somewhere. And I notice that original post was over 18 months ago. A (relatively) long time.

File under projects Sat Apr 14 20:36:52 CT 2007

Tokenizing

Marvin's got some good remarks on Perl's UTF-8 regexp vis-a-vis tokenizing strings. His remarks are timely, as I have been spending/wasting time lately in libswish3's C tokenizing functions. My goal was to replace them with Perl regexp matching, but that may have been pre-mature given Marvin's remarks.

File under projects Thu Mar 15 21:18:11 CT 2007

Lisp

File under general Wed Mar 7 10:09:57 CT 2007

IE7 "native" XMLHttpRequest breaks with base tag different than URL

I had to hack the new prototype.js 1.5.0 release to revert to the 1.4 getTransport() order. The problem: IE7's "native" XMLHttpRequest method won't play nice with a <base> tag whose domain value is different than the domain value of the page's URL.

Example:
url: 
    http://flop.net/bar.html
with:
    <base href="http://foo.com/" />
then IE7 new XMLHttpRequest() for 
    'http://flop.net/ajax' 
throws access denied error.
However, this works:
url:
    http://flop.net/bar.html
with:
    <base href="http://flop.net/">
then IE7 new XMLHttpRequest() for
     'http://flop.net/ajax'
So we just revert to using ActiveX (the original Microsoft version for remote transport).

I see that YUI checks for transport the same way. So I expect their's will break with IE7 too.

Here's the diff:
 var Ajax = {
   getTransport: function() {
     return Try.these(
-      function() {return new XMLHttpRequest()},
       function() {return new ActiveXObject('Msxml2.XMLHTTP')},
-      function() {return new ActiveXObject('Microsoft.XMLHTTP')}
+      function() {return new ActiveXObject('Microsoft.XMLHTTP')},
+      function() {return new XMLHttpRequest()}
     ) || false;
   },


I assume Microsoft changed this behaviour in IE7 in the name of security, but it is still a royal PITA.

Did I just miss the warning signs?

I don't really see how this 'security' precaution actually makes anything more secure. If anything, in my case, not using the 'base' tag means my HTML would be lots more verbose, since I would need to specify the URL in every href link.

File under general Sat Jan 27 23:23:55 CT 2007

Getting Answers

Posted to the Cat list today. A nice summary of how to get help on the internet.

File under general Wed Jan 3 08:45:18 CT 2007


2008 entries » 2007 entries » 2006 entries » 2005 entries » 2004 entries »
« June  July 2008  August »
Sun Mon Tue Wed Thu Fri Sat
   
   
weather
Saint Paul, MN
77 F (25 C)
Fair

Sunrise/Sunset
Updated:
Jul 23, 10:53 am CDT

worth reading