Archive for December, 2007

Year++

December 31st, 2007

times square ball of lightFor some strange reason, we have the habit of celebrating the change from one year to the next.

Apparently, the system was booted on 1st of january 45BC by Julius Ceasar. I’m not sure that, even in his wildest watered wine parties, he envisioned the champagne, foie gras, the Times Square ball of light, or the eejits flying over the International Date Line to celebrate it twice.

In my opinion, this has always been a second rate festival. After the buildup to golden Christmas, this comes as a cheap glittery wannabe climax. You are under the obligation to eat loads (again), drink (again, more), (optional) party.

But anyway, I’ve had a nice year, as imprecisely parametrized solar cycles go. Learned lots of things, met lots of people, started this blog. Gathered loads of ideas. Ray moved in with me from Scotland. Made some plans for yes, 2008.

Next year should be interesting. May it be for you, may it be whatever you want it to be.

Tester

December 28th, 2007

tramsA few months ago, i was contacted by STIB (MIVB), the Brussels public transport company. They were asking me if i wanted to be a tester for their new card.

The deal was rather interesting: i would be a tester for three months, and in exchange i could ride for free. A present worth 120€, not too shabby. The test phase would run from october to january.

A minor slippage occured. We’ve all been there: shifting deadlines, last-minute issues, and all that. The funny thing is that they didn’t really communicate about it. All of a sudden the tests would start in december and end in februari, and that had been the plan all along.

OK. I received my Mobib card. It looks like a proton card, but must contain RFID-like components, because you just swipe it along the reader – beep – and that’s you. You can press buttons if you want to add passengers, etc. You effectively reload your card like you would a proton card. I’m told this system is already used in Tokyo.

This would reduce queues at the machines. It would make reloading easier. I think it might also make the controller’s job easier – maybe the RFID-like component could also allow the controller to check who’s paid and not. Maybe.

I’m pretty sure there’s a large percentage of freeriding. Cheating pays off since there are very few controls (although the fine has gone up recently). So one could suspect the STIB of wanting to keep that in check.

Now the first period of tests has started (22dec – 31dec). In this period of time i’m supposed to do something like 10 tests. Since i was out and about in the city today, i decided to do five or so if i got the chance. I went through the effort of going to two different stations.

Now how can i put this ? The machines didn’t work. Whether i slid my card close to the front of the machine, waved it around, slid it along the top, the sides, pressed the buttons … nothing. The screen remained empty. The people were looking at me queerly while i was doing my card voodoo to the Mobib machine.

Well, this should make my test reporting very, very simple.

Xmas

December 23rd, 2007

appleChristmas eve tomorrow. Christ-mas is about celebrating the birth of a baby in the historic equivalent of a youth hostel, 2007 years ago.

It’s also about the shortest day of the year. How to get the sun to come back again, and the pagan ceremonial around it – burn a log, sacrifice a human being, get very drunk, have promiscuous sex.

It’s also about consumerism. Huge upsurge in sales for all kinds of material goods. Socks, electronics, bath soaps, cooking pots, you name it, it’s a present. Throngs of harassed and desperate shoppers rushing to the sound of christmas carols.

And it’s also about gathering with your family and eating too much. Navigate your way around family grudges. Going to church or not going to church. Nurture some genuine warmth. Go to bed a little bloated, and wake up for more of the same.

We’ll survive it, once again. Might even be OK.
Merry Christmas, Squidmas, NewtonMas to you all !

Moore’s law the sequel

December 22nd, 2007

quantum computerSo what’s happening to quantum computing ?

I remember the hype: soon we would have quantum computers – computers powerful enough to solve their way through most known encryptions, and other NP-complete problems. This would be a way to break Moore’s law in the other direction for those problems.

In quantum computers the zeroes and ones are electron spins. But nothing’s ever that definite in quantum physics: electrons have a probability to be in any one state – so you effectively have one, zero, and all the values in between. No bits, but qubits.

The second quantumphysical, er, feature, used in quantum computing would be quantum entanglement. When two particles are entangled, acting on one particle would have an effect on both particles simultaneously – this bugged Einstein, since we’re talking about faster-than-light transmission.

So how is all that used for processing ? You can’t even properly measure an electron state, so you have to repeat the processing several times to have an idea of the probability function. I would suggest you read this Wikepedia entry if you’re interested. All i can say is, shore up your braincells: time for higher maths.

Anyway, last article i read about an actual implementation talked about a 16 qubit prototype, which is not that much. And the article didn’t actually say that it worked.

Most of the techniques you read about talk about major cooling (for superconduction), high precision lasers, spin incoherence and other niceties.

All this makes me think we won’t be carrying a candy-sized supercomputer in our pocket any time soon.

Clouds

December 18th, 2007

Have you noticed how tag clouds pop up everywhere ? Coffee shops, real Estate offices, temp agencies, anyone trying to look remotely cool have their shop windows adorned with them.

This shameless marketing would be enough to put you off tag clouds, except they really are nice. Intuitive statistics. My 2 year old cousin probably could deduce some facts looking at a tag cloud, if he could read (but then, he’s quite smart).

Anyway, i’ll give in and do the del.icio.us tag cloud thing.

(which shows, once again, that my subjects are all over the place, and that i’m not very good at choosing abstract categories)

This all reminds me that i haven’t done my post on the semantic web. I’ll do it, promise.

Yulbiz

December 16th, 2007

pintjeWhat do bloggers have in common ? They have something to say, and they are computer literate enough to do it in a blog.
So when you meet up with bloggers, you have people writing on subjects as varied as street art, interior decoration, web design, font styles, the iphone in Belgium (?!!).

So in fact, at first, conversations usually revolve around SEO, blogging engines, feedburner, statistics, ads, how to pimp your blog. Fortunately, sometimes it can move beyond that, because sometimes you actually had social interaction with the person, and it’s like putting a face to a voice.

The only sad thing is that french and flemish bloggers are living in parallel universes. Apart from emich (who blogs in both) and me (who blogs in none), there were no contact points. Maybe we should organize something.

But it was very nice to see you all.

Moore’s law

December 16th, 2007

waferAccording to the source of all knowledge, Wikipedia, Intel co-founder Moore’s law goes as follows:

the number of transistors that can be inexpensively placed on an integrated circuit is increasing exponentially, doubling approximately every two years.

This is generally interpreted as meaning that processing speed and memory will improve at exponential rates as well.

Now we’ve come to the limit of how small we can get those transistors. Transistor gates are 5 atoms wide, and this is too small to avoid leakage. Intel seems to have found some way to decrease that leakage (high-k materials), but consensus is that the transistors won’t get much smaller.

Now hardware vendor’s response to this has been: don’t worry, show must go on. If we can’t make them smaller, we’ll just add more of them. Hence the bi-core, quad-core desktop machines, and the multiple CPU servers.

The only thing is that strictly speaking Moore’s law doesn’t apply any more: we’re not speaking about the number of transistors on one circuit, but on several circuit.

And Moore’s law corollary is no longer true either. Several CPU’s means that parallel processing will speed up. But there are sequential computation (i admit i’m struggling to find a real-world example here), which won’t get faster by this multiplication of CPUs. We’re not talking about pure increases in processing power like the last 20 years – the nature of the increase is different.

This multiplication of CPU’s has consequences for our software. Two ways to deal with this:

  • implicit
    modern versions of compilers (and VMs) now deal with this parallelization. I’ve read a fascinating article in one of the IEEE magazines (unfortunately i forgot which one) which describe how the compiler works through the code to recognize operations which can be split in multiple parallel bits.
    This leaves the software developer free to continue working as if nothing happened – although it would help if they try to make their operations as parallelizable as possible (no simple matter, i know).
  • explicit
    several languages have been gaining momentum by the fact that they allow the developer to explicitly decide how it’s going to go (disclaimer: i haven’t studied any of these languages myself, though i might).
    Erlang works with message passing between threads, which apparently makes programming distributed/parallel systems simpler. Haskell allows you to annotate your program for parallelization.

I’m curious – it should change the way we work, if only a little bit.

There was a debate about the future of computing at Javapolis this year. I think it was James Gosling who speculated that if Moore’s law remains applicable, then in a few years we’d have a machine with 4000 CPU’s, and we’d have to deal with that.

I had to grin: I thought the point was that we can’t make them any smaller ? So in fact i’d advise to start a physical training program, so we can carry round the 4000 CPU laptop.

Javapolis the end

December 14th, 2007

javapolisThere’s such a thing as too much information (and too little sleep), so today i wasn’t at my sharpest. I think sitting next to the mother of all air conditioners yesterday wasn’t a good idea either.

Presentations i attended:

  • Location based services: i more or less stumbled into this one because i didn’t know what to pick. Basically: a company called Navteq who offer services to convert coordinates (longitude – latitude) into maps, POI, routes, and similar GPS stuff. For developers who want to do location-sensitive mobile applications.
    The one bit of useful info i got out of this: AGPS = GPS + mobile network. GPS is (as you know) triangulation with satellites, and the mobile network can help by triangulation with cellular antennas (so it even works indoors). Apparently this can be quite precise.
  • The most interesting presentation of the day for me: evolving agile by Scott Ambler of IBM. He criticized the developer-centric approach of some agile developers, and gave some advice as how to make agile more effective and more in tune with the rest of the organization.
    I took some notes and i intend to show the Parleys presentation to my boss (who smirks at all things agile).
  • (lunch was actually pretty vile)(i skipped one presentation after that to catch up on some real work)(but i regret missing the OSGi presentation – hurry Parleys)
  • Test-driven development by Lasse Koskela: pretty good too – i didn’t realize how fundamentally different test-driven development is, and the demo brought it home for me.
    Summary: make a test that fails (but compiles), then make it pass (quick-and-dirty, hard-coding allowed), and then refactor. I’ll have to try.

Apologetic note

December 14th, 2007

I know most people who read my blog are probably none too interested in all the goings-on at Javapolis. So why am i posting about it so extensively ?

  • because i’m interested, and it’s still my blog, dammit
  • because all this was obligingly paid for by my employer. As you all know, there’s no such thing as free lunch. They will expect some kind of report/sharing/return from this all, and this is my way to memorize the event.

This being said, don’t worry, the conference ends today at 14h. Last (short) account tonight.

Javapolis day 4

December 13th, 2007

javapolisToday i’d describe as the day of fast-talking brainiacs. This might be linked to my choice of talks, however: judge for yourself.

The keynote was mostly about Adobe Flex and Air, Adobe is very obviously a big sponsor of the event. First two guys of Adobe described the stuff.

Parleys.com is the excellent Java videos site which i will definitely visit to see all the talks i missed. The author presented the next version of this site. Apparently he judged Flex to be sexually arousing, because his talk was interspersed with ’sexy’ and he asked the audience at one point if there was anyone there who didn’t have an erection.

His demo of the new-version-to-be of Parleys was pretty impressive actually. Since i try to steer clear of proprietary frameworks, i’m not really interested in using Adobe Flex/Air, but this almost, but not quite, made me regret it.

Next starts the brainiac part. I went to a talk about Scala, by Martin Odersky. Scala is a language that is built on top of Java. It unifies OO and functional programming. It interacts with Java libraries seamlessly. It has some of the flexibility of Ruby, and closures, while having some features of its own.

For instance you can declare objects instead of classes when you will only need one instance anyway. Or you can define the interaction between two types in the parameter type (ex: you define a class for complex numbers, and you define in that class how integer is going to interact with it x = 1 + 1*i – without having to touch the integer type). That last feature could lead to chaos, IMHO. The syntax itself is not that attractive, not when you compare it to Ruby anyway.

Joshua Bloch talked about the introduction of closures in Java. The gist of it is that he doesn’t like it, at least with function types, like it’s done in BGGA (a Java-with-closures prototype). He proved, with lots of examples i’ll have to look at more slowly, that it would be full of booby-traps, and that it would change the feel of the language itself. So he’s all for a lighter version, involving some syntactic sugar but not redefining, say, control structures.

To continue in fully engaged brain mode, next talk (after lunch) was by (Crazy) Bob Lee. He talked about the upcoming Web Beans spec, which would be a way POJO-ise all objects on all layers of an application. Annotations galore.

Fortunately, next presentation was a bit softer (Emmanuel Bernard). How to make Hibernate Search interact with Apache Lucene to have full text search in java apps. It looked pretty easy. But then, doesn’t it always, until you try it.

I met the guys from 10to1, which was nice: i knew they were present the whole week, but with the crowd, i managed never to spot them.

Since Joshua Bloch was one of the co-authors of the last session with Neal Gafter, i expected it to be heavyweight again. Fortunately, it wasn’t. The showed us wee bits of code (Java Puzzlers) which leveraged, if you can call it that, bugs in the Java core libraries to produce unexpected outputs. An eye-opener.

I stayed on for the JRuby BOF (Birds-Of-a-Feather?): Ola Bini deployed a war on an OC4J server. It worked ! The worrying thing is that he seemed as surprised as the rest of us. He then showed us the impressive interaction between java objects and ruby objects/methods in JRuby.

So i did the groupie thing again and asked him to sign my copy of his book (JRuby on Rails). In style: flushed and stammering. A bit mortifying, i thought i was over that kind of thing in my ripe old age. After that i had to flee. Time to go home anyway.