Goodbye iphone, welcome back nokia

December 18th, 2009

I finally had enough.

Enough of the Jobsian control over the iPhone. Enough of the arbitrary app store rejections. Enough of the objective-C only crap. Enough of the tightass control over which carrier I need to choose. Just plain enough already.

I am dropping the iPhone like a bad habit and replacing it with a brand spanking new Nokia N900. Mmm more Qt goodness for me.

Tethering on the iPhone

October 17th, 2009

Ok Apple, enough with the anal retentive arbitrary limitations.

What the fsck is up with removing tethering support for unauthorized carriers in iPhone os 3.1.2? Seriously, what could possibly excuse this lameass stunt? Oh wait, the Apple folks are probably making good on some backalley promise made to authorised carriers.

Maybe it’s time to try out the Nokia N900 with its sweet Qt support, even if it does look and feel like a brick.

Scrum for the rest of us

October 4th, 2009

For the past few years agile development techniques have been trumpeted as the solution to many of the problems commonly encounted in software project management. A number of techniques appear to be in widespread use, so I decided to pick one mostly at random, and attempt to figure out what to make of the whole agile extravaganza.

Thus, I recently started reading “Agile software development with Scrum” by Ken Schwaber and Mike Beedle.

For those unaware, Scrum relies on sprints (2-3 weeks of focused development based on a frozen set of requirements) followed by demonstrations of working vertical prototypes. The underlying idea being that freezing the entire requirements specification up front makes little sense, as the client is bound to change it anyway. Making rapid releases, and allowing the client to change the list of requirements between sprints, supposedly satisfies both the development team (who get to do focused work on a frozen list of requirements) and the client (who gets to see early working prototypes and  modify the requirement specification every 2-3 weeks).

These are my impressions so far:

Scrum, much like extreme programming, greatly appeals to me as a programmer with a focus on professional integrity and software quality. Indeed it appears to embody many of the virtues that I’ve been pushing for quite some time. Among these are:

  • granting programmers room and conditions that support focus on “getting in the zone”
  • forcing the project manager to handle impediments, organizational or otherwise
  • freezing requirements during development

Considering how common-sense these virtues are, it is quite remarkable how few software developing organizations manage to adhere to them. I for one have never been fortunate enough to work in such an organization, although I should greatly like to try it some day.

With that being said, I am not entirely convinced that Scrum will work for the majority of projects in which I am involved, although it should be noted that I certainly have no empirical basis in which draw that kind of conclusion.

First, Scrum teams are recommended to consist of around 7 members, including the Scrum master. Currently we don’t even have 7 full-time staffers.

Second, Scrum appears to require that development projects take at least 2 weeks (for 7 people) to complete. Unfortunately that’s not really the case for quite a few of our projects.

That’s not really Scrums fault though. I guess it boils down to our organization having a problem with attracting even moderately sized projects. Hmm.

I take it all back, well, almost all of it…

August 9th, 2009

Over the past few years I’ve been ranting about the widespread brokenness of software frameworks. Although I stand by my conviction, I’ve recently had to modify my attitude towards frameworks in general.
I’ve had the privilege of working with a few exceptionally well thought out frameworks, namely Qt and ExtJS. Both frameworks add an extraordinary amount of value to their respective languages.

In the case of ExtJS I’ve been working with the 2.2 branch (3.0 was recently released), and it has enabled me (the uncrowned king of ugly user interfaces) to create pretty, responsive and reasonably productive graphical user interfaces. Not only that, it also did the job causing a minimum of frustration on my part. It seems that for 99 out of a 100 things I want to add to a user interface, the guys at ExtJS thought of it before me, and added out of the box support directly into the framework. ExtJS is not limited to user interface design though, as “ext core” has all sorts of sweet helper functionality for writing generic non-extjs-ui javascript code. Topping it all of, ExtJS guarantees compatibility with all modern browsers in use, so I get to ignore the whole browser incompatibility extravaganza. Whoohoo.

Qt is much like ExtJS in the sense that it does most stuff right. It massively reduces the need for manually allocating/releasing objects, while at the same time extending C++ with a class library rivaling that of Java. Qt additionally supports native looking gui applications across Linux, Mac and Windows. It even sports a WebKit wrapper class allowing use of a state of the art HTML/javascript engine. In the context of the project that I’ve been working on, that’s simply a killer feature, not currently supported by any other software platform that I am aware of.
Last but not least, Qt introduces an extremely powerful, versatile, thread safe event mechanism called “signals and slots”. Except for the fact that it is implemented by means of yet another C++ preprocessor, it’s exceptionally nicely done.

All in all, I take most (but not all) of the stuff that I’ve said about frameworks back. Bugger.

Top Mac annoyances

January 8th, 2009

Now that I’ve been using Mac OS X for nearly a year, I think it is time to point out the top annoyances that I’ve come across. Hopefully this will reduce the risk of me being considered a complete Apple fanboy.

No wireless iPhone sync

In an apparent effort to shove MobileMe down everybodys throat, Apple has decided to disable wireless synchronization of iPhone data. Given how spectacularly well the iPhone works with wireless protocols, I consider it downright moronic to disallow non-MobileMe users access to wireless synchronization. When added to the whole apps-only-through-the-appstore extravaganza it supports my belief that the iPhone is an exceptionally evil product. That said, I do like to pet my iPhone.

Wake on USB disconnect

Everybody knows that Apple laptops play nice with “sleep” mode. Simply close the lid, and the machine goes to sleep. Open the lid, and it wakes up. Nice and smooth.

Except if I accidently close the lid and then disconnect my USB devices. In that case, the machine wakes up again, even though the lid is closed. So I have to reopen it (hoping that the screen gets turned on) and wait for it to wake up, before I close it again, and wait for it to go to sleep (again). Call me an idiot, but for some reason I tend get the order wrong most of the times that I need to sleep my laptop.

Another misfeature, that I can’t seem to figure out why Apple hasn’t fixed yet.

Spaces and lost dialogues

Occasionally apps will open modal dialogue windows. When using spaces, such windows typically open on the workspace that is currently being viewed. If however, I happen to miss a dialogue window, and navigate to another workspace, the application which originally open the dialog can no longer be interacted with, and I have to go hunting through every workspace in an attempt to locate the rogue dialogue window. To make matters worse showing all workspaces (by hitting F8) doesn’t show modal dialogue windows, so I have to manually comb through all 12 of my workspaces.

Auxillary monitors and window gathering

When disconnecting and auxillary monitor, Mac OS X gathers all open windows (and icons) on the laptop monitor. That’s all well and good. If however, I plug the auxillary monitor back in, the windows remain gathered on the laptop monitor, instead of returning to their original positions. The only way to get around this, that I have found, is to sleep the machine while the auxillay monitor is still connected, and not wake it up until the same monitor (or one just like it) has been reconnected. If I wake up the laptop with no auxillay monitor connected, all windows are gathered on the laptop monitor, and I get to spend 10 minutes shuffling windows around when I reconnect the auxillary monitor later.

No iphone mms
and why oh why does the iphone have no support for sending or receiving mms messages?

That said, I really do like working with OS X.

iPhone

December 28th, 2008

Like so many other fanboys, I bought an iPhone.

I never ever owned a gadget this nice. Much less a phone.

I just downloaded the iPhone SDK, in the hopes of getting around to playing with it. At least I hope I will have the opportunity to implement the “Hopper Lunch Sync application” for the iPhone. That would be sweet.

Now, if apple wasn’t quite so anal about restricting developer access to the thing, it would be damn near perfect.

Now an official Master of Science, MSc

December 28th, 2008

Just shy of 2 years after my masters thesis defense, I have been conferred the title of Master of Science of the University of Aarhus.

I am not going to go into details about the procedure, as it has been, well, excruciating.

Suffice it to say that I am one of the few to have had to follow courses after successfully defending my masters thesis.

Now, I’ll be over here waiting for the prince of darkness to call me up requesting by diploma back. This time around, he will have to pry it from my cold dead fingers though.

Abiding by the law sucks

November 25th, 2008

Since I started making real money, I’ve attempted to steer clear of software- and media piracy. In particular, all non-free software that I use has been paid for, and my music collection contains zero pirated tracks.

For a few years now, I haven’t really bought any new music, so a few weeks ago I decided that I was getting seriously tired of listening to the same ~1000 tracks over and over again. To get things rolling, I initially bought a few albums through the iTunes music store (ITMS). I then realised that I was getting screwed with my pants on: prices on the iTunes music store are way above prices at stores like cdwow.com in spite of the facts that the quality is much poorer, I don’t get the physical album and the tracks will only play on a very limited number of devices. If it wasn’t because ITMS is so damn convenient, it’s difficult to see why anyone would want to buy anything through it.

What to do instead I wondered. The answer: Order CD-ROMs from virtual shops like cdwow.com. So, I went ahead and ordered a few albums (Apollo 440 and Eminem). The cdwow website estimated delivery within 10 days. Yesterday, after 4 weeks of waiting, the CD’s finally arrived in my mail box. It was always my intention to simply rip the CD’s to mp3’s. Who really wants to tote around a stack of CDs these days? But, lo and behold, the Eminem disk appears to be DRM-protected to the extent that my PowerBook refuses to even read it, let alone rip it. (The Apollo 440 ripped fine, though).

Compare this (and the associated exorbinant fees) to pointing your browser at sites such as isohunt.com or thepiratebay.org and you have a very uncompelling alternative to pirating (big label) music.

I all fairness I feel compelled to point out emusic.com, which provides an extremely streamlined interface to loads and loads of indie-label music at very modest prices.

Long story short: The big-label industry is not going to overcome their problems with pirating any time soon. At least not as long as pirates get a better product for free, than what paying customers can even begin to hope for.

Aarhus universitys new corporate identity

November 12th, 2008

In an effort to present a more professional appearance, the management at Aarhus University decided to get themselves a new corporate identity. A commendable idea as such, if it wasn’t for the spectacularly poor implementation.

Obviously, differently people have different ideas about what constitutes good design, but I would argue that a primary trait for a font should be readability. Management, however, disagrees. Follow the link above, and see if you can figure out how to make sense of the new and “improved” font.

Finally, in honor of the new identity, a few of us got together and improved the new AU logo. It’s inserted below, for your viewing pleasure.

AU - It's not a dick!

It's not a dick!

I am sure someone will take offense, but rest assured that this was made from scratch, and no copyright infringement occurred in the process.

Enjoy.

Hello world!

September 6th, 2008

New box online. My blog has moved to tyrael.fork.dk.

So far, the migration has been completely smooth, thanks to Wordpress’ export/import features. Say what you want about the quality of Wordpress, but its level of usability is just plain impressive.