Tuesday, February 24, 2009

Ninjas, Rock Stars, and Nerds

OK children, listen up. Just because you think a word is "cool" doesn't mean that you can decide it's descriptive of you.

Ninjas were Japanese assassins in days gone well past.

Rock stars are musicians who are paid well enough for plying their trade to be able to afford drugs, hookers, trashing hotel rooms, private jet planes, and so on.

If you're a computer nerd, you're neither. Not even close. Doesn't matter if you think you're shit hot on the language du jour or not. You Are Neither a Ninja Nor a Rock Star. Live with it.

Edit 24 June 2011:
Hooray! It seems I'm not alone in this fight:
http://news.ycombinator.com/item?id=2416907

We are looking for a leading backend engineer with experience of building large systems.

About us:
...
We are not ninjas. We also are not rock stars, although we do feel that coding is an art.

Friday, October 26, 2007

Utilities? ACCESSORIES?!?!?

Terminal is probably the single most useful application on OSX *). Command Prompt on XP likewise.

Why is it then that on OSX, Terminal is hidden away in a subfolder of Applications called Utilities? It's not a "utility". Migration Assistant - not that I've ever used it - is a utility. It does one thing, and one thing only. It's needed only occasionally, if ever. Terminal, on the other hand, can be used for anything and everything. I use it all the time, and I bet you do too unless you're secretly pining for the days when Macs didn't use to be mighty Unix machines.

I won't even try to pretend to understand why Command Prompt is in Accessories. A handbag is an accessory. 'nuff said.

*) We'll conveniently ignore Emacs for the purposes of this rant.

Friday, August 31, 2007

I bet nobody ever had to figure out their FQDN

Task: figure out what your FQDN is, using Ruby, in a portable way that works on OSX and Linux (any variety, bonus points for more than one). Socket.gethostname _should_ do it. It doesn't.

Monday, February 19, 2007

Speak English Or Die

I used to love Open Source software, no matter what the denomination; ie. I used to, and still do, love GNU stuff even though apparently Open Source(TM) is a Completely Different Thing(TM). But I digress.

Back in the day, most free software was written by literate people.

This is, sadly, no longer the case. At all. Case in point: Axis2. I've given up on Axis2, so I no longer care one way or the other, but I'm getting a bad case of deja vu with SOAP4R. Like Axis2, it's not really documented at all, and what little there is requires English language skills on a totally different level than mine:

--cut here-
Don't you want to map some array to 'Array of int' exactly, do you? Then, at first, define your own Array;

class IntArray < Array; end

Create your custom mappingRegistry;

map = SOAP::RPCUtils::MappingRegistry.new
intArrayFactory =
SOAP::RPCUtils::MappingRegistry::TypedArrayFactory
map.set( IntArray, SOAP::SOAPArray, intArrayFactory,
[ XSD::Namespace, XSD::IntLiteral ] )

Then, use this map in marshalling/unmarshalling Ruby's object like;

SOAP::Marshal.marshal( IntArray[ 1, 2, 3 ], map )

Other than Marshal interface, SOAP::Driver and SOAP::Server has mappingRegistry attribute.
--cut here--

I don't know about you, but I don't really rate the above much higher as documentation than "nothing at all". You get what you pay for, I guess.

Thursday, May 25, 2006

DOM to StAX in Googolplex Easy Steps

Regular Klunchjunker viewers may remember my earlier rant about parsing XML from strings. Of course, that was with the obsolete, old-fashioned and outdated DOM libraries, but now we have Axiom and StAX, and everything is suddenly so much easier, right? Right? Well, it should come as no surprise to anyone that StAX and DOM are exactly equivalent when it comes to parsing Strings, meaning they won't do it without all the lovely shenanigans.

And of course there is no way of incorporating a DOM subtree in a StAX document.

Am I the only person on the planet who needs *) to use both DOM and StAX? Bueller? Bueller?


*) of course, much of this is due to my stupidity in choosing tools in the first place

Useless FAQs, part MCMXL

Axiom likes to spit out messages like this at startup:

Please initialize the log4j system properly.

Googling gives the following delightful FAQ answer:

log4j tells me to initialize properly.
Logging output is written to a target by using an appender. If no appenders are attached to a category nor to any of its ancestors, you will get the following message when trying to log:

log4j: No appenders could be found for category (some.category.name).
log4j: Please initialize the log4j system properly.

Log4j does not have a default logging target. It is the user's responsibility to ensure that all categories can inherit an appender. This can be easily achieved by attaching an appender to the root category.


Well gee, thanks a lot Dr. Ruth. Who do I have to blow to get a pointer to this "easy achievement"? Would it have been excruciatingly painful to, say, incorporate a link to this information? Did I call in sick on the day when "attaching an appender to the root category" was declared common knowledge?

Thursday, May 18, 2006

More inane smugness

This time from the cmucl installation on debian:

If you aren't running this with ilisp in emacs,
or aren't intending to use hemlock then you
deserve to lose. :-)


Listen, you little turd. I was paid to code in Lisp well before you stopped wearing diapers. I certainly do not need any of your lip especially since it seems nobody in your extended family has stepped on the clue train since the Iron Age.

And for the record, using a smiley does not make it any less smug, nor less stupid.

I'll give you a hint, though: there's a software package, not ilisp, not hemlock, named after the substance between your ears. You may want to figure out what it is when you grow up.