markwalling.org if thou seeketh the meaning of life, thou shalt not findeth here.

1Aug/10Off

JUnit Report writer for Python’s unittest.py

I wasn't able to use nose as a test runner for a project, but I still wanted to be able to view test results in Hudson, so in typical Mark fashion, I wrote my own unittest.TestRunner implementation that will generate a JUnit compatible (as far as Hudson is concerned) build report.

Sources are at http://github.com/mwalling/unittest-junit-runner

Filed under: Uncategorized No Comments
28Jul/10Off

Project update

The pond is done and stocked with fish. We're going to finish the landscaping at some point soon (I'll post pictures too).

The cat feeder is a very slow work in progress. The assembly is mostly complete, it just needs a few guide shoots put in. After that it is just a matter of writing the software.

I started a couple of Django projects too. One is a rewrite of Noobfarm, and the other is a grocery list application that is aware of the store you are at, and will reorder the list efficiently for each store (I shop at target, Aldi, and the grocery, and what I can't get at one store I'll get at the next. But the stores are organized differently )

Filed under: Projects No Comments
24Jun/10Off

Projects galore

We are putting in a pond! The bushes that we're there before were quite dead (some brilliant soul decided to plant a grape vine with them), so this is a nice change.

Dead stuff when we moved in
image

Bushes removed
image

Pond next to final resting place
image

I'm also doing something quite crazy: an Arduino powered, internet enabled cat feeder. It is nothing new, but Catherine wants the cats on a measured diet, but neither of us want the schedule.

The electronics are in, the materials are (mostly) purchased, I just need to build it.

Playing with servos
image

Alex is "helping"
image

Tagged as: , No Comments
5Jun/10Off

Boredom Wins!

I created an IRC bot to poll revip.info. The eventual goal is to have the bot get NOTICEd by an irssi script, then respond to the requester over CTCP when the data is available, the script catch that, and then display the information to the user, similar to how joininfo.pl works.

Source and issue tracker is at http://bitbucket.org/mwalling/irc-revipinfo

Filed under: Uncategorized No Comments
26Apr/10Off

Lazr Eyes

image

Linode has laser eyes.

Filed under: Photos No Comments
21Apr/10Off

McAffee detects svchost.exe as a virus

http://andreyf.tumblr.com/post/538652366/mcafee-kills-computers-worldwide

This sounds like fun.

Filed under: Links No Comments
15Apr/10Off

Bill Gates bans iTunes from Windows

http://pluggio.com/blog/?p=244

Guess I need to get a Zune... Do they still make those?

Filed under: Random No Comments
7Apr/10Off

Announcing Albany Area Hackers

I’ve created a Google group called “Albany Area Hackers.” I hope the name is obvious enough, but I am hoping to get people in this area together to, well, bullshit.

I hope this group can be self managing, but for spam reasons, all users start out as moderated. Once I see you send something that isn’t about enhancing your manliness, I’ll remove the moderation and let the emails fly.

I think stifling conversation is more hurtful then beneficial, since we’re all adults and can handle being our own filters.

Let’s get together and reach that critical mass so that this group can start to flourish!

Head on over to http://groups.google.com/group/albany-area-hackers and subscribe!

Filed under: Uncategorized No Comments
4Apr/10Off

And the blogging platform comes full circle

As you can see, the site is totally different. I am back running on WordPress. This time is a little different though.

In an effort to maintain my sanity, I installed WordPress MU to bring my wife and mom's blogs together so maintenance is unified (keeping one install up to date is hard enough!). Since I had done that much work, I threw my site in there too (and created one for my sister and friend, cause it was so easy)

Oh, and I am writing this from my new Droid!

Filed under: Random No Comments
15Mar/10Off

On Java Today

I call myself a professional Java dev, because most of my time is spent working on Java, but I also work with Python, Fortran, C, Matlab, etc., on a daily basis. (I thought the timing of this article was ironic, since Java has been bashed continuously for the past couple days on my LUG mailing list)

We develop Java desktop programs at work. We had the opportunity to switch to something else this winter for a new product, but decided to stick with Java, as the base language, but decided to build on top of the Eclipse RCP framework. I could go on and on about RCP, but I'll spare you the love fest.

As an exercise, I tried writing an application for the firehouse in C#/WPF, and it turned into a disaster. To be fair to C#, I've never used it before, and it was easy to pick up. To bash it, the WPF DataGrid tries to do more magic, where the RCP TableViewer requires you to explicitly declare items.

Now, the real reason for this post: to try to answer Tycho's questions from his blog post titled "Where is Java Today?". His questions are aimed at server applications, but I'll answer from the desktop context anyway.

Is the “write once run everywhere,” thing that Java did in the beginning still relevant, for server-based applications? It’s a server application after all, you wouldn’t be loosing much by targeting a more concrete native platform.

We target Windows desktops, but it turns out that our code was cross platform with out trying (this is part good programing, part framework). (There was a little bit of trying, I had to turn on an option to build the native bootstrapper components for Linux, but after that it worked perfect)

So yes, I think it is still relevant. I think it is less relevant, with the increase in "Cloud Apps" and such not, but for an offline application, I'd still pick Java/RCP.

Is the fact that Java is statically typed more of hindrance in terms of programmer time? And will the comparative worth of Java’s efficiency wear off as computers continue to get more powerful

Conventional wisdom being that while statically typed apps “run faster,” but take longer to develop. This is the argument used by Python/Perl/Ruby/etc proponents, and I don’t know how the dynamics of these arguments shift in response to the action of Moore’s Law.

Short answer: No. Type checking can be kludgy, and explicit casting is annoying, but I still like it. When I write programs in Python, I find myself checking the type of parameters that are coming into methods. So to me, it is a trade off between explicitly casting objects, or explicitly checking for the proper types.

Plus, you find errors at compile time, so for a team who (in my opinion) has a very high velocity for such a small group of people, it is like automated testing for free.

One of the great selling points of Java is that it executes code in a “managed” environment, which provides some security and safety to the operator of the system. Does the emergence of system-level visualization tools make the sandboxing features of the JVM less valuable?

The only response I have to this is that the JVM and the CLR are very close in function right now.

I don’t think my experiences are particularly typical, but all of the Java applications I’ve done any sort of administrative work with have been incredibly resource intensive. This might be a product of the problem domains. Using Java is often like slinging a sledge hammer around, and so many problems these days don’t really require a sledge hammer.

I think this might fall more on the hands of the application developers. Done right, one can get a functional application in less then 50 MB.

(as a side note, I can tell Tycho has never done any demolition work, otherwise he'd love sledge hammers more.)

At this point, the amount of “legacy” Java code in use is vast. I sometimes have trouble understanding if Java current state is the result of all of the tools that have already been invested in the platform or the result of actually interesting and exciting developments in the platform. Like Clojure. Is Clojure (as an example,) popular because Lisp is cool again and people have finally come to their senses (heh, unlikely) or because it’s been bootstrapped by java and provides a more pain free coding experience for Java developers?

I'd agree, there is a lot of enterprise applications written in old Java (just call it old, it isn't even worth calling legacy). But Java 1.4 is a totally different beast then Java 5 or Java 6. Many useful language features were added in Java 5, and I think it helped with language advance. (I know I use generics and the new foreach syntax often)

As to Clojure, I view this the same as I view Microsoft adding F# to the CLR. It is just another language to show case each vendor's virtual machine.

So there you have it. I've now rambled for 30 minutes, talked about something useful, updated my blog, and am now tired.

Filed under: Rants No Comments