Archive for March, 2008

We’re famous!!!

March 30th, 2008 makii Comments off

I just found out that just recognized us as “serious in-house competition”. We’re getting famous, even without bad-taste monday. And yes, Guenni acutally has the copyright on research and destroy, but I asked him in advance and he had no objections. He’s used to it, as he, as you might recall, also has the copyright on fettgaumen! :)

Categories: Work Tags:

Review of Neil Gafters’ talk

March 24th, 2008 makii Comments off

Yes, it’s a little late, but so what?

About two weeks I visited a quite interesting talk by Dr. Neil Gafter, developer of Google Calendar, whom, in his spare time, proposes new language features for the Java Programming Language and Sun’s javac-Java compiler. The latest proposes BGGA closures, in conjunction with other nice features like control abstraction, function types and lots of other pretty useful things,is under heavy discussion.

At first I was unsure what to think about closures, lots of people compained about the syntax, and that noone ever will understand the code when here are some function types in it. But, honestly, can it get any more confusing than with generics? NEVER!!. During the talk I recognized the pattern, which clearly is derived from the code blocks I used to love in Smalltalk. Clearly there are some slight differences taking into account that Java is, contrary to Smalltalk, a strongly typed language.

Further than that, it gets really nice when using closures in conjunction with control abstraction: Often used example, which actually doesn’t make sense, as Java5 has a foreach loop built in, but let’s just say someone wants to implement a method like foreach, taking as parameter any type of Collection<T>, as well as a block of code, which itself takes as parameter one item of T. This method then can be imported statically by any class which has need of this particular foreach loop. This abstract functionality is, right now, hard-wired in the java compiler to the Java Collections framework from the runtime environment. *hick* Yes, exactly the way around it should NOT be.

Closures in conjunction with control abstraction have the power to enable APIs to implement their own control statements like, for example, a foreach-loop for Collections or Maps, performance logging, cleanup work, whatever you can imagine. Despite my reservations in the beginning, I can’t wait to see the BGGA proposal into Java7 or Java8. Hopefully we will see it!

Categories: Java, Technology Tags: , ,

Curiousities in sci-fi series

March 20th, 2008 makii Comments off

Blogging about curiosities in sci-fi series, I’ve discovered another one. Everybody might now what Star Trek is. And everybody admires the neat looking, glossy touch controls on these cute space ships. They just touch these changing, screens to start a sensor sweep, fire the phasers or eject the warp core. At least that’s what it looks like. Underneath all this advanced technology using gel packs, power conduits and whatever there is still simple, probably serial pointing device, manifesting in a mouse cursor :-)

Pointing Device?!?!?!?

Stargate: Basecode of the Replicators

March 19th, 2008 makii Comments off

I confess, I’m a Stargate fan. I watched every show. At least twice.

And now, due to a recent discovery by The Daily WTF we know why the Asgard didn’t stand a chance against the Replicators. The Replicators’ basecode was written in the most powerful language in the world: JavaScript!!

Replicator Basecode

As derlanders pointed out, take a good look at the code style: What a mess!!!

Categories: Sci-Fi, Stargate, Technology Tags: ,

Encoding problem

March 17th, 2008 makii Comments off

Isn’t this a true and really really cool T-Shirt?

Categories: Common Tags:

The Challenge

March 10th, 2008 makii Comments off

OK, if anybody et al has read this blog up to now, you might have asked yourself why we do the funny things we do and what it’s all about with this 16 millisecods and stuff.

We are a small team of (right now) three software developers which were assigned to replace a PHP web application which is now up and running for about 10 years with a new one written in Java. The website itself, despite the underlying technology is quite successful, right now only present in the german market, and has more than 100 million page impressions per month, by more than 13 million visits, attracting more than 600.000 uniqe users in the same time period. OK, it’s not Google, but it’s not that small either.

The former PHP website isn’t that bad. It does what it is ment to do. It’s pretty fast. So why the rewrite?

As often it all comes down to TCO. The basic principles of the PHP webapp aren’t bad and even aren’t that outdated, for a ten year old vessel, but over time, with a lot of different maintainers and no good documentation or big picture, software degrades and becomes a pain in the ass to maintain. Thus the decision for the rewrite was born, with the main goals of easier (read: cheaper) maintenance and as least as fast, or not this much slower than the current website.

As you might see from the previous posts the general feeling right now is quite good, but we will see in the next few days/weeks when QA starts testing the thing. Knock-on-wood.

Categories: 16ms, Common, Technology Tags:

Neil Gafter in Cologne

March 7th, 2008 makii Comments off

For everybody who doesn’t know yet: This monday Dr. Neil Gafter visits the JUGCologne and gives a talk about JDK 7 language features and Closures.

Surely he wants promote his BGGA closures proposal, which I personally don’t like this much. Function types is a powerful tool, and Java already has a weak kind of function types, namely inner anonymous classes. Of course they are quite inflexible in comparison to the function types suggested, but anyway, they are pretty unreadable, really.

Voices on rise and defend Dr. Gafters’ proposal by telling “we have IDEs which support syntax highlighting”, but hey what kind of argument is that, when my  boss tells me  he will, from time to time, check my code using a plain editor, as he doesn’t want to install eclipse and frankly, really has no need to. It pretty often gets mixed up when using generics.

We’ll see what he tells us next monday.

Categories: Technology Tags:

We hit it!

March 6th, 2008 makii Comments off

under 16ms We did it. The current website using PHP hits 16ms per request, we can do it as fast as they can, or even faster, as Firebug tells me here. It gets better and better…

Categories: 16ms Tags: