peknet :: an eddy in the bit stream         
about peknet
peknet is Peter E Karman musing on technology, politics, religion, books, beer and parenthood.

navigate

credits

Brighter Planet's 350 Challenge

St Paul Minnesota Yellow Pages

Powered by Swish-e

Valid CSS!

proud member of the
Open Source Community

© 2005 peknet dot com

syndicate this site

Perl6 and Perl5

I know the people who read this blog generally do not care about Perl at all (hi Mom!) but I spend a great deal of time writing code in the language and talking with other members of the Perl community about our common projects, and so like anyone who has lived in the Perl world for any length of time, I have an opinion about Perl6. For those not in the know, Perl5 is the current version of Perl and has been around for over 10 years. Perl6 is the next major version evolution, but it has been in development for nearly the same length of time. The problem is that 10 years is a long time for a computer language release to gestate and many folks whose opinions count (i.e. managers) see that lack of a release as a sign that Perl Is Dead and not a good choice for their next programming project. So (the argument goes) Perl6's vaporware status makes it hard for Perl5 programmers to find jobs, because the "if it ain't new it ain't sexy" ethos of technology counts for more than it should with those making the money decisions.

The real problem isn't that Perl6 hasn't been released. The real problem is the name Perl6. Perl6 is not a single executable "thing" like Perl5 is; it's an umbrella for several different projects. Right now I can sit down at just about any modern Unix-like computer and type 'perl' and write some code that runs. Perl6 doesn't work quite that way. It's a whole new language, not just a major revision to an existing language. So the version number 5 vs 6 is misleading. That's the problem. Perl is alive and well. Perl5 continues to be maintained and developed. I get lots of work done every day using it.

Matt Trout writes a nice piece about this topic, aimed at the Perl community. I applaud it.

File under projects/ Mon Dec 7 10:03:13 CT 2009

Question as Patch

Reading through Matt Trout's blog just now I found this wonderful quote:
Because in free software a question in the form of a well thought out patch is one that almost always gets a constructive answer.


Yes. That's just it. A patch -- real, applicable code -- indicates genuine forethought and effort and I will reward that kind of conversation every time with equal effort.

File under projects/ Mon Dec 7 10:01:06 CT 2009

Great American Hackathon

Just found out about this.

File under projects/ Mon Dec 7 10:00:24 CT 2009

SWISH::Prog::KSx and SWISH::Prog::Xapian on CPAN

Uploaded first pass at both implementations this last week. The announcement to the Swish-e list just went out.

File under projects/swish Mon Nov 30 22:19:26 CT 2009

You've Got a Friend

My sister put this little jazz quartet together a couple months ago. We played one song. Here it is.

File under music/ Sun Nov 22 22:30:09 CT 2009

The Beguine Brothers

So I've been playing in this country band for the last several years, purely for fun. Our cardinal rule as a band is "do not overprepare" which means we might practice for an hour or so ahead of a gig, but rarely more than that. The second rule is "you may not sing a song you wrote" which sounds funny till you realize that nearly everyone in the band is a songwriter. It's a fun bunch of folks and the vibe is definitely low key.

But after .... years, we finally made some recordings. Here's the first couple tunes, My Bucket's Got a Hole In It and To Love Somebody.

Thanks to Dave for the technical work.

File under music/ Sun Nov 22 22:21:55 CT 2009

SWISH::3 on CPAN

After 4 years of learning how to glue Perl and C together with XS and many sleepless nights, I have released SWISH::3 to the CPAN.

<cue the sound of scattered applause>

Mostly this is a triumph of longevity rather than quality code. It's taken me this long to get something workable.

File under projects/swish Fri Nov 20 22:02:44 CT 2009

Netflix prize

I'm always late to the game, but the Netflix prize was awarded back in September. I wrote about it before.

Anyway, an interesting article at wired.com looking at how the winning teams' combined disparate algorithms to help them reach the goal.

File under general/ Fri Nov 20 13:14:05 CT 2009

swish_xapian

The Xapian backend for Swish3 has been getting some love lately. The swish_xapian command line tool has most of the features now that swish-e v2.x does.

I've posted about it on the Swish-e wiki.

File under projects/swish Wed Nov 18 23:22:11 CT 2009

perl dot org

And just on the heels of my last post! A new look for the perl.org site.

Looks very nice. Good work folks.

File under perl/ Sat Nov 14 00:32:46 CT 2009

yahoo mail

I recently reactivated my free yahoo.com email account so that I could test something for $work. I signed up for it 12 years ago, but stopped using it a couple of years later when I got my own domain @peknet.com. So yahoo finally deactivated it. All I had to do was click a couple of buttons to reactivate account, so that was painless. All my mail was, understandably, deleted.

Within 60 seconds of reactivating it, while I watched, I got one new message. In my Spam bucket. Hilarious.

File under spam hall of shame/ Thu Nov 12 12:37:34 CT 2009

Perl websites? As a rule, not attractive.

I'd been keeping an email with a link to Ovid's journal article about reviewing Perl Training websites. Now I've deleted the email. But the link was worth keeping here.

File under projects/ Mon Nov 9 23:07:03 CT 2009

RESPOND IF YOU ARE STILL ALIVE

What a dramatic subject line. These spam scams are getting more desperate.

File under spam hall of shame/ Fri Oct 9 08:22:55 CT 2009

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.

File under projects/swish Mon Oct 5 23:05:50 CT 2009

Sand Story from Ukraine

Via tinyrevolution.

File under general/ Sun Sep 27 09:33:34 CT 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?

File under projects/ Fri Sep 25 12:42:01 CT 2009

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.

File under projects/ Thu Sep 24 10:50:04 CT 2009

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.

File under general/ Wed Sep 23 20:49:29 CT 2009

80legs

Interesting idea for a company mentioned today.

File under general/ Tue Sep 22 11:34:46 CT 2009

Biochar

You and I know it as charcoal.

Jonathan Schwarz links to an interesting article on the stuff and how it could reduce the CO2 in the air.

The comments give me hope. If such a diverse crowd is reading and commenting at the Tiny Revolution these days, the Revolution is not so Tiny after all.

File under general/ Tue Sep 22 09:00:22 CT 2009

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.

File under projects/ Sat Sep 19 20:37:17 CT 2009

The Psychology of Programming

Stumbled across this blog on the psychology of programming via my regular google alert for 'perl search'. Interesting stuff.

File under general/ Sat Sep 19 11:28:58 CT 2009

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.

File under projects/ Sat Sep 12 10:33:43 CT 2009

Car tabs

You've come a long way, baby.

I just renewed my car tabs at www.mndriveinfo.org. It was the most painless checkout process I've ever had. Really. They did a nice job on that web site.

File under general/ Thu Aug 27 08:38:20 CT 2009

Pens

My dear friend Mike has started a little enterprise crafting beautiful handmade wooden pens and pencil sets in his spare time. They're gorgeous. They'll make you want to write. Buy one. Or three.

File under general/ Sat Aug 22 20:27:20 CT 2009

Just Enough C

I wish Andy had made this presentation 5 years ago when I was learning C. It would have helped me a lot. It's like C in a nutshell, in a nutshell.

File under projects/ Sun Aug 2 10:35:17 CT 2009

Doctorow on Free

Chris Anderson's new book on Free continues to get press. I noted it here when Malcolm Gladwell wrote about it for the New Yorker. This is about the 6th time I've seen it reviewed or referenced in the last month.

File under general/ Tue Jul 28 11:18:58 CT 2009

Users, Accounts, Identities and Roles

A nice overview of the concepts behind user/account/identity/role modeling in applications.

I liked this quote in particular:
The tradeoff of creating more abstraction layers provides, as always, flexibility at the cost of complexity. Often times we resort to inferior workarounds because they seem simpler, when in truth they are just dumbing down the problem. KISS is not a synonym for "half assed".

File under projects/ Mon Jul 20 09:02:01 CT 2009

NPR API

The wave of open data continues to roll. The National Public Radio API has been out for awhile, but the man responsible is talking next week at OSCON. He gives an interview as a preview.

File under general/ Fri Jul 17 12:21:56 CT 2009

The Internet Runs on Love

Just stumbled across this talk today.

File under general/ Thu Jul 16 15:29:15 CT 2009

POST with multiple values per key

Dumb. And bad.

PHP requires that you change your HTML to indicate that an input value in a form expects multiple values. That means, your HTML needs to know what your server-side architecture is coded in.

Dumb. And bad.

Example:
<input name="foo" value="123" /> <input name="foo" value="456" />


That code above won't work in a POST to a .php script because one of the values for 'foo' will be dropped. Instead, you have to code your html like:
<input name="foo[]" value="123" /> <input name="foo[]" value="456" />


with that extra little [] bracket pair. That's just Wrong. And bad. My HTML shouldn't care what the server side language is. HTTP is HTTP. HTML is HTML. It's agnostic. Unless your scripting language is broken. Like PHP is.

File under projects/php Wed Jul 15 16:56:58 CT 2009

The Future is Free

That's free as in beer. Malcolm Gladwell has a review in this week's New Yorker of Chris Anderson's new book.

Given my new job, this quote from Anderson seems apt:
If so, leveraging the Free--paying people to get other people to write for non-monetary rewards--may not be the enemy of professional journalists. Instead, it may be their salvation.

File under projects/ Mon Jun 29 20:03:49 CT 2009

Ziggurat

Not a book but a short story in the latest issue of the New Yorker.

I usually like the fiction pieces in the NY but this particular story, in its surrealism, seemed to tell me a truth I already knew but had forgotten. I immediately sat down to google Stephen O'Connor (the author) to find out more. He sounds like a compelling person.

The religious nature of the story continues a recent trend in NY fiction. Last week's story was also very compelling, a kind of Flannery O'Connor-esque morality tale. O'Connor. There's another trend. I expect next week's fiction piece to have an O'Connor connection as well.

Speaking of New Yorker threads, has anyone else noticed the subtle vocabulary threads in each issue, where a single uncommon word might appear in multiple pieces in the issue? The editors must enjoy finding those connections in their submissions.

File under books/ Fri Jun 26 19:24:10 CT 2009

Unicode

PHP lacks proper and complete Unicode support.

Come on people!

File under projects/php Thu Jun 18 21:25:30 CT 2009

Closures

PHP lacks closures. That is, they are new in 5.3.

As with namespaces, PHP is Way Late to the Game.

File under projects/php Thu Jun 18 21:23:47 CT 2009

Get your degree now!

I get literally hundreds of spam messages urging me to buy a higher education degree. I realized today why these kinds of messages must appeal, because I've had more than one dream in which I realized I had never graduated from high school or college and was completely unprepared to meet fill in challenge here.

These spam must be aimed at a kind of Jungian-level subconscious anxiety that manifests itself as the Unfinished Degree. Of course, there are plenty of folks who really do have unfinished degrees and are struggling in a competitive marketplace. But even a college-degreed person like myself still localizes my dream-time anxiety about life in not having finished school, and I suspect that is also at play.

The Unfinished Degree... <cue Jaws theme...>

File under spam hall of shame/ Thu Jun 18 20:48:57 CT 2009

PHP ORMs

Object-relational mappers are a nice way of simplifying data store interactions, by abstracting the data model into a OO class structure. Or put another way, don't write SQL, write code that is storage agnostic.
my $thing = Thing->new( id => 123 )->load; $thing->foo('bar'); $thing->save; # # the above is mock code # representing something like: # BEGIN TRANSACTION; UPDATE table things SET foo = 'bar' WHERE ID = 123; END TRANSACTION;


I've used a couple of different Perl ORMs over the last four years with great joy: DBIx::Class and (mostly) Rose::DB::Object. Now I'm looking for a suitable PHP project for my toolbelt.

Wikipedia has a good starting list.

Some contenders include:
Xyster
Looks nice but depends on Zend Framework so a bit heavy. Handles cascading actions on related objects.
Doctrine
The most popular (or at least most-mentioned). It has its own special query language (DQL), which is a philosophical turn-off. Isn't SQL+PHP good enough? But I see the DQL is optional.
Rocks PHP Library
Ambitious. The docs make it seem a little like the Rose framework in its goals: an ORM, a Form manager, a web framework. There's a DB abstraction layer that claims to support many different db flavors. It seems pretty young though.
Propel
Mature. But it uses this external XML definition file which just seems crazy. Again, isn't SQL+PHP enough?
DABL
Based on Propel but simpler. No external XML file (+1). Uses same PDO db abstraction layer as Propel.
LightORM
I was initially hopeful about this one but it appears abandoned.
DataMapper
My co-worker turned me on to this one (thanks Sean!). I really like the looks of it so far and will be spending some quality time testing it out.

File under projects/php Thu Jun 18 20:18:09 CT 2009

Recovering /op status on freenode

I hang out as karpet on freenode.net in the #swish-e channel, where there is occasionally meaningful conversation related to the project. I have registered the channel under my nick, but I often logout and back in and forget how to regain operator status. Here's the cheatsheet for my own memory:
/msg nickserv identify karpet mypassword
/msg chanserv op #swish-e karpet
Not too complicated but I always have to hunt around to find the right bots to /msg to.

File under general/ Fri Jun 5 20:48:26 CT 2009

Sensual Orthodoxy

I just looked over the history of the books section of this blog and find it fairly representative that most of the entries date from 2005, around the time I was in library school and my first child was a baby. Since that time I've become busy as a parent and breadwinner and have found my time for book-reading greatly diminished. Or perhaps my appetite for reading and writing here is diminished.

Instead, I've become an avid New Yorker reader, thanks to the gift from my wife of a multi-year subscription. As my friend Russell said to me yesterday, it's amazing that they can publish an issue every week, with such depth and breadth of quality writing. I laugh, cry, ponder and hmmmm my way through each issue and am grateful for its regularity.

But I am returning to books, and I'll be ruminating and reviewing here a bit as I stretch out into a summer of reading.

My friend Debbie is a writer and pastor. She published her first book of sermons about five years ago, and though I've had my signed copy on the shelf in my office since then, I've been slow to pick it up. That's no reflection on the quality of the writing or thinking in the book; it's more a reflection of the fact that I had already heard many of the sermons delivered from the pulpit and around the time the book came out, I was ready to take a break from church and theology and religion. (Why I was ready to take a break would fill many pages, but I'm not inclined to write it down.)

But the last six months or so I have felt more hopeful, despite the woe in the world, and revisiting Debbie's excellent sermons seemed timely. I am glad I did. I'm about four pieces in so far, and already have heard things I don't remember hearing the first time. Good writing is like that.

Of course, I approached the book with obvious biases. I knew I was going to like the sermons, since I like Debbie. I can hear her voice very clearly in my head as I read. The cadence, the tempo, the flurry of images. Very Debbie. Sort of a jazz aesthetic in her prose, the furious little runs of notes that culminate in an opening unto something new. Like poetry, sermons are written to be spoken aloud. I'm glad I have Debbie's voice in my head so I can hear them as they were meant to be heard.

One of the things I've been enjoying is looking at the dates of each sermon and trying to remember who and where I was at the time. Take the one I just read, "A Potentially Gruesome Metaphor," from February, 2001. I was out of town that winter, so I hadn't heard this one before. I know the story well (Luke 5:1-11) where Jesus gets on Simon's boat to preach, then tells him to throw over his nets into the deep and the size of the catch nearly capsizes the boat. The passage ends with Jesus saying that he will make the fishermen fishers of men. Like I said, I know the story well, but I found I didn't know the text well. A good sermon opens up the cracks in the text. Debbie riffs for awhile on the fishing theme, on the monotone evangelical hijacking of the fishers of men image, and then she goes somewhere I didn't expect. Which I like. "Put out into the deep and put down your nets for a catch," says Jesus. And then when the fish come in in overwhelming abundance, Simon's reaction seems, even for Simon, way overboard. "Go away from me, for I am a sinful man." Like Dostoyevsky's opening in Notes from Underground: "I am a sick man...I am an angry man. I am an unattractive man." I am a sinful man.

Debbie then connects the deep with the unconscious in a nod to postmodern psychoanalysis and sheds some light on Simon's reaction, then offers her listener the chance to empathize:

Jesus in the same boat as you, next to you, sitting on your fish: what's been hauled up from the absolute darkest scariest place anyone ever imagined, knee deep in sardines, catfish on his lap, traces of the depths (your depths), the smell of fish on his hands. You're both on the verge of being buried by this unbelievably large catch....But Jesus says, "Don't be afraid."


Debbie prayed at my wedding. The other officiant at my wedding was Doug Frank. Doug said to me once, there are only two things in life: fear and trust. Everything comes back to which of those two things you are living out of.

I think about what Doug told me just about every day. Now I have Debbie's wonderful image of fish-laden Jesus as well. Trust. Do not be afraid. Sure, the present circumstances stink, but do not be afraid.

File under books/ Sun May 24 22:22:45 CT 2009

One Million for Netflix

Lest any of my less-geeky friends assume that I know everything hip on the internet, the Netflix Prize was unknown to me until about 20 minutes ago. Then I read a mention of it on kottke.org and read the IEEE Spectrum article written by the current leading team. Now I wish I had heard about it 3 years ago when it started, because it could have been a very cool learning experience.

File under general/ Wed May 20 21:19:35 CT 2009

Getting old HP printer working with OS X 10.5

Many thanks to this FOSS project for making my old printer play nicely with our new Macs.

File under projects/ Thu May 7 22:30:56 CT 2009

Via citypages.com

File under general/ Wed May 6 16:45:14 CT 2009

data.gov

I heard this story on MPR a few weeks ago and was pretty fired up about the idea. If you have a good idea for how to use government data in a web app, let me know and maybe we can build one.

File under projects/ Thu Apr 30 22:05:23 CT 2009

Techno Babel

Recent article in Tech News World about which languages are most popular.

Now, I expect most popular writing on programming to gloss over the actual technical stuff and speak directly to managers, who often can't program their way out of a paper bag. But this quote is just pure nonsense:

"Java and its variants like Perl, Ajax, Python and Ruby, which effectively generate Java code, are unnecessarily low-level languages," Infostructure Associates' Kernochan said. "Adopting Java was, until recently, a step back in programmer productivity."


Perl, Ajax, Python and Ruby are variants of Java? That's just wrong, technically and chronologically. Perl was first released in 1987. Java was first released in 1995. Ajax isn't a language at all, it's a pattern. It's like saying "Poems are a language." Python and Ruby, while object-oriented like Java, are certainly not variants. And none of them generate Java code, effectively or not.

Asinine.

File under projects/ Tue Apr 28 11:21:24 CT 2009

Search the Guardian

The Guardian UK site now has an API for searching their content. Neat idea.

File under general/ Sat Apr 25 13:10:25 CT 2009

PHP now has namespaces...using a backslash?

PHP finally has namespaces. Always playing catch-up as a programming language. But using the backslash as a name delimiter? WTF.

File under projects/php Sat Apr 11 10:00:27 CT 2009

Great Managers

Top 10 list describing great managers via kottke.org.

File under general/ Sat Apr 11 09:44:13 CT 2009

Samantha Power, Obama and Armenian Genocide

I'll be watching to see what Obama says.

Update: he avoids the word 'genocide' but still angers the Turks.

File under general/ Thu Apr 9 20:19:32 CT 2009

Tests

I drank the koolaid a few years ago on the usefulness of test-driven development. I have Perl and the Perl community to thank for that. chromatic outlines the history of Perl's test-infected culture in a recent post.

File under projects/ Thu Apr 9 06:54:10 CT 2009

Roy Tennant Interview

Roy resurrected the Swish-e project nearly 10 years ago. There's a nice interview with him out recently, in which he says "there really isn't anything I can't do with Perl and my favorite indexing tool, Swish-e" -- which is exactly my experience too.

Thanks, Roy.

File under projects/swish Sat Mar 28 21:14:16 CT 2009

So Into You

My friend Brett is writing a novel. I read the first version some years ago, and the second version after that. This third take is a good read so far.

File under books/ Wed Mar 11 21:01:17 CT 2009

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.

update to original post: Another good REST article.

And REST for my kids.

File under projects/ Fri Feb 6 15:22:42 CT 2009

Sentences

Long before I was a computer programmer I was an essay writer, a songwriter, a poet. When I discovered Perl, I found the transition to programming very natural. I had always played with computers, back to the IBM PC and Macintosh circa 1984. My first program was in BASIC, in 1985. It was a 'choose your own adventure'-type program. Even then, I wanted to combine prose with code. It was just Making Stuff with Words. I didn't differentiate.

chromatic suggests Perl programmers can improve their code by thinking in terms of sentences and paragraphs. Best practices. Makes perfect sense to me. When my friends ask me about my work I tell them I'm a writer, that a good piece of Perl code has the same structure and thought behind it as a well-written essay, and that I practice the art of writing every day. It's just that the language I write in is Perl, not English. I know my metaphor is lost on most non-programmers. But I trust some people understand.

File under projects/ Tue Feb 3 20:20:27 CT 2009

Google Alerts

I have a couple different Google Alerts sent to my inbox. Occasionally they turn up something interesting. Today I got a link to an article that mentioned a book on Perl and text mining. Since I work in a technical library building, I checked the online card catalog, walked downstairs and checked it out. It's now sitting on my desk. Whether I'll make time to read it remains to be seen.

File under projects/ Tue Jan 27 13:47:08 CT 2009


Past entries: 2004 . 2005 . 2006 . 2007 . 2008 . 2009 . 2010 . 2011 . 2012 . 2013 .
« April  May 2013  June »
Sun Mon Tue Wed Thu Fri Sat
     
 
weather
Saint Paul, MN
45.0 F (7.2 C)
Fair

Sunrise/Sunset
Updated:
May 23 2013, 5:53 am CDT

worth reading