Caffeine Peter Colijn
(RSS)

August 02, 2007 (link)
On "Web 2.0"

Lately I've been reading uncov. I love their scathing writing style and their blatant attack on the insanity that is "Web 2.0". I realize that there is a hint of hypocrisy in my enjoying this, since, you know, I do work on a web app. But hey, at least my web app is more useful than this one. Anyway, if you're in need of a chuckle I highly recommend adding their feed to your reader :P

My main issue with "Web 2.0" though is that nobody knows what the fuck it means. We've had web apps since the 90s. What suddenly makes it "2.0"? AJAX? Social networking? Nobody knows, and we've had those 2 things since the 90s too, so fuck it, the quotes are never coming off for me because the as far as I'm concerned, the concept doesn't even exist. And the first person to talk about "Web 3.0" deserves to be shot. Oops. I mean, uh, nevermind.

August 03, 2007 (link)

Building at the Goog

[ caffeine@espresso google3 (1) ]$ uptime
 00:13:23 up 10:23,  6 users,  load average: 32.46, 11.93, 7.40

Yarg.

August 16, 2007 (link)

On cpp

apenwarr writes recently about cpp and its various uses. It is definitely true that macros have their place and can be useful for avoiding evaluation when it is not needed (eg. logging). However, the claim that "Java and C# programmers are pretty much screwed here" is not exactly true.

In Java, you generally do logging via a function call, since in general you don't have macros. Though just as apenwarr notes in his footnote for C#, nothing is stopping you from running cpp on your java files before running them through javac (and in fact many Java mobile programmers do just that so that debug and other code can be DEFINE'd out). But generally people don't do that. So you have this Logger object, and you call log() on it, and gosh, that function call can never be avoided, this is really bad.

But the most expensive part of apenwarr's example, generating the string to be printed out, can be avoided. You would use a syntax like this:

Logger.log(Level.INFO, "Here is a gigantic buffer:\n{0}", buf);

If the Logger is not loggable at level INFO, it will simply avoid calling toString() on buf. Since that is the most expensive part of the operation, you're not totally screwed. You're still a little bit screwed because you did have to call the function, evaluate a branch and then return, as opposed to nothing. But not hopeless.

August 24, 2007 (link)

I don't get it

So there are a few things I don't get. First of all, I don't really understand why I even care about this shit. I guess I will blame it on mrwise for getting me addicted to The Superficial.

Anyway, Paris Hilton got 45 days for driving drunk once, and then driving again and speeding while her license was suspended. But Lindsay Lohan, who drove mega-drunk (twice the legal limit) and had cocaine while doing so, gets a measley day. WTF?

Also, note to US judicial system: your "war on drugs" is much less convincing when you just let rich white people off the hook with cocaine while convicting millions of black people with marijuana.

In case you weren't already aware, this country is fucked up in many, many ways. In fact, they never cease to amaze me with their fucked-up-edness. If you think Harper is bad, you should see this joke of a government.

Back: July 2007 Next: September 2007

email: caffeine@colijn.ca