2008

2007

What Has Driven Women Out of Computer Science?

▁ nov 18 2008

The New York Times has an article on the decline of female computer science undergraduates. I found that a bit funny, since I spent the day at a course on plug-in development for a content management system, and out of a total of 8 participants, 3 were female. Not a bad percentage at all, compared to when I worked at Opera, where there were just a handful of women working in the Engineering department.

All in all, I find that the IT consulting companies in Norway seem to have plenty of women… It might just be a coincidence that I’ve met so many, though. I don’t doubt that the IT industry is still dominated by men.

. o .

Python 3 Patterns & Idioms moves to Bitbucket.org

▁ nov 11 2008

Bruce Eckel writes:

“Based on Yarko’s suggestion, experimented with BitBucket and the Mercurial DVCS and immediately ended up moving the project there. Hard to put my finger on why, but everything seems significantly smoother and easier. The BitBucket site also responds much faster.

Eckel is the author of numrous software development books, and is now working on a book called Python 3 Patterns & Idioms, which is being created using an open-source development process, and is licensed under a Creative Commons Attribution-Share Alike 3.0 license.

I’ve written about bitbucket.org previously, and it’s great to see it getting more users and some decen projects.

. o .

9 top tech flops of 2008

▁ nov 10 2008

CNN has a list of the 9 top tech flops of 2008, with the T-Mobile G1 as the first flop.

There’s probably no denying that the Google phone has its issues, and it is far away from being the huge success the Apple iPhone has been, but with it’s open platform and development environment it was probably never meant to be a new iPhone.

The Google phone with its Android platform is like the iPhone a newer form of mobile phone, where the user interface and experience has changed from being … well … phone-based to something more. For too long has mobile phones just been mobile phones, while they clearly can benefit from doing more, considering how much we use them.

Sure, efforts have been made, with JME and other APIs, but it has taken companies not traditionally in the phone business to do something more with the phone, and do it better than what has previously been done. It’s hardly perfect yet, I know, but it’s a good start.

Perhaps the Google phone is just looked upon as a flop because it was perceived as being something it wasn’t intended to be. From what I read, it would have been obvious to anyone that it wasn’t a new iPhone.

. o .

Programming Clojure beta book now available

▁ nov 10 2008

Perhaps old news for some, but the beta of Programming Clojure is now available.

One of the arguments people use against Common Lisp is the lack of libraries - wether or not that is true is a different discussion, but with Clojure you can use a modern Lisp dialect with a modern platform that has an abundance of high-quality libraries.

You might not like Java, but if you’ve ever programmed for the JVM recently, you’ll probably be aware of the effort that has gone into not only the JVM, but the libraries and the platform as a whole.

. o .

Dragonfly vs. Firebug

▁ nov 02 2008

Earlier this year, Opera announced Dragonfly, a developer tool to compete with Firebug, the popular web development extension for Firefox.

Since I have been working more on front-end development lately, I’ve been testing both Firebug and Dragonfly. Opera is my browser of choice, so I really want to use Dragonfly… However, it turns out that it’s not that great, even though they want it to be. A tagline I’ve seen used, is that Dragonfly is “like Firebug, evolved”. Well that certainly sounds good! Incidentally, the tag line for Firebug is “web development evolved”.

After trying Dragonfly a bit on and off for a while, and recently reading a bit more about it, the new project lead for the project spotted my whining on Twitter last week, and asked me for feedback. Giving constructive feedback can be difficult, but I pointed out a few things, and I’ll summarize it here for your pleasure.

While I’m sure Dragonfly has many nice features (such as remote debugging, which is pretty nice if you’re doing web development for a special device), the user interface seems clunky and unintuitive. This is perhaps somewhat vague, and I did mention some specifics on Twitter. In general I found Dragonfly more difficult to navigate and work with than Firebug.

As a small and somewhat silly example, take a look at the following screenshots:

gmail-default-fb.jpg
gmail-default-df.jpg

The first shows Firebug, the second is Dragonfly. Both have been opened on Gmail, and are shown in their default state. Firebug shows the DOM and the CSS, while Dragonfly shows … Well … Scripts? Why is about:blank in the script list? To find the DOM in Dragonfly, I actually have to click the DOM tab on top, and then a DOM tab on bottom again.

I’m sure some of the things I find irritating about Dragonfly will go away as I get used to it, but I can’t shake the feeling that the developers are focusing on features instead of usability. The good thing however, is that this is most likely something they will use extensively themselves, as they do a lot of in-house web application development at Opera, so hopefully they will over time refactor the user interface. Or perhaps not. Who knows.

. o .

Call me teacher

▁ oct 11 2008

This week I gave a two-day course for system administrators, on how our system works, and things they need to know to be able to administrate it in deployment. A few weeks ago, doing something like this would have been far outside my comfort zone, but the only way to grow is to step outside it and challenge yourself… So this time it went a lot easier, and I quite enjoyed it, although it is very exhausting.

At work you can always take a break and surf the web for a few minutes, but when giving a course you always have to be on, so to speak. Something that can relieve this, is if you give the course participants assignments to do - then you can sit back and relax a bit, but only until they need your help, of course. ;)

If you want to work on your non-technical skills, then I can recommend giving a course or speaking in front of crowds in general. Challenging, and quite different from the standard work routine.

. o .

IE6 strikes back

▁ sep 30 2008

It was a dark and stormy night, and one of the web developers looked up from the screen. «There’s something wrong with the Javascript on this page in IE6… I think it’s getElementsByClassName!» As the second web developer quickly did a Google search, he already knew the answer - that the other developer was right, and that he accidentally had used a function from HTML5 not supported in IE6.

This riveting story was taken from real life, and happened to me tonight. Working overtime. On a project long overdue. Kind of not the time you want to find out things like that. Yes, you can blame me for not testing in IE6, and you’re right to do it, but in my mind I was using a perfectly normal Javascript function. Oh well.

In this instance we solved it by finding the right elements with jQuery, $('.classname'), and it works even in IE6. The reason I didn’t do it like this in the first place, is that this is my first project where we use jQuery at all, and we didn’t have such fancy things back in the old days when I first started programming Javascript.

When programming Javascript, the code has a tendency to seem very brittle - like it’ll break horribly by the slightest typo. The somewhat cryptic error messages (“object expected”, anyone) in browsers is probably at fault here, and the write-browse-debug loop feels awkward compared to other programming environments.

Firebug has helped, but there’s still room for improvement. I feel I have to think and write more about this when I get the chance.

Edit: It was actually IE7, not IE6.

0 comments — category: javascript
. o .

JavaZone 2008

▁ sep 18 2008

This week I’ve been at JavaZone 2008 (pix), the largest software development conference in Scandinavia. Two days of mostly good talks, and even some social interaction.

I was manning our booth most of the time, but I did catch a couple of talks - one about Usemon, a monitoring and analysis system for software with demands for response time and high availability, and one about making enterprise software without relational databases.

Usemon looks interesting, I will definetly check out that for debugging and troubleshooting things at work. Most performance and analysis tools analyze everything, making it fairly expensive to use in terms of processing power and it can also be difficult to find what you’re looking for. Usemon tries only to instrument the interesting classes (i.e. not java.lang.String), and also has mechanisms to drop information if the server is overloaded. It has a client running on the system that needs to be analyzed, and sends data via UDP to a central server.

The talk about enterprise software without relational databases was by a guy who works doing software for large financial institutions, where they struggle with huge XML schemas and documents, and where ORMs work poorly because the models are so huge and interconnected. His newly founded company is making a common API for storing hierarchical data - which will be a part of Spring - and a proprietary store implementing this API. Fascinating to get some insight into some of the challenges in making software for financial institutions, where even milliseconds can be the difference between a few million dollars won or lost.

Look forward to going next year, it’s a great event.

powered by