Guillaume “Zifro” Desrat’s former blog

User Interfaces to evolve in the next years ?

Filed under: user interface, nextgen — Zifro August 31, 2006 @ 12:52 pm

Browsing the Internet, I often wonder how I got here or there (not only when a pr0n site pops up at work or when my sister and I are looking for something).

So, I don’t remember how I found it, but I’ve read an article on ACM Queue, called The Future of Human-Computer Interaction, written by John Canny.

It states that “for many years HCI has been evolutionary, not revolutionary”, and asks “is this about to change ?”.

It starts with the past, insisting on how good was the Star, gives some rules for launching a brand-new, state-of-the-art interface, then goes on describing what the UI are today, and then points at some clues of what they could become.

Is this about to change ?
Well, one can’t tell, but this four pages article is worth reading ; it tends to blur the frontier between marketing and interface designing (which may or may not be a good thing, depending on the tin-foiled hat you wear) and raises two interesting things to me : user-centered development and computer-based vision (or context-awareness). & : using Ruby on Rails for advertising on YAIB, pass exams and self pleasure

Filed under: Studies, Ruby — Zifro August 25, 2006 @ 1:19 pm

Last Friday was the best one of the year. The blue sky, the warm weather, the cars racing… and so on. This one is going to be the most quiet of the year.
Bosses ar not here, I plan to code only one thing (an FTP transfer extension to the reporting tool used here), and I won’t go to the car meeting and races tonight.

I spent a lot of time diving into Ruby on Rails world so that I’d be able to have something to show, mid-September, and pass the final exams. So I worked until unusual hours (4:00 am, 00:30 am, 3:15 am) and have done much (mostly the interface) so far. Yesterday I fell asleep early (I was in bed at 11 pm) so I’m not a zombie today.

My interest for Rails started back in September or October of the previous year, when I was looking for something that could help me design portable interface, dreaming of a browser connecting to a local tiny webserver. The friend who taught me IRC (at a guild-master level), who also lead me to code Ruby, then told me about RoR. It’s fate.
Since, I have taken a look at it (the Agile Web Development with Rails book is worth reading), played a bit with AJAX calls and stuff, but nothing really big or production-class.
I choosed to use Rails to develop two websites : and (note that these aren’t links, their content isn’t online yet) and present that work for the project exam of my night courses.

So it serves three goals : learn the Rails framework, pass my exams and advertise for my Ruby written IRC bot YAIB.
Now that I’m dealing with it daily (er… nightly), even if I am not using much of ActiveRecord’s capabilities (the database I designed is really… basic), I can speak a little more about it :
It’s clearly fantastic. Every time I search how to do something, there’s an elegant solution provided directly by Rails, when not by Ruby itself. Not only Rails helps you design quickly and code elegantly, it leads you to think different (so yes, there is a little adaptation phase before you’re fully effective), and develop better.
Of course, Rails has limitations : no support of stocked procedures (but it’s not what it aims at ; its goal is to abstract the database layer, all data-related logic is contained in the model and has to be handled there), no multiple database support either.

But it does what it’s done for : develop database-backed web applications.
At this point, I believe J2EE and PHP are not really challengers. The market isn’t exactly the same, and, of course, one should use what he feels comfortable with.

So, I’ll spend the next weeks working hard on it, trying not to neglect the French Ruby users association in which I’m involved as the current secretary.
When I have finished and, I’ll have to put them online, so if you know a good Rails hosting plan, drop me a line below.

Note : Yesterday, on IRC, just before I quitted, Forth told me he liked my new blog. Thanks to you friend !

Don’t fear the bot (”Thou shalt op me !”)

Filed under: code, Ruby — Zifro August 20, 2006 @ 9:43 pm

It’s Sunday evening, my sister came to visit me (and browse the Internet for a job offers) and I’m writing this post while she’s watching Ocean’s Eleven.

I updated the system and the applications on my mother’s laptop, removed what was useless, cleaned the hard drive and KaoLLa tested it all the afternoon. Cool, it works well, a bit faster than before (even with the Service Pack 2 installed). Now I’m using it to write this post. Strangely, I always experience difficulties to access pages from my OpenBSD box, and it seems to work fine with Windows XP. Weird, no ?

So, the main topic of this post is the IRC bot I have developped for years (which doesn’t mean it is fully usable, featuring cutting-edge mechanisms (err… in fact it does) and all stuff. Here is the story :
I coding a Perl IRC bot in 2002 March-April, then started writing another with Ruby, which I discovered thanks to Maz (not Matz heh !).
After he dropped the development at an early stage, I kept on working on it from time to time, when I wanted to. Firstly named “MiKeRWIB”, for “Micro-Kernel Ruby Written IRC Bot”, I separated the IRC library from the micro-kernel (it wasn’t a true, pure, one before), and renamed it “YAIB”, a recursive acronym standing for “YAIB is Another IRC Bot” (too bad someone already used “Yet Another IRC Bot”).

This bot features a micro-kernel, an IRC library and a skeleton for user-made modules. Because by itself, the bot doesn’t do anything. It needs a module to connect to an IRC Server, call the IRC messages transformation process and send those to the other modules via the micro-kernel. This one dispatches the messages to the running modules, which it shares messageboxes with, and grabs messages from those ones to send them to the IRC server, via the CONNECTION_MODULE.

Is this clear ? Does it make sense to you ?

The module skeleton system helps the user (also called “the developer” at this point, because YAIB aims at being used by IRC bots developers) save time (and energy) by hiding all the magical mechanisms like transforming a call to the method “join” into the creation of a JoinMessage, formated in order to be sent, then passed to the micro-kernel for being delivered to the CONNECTION_MODULE, and then sent to the IRC server. It’s sort or “role-based” or “aspect-oriented” programming. I learnt that after I coded it :p

These last days, kedare on #rubyfr @ Freenode asked for things to code, and I helped him writing a simple module. He went on and developed a complete module to manage one of his channel (well, as far as I know, that’s what he did).
Then guiguilinux on the same channel showed us a Ruby script to translate morse code to human-readable characters both ways, which I ported to a YAIB module (it has been intensively tested on IRC by many folks who played with it ’till I disconnected the bot).

So I’m truly happy to see people try and enjoy what I code :D

If ever you’re interested in this project, let me know (by commenting, emailing me at [zifro] _at_ [yaib] _dot_ [net], or hanging on Freenode (I’m always on #rubyfr and #ruby-lang).

As part of my night courses, I’m (slowly) developing and websites with Ruby on Rails. The first one will present the project, display the day-to-day changelog, the development news, offer documentation and downloads ; the second will be sort of RAA, allowing developers to share and promote their modules. I try to stick to the idea of making them both clear and simple (without Javascript, without CSS hacks) since I have another Web 2.0 (current buzzword !) Rails website : Hazzard community’s one.

For the impatient ones, you’ll find something to download and run at . Although it requires you to tune the IRCConnection.rb file to connect where you need, and the Services (another nice feature) to be turn off, it’s a toy you can play with and use as you like. Last words : it requires Ruby 1.6 or later and it’s released under the GPL (which might be changed in a near future…).

It’s the best Friday of the year. Did you pre-order ?

Filed under: parties, healthy life — Zifro August 18, 2006 @ 9:45 am

Really, I have the feeling it will be a nice Friday. I even wonder why it wasn’t in pre-order items list.

It rained last night (even in my flat, because I was listening to music very loud through the headphones and didn’t notice the water coming in…), and the sun rose this morning in the blue, blue, blue, sky.

There is a weekly car meeting my sister and I often go to on Friday night. I just hope having slept four hours won’t lead me to madness today.

Any other good plans to end the week with a party ? Tell me !

BTW, a link worth visiting (requires Flash however…)

Linux users have Linus Torvals, Mac users have Steve Jobs

Filed under: geek, trolling — Zifro @ 9:14 am

It appears that you, Mac users, haven’t fullfilled your true destiny just having bought
the latest, hypest, Mac Book Pro.

You need something more to gain the next level.

A DeviantArt member has the solution : the Steve Jobs desktop.
Get it there :

Source (as pasted by sng on IRC) :

More icing on the cake, do you know how many Steves it takes to change a light-bulb?

None. Darkness is the next big thing.

Hello world!

Filed under: WTH is this post uncategorized ? — Zifro August 16, 2006 @ 11:59 am

Welcome to WordPress. This is your first post. Edit or delete it, then start blogging!

Mmhhm… I’m not sure I’d like to edit or delete this post. I’m not ready to start blogging yet. First, I’ll tune this environment (grab new themes), then I should ports the post I made on here, so that I can close my GP account (which, by the way, I recommend you).

Things are going the right way

Filed under: IRC, work, Studies — Zifro August 9, 2006 @ 1:29 pm

Companies call me on a regular basis to offer me job opportunities, after they saw my profile on Great.

I have a second chance to present my night courses project on September 12th. Great.

I keep on hanging on #obsd @ Freenode with cool guys. Great.

So I gonna have a new job before Chistmas (if I decide to leave this one without having found the ONE GOOD JOB), have much work to achieve (the two Rails projects I’ll present are to be re-designed) and fun (sng, brandini and the others are definitely worth knowing).

New project, new horrific code lines

Filed under: work, WinDEV, code — Zifro August 7, 2006 @ 12:00 pm

I’m now working on a new project. Well, it’s something new for me, but the software I’m diving into has been used for years to retrieve data from our shops each night.

The code is pure shit.

For example, there is a procedure that compare two dates, contained in two global variables, and returns the result in the variable passed as parameter. See :

procedure compare_dates (result)

// comparison code…

result = …

Better seeing that than being blind, hu ?

Yay ! Week-end !

Filed under: work — Zifro August 2, 2006 @ 7:47 pm

Yeah ! It’s the week-end.

That was a hard week at work, but I finished coding fixes and evolutions for the piece of software I’m assigned to work on.

A 3 days week-end is exactly what I expected.