the corner office

a blog, by Colin Pretorius

Phew

Academic season back in full swing, and the first round of assignments almost done. I just have one project bulls^Wwaffle^Wproposal left to write, and then I can breathe freely for a bit.

The project I'm doing is maths-related, which might come back to bite me in the butt, but it involves lots of programming, which is why I chose it. The only problem is that I don't know too much about what I'm 'sposed to be doing yet... after a looong stretch of radio silence and a series of unanswered emails I finally got hold of my project leader on the phone, to find out what was going on. "Hey! Wassup!" says I (diplomatically, of course). "Oh," says the lecturer, "I've been away at workshops, I'm sorry. I'm a bit behind, I have 1,200 unread emails in my Inbox."

I don't know what the appropriate response is to that. I'm not renowned for staying on top of my correspondence, but someone who's let 1,200 emails pile up and just blithely admits to it... that's a bit untidy. Kinda shakes the foundations of modern society, if you know what I mean.

{2006.05.09}

Axis2

I see that Apache Axis2 has hit 1.0 status. Axis2 is a new SOAP implementation, meant to replace the venerable Axis, (which was the old Apache SOAP, which was (I think) the prehistoric SOAP4J before that). When I was doing some homework on SOAP APIs a while back, the Axis2 stuff still looked a bit flaky and under-documented. Axis2 does sound more promising, though, particularly the fact that they seem to have done away with the infernal JAX specs and are going for a simpler, saner XML-over-the-wire API.

Having spent some time in the Axis 1.3 code trying to figure how certain things work (or more to the point, why certain things weren't working), I can understand why the Apache folks decided to wipe the slate clean and start over with Axis2. Apart from buckling under the weight of its own API, the old Axis had a more-than-mild case of bitrot. It's a known entity, at least, and widely documented, but it sounds like Axis2 is catching up fast. I think I'll be giving it another look.

(Update: the BileBlog says don't bother)

{2006.05.06}

Quote of the day

... Nor do I think it is a newer and better or brighter or has less calories; everything we build is turds, we just move them around or shine them or have a different view on which way they should be rolled.

OpenBSD creator Theo De Raadt on Linux, but applicable to much $PRODUCT_A versus $PRODUCT_B zealotry.

{2006.05.02}

Wild West

Sometimes, late at night, I like to do a tail -f on my server's log file and watch as the hits to my site scroll ((very) slowly) by. It relaxes me.

I'm not sure if it's because my blog runs on Tomcat, but thecorneroffice.org's logs are clean. Traffic is legit. Every now and then I look at the logs for my 'home page', colinpretorius.org, which runs on Apache (httpd), and it's a different story altogether. It's like the Wild West with Herpes, crazy-ass outlaws and unsavoury types throwing stuff at the server, and they keep coming back. I get hits trying to exploit nearly ever perl, php and cgi-based site vulnerability known to man, and then some. It doesn't seem worthwhile trying to ban IP addresses, so I guess the best is to be glad that it's just a dumb http server with the bells and whistles turned off, and stay on top of security updates.

I do think it would be cool if Apache had a mod_fyou extension that linked in to a subscription service. For a small monthly fee, the extension forwards details of the untoward 'prod' to a tracking service, who'll indentify who's scanning you, get their home address, then send someone round to the perp's house, and bash their knees in with a baseball bat. For an additional fee (and indemnity waiver), they'll forego the baseball bat and just rip out the skiddie's entrails with a rusty fish knife. If you go for the deluxe service, Skiddies Removals, Inc will even give you access to their operatives in far-flung places like Korea and China.

Of course, people will say that many of the scan attempts are coming from home Windows users who don't even know that their PCs have been trojanned. I think most people will agree though, that in the great battle against people who have the nerve to scan decent god-fearing web servers, sacrifices will need to be made. Besides, I don't think anything that Microsoft can do would encourage people to keep their XP boxes patched and trojan-free as much as a few well-publicised stories about entrails and rusty fish knives.

{2006.05.01}

G'bye DDN

This blog has been up and running at the new host for over a month now, with no hassles, so I cancelled my DDN subscription yesterday. The old colinp.dominodeveloper.net URL is no more, and thus passes the end of an era. Cue violins.

I have nothing but good things to say about my time with Domino Developer Network though. In two years I had no performance or uptime hassles, and the one or two minor support issues I had were sorted out quickly and competently. If you need Domino hosting, thumbs up and all that.

{2006.04.29}

Freedom day

Today is Freedom day, and this year, I'll be doing the same thing I did last year. With fewer subjects on my plate this year though, I'm less stressed. Hurray!

Also, I've taken leave tomorrow so with it being Mayday^WWorkers Day on Monday, I'm having me a 5 day weekend. Hurray!

{2006.04.27}

TPTP

On the topic of profiling, this is something I was going to write about a few weeks ago.

If you Google for 'Eclipse profiling', at the time of writing this the first Google page mentions the open-source, all-but-abandoned Eclipse Profiler (I blogged about it last year).

Only at the bottom of the page is there mention of the Eclipse project's own profiling tool, from the TPTP (Test and Performance Tools Platform) project (full name of the profiling sub-project: TPTP Tracing and Profiling Tools Project, which thankfully hasn't been abbreviated to TPTP TPTP). It seems to have next to no mindshare, and not just because nobody can remember what its name is.

The TPTP used to be known as the Hyades project and I think many people stayed away from it because it just looked too complicated to actually do anything useful with it. Extra downloads, a heap of dependencies, cryptic documentation and a half-hearted link to a set of slides from some conference explaining how it all worked. I know that was the case with me. However, I finally sat down and worked my way through the setup docs, and wasn't too hard to get going. The real treat was starting to use it. I'll just say that the TPTP profiler is just plain sex-ay (with a 'grrr'). So far, it's solid, it's powerful, it's documented, and above all, it's straightforward to use.

I haven't played much with the memory profiling, and I haven't used the separate profiling agent, but the method analysis is brilliant. Not only do you get the usual 'amount of time in this method' sort of information, but there's a graphical tool which shows your call stack on a time line, to get a visual cue of what your program is doing and how long methods are running for (across multiple threads, including GC... heaven!). You have detailed per-method stats and time line graphics, and something else which is partly eye candy but can also be really handy - your call tree can be displayed as a UML sequence diagram - inter-object and inter-thread.

Well worth checking out.

{2006.04.23}

Five truths about code optimisation

Russ Olsen has a post titled Five Truths About Code Optimisation (via Bob Congdon). It's a good read, and it seems that point number 2, 'Rest assured, you don't know where the problem is' has struck a chord with a lot of people. That's because it's just so damned true.

It's easy to catch other people doing it, but despite learning the lesson over and again, I do it all the time myself. I've learned that a good corollary would be this:

keep your hypothesis to yourself until you've had a chance to prove yourself wrong

(By the by, Russ' blog is now added to my aggregator. Reading back through his old posts, it's an excellent resource).

{2006.04.23}

High Octane

I was reading this BBC article about men being more likely to make lousy decisions when distracted by purdy ladies (via Foreign Dispatches). The revelations are hardly ground-breaking, but if you're ever in one of those 'uh, would you repeat the question please?' situations you can now blame it on science.

What is interesting is how they measured whether men have high testosterone levels:

The men's testosterone levels were also tested - by comparing the length of the men's index finger compared to their ring finger.

If the ring finger is longest, it indicates a high testosterone level.

I never knew you could do that. I duly held up my hand and compared my fingers. High octane all the way, baby!

{2006.04.19}

Evince

Hey ho, I hadn't noticed that there's a new Pdf viewer for Gnome, called Evince. I gather it has become the One True Viewer. This is a Good Thing, because none of the existing PDF viewers for Gnome were particularly good, in my experience. Acrobat Reader was proprietary and bloated, gpdf lacked even basic features like searching and text selection... ironically, the venerable and dated xpdf was probably the best of the lot, which wasn't saying much. GUI design has come a long way since Motif was state of the art. Evince seems to get it right. If you're using Gnome and not (yet) using Evince, give it a try.

{2006.04.18}

« Older | Newer »