the corner office

a blog, by Colin Pretorius

# Jet-settin'

The coming week is going to be cool - I'm off to Romania for a few days. I say cool, because I'm rather excited about seeing a new country, and cool because it's apparently pretty damned cold over there!

File under: personal : {2008.02.24 - 09:40} : Comments (0)

# I cannot set a waypoint to the same location twice

Aaah, fire up some way-old Tangerine Dream for atmosphere, undock from the station and point my trusty old Condor at the stars...

Nice to be back on Eve Online. Luckily for me, my old character was still on the server, waiting for me, my EveMail, skills, assets, dosh, the lot. So apart from a black hole of about 9 months of missed skill training, I've just picked up and carried on as if I'd never left.

Not entirely, though. The game itself has gone through some large expansions since I last played... a lot of new features and content that I still know very little about. The way coolest change isn't an in-game feature at all though, it's the addition of an external API. Armed with a unique authentication key, you can now query an API server and get a ton of character and game-related XML data in response. Combined with static game data which is exported regularly and made available for download, you can build some useful and powerful applications. There seems to be quite a lively 3rd party tool community, with a lot of open source code and some nifty-looking little apps. (Oddly enough, none in Java though).

That brings me to something of a cross-roads. My old web based market app is still there, with lots of potential improvements with the API. Frankly, a lot of it was so organic and spaghetti-ish that I'll probably end up rewriting a lot of it. If I'm going to do that, is it worth sticking with Java? My early Eclipse RCP efforts were inspired by wanting to add features to the market app that weren't easy on a web app (at least with my ham-fisted UI skills). Having done a bit more RCP development, I'm not so excited about that. I could do a Swing app but that doesn't excite me either.

This ties into something I mentioned at the beginning of the year. As much as I love Java, I spend all my working hours with Java, and I'm in the mood for something different when I get home. I really wanted to spend more time with C++ this year, but C++ isn't really a solid or productive choice for a desktop app circa 2008. The question, then, is what? Stick with Java, even though I don't like Java UI development much? C#? If so, .Net or mono? WinForms or GTK? (since Eve apparently runs on Linux as well, now). Alternatively, go completely exotic and learn something like Python and one of the many Python UI bindings? Still not sure.

File under: personal, techie : {2008.02.13 - 00:31} : Comments (6)

# Done. Done. Done.

Last exam done today. Freedom! I'm still letting it sink in. If all goes well, this was my last exam through UNISA, ever. I've had the studying thing hanging over my neck for so long, that I've forgotten what it's like to not feel guilty about not being busy, to not have that little voice in the back of my head always reminding me of how much work I have to get through. Now I can just be like normal people and come home after work and do whatever takes my fancy, or just do absolutely stuff-all if I feel like it, totally guilt-free.

I have a few pet projects lined up, which I'll blog about as and when, and tonight I did something I've been itching to do for months - I re-activated my Eve Online account. I'm just going to take it easy for a while, and chill the fsck out. It's a niiice feeling.

File under: personal : {2008.02.12 - 00:11} : Comments (2)

# It ain't funny

In the good old days, the netspeak word 'lol' meant 'laugh out loud', as in ha ha. An expression of laughter a little more reserved than lmao or rofl.

I've noticed over the years though, that it's changed a bit... and on forums and the like, it's just as likely to mean 'nervous laugh' as anything else. As in 'my car just got stolen lol' or 'would you like to go on a date with me lol' or 'I just found out I got crabs lol anyone know a good doctor?'

It's silly.

File under: techie : {2008.02.10 - 22:02} : Comments (0)

# So what's it really about, then?

The way people are reacting to what the Archbishop of Canterbury didn't actually say about Sharia law, you'd swear someone's whacked the Queen, stomped on her crown and hung her lifeless corpse from a lamp post outside Buck palace. I mean, let's be honest, separation of church and state isn't exactly one of the United Kingdom's most treasured values, no matter how secular it (mostly) is.

So is it just me, or does the entirely disproportionate outcry paint a less than pretty picture of British society? Or does the media just reckon there are enough racist and xenophobic Brits that sensationalising the hell out of this will drive up ratings/readership?

File under: world : {2008.02.09 - 21:07} : Comments (0)

# Slow code

There's an interesting article on Artima called How To Go Slow, listing a number of performance crimes (mainly geared towards C++ apps). The first section is on complexity, with a pretty graph of asymptotic orders. Somewhat apropos given that I just wrote an exam on the subject this morning. Yes, using bubblesort is a programming crime of the worst order, and quicksort is faster on average, but I couldn't help thinking 'ah, but you could avoid the degenerate quadratic behaviour of quicksort in the ironic case where the collection is already sorted by considering a merge sort (if you could handle the linear additional space requirements), or an accelerated heapsort, both of which provide n log n performance in both average and worst cases...' I'll be over this affliction by Monday, I promise.

Some of the issues, while valid, are less relevant for your average Java/J2EE developer. You generally don't need to know or care how your data is being sorted, just let the API do it for you. (*)

In Java/J2EE apps, ignoring the cost of many slow, bloated frameworks and libraries you've perhaps chosen or been forced to use, you can probably get away with looking at 4 things to boost performance, (and in this order of severity):

  1. hitting DB, network, or file system more than you need to
  2. hitting contended synchronized code more than you need to
  3. doing string manipulation more than you need to
  4. hitting maps and complex data structures more than you need to (especially when combined with #2)

Am I missing anything?

Nothing is ever a replacement for actually having cold, hard profiler and load data to pin-point performance problems, but if you're looking to speed your app up, you can't go far wrong if you start looking at 1-4 above. The biggest performance bottleneck of most server-side apps isn't a lack of l33t performance coding and optimising, it's just doing work you don't need to.

Of course, I'm copping out a bit. The definition of 'need to' varies from programmer to programmer. Some programmers will jump through all sorts of hoops and complicate things in the interests of performance, others will do all sorts of inefficient things to keep their code abstracted and/or clean. Excluding obviously redundant processing, somewhere in the middle is a balance, and therein lies the skill and art, &c &c.

(*) according to the Javadocs, it's a modified mergesort for Lists and a modified quicksort for arrays... I had to look.

File under: java : {2008.02.08 - 23:58} : Comments (0)

# Good politicians and bad politicians

The fact that Barack Obama had the stones to stand against the Iraq war when typical politicians like Hillary Clinton were happy to believe the BS 'evidence' because they knew that was what constituents wanted to believe, makes Obama alright in my books.

If the blogs I follow are anything to go by, the weight of opinion on the Internet certainly seems in favour of Obama. I wonder whether the online excitement will translate into real-world success against Clinton, though. It would be cool if it did, but it wouldn't surprise me if it didn't.

Apart from feeling compelled to share that opinion, I intend to care as little as possible about the US elections this year.

File under: politiek : {2008.02.06 - 23:08} : Comments (0)

# New home

Quick post. We moved last weekend (and during the week), and we're now residents of Chislehurst, Kent. What does that make us, I wonder? Kentish? Anyway... nice flat, beautiful neighborhood, gentler commute. We're chuffed.

In the meantime, I'm writing exams this week, and we still have a mountain of boxes to unpack and a ton of admin to take care of. Not a good combination. In retrospect, moving so close to exams was a little ill-considered. Best I get back to mah toils. Kbye.

File under: personal : {2008.02.03 - 22:51} : Comments (0)

meta

-home-
about
contact
disclaimer
articles
code
tech blog

style: [?]
[plain.dark.blue]

Categories

java
linux
music
notes/domino
personal
politiek
studies
techie
thee_blog
world

RSS Feeds

rssfeed all posts
rssfeed all cmts
rssfeed tech posts
rssfeed tech cmts

Archives

2010.09
2010.08
2010.07
2010.06
2010.05
2010.04
2010.03
2010.02
2010.01
2009.12
2009.11
2009.10
2009.09
2009.08
2009.07
2009.06
2009.05
2009.04
2009.03
2009.02
2009.01
2008.12
2008.11
2008.10
2008.09
2008.08
2008.07
2008.06
2008.05
2008.04
2008.03
2008.02
2008.01
2007.12
2007.11
2007.10
2007.09
2007.08
2007.07
2007.06
2007.05
2007.04
2007.03
2007.02
2007.01
2006.12
2006.11
2006.10
2006.09
2006.08
2006.07
2006.06
2006.05
2006.04
2006.03
2006.02
2006.01
2005.12
2005.11
2005.10
2005.09
2005.08
2005.07
2005.06
2005.05
2005.04
2005.03
2005.02
2005.01
2004.12
2004.11
2004.10
2004.09
2004.08
2004.07
2004.06
2004.05
2004.04
2004.03
2004.02
2004.01
2003.12
2003.11
2003.10
2003.09
2003.08
2003.07
2003.06

© Colin Pretorius