At first I tried NetBeans. Everytime I must do some Java development I retry working with NetBeans, desperately looking for an improvement from previous versions... and I'm always deceived, it's a resource hog!

Something new under the sun

Downloaded a JavaStudio Creator (formerly known as project Rave) trial version, it's based in NetBeans (= slow as hell). Instead of writing raw HTML/JSP/JSF code, you drag'n drop controls and edit their properties, much like WebMatrix.

I played a bit with Java Server Faces. I see JSF as a mixture of Struts (30%) and ASP.NET WebForms (70%), which in turn is copied^Winspired by Apple WebObjects. I like the approach (taken by WebObjects, ASP.NET and JSF) of thinking about the Web as a regular GUI: events, controls, etc.

If Sun plans to compete against ASP.NET, it should provide a stripped-down version of JavaStudio Creator for free, much like Microsoft does with WebMatrix. Nothing too professional: a minimalistic servlet container, a small collection of controls and some features removed (workflow navigation, eg.) to persuade people to buy a bigger version.

It has been a long time since I posted an entry, and lots of things happened since then!

Back pain prevented me from seating in front of a computer during long periods, one of the reason for my temporary departure from Advogato. 23 years old and already suffered lumbago, woohoo!

Will code for food... or better offer!

Next: I quitted my job, couldn't stand there anymore. My first feeling was uncertainty, I was unsure if I could find a new one. You know, when you have to pay bills, it's hard to do things like this. Well, one week after I quitted I had four job offers :) This should make me feel more self-confident I guess, don't know why I lasted so much after all.

I chose to work for Auna, one of the biggest telcos in Spain, working in a new secret project: *cough* giant killer robots for the army *cough* ;) Just kidding.

It's near (20-30 minutes walking from home), this gives me the chance to ride my bike everyday and get in shape (right now I'm too skinny).

Ruby Evangelism

Next week, I'll give a talk about Ruby at the monthly Barcelona Perl Mongers meeting. Let's see if I get some conversions ;)

Games: it's a child's play!

On the academia side, I'm working in my final year project. Reading anything related to game theory. cerquide has sent me lots of papers about this topic and we're testing several tools. Gambit was the first one to review, but we're unsure to use it since its development seems stalled. Next one, SSEL/CASSEL by none other than Dr David Levine, is a very ambitious project, sadly its funding ended and we don't know if it will continue. Last resort would be to write a framework from the ground up, since cerquide already wrote a library in Ruby. I played a bit and began to build a mini application in QtRuby around it, but my back pain didn't let me finish it.

Now I must ask, Advogato community, do you know about good game theory free/opensource software? Freshmeat doesn't seems to contain much info.

As a side effect, I joined a game theory group in UB, I won't be able to contribute much, but this will give the chance to learn many things! :)

Obligatory spam

Oh, I almost forgot this, Lagwagon has released a new album: Live in a Dive. I've listened to it, and I liked.

It has many songs I love: Violins, Island of Shame, May 16th, Coffe and Cigarettes, Razor burn and several other ones. Though being a live album, sounds good and well recorded.

I completed my reading of "Shadow Puppets" by Orson Scott Card. Now I'm reading "Kanji para recordar" (Remembering Kanji), I hope to learn some japanese, I like it's approach: don't try to remember systematically every kanji, just understand why are they written like that. E.g. "peach tree" is the "augury tree" (according to Momotaro story, the guy who appeared inside of a giant peach, preceding an augury) and "augury" is drawed from a "tortoise shell", since historically they used shells to predict future. So, to draw a peach tree, you would draw a tree and a tortoise shell, that's it!

*Spoiler Warning*

Mixed feelings about "Shadow Puppets": it's an OSC book, starring Bean and following Ender's Saga, that's great. On the other side... Bean became too mild, he has become a family guy, who desperately wants a son of his own and decides to marry Petra. C'mon it's Bean, the cold-blooded genetically modified lieuteniant who survived to Amsterdam streets when he was 4-6 years old. There are minor points that disturbed me: everybody seems to be a devotee -even Bean-, Aquiles seems to be a demigod and Peter is as stupid as he can be, but not as important as trying to redempt Bean and turning him into Ned Flanders.

All in all, I give it a 6 out of 10 stars. Not bad, but not as good as "Ender's Shadow" (IMHO, the best in the saga, even better than "Ender's Game").

Don't you hear it coming? Hiss hiss Choo choo! It's Ruby on Rails, making its way between so many web frameworks.

Struts is great in J2EE land, so it is Zope in Python world. However, if you love Ruby as much as I do, you have to give Rails a chance. And if you don't know Ruby yet... there's room for many a more! Get on board! :)

Ok, that's 'nuff, no more spam :) There's a drawback that I find particularly undesirable, if you plan to run RoR with mod_ruby you'll need to lower $SAFE to 0.

$SAFE levels are one of the greatest advantages of Ruby, you set it up (there are several levels with its definition, take a peek at Pikachu^WPickaxe Book) and the interpreter will stop you from doing insecure things. Essentially it is a way to dissallow the execution of untrusted code. It works this way: every object in Ruby has a "tainted" attribute, if you set it and you have $SAFE >= 1, that object will raise an exception, you'll need to "untaint" it to have access. It's very handy if you are doing web stuff, everything that comes from the user is tainted, so you'll need to check anything coming from the outside and then, untaint it. If you raise $SAFE your code will be even more restricted.

Nevertheless, I believe RoR will be the killer thingy that will give visibility to Ruby, everyone will hear about it soon. My impression is that it's already gaining momentum, sweeeeet :)

BTW, I'm now taking a look at Ruby Web Dialogs: use your web browser as a GUI, combine Ror and RWD and you'll get something really nice and innovative.

I must confess, I hated Perl since I fixed a serious security bug[1] I found in the software that ran Barrapunto.com, a Spanish-speaking site that used to run a modified version of Slashcode, some years ago. alvaro did a great job at writing clean code, however Rob Malda et al are simply mad. Although alvaro missed to check user input.

Me First and the Gimme Gimmies, have released a new album. After listening to "Over the Rainbow (The Wizard of Oz)", "Don't cry for me Argentina (Evita)" and "My favourite things (from The sound of Music)" covered by these guys, you won't see things the same way. I hope this new album is at least as good as the last one (Blow in the wind).

Well, the problem is solved and now I have a new job. The guy I approached was nice enough, to tell me there was a project to build a website for the catalan chapter of the World Year of Physics. It's just a two-week job, so it won't let me quit my other job (I'll talk about it another day) :( I hope to get a better one and kick it...

So right now I'm learning ASP.NET. I was given the choice to build it either in ASP or ASP.NET (I *do* hate ASP, it wasn't a framework but a nightmare), and since I never looked an ASP.NET line I decided to learn it :)

From what I'm seeing, ASP.NET is really cool, IMHO, Microsoft took it seriously (for the very first time, I guess) and made something that stacks up against J2EE. Java^WC# looks very familiar :>

I'm using Web-Matrix (not so bad), however I'll see if I manage to get mono-xsp running on my NetBSD box (BTW, NetBSD 2.0 will rock)