Older blog entries for esteve (starting at number 18)

6 Nov 2005 (updated 22 Nov 2005 at 12:17 UTC) »

/me disguises as Roger Ebert

Clint Eastwood meets Han Solo

I saw Serenity last week and man, it is a-w-e-s-o-m-e. Plenty of laughs, good action and a compelling story. I've never watched Firefly (it hasn't arrived to Spain yet and I fear it will never do...), so I knew little about the story.

I was very surprised, since you won't need to know every minor piece of Firefly to understand Serenity. The ending is quite well thought:

<spoiler>

the idea that aggressiveness is a fundamental part of human nature is a very disturbing point, because it is true (at least, in part). What defines us as humans is that we can channelize it to good purposes (such as trying to defy our own limits)

</spoiler>

I'm quite reluctant to watch what most people call sci-fi (Matrix, Starwars, etc.) so I wasn't really convinced if I would enjoy Serenity, but I was wrong. I love slow paced sci-fi movies. I don't believe that sci-fi is all about laser shooting starships, but about the social impact of believable technology (I'm one of those who prefer Gattaca over Matrix).

Good idea, bad implementation

Corpse bride by Tim Burton gave me mixed feelings. The story behind it is quite funny, but the screenplay is irregular. Sometimes it was boring and sometimes funny.

/me takes off Roger Ebert disguise

Talks

I finally gave my presentation on Rails & AJAX in Hackmeeting 05. The speech that served as a basis for my (bad) jokes can be downloaded from here It is a Theora/Vorbis encoded video.

There's something funny about this, I wrote the application for the presentation in a couple of hours and, by the way, learnt about some minor aspects of Rails that I wasn't aware. "Every work of software starts by scratching a developer's personal itch" by ESR is completely true :) You can mail me if you want the source code (it has some AJAX tidbits, such as a live search).

fxn asked me if I was willing to give that speech at his class at UB, and I have accepted. It's somewhat frightening, since the public will be composed of ex-classmates :P

Plus, there's some guy at UC3M LUG (Felipe Talavera) who will give a talk based on my work about the same topic. It's nice when people find your work useful and want to reuse it :)

Ouch, I wrote my last entry in 19th april, it has been a long time since then.

Slavery was not abolished, it simply was reduced to 8 hours a day

Ok, ok, this title is simply a joke by "Les Luthiers". I finally got a new job at Scytl one week after my last post (so it means 6 months, hmmm) and I'm pretty happy with this place. My position: Software Engineer (notice the Camel Case :P), my duties: Java, C and maths.

I'm doing very funny things. Shared secret schemes and One Way Accumulators are two of the most impressive (at least to me) things I have done here. Maths seem to be somewhat useful after all ;)

Oh! and thanks to you all advogaters who mailed me job offers. It's nice to receive mail from unknown people (unless they offer penis enlargements or Nigerian scams)

Nihongo ga wakarimasu ka

Hai, iego ga sukoshi wakarimasu. I'm attending Japanese classes at the Official School of Languages of Barcelona

And, before anyone asks, I'm not doing this to understand Ruby documentation :)

Synergy paradigms of pro-active catalysts

Yeah, I don't know what does it exactly mean either. I will be giving a speech on the next Hackmeeting in Minorca about two of the most recent buzzwords: Web 2.0 and AJAX.

Of course, I had to mix Ruby in it: it's the third rule of the Ruby Club, after the first two: "you don't talk about Ruby Club". So the speech will be about how to build AJAX-enabled Ruby on Rails applications.

Next level

I have been upgraded: from Observer to Journeyer. Does it mean I can bully Observers and Apprentices?

The waiting...

I hate to be tricked. One month after being accepted to work for Auna, I'm still waiting to sign.

I would really like to listen "Hey guy, seems like this project was cancelled, sorry". I would get angry (of course! I rejected other offers) but I could keep looking for a new job.

Well, my impression is that they are completely unprofessional, so I won't wait for them any longer and begin to look for a job (again).

So, if any of you know of someone who is hiring, please let me know :)

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:

<geekspeak>

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

</geekspeak>

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

    Evangelism

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

    9 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!