I just got about halfway through the RoR Flickr Mashup screencast, and I must say it’s better than a lullaby. However, its long stretches of nothing happening but typing left me time to think about the template situation for Ruby. Python has way too many independent templating systems, but things are getting better. Python is a language first, with (way too many) web frameworks and templating languages put on top. Will Ruby have the same kind of longevity options with its situation — namely, the average person equates Ruby==Rails.
I must admit however, as a Python programmer, I have a hard time deciding what to use. I tried Clearsilver, and like it (though it isn’t available for the platforms I need). I tried Smarty, and after some include path issues, it’s a bit bloated, and more than I want in a templating engine. I do like the host-language-agnostic templating languages from a design principle, including Clearsilver and HTML::Template in Perl. I wish one of those would catch on and provide best-of-breed templating rather than trying to be more. I’d embed that in an instant.
From a discussion in class two weeks ago:
- Parberry:
- “Gourad shading is neither efficient
nor pretty.”
- Me:
- “Reminds me of Java.”
And you’re right: we [the Java language designers] were not
out to win over the Lisp programmers; we were after the C++
programmers. We managed to drag a lot of them about halfway
to Lisp. Aren’t you happy?
— Guy Steele on Java
I went by to see Belle and Sebastian in concert last
Tuesday (and have since been quite busy recovering). The
new girl is fitting into the band quite well — I could
have sworn Isobel was singing some of the songs.
The new album, The Life Pursuit, sounds a lot better
after hearing it played live. I didn't need that with the other
Belle and Sebastian albums, but maybe it's just my state of mind.
Commence the photos (taken without flash so as to not annoy the
performers... that has got to be one of my biggest peeves)

Let's say you're trying to hire a Java programmer. Well, you've already made your first mistake! Why? Because setting out to hire an "X programmer" for any value of X is probably going to land you a dud. I will assert: all the best programmers are proficient with at least three to five programming languages, and the Really Best ones pretty much hate all languages, but they hate some less than others.
— Hiring Ruby Programmers, O'Reilly
Unit testing is so great I can’t live without it now. I find that
the code I write in Python, tests-first, is generally higher quality
than that I’ve been able to write in other languages, such as PHP,
Java, and any-random-dot-net-language. I firmly believe that all
non-trivial functions should have tests written as soon as
the design is spec’d out, which is to say, generally before the
function is finished. It makes you think about edge cases earlier
on, and provides a firm "this is finished" or "this needs more work"
indicator.
Yes Eric H, I’m talking to you when I say non-trivial. Writing
tests for getters and setters is generally useless, unless you’ve
got some complex behavior in the getter/setter, in which case shouldn’t
you split that out into a verification function separately?
In other news, a couple of programming links which I recently
rediscovered, and don’t think I’ve mentioned before. Good reads, mostly
focused on language differences (which I guess makes me one of those
crufty Python people that is interested in doing things the “right”
way.
XML is not the answer. It’s not even the question. … “Some people, when confronted with a problem, think ‘I know, I’ll use XML.’ Now they have two problems.”
— Python is Not Java
Technologies, especially programming languages, do not win on merit. … What about Python? Is Python hip, funny, and fun? Not really. The community is serious, earnest, mature, and professional, but they’re not much focused on fun, which is an important part of marketing languages.
— A little anti-anti-hype