Older blog entries for esteve (starting at number 15)

I guess I picked the wrong week to quit sniffing glue

What happened to Advogato?!?! Seems like several accounts were deleted. Luckily I recreated mine, but lost all my certs and my personal introduction, WTF?

26 Mar 2005 (updated 26 Mar 2005 at 23:50 UTC) »

Parallel reading

So I have a bunch of papers and books to read... the rational way should be:


read_book("Jakarta Struts Cookbook");
read_book("Fun and games, A text on Game Theory");
read_book("Kanji para recordar");

Bah! It's funnier to implement it this way:

pthread_t th1, th2, th3;

pthread_create(&th1, NULL, read_book, "Jakarta Struts Cookbook");
pthread_create(&th1, NULL, read_book, "Fun and games, A text on Game Theory");
pthread_create(&th1, NULL, read_book, "Kanji para recordar");
pthread_join(th1, NULL);
pthread_join(th2, NULL);
pthread_join(th3, NULL);

This leads to lots of race conditions! By now, I have learnt that minimax is a MVC approach to eat sushi :D


A cup of coffee

I've finally set up my Struts environment, composed by:

  • Eclipse, all around good IDE
  • Jetty as my servlet container
  • StrutsIDE plugin for quick and easy development
  • JettyLauncher, for firing up Jetty

    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.

  • 22 Mar 2005 (updated 21 May 2006 at 21:23 UTC) »
    What's up Doc?

    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.

    14 Feb 2005 (updated 14 Feb 2005 at 21:56 UTC) »
    Food for thought

    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").


    It has arrived, finally. Tomorrow will be the day. A bunch of geeks are organizing a festival around free software at the University of Barcelona.

    Ramon, Miquel and I are the nerds behind this, we are very excited about this, though it began as a stupid bet.

    You will find workshops (Blender, Mono and Install Fest), talks (Creative Commons, Migrating to Free Software, etc.), hmmm... I think it's better if you visit our website, Jornada de Programari Lliure (codenamed geekfest)

    We're planning to stream every talk and workshop, in Theora/Vorbis (preferred) and Divx/MP3 formats.

    Get on Board, Lil' Children

    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.

    26 Dec 2004 (updated 26 Dec 2004 at 21:57 UTC) »
    Romani ite domum!

    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.

    Since then, I fell in love with Ruby. However Damian Conway is evil. fxn showed me Lingua::Romana::Perligata and changed my feelings towards Perl again. It's beautiful!

    I saw myself remembering those boring Latin classes at high school. Learning how to decline "pueri" and trying to understand what the heck "dative" means.

    You know, it's this kind of things that makes geeks be proud of themselves! "Why do we do this?" "Because we can, of course!"

    fxn is a lucky person. If I'd seen L::R::P at the beginning of the course, he would have had to check all my exercises in Latin ;)

    [1] That bug allowed me to post/delete stories and change permissions anywhere in Barrapunto.com, pretty serious, IMHO.

    Music and stuff

    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).

    Find a security hole, get a job?

    Some days ago I found a security hole in one of the services that my university runs (UB - University of Barcelona).

    I contacted them, and guess what: they listened to what I told 'em!

    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)

    Good ol' Dilbert... Drop dead funny! ROFL

    22 Sep 2004 (updated 11 Oct 2004 at 15:23 UTC) »

    Yesterday, I talked to cerquide about my final project. He pointed me about some things he had in mind.

    A special topic hooked me on: game theory and machine learning.

    So, I couldn't wait for cerquide to send me some links and began to look for info. I asked the oracle and it gave me:

  • Machine Learning in Games and
  • Machine Learning, by Tom Mitchell

    Today I'll be buried in UB library, looking for Mitchell's book and others about the same topic.

    I'm tempted to call this WOPR and teach it to play tic-tac-toe against itself, I think I won't be able to resist ;)

    Would You Like To Play A Game, Professor Falken?

  • 6 older entries...

    New Advogato Features

    New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

    Keep up with the latest Advogato features by reading the Advogato status blog.

    If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!