Currently:
2003-08-14»
junk dna, and bernard lietaer on money, community and social change»
Quinn told me two years ago that
the basic problem with the global economy was that the idea of money was
broken. Around the same time she announced that junk DNA had to have some sort
of function, despite what current theories indicated. I humour Quinn on these
and other theories, as long as she doesn't talk so loudly that the geneticists
and economics professors at the next table hear her speak that way.
Today I discover that a) some scientists are coming to the same
conclusion about junk DNA, and b) the guy who co-designed and
implemented the convergence mechanism for the Euro, and co-founded one of the
largest and most successful currency funds, Bernard Lietaer, agrees with her about money.
I can only conclude that those bastards were scribbling notes on their
napkins all along.
california recall confession»
Is it bad to secretly wish Schwarzenegger gets in, just because of the
excellent rewrites of California
Uber Alles it will encourage?
2003-08-13»
co-loco»
The co-location company that hosts a community server with which I'm
involved went bust - at 11am yesterday. Without telling anyone, including
their own tech support and hosting facility.
I suppose we could have predicted this. We've been trying to pay them for
for a few months now, with very little success. Hard fast rule of e-commerce:
if you make it impossible for people to pay you, and yet you are expecting to
be paid, something bad will happen.
We can tell the precise point at which the co-loc company ceased to co or
loc, because at that moment our machine vanished off the Net. A lot of
heavyweight sysadmin types run their mail from this box, so turning off the
packets is a bit like throwing up the BOFH-Signal into the sky. Heads
turn.
First step when a hosting company spontaneously bankrupts: get your box out
of there before the creditors mistakenly melt it down for slag. A fantastic
friend who runs her company from the box ran cross-town to airlift it out.
Serendipitously she bumped into a guy who is running a hosting outfit in the
racks upstairs. He's an ex-employee of our co-loc, and realising what is going
on, kindly takes us (and I'm guessing several other bedraggled servers) on
board and plugs us into his network.
He's given us a few days leeway to sort ourselves out, but - always
assuming this all hasn't been part of his evil masterplan - I think we'll go
with him. He's still at that phase where he knows all his customers and
answers the phone himself. I still have problems explaining to people why
little ISPs like this seem to work better than big ones. I guess, if I wasn't
so dog-tired, I'd say that the economies and diseconomies of Internet services
are shaped like a big mexican hat. You can scale up pretty quickly, and then
it all goes to shit until, if you're lucky, you sell out to someone big enough
to run matters properly again. You can either be Henry Ford or William
Morris, but you can't be Mr In-Between.
2003-08-11»
python templating»
Well, the weekend's over, and I'm sticking with Python. I caught up to
where I was with the Perl implementation pretty quickly, and in far fewer
lines. To be fair, I think a sizeable part of that may have come from me using
the Test::Unit / unittest suites to do my test-first development. Both are
derived from Kent Beck's Smalltalk framework and are very OOP-oriented, which
favours Python over Perl5. I was beginning to stumble
into some hairy data structures with Perl, all of which turned out a lot
simpler-looking in Python. That, and I'm doing some email mangling in this
part of the coding, and Python's built-in email
module has much of what I need. There are some even better libraries
in CPAN
(as usual), but I was greatly spoilt for choice and
little spoilt for time.
Anyway, this still leaves the problem of a decent
templating solution for Python. I got loads of very useful
suggestions, which I'll attempt to summarise here:
Aaronsw wrote back to say that he uses cheetah and sqlobject . He wrote
back suspiciously fast. I think it may have been one of his bots talking.
Both cheetah and sqlobject look tempting - especially as sqlobject supports
sqlite, and I'd like to stick with that very basic SQL implementation until my
lusting and hunger for relational database power become known to more people,
as the Boney M
song has it [1].
Noted real-world Python user Zooko said that the Mnet gang would probably be going
for whatever templating Twisted
had. Then he confessed that they probably wouldn't have much need for
templating at all. His most abiding point was, I think, to exclaim w00t python
w00t, which I took to heart.
Jonathan Moore says "all the cool kids have quit templating and gone to
XSLT", which I subconsciously knew. But then if the cool kids jumped off the
Post Office
Tower, would I join them? Naturally, because cool people are usually
into BASE jumping and stuff
like that, and would be cool enough to help me with basic safety precautions.
And, besides, how cool does jumping off the ... I digress.
My thoughts: XSLT is one of those technologies best kept for either times
when someone is paying you to learn it, or you've lied on your resume and said
that you wrote the W3C spec, and now you find you have the job of your
"dreams". I'm in neither position, for once.
David Jeske wrote an informed recommendation for ClearSilver, which isn't surprising
as he's been hacking on it for yonks. ClearSilver looks really
interesting. It has a nice, simple, theory
behind it. The original, closed-source version drives Yahoo Groups
. Jeske
and friends' open source re-implementation is used at Weather Underground. It doesn't get much more
hardcore than that.
Van Gale backed up the Clearsilver recommendation, and also put it in a
plug for Cheetah and TAL (the Zope templating system untimely ripped from the
rest). Van has a soft spot for PyMeld too, but wasn't
sure if it could cope with high-performance sites. Richard Jones likes SimpleTAL.
When I hit my templating problems, I think I'll hit them back with either
ClearSilver or Cheetah. Which one will depend on the size of my problems and
on what speed I'm plummetting into disaster at the time.
[1] - Rasputin would make a great name for an open
source project.
2003-08-09»
py vs pl»
I've got a new medium-sized project to be working on. It's just me coding
it at the moment but at some point (if it comes together), I do want to be
able to pass it on to someone else, preferably without apologising first.
I'm utterly torn between Perl and Python. My first choice in this case
would be Python, because bad Python code doesn't seem to be quite so
personal. I've seen people spit blood at other coder's Perl, just
because it's not the way that they would do it. Perl demands rather more
sympathy with your predecessor than does Python. With Python, it's just more
code to stare at.
That said, your successor does need to actually know the language. Most of
the people I can imagine maintaining this code will know Perl but not Python.
Python doesn't take that long to learn, but reading Python to take on someone
else'se project just isn't much *fun*. Sitting down to learn someone's Perl,
while tough, does teach you about the way they were thinking when they wrote
the application. Python's clarity, I think, cuts down on its expressiveness
in depicting why certain decisions were made. When I had to hunker down and
learn POE or Moveable Type, for instance, I came away with a very deep
understanding of how it was supposed to work. It was fun, albeit
time-consuming. I sometimes have problems doing the same with slabs of Python
code, just because they can be very lacking in personality.
That said, I'm not paid to be a programmer. What is fun is a hobby can be
skull-crackingly frustrating in a job with a deadline.
I eventually made the decision to go with Perl and Mason - mainly because of Mason. I know
a lot of people who know Mason who I can ask when I got stuck, and there's a
fair bit of this code that will end up being on a Website, eventually. There
don't seem to be any Python templating solutions that stand head-and-shoulders
above the crowd (and whose implementors I know). I felt that going with Perl
would provide my successor with a clearer understanding of the whole project,
and not necessarily lock me into an immature Web tech that no-one knows.
Now, a couple of days into it, I've begun to seriously reconsider. I'm
nowhere near the Mason bit of the application, and I'm getting continually
bogged down in Perl style issues that really don't have anything to do with
what I'm trying to write.
To be honest, I think this is my Perl rustiness kicking in; and I think it
may go away after a few more days hacking. Worse, though, is the effect of
something I thought would be a real boon - CPAN. There's a bunch of useful
utilities there that I'd love to suck in and use in my program. But they all
have different idioms - all of which I have to sit down and learn. Plus
there's the whole dependency issue: sooner or later I'm going to have to
install all of this on the working server, and there's a real penalty to be
paid for being dependent on a lot of scattered Perl modules. Will they work?
Will they still be maintained? Which of alternative implementations should I
choose?>
So, I'm going to spend this weekend having a bash at a Python
version. My XPish working
style has recently become dependent on a lot of Python features, and the
Python core library has most of what I need in the way of modules. I really
haven't written much code, so there's not much time lost. And I figure that if
it all goes to hell in Python too, I'll learn my lesson quickly and go
slinking back to Perl with my tail between my legs. Plus, no-one's paying me
to be decisive here. As if anyone would.
I still don't know of a good, solid, Python templating language though. Or
rather, I know of three or four, but I don't know anyone who has used any of
them seriously in high-volume production environments. I'm not interested in
Zope or Twisted (tempting though they are) because I'd be obliged to wrap my
solution in their terms, but I really don't know whether I should go for
SkunkWeb or WebWare or Spyce or any of the
others.
Right now, I'm delaying the decision until I'm a bit deeper into the code.
Which feels a bit uncomfortable. But under the terms of XP, perhaps forgiveable.
2003-08-07»
dirty, dirty junk mail»
There's a US federal law which lets individuals prohibit companies from
sending unsolicited sexually provocative or erotically arousing mail.
According to the postal ruling implementing this law, ""Postmasters may not
refuse to accept a Form 1500 because the advertisement in question does not
appear to be sexually oriented. Only the addressee may make that
determination."
Kayne McGladrey is doing the obvious thing: declaring that all those
Sharper Image catalogues and coupon collections are quite filthy, and
should be exorcised from her letter box. Instructions
included.
vim tips RSS feed»
Learn something new every day, with the vim.org tips RSS
feed. (Thanks, Phil!)
petit disclaimer:
My employer has enough opinions of its own, without having to have mine too.