The Same River.

I’ve been here

This is a horrible place to find one’s self. There are many times this happens in my life.

Self Worth

Programming is kind of an objective thing. Code works or it doesn’t. This can haunt people who, to any extent, tie their sense of self worth to their current job performance. Starting some time Tuesday afternoon my personal stock plummeted as the IR Index climbed to five tickets, all of which I thought I’d solved already. Yet this afternoon I am happy happy happy. One issue was redundant code (I fixed one of two blocks of identical code) and the other was what we’ll charitably call “not my fault.” Now my ticket queue is on its way to zero.

And some people say programming is boring.

Java Mathematic Expression Parser

JMEP is exactly what I’ve been beating my head over for the past few weeks. Seriously way better than what I was writing and, from the testing I’ve done, way more robust. If you’ve been looking for an open-source java parser for mathematical expressions, your search is over.

Never was interested in building a parser, I’m way more interested in building a cross-platform GUI fantasy baseball draft manager. Using JMEP cut my own codebase by several dozen classes and simplified the whole stats interface aspect significantly.

Proud to be a Developer

When your PO is more like your lead you get a boss that writes a blog like this: Proud to be a Developer

Yeah, he’s a Microsoftie, but he’s a really frickin’ fantastic Microsoftie who does some pretty cool stuff that could be ported to other environments with relative ease. Anyway, it’s a good read and I hope he does more with it.

Dynamic Classes

I’ve spent about a month trying to work around needing to write / compile Java classes dynamically because I thought it would be an utter PITA. Turns out dynamic classes are not so difficult after all.

/me wipes egg from his face and feels dumb for not consulting the Internet sooner.

Dynamic Languages Strike Back

Steveys Blog Rants: Dynamic Languages Strike Back is a great article. Or at least it reads like a great article. To be honest, I don’t have the chops to voice a truly knowledgeable opinion but I figure if I keep reading this stuff it will come to me eventually.

It all relates to a paradigm I and my first mentor skirmished over a bit. He was old school and in to sucking every bit of processing out of a single command as possible. I, being much less experienced, would write code that was a bit more human readable but also less direct, less elegant. To be sure, I greatly admire elegant code and strive for it myself but I also recognize that processors have a little overhead when it comes to dealing with most tasks so why not use it?

Bringing it all around then, the essay deals with how dynamic languages are becoming competitive with static typed languages when considering the application as a whole. Improvements in hardware, compilers, and runtime engines plus smaller code bases and quicker prototyping make dynamic languages attractive.

Of course, he’s pushing for Lisp while I’m pretty happy with Python.

Big Ball of Mud

Big Ball of Mud is a great essay on crappy software architecture. Both in how it comes to be and how to pull yourself out of it. Academic enough to be informative and witty enough to keep you reading.

Uncomfortable Truths

So I asked this question on Ask Metafilter because I’ve been trying to figure out a sticky (to me) problem. I’m not sure how I want to model this using Java.

Among the answers provided (all seem top-notch so far) was a link to an article, Execution in the Kingdom of Nouns. Even though it was written well-neigh two years ago, I had not read it until now. Let me just say my life has been poorer for it.

But the weird thing is that it is a really uncomfortable essay for me to read. I really really like the rigid structure of Java. Code written in Java is so well organized because of the rules and syntax. It is elegant and it does permit me a small level of smugness knowing I write in such a demanding language. And, basically, this article is listing the ways this language is so difficult to work with and that things need not be so crapular. Also, my design problem is not so large a problem when attacked with a less-noun-centric language.

At any rate, I haven’t done much more than read the answers in the thread so far and then the linked article so I don’t know how helpful the help will prove to be. I did, however, have to share the excellent rant.