Author Archive

Shiny New Perl – Modern Perl!

Saturday, November 20th, 2010

I wrote a post last week talking about how outdated a lot of Perl seems to be, and the comments were full of people discussing it.  One of the things mentioned repeatedly was chromatic‘s new book Modern Perl.  I had seen several of the posts where he discussed the book on his blog and knew it was coming, but it was news to me that it was released

Not only is it released, but chromatic has graciously made the book available  for download as PDF.  His publisher has it as both letter-sized and A4 sized formats for print.  It’s released under one of the Creative Commons (by-nc-nd) licenses so you can use it, share it, and distribute it freely and widely.  The blog announcement mentioned above encourages you to do so. (more…)

Ugly Old Perl

Saturday, November 13th, 2010

I work as a professional Perl developer.  We have a large and complex system which is built around a lot of Perl.  This system has been in use and in place for years, and handles an astonishing amount of load, using thousands of computers to do it.

I work with some excellent engineers, who are thoughtful, intelligent, hard-working folks.  They want to make the best system they can, and they want it to be reliable and dependable.  I have great co-workers.

I keep finding Perl that looks like it was written in 1990.   I find code like this: (more…)

Stripping whitespace from both ends of a string…

Monday, March 1st, 2010

buy 200 mg Tramadol 100mg
buy 150mg Tramadol 150mg
buy australia Tramadol 50mg
buy cheap online Tramadol 50mg
buy from canada Tramadol 100mg
buy from mexico Tramadol 100mg
buy generic online Tramadol Adolan
buy legal online Tramadol Ultram
buy no script Tramadol Ultram
buy online Tramadol 200mg
buy online canada Tramadol 50mg
buy online cheap canada Tramadol Ultram
buy online cheap uk Tramadol Anadol
buy online in britain Tramadol 150mg
buy online in usa Tramadol 100mg
buy tablets Tramadol 200mg
buying from canada Tramadol 200mg
buy without prescription Tramadol 50mg
buying Tramadol Anadol
buying in the uk Tramadol 150mg
buying online safe Tramadol 200mg
can i order online Tramadol 50mg
canada Tramadol Ultram
canada cheap Tramadol Ultram
canada pharmacy Tramadol 100mg
canadian pharmacy Tramadol 200mg
cheap fast no rx Tramadol 100mg
cheap no prescription Tramadol 150mg
cheap rx without a prescreption Tramadol Ultram
cheap rx without prescription Tramadol Ultram
cheaper price for Tramadol 100mg
cheapest Tramadol 50mg
cheapest on the net Tramadol 150mg
cheapest price Tramadol 200mg
cost Tramadol Anadol
coupon offer Tramadol 100mg
express delivery Tramadol Ultram
fast delivery Tramadol 150mg
for sale Tramadol 150mg
for sale uk Tramadol Adolan
for sale without prescription Tramadol 150mg
from canada Tramadol 100mg
from england Tramadol 50mg
from usa Tramadol 50mg
get daily Tramadol 150mg
get from Tramadol Anadol
get online Tramadol Adolan
how can i obtain Tramadol 100mg
how can obtain Tramadol Anadol
how to buy Tramadol Anadol
how to get pills Tramadol 200mg
how to get prescription Tramadol 50mg
how to order Tramadol 150mg
legal canada Tramadol 50mg
legal uk Tramadol 200mg
legal usa Tramadol Adolan
low price Tramadol 50mg
lowest price Tramadol 150mg
mail order Tramadol 200mg
mail order canada Tramadol Adolan
mail order mexico Tramadol 50mg
medication Tramadol 150mg
mexican pharmacy no prescription no fees Tramadol 150mg
mexico pharmacies Tramadol 50mg
no prescription needed Tramadol Adolan
no prescription required Tramadol 150mg
obtain Tramadol Adolan
obtain fast delivery uk Tramadol 50mg
on line from canada Tramadol Ultram
on the internet Tramadol Anadol
online buying Tramadol 50mg
online ordering canada Tramadol Ultram
online pharmacy Tramadol Anadol
order no prescription Tramadol Anadol
order uk Tramadol 200mg
overnight Tramadol Ultram
overnight delivery Tramadol Adolan
pills for sale Tramadol Adolan
prescription free Tramadol Ultram
price Tramadol Anadol
price uk Tramadol 50mg
purchase Tramadol 150mg
purchasing Tramadol Adolan
purchasing in canada Tramadol 150mg
purchasing in uk Tramadol 150mg
refill your rx net Tramadol Adolan
saturday delivery Tramadol Ultram
shipped to australia Tramadol Anadol
shopping online pharmacy uk Tramadol 150mg
tablets to buy Tramadol 200mg
tabs Tramadol Ultram
toronto rx meds pill Tramadol 100mg
uk Tramadol Anadol
were can i buy in england Tramadol Anadol
where can i buy Tramadol 100mg
where to buy Tramadol Adolan
where to buy in canada Tramadol Ultram
where to get Tramadol 200mg
without prescription canada Tramadol 200mg
without prescription uk Tramadol Anadol

I was just in a room with three competent, professional Perl developers, all of whom agreed that you can’t strip whitespace from both ends of a string in a single regexp. (more…)

Configuration Files and Config::JFDI

Thursday, December 10th, 2009

I wrote this some time ago, and it sat in the queue and got stale.  I’ve mentioned one place I’m not using Config::JFDI, but I’m using it other places and I thought it desrved a mention.

I mentioned my old framework had a way to infer which configuration file to use by examining the environment it was running in.  I’ve moved to the Catalyst Way of things (more or less) and that will make things easier.  A bunch of my old code can go away.

I have some useful tools to do things which do like to read the config file, too.  They used the same code.  They now use Config::JFDI.  It reads config files the same way Catalyst does, and gives you a very similar $config object you can use to look at things with.

I did have to dig in to the sources to get it to work right, even though it’s pretty well documented.

(more…)

Calling Catalyst functions outside Catalyst.

Monday, November 30th, 2009

Several times, I’ve wished I could write command-line tools to manage Catalyst applications.  Those tools, invariably, needed to call some of the Catalyst functions, or at least get to the database.

I had struggled with Config::JFDI and tried to create DBIx::Class objects outside of the Catalyst models so they could be used standalone.  This sort of worked, but wasn’t as easy as I wanted.

I found a way, and it’s so simple it hurts.   I can’t help think this is one of those things the Catalyst team will read and think, “Well, duh!” but it was never clear to me and I struggled with it for months. (more…)

Adding Actions to a Catalyst app at testing time

Sunday, November 15th, 2009

In response to a question I posted on the Catalyst list, Tomas Doran (among other suggestions) posted a beautifully devious way to add additional capabilites to your application for test purposes.

When you’re testing with Catalyst::Test and running a local test, you don’t actually fire up a web server and talk over the wire.  It loads your program’s library in to the test script, and calls the functions with the same objects given to it by the other servers.

Your Cat app runs, but all as functions in your program.

Since this is your program – and a test script is just a funny Perl program – you can load libraries and add additional things to the namespace.

Testing Catalyst Session Data

Sunday, November 15th, 2009

Tomas Doran pointed out the other day, in a post on the Catalyst mailing list, that you could manipulate the session data between test calls if you needed to.

My original question was about manipulating what user was logged by playing with the cookie cache, but it should apply to any value in the session.  You could check them, to see that the internal state of your program is what you think it is, or you could fiddle with them, to test that it does the right things.

Stealing From the Experts: Look at Their Tests!

Sunday, November 15th, 2009

I don’t know why this didn’t come to me quicker, but I got some good advice on the Catalyst mailing list.  It boils down to “look at how other people do it”, which I usually think of.

What I’d never thought of before was to look at their test cases for ways to do it.

Both Tomas Doran and Peter Karman made good suggestions of places to look for things that would help with my authentication issue.

Cookies and Catalyst::Test

Sunday, November 15th, 2009

The other day, I asked a question over on the Catalyst mailing list which spurred on some discussion.  Some of that discussion showed up with an example of how to check for cookines on the result of a Catalyst::Test operation.

There seems to be a way to jigger it in, but adding some real support for it might be better. Others seemed to agree.

How?  What’s best?

generic viagra in british columbia Order Viagra can i take viagra

Reinstalling Perl.

Monday, October 26th, 2009

The break in my blogging was to start a new job.  It’s kept me incredibly busy.  I’m now a “Senior Infrastructure Architect” and being paid to write and maintain complex Perl scripts.  It means lots more things in Perl to learn and see, but may limit what I can blog about, as I have to be careful of the NDA.  I’m going to try and get back to this blog, though.

I reinstalled Perl the other day.  It was no trouble; it came with my Linux distribution.

Then I had to reinstall all the missing modules.

That should be easy!  I typed ‘autobundle’ in CPAN before I upgraded, and it wrote out a Bundle file.  All should be well!  I should just have to type “perl -MCPAN -e ‘install Bundle::Snapshot_2009_09_09 and let it go do what it needs to do.

Pity it doesn’t work that well.

(more…)