Quantcast
Channel: Perl Alchemy - notes of a programmer
Browsing all 27 articles
Browse latest View live

Object oriented versus functional interface

I use DateTime::Format::W3CDTF for parsing my dates: my $w3c = DateTime::Format::W3CDTF->new;my $dt = $w3c->parse_datetime( $date_string );I wish it was: my $dt =...

View Article



Concentration and Flow or Yet Another Dependency Injection Note

Imagine that you need to do some small home improvement or maintenance work and you have all the needed tools, in good quality, clean and well maintained with all cutting blades sharpened and no...

View Article

Notes on the Synthesis of Form

According to Wikipedia the origin of  Design Patterns lays in the Pattern Language ideas by the unorthodox architect and philosopher Christopher Alexander, but his earlier work also used to be widely...

View Article

Thesis: simple - antythesis: easy - synthesis: ...

Rich Hickey's Simple Made Easy is a great talk, a must see, with lot's of insight, but together with that it also misrepresents what Agile is about.  Hickey's main point is that we should try to write...

View Article

$ primes for money

The thesis above sounds uncontroversial.  It is also rather uncontroversial that '$' is relatively frequently used when programming in Perl.  Now - what can be the consequences of that?Money has been...

View Article


'use strict' and cargo cult programming

I've just read  mjd's confession "Why I Hate strict", it is from 2003 so he might have changed his views now, but there is nothing that would indicate that on this web page.  Anyway, his main argument...

View Article

A kind of call by name

I often write code like this:$self->create_user( username => $username, email => $email, pass_token => $pass_token );I wish I could get rid of the naming redundancy in this...

View Article

Schlep

Schlep is tedious, unpleasant task.  According to Paul Graham schlep is also what really defines a company - it is doing the tasks that are unpleasant and tedious for someone that they would pay you...

View Article


Mason 2

Mason 2 looks very interesting. First of all it has the a file a page modus operandi that works so well for PHP, then it has all the template inheritance and Moose template candies that look very...

View Article


Why Bread::Board looks mostly redundant

This is based on two assumptions - that you don't use BB as a kind of Service Locator (but I agree with for example Dependency Injection != using a DI container that this is an anti-pattern) and what...

View Article

WebNano - code experiments

WebNano is only a few hundreds lines - but you can arrange it in many many ways - and then you need to test it with all kinds of URL schemas and controller architecture. I do a lot of exploratory...

View Article

Verbs and Nouns

There is a popular, if a bit long and blurry, rant by Steve Yegge: Execution in the Kingdom of Nouns - it is about how we overuse nouns and under-use verbs when programming in Java. Of course it is not...

View Article

Blog writing and assuming stupidity

Writing a blog is not easy. People did not change much since the 'bread and circuses' times. You need to spicy your writing up with strong statements or you'll not get any audience. On the other hand...

View Article


Plack::Middleware::Auth::Form - some updates and a possible name change

I'll make a new release of Plack::Middleware::Auth::Form soon. There are quite a few fixes in the Plack::Middleware::Auth::Form repository gathered since the last release. It is all from external...

View Article

What if "character != its utf8 encoding" is overengineering?

"You shell not assume anything about the internal representation of characters in Perl" - is a mantra that has been repeated over and over by the Perl pundits for something like a decade. But there are...

View Article


Image may be NSFW.
Clik here to view.

Breaking problems down and defaults

In a classic essay Dave Rolsky wrote: Want Good Tools? Break Your Problems Down. I wish more people have read this and applied the advice - CPAN libraries would be more useful then. But stating the...

View Article

A Data::Dumper bug - or Latin1 strikes again

I did not believe my boss that he found a bug in Data::Dumper - but run this: To get a character that has internal representation in Latin1 I could also use HTML::Entities::decode( 'ó' )...

View Article


If all of your state is on the stack then you are doing functional programming

Consider this: This is imperative code, it uses variables with state, but from the outside it is a pure mathematical function. This is because all of its variables are created anew when the function is...

View Article

Tricky problems of the Perl language - a completely arbitrary list

Overloading and parameter types validation.Clash between overloading hashification and arrayification and the each, keys and values with the new dereferencing semantics.There is no way to know if you...

View Article

On the importance of intuitive names.

PARTICIPANT:[Reading names of classes]Binary reader, Buffered stream, Reads and writes...[Pauses, Scrolls through list of classes].So let me just...stream writer. Implements a text writer writing...

View Article
Browsing all 27 articles
Browse latest View live




Latest Images