Sunday, December 23, 2007

3, 2, 1... GO!



My Christmas break has just started this morning, when I woke up at 5:00 AM to leave to the country side to spend Christmas.
I hope you all have been good kids so that Santa will drop by with nice gifts and lots, lots of sweets!

Meeeeeeeeery Christmas!

Saturday, December 8, 2007

XWiki Iaşi team @ Durău



The last weekend we gathered 'all' the XWiki Iaşi team to go to the mountains, as some sort of goodbye party for JV who left Iaşi this week. Well, 'all' the XWiki team meant, after all, without Marius (who had some school assignments he had to finish until monday) and without Evelina & Cristi who also had some school deadline changed to monday without notice. Finally, the XWiki team was: me, Raluca, Jerome and Jean-Vincent (JV for short) and Petru (who is a xwikier only 'by association').
Friday afternoon was shopping afternoon ('Let's go to the mall, today!'): after a tough negotiation for boots (J and JV wanted the same shoes and are the same size but there weren't 2 pairs available in the shop), and a 'girlie-girl' shopping style from me (3-4-5-6 shops but no boots for me to like :D) we deviced the next day's wake-up plan and went home.
Saturday morning we left Iaşi at 6:00 am and, after a 'niiiiice' 3 hours trip and some sleep (only for some of us) we arrived in Durău: nice fresh air smell and some snow here-and-there. We checked in at the hotel, grabbed something fast to eat and then left for the trip to Fântânele.


From XWiki @ Durău

Once we got there, we had a cup of hot wine, took some pictures with the nice view and, despite the original plan to get to Fântânele, drink, and then return to Durău, decided to go further until we can see the "Izvorul Muntelui" lake and then return.


From XWiki @ Durau

A kind caban dog lead the way towards Dochia caban: he went on and, when we stopped it stopped and returned to see if we all are OK. At 'La morminte' (around 1300m altitude), the path started to be snowy: it was not dangerous (yet) but still, it was a sign that we cannot go further without proper equipment. We went a little further to see the lake, took pictures (to testify that we indeed were there), Raluca gave her share of food to the dog (who was clearly planning to continue the path to Dochia) and then returned to 'La Morminte'. There we had a nice picnic below 0 degrees Celsius with bread and french camembert. We continued our trip back to Durău through Fântânele and then through 'Poiana Viezuri'. In Durău, we had a romanian dinner with 'Tochitura Moldoveneasca' and red wine at the hotel and a very 'personal' interpretation of some famous international songs from the guy at the keyboard in the hotel restaurant.
Although some of us were very sleepy, the night continued with a delightful cards game, romanian Whist and, upon Raluca's request -- who was tempted by the music she heard from outside, with a visit to the 'disco'. And when I say visit, I mean visit, i.e. 30 minutes. The 'disco' was actually a lame 'village club' (you know the kind of club I'm talking about), which made the visit 2 times more fun!


From XWiki @ Durau

The next day, we were supposed to wake up at 6 o'clock so that we can go to 'Duruitoarea' waterfall too. Of course, I only woke up to make a couple of calls to the others and agree that it is better to sleep on and see more about it later, when everybody was up. At 10, we talked about staying some more and leaving Durău in the evening but the unavailability of the bus seats in the evening ruined our plans. The trip ended with a walk around Durău, a visit to the monastery and some more pictures of the surroundings.


From XWiki @ Durau

The trip back was 'spectacular', as usual in Romanian buses (I really need to buy a car!): a lot of people going in and out of the bus, the driver's stops for each one of them, loud conversations, people crushing into each other to fit the size of the bus, and the eternal travelers that know that the bus might be too crowded but never, ever make reservations, etc, etc.
All in all it was a successful outing, and until the next one, we will enjoy the pictures:


Tuesday, November 27, 2007

The book has appeared!




The "Web 2.0 programming" book is now ready to be released in shops: yesterday I have seen (touched and smelled) the final and printed version of the book. The Polirom publishing house has done a great job after all and the result is one we can be proud of. In the book you can read:


  • Andrei Mihaila's chapter about load balancing in web clusters


  • Sabin Buraga's chapter about JavaScript programming. Sabin is also the coordinator of the volume, i.e. the one that 'directed' the whole process of writing and publishing the book.


  • Ciprian Amariei and Andreea Pantescu's chapter on collaborative code review


  • My chapter on web recommendations using microformats


  • Cati (Ecaterina Valica)'s great chapter on mashup applications




You can find more details about the book either on the blog dedicated to the book (where you will be able to comunicate with the authors and the other readers), on the presentation page of the book, or on the polirom website.

Saturday, November 17, 2007

What have I been doing in the past few months?




Yes, it's been a long break and, as you already assume, here comes a (long) post with a bulleted list of all that happened in the mean time and deserves to be mentioned:


  • First of all (I've been trying to write this for a while now) I started working for XWiki Iasi. We are a team of 9 people but only 7 of us are in Iasi and only 5 of us are Iasi employees: Sergiu and Marta are in France for studies, Jerome and Jean-Vincent are employees from the Paris office that came in Iasi to help setup the team here. The romanian team is made of: Evelina, Raluca, Cristi, Marius and me, closely collaborating with the big french team in Paris.
    I must mention that this is my first job and I'm learning things as they happen: the development process of a big project, the teamwork, the communication, the skills, getting used to "doing only one thing" (as opposed to school where I was doing a different thing everyday, writing code in 3 different programming languages at the same time, learning and trying new technologies, banging the head against the wall for all these reasons but enjoying every minute of it). Still, XWiki is a nice place to do "more-than-one-thing": there are various areas where you can spread your work if you want and creativity is encouraged.
    We also had a nice XWiki Iasi launch party in october where we invited a lot of friends (some pictures can be found on picasaweb).
    I also learned that cultural barriers are no barriers at all and all it takes is just a little time to get used... (a subject that deserves a post of its own...)


  • Second of all, I started the master courses at infoiasi that compensate the "doing-only-one-thing" at work. Not too many opinions on this yet, besides the shock that, after trying for 2 years (the final years) to teach us how to write code and how to look at things from the practical side, they are now going back to the theoretical side (that gave us nightmares in the first 2 years at the faculty) and expect us to understand everything and agree... I know, it is supposed to be like that and it is OUR job to put the two together, etc, etc, but it is a little hard to bear anyway...


  • Third, I started my classes at the faculty: I am teaching web technologies laboratories to the fourth year students. This whole "getting on the other side" experience is very interesting on its own and deserves a full post, too (maybe I'll do it, just maybe). I can say that I am having a lot of fun teaching, although you should probably get some opinions from my students too...


  • Fourth of all, I wrote a chapter about web recommendations using microformats embedded data for the "Web 2.0 Programming" book (in Romanian) to appear at Polirom. While doing this, I finally finalized the Java Firefox extension example that I talked about in the last post, realized that it's incredibly hard to talk about some things you are very familiar with while trying to be clear enough and explain that stuff to someone who potentially does not know a thing about them, and also learned how valuable good feedback is! The blog dedicated to the book is at http://webpro20.blogspot.com/, designated for communication with the readers of the book, so feel free!


Thursday, October 11, 2007

Java Firefox Extension



I know, you won't find this as the first search result on Google, but anyway...

Because I promised some (many) posts ago and because recently I found the time to create a decent example (actually, I HAD to find the time), here's the long waited demo of a Java Firefox extension, i. e. Firefox extension that uses Java code. I first got this idea from Simile's Piggybank extension, and then I got their example from http://simile.mit.edu/wiki/Java_Firefox_Extension. I found that to be quite complicated so I created a new one, simpler (and optimized in some points) and, I think, easier to understand.
I assume you are familiar with the Firefox extension development. If you're not, have a look at http://developer.mozilla.org/en/docs/Extensions.
What we already have in Firefox:


  • LiveConnect

  • that allows us to connect to Java code from javascript code. We can write stuff like var x = new java.lang.String("test") and x will hold a reference to a Java object. We can then call all x's functions from javascript and get the results back. We can not send javascript objects other than numbers (integer, double), strings and arrays to Java. I mean, we can, but we'll get a JSObject object which is kind of empty and useless (no functions, no members).


  • XPCOM

  • that allows us to build a COM-like component for Firefox, platform independent (because it is written in javascript).


We will create a XPCOM component that will use LiveConnect to get to the Java code.

Why can't we do it only with LiveConnect? Because XPCOM allows a single instantiation of the component through all the browser instances (shared). Now you decide for yourself why you might need that (I personally needed it because I had some native libraries loaded by the Java code and I had to be sure that happenned only once since I would get an error otherwise).
And it's pretty cool to learn how to do both the Java access and the XPCOM.
Now get the code from this temporary deposit (change extension in xpi and drag it to a Firefox window to install) and follow me:
Any XPCOM component must implement an interface, at least nsISupports, which is the most general so that it can be managed by the Firefox component manager. The trick is that we don't need any function from the interface, we will get the javascript object that implements the interface and call its functions, so we should implement an interface with no functions at all -- we can create our own (like simile's example does) and go through all the mess of compiling the idl file in a xpt interface definition file or we can simply implement nsISupports.
Once that is done (see the GreeterComponent.js file in /components) we can simply call:


Components.classes["@lucaa.students.info.uaic.ro/je-greeter;1"]
.getService(Components.interfaces.nsISupports);

to get an instance to our component ("@lucaa.students.info.uaic.ro/je-greeter;1" is the component's contract id, specified in the implementation).

But what's the trick to access the Java code? One might say that we have LiveConnect's java object and that is enough. Well, not quite, since our own classes ar not loaded and we can not access them. We need to load them dynamically through our own class loader (this is done by the component upon initialization):

var greeterURL = new this._java.io.File(greeterJarLocation.path).toURL();
//create the classLoader
var classLoader = new this._java.net.URLClassLoader([greeterURL]);
//get an instance of the GreetingGenerator through reflection
var greetingGeneratorClass = this._java.lang.Class.forName(
"ro.uaic.info.students.lucaa.je.GreetingGenerator",
true, classLoader);
this._greeter = greetingGeneratorClass.newInstance();

Then, the call to the java functions of the GreetingGenerator can be simply done through:

this._greeter.generateGreeting()

Remember that the java LiveConnect object is not provided by default to the components environment and we must pass it from the calling code, upon initializing the wrappedJSObject of the component:

//get a component
var greetComponent = Components.classes["@lucaa.students.info.uaic.ro/je-greeter;1"]
.getService(Components.interfaces.nsISupports);
//initialize the wrappedJSObject
greetComponent.wrappedJSObject.initialize(java, true);

In the example, the GreetingGenerator class in Java holds a counter incremented by each call to the generateGreeting function. Go to the Tools menu, the "Greet!" menu item and get your greeting. Now open a new browser instance and do the same. The counter goes on, as a sign that it's the exact same object called.

Starting from this, you can do all sorts of stuff: you've just created yourself an unique entrypoint in the Java code, making sure that if you have configurations to set up, servers to start, etc, etc, those will happen exactly once.

Happy coding!

Thursday, September 6, 2007

Please, don't send me .doc attachments!



.doc as in Microsoft Word's proprietary format file

I know, thousands of MBytes have been written on this subject, but
beside the fact that it's a proprietary format and all those points that I support:


  • Microsoft Word documents cannot always be read by other word processors.


  • Documents produced with one version of Microsoft Word cannot always be read by other versions of Microsoft Word.


  • Microsoft Word documents are not guaranteed to look and print the same way on every computer and printer.


  • Microsoft Word documents are extremely large compared to other file formats.


  • Sending Microsoft Word files can violate your privacy.


  • Microsoft Word files are a security hazard.



I'd like to highlight one more aspect: if it's not a DOCUMENT then you should not send it as an attachment at all: just copy the bloody text in the email body. Or, at least, attach it as a text file that most email readers can parse and print in the email body.
Why am I so mad?
I received, a few hours ago, a simple table (1 page long) where I had to lookup my name and confirm some data written there. But guess what, it was an attached .doc instead of plain csv in the email message. And I had to go through all the mess of downloading it and opening the editor to read it.
I also received announcements (like "some papers are due until day x, 12:00 PM") in .doc attachments, or even empty emails that gave no sign about their purpose until you opened the attached .doc.
I cannot see the rationale behind these kind of actions: I mean, I know, it was probably easier for that person to attach the .doc she created for HER OWN PURPOSE then re-format that for the rest of the world, but you don't speak your native language that the other one does not understand just because it's easier FOR YOU. If you knew what you are doing and still did it for YOUR OWN COMFORT then you're a stupid lazy bastard and you fully deserve my eternal hate!
I can't imagine that people that send .doc attachments don't now that:



  • it is so damn annoying to have to download things (where to store it (damn, the desktop is full)? oh, and now I have to wait for that to download?, etc, etc)


  • the office editor (either MS's or OpenOffice) takes some time to load and this gets really annoying if you have some other applications running (you must now this, don't you?)


Imagine how much time this takes compared to just reading a piece of text in an email! I'd probably ignore that email if it didn't concern me too, and this is actually what you were counting on, isn't it? You devil! The next time I will send the response in hexa, because it concerns you and you're the one responsible of reading it and making communication between us possible!

For all these reasons,
PLEASE, DON'T SEND .DOC ATTACHMENTS!

Wednesday, August 22, 2007

What's the time, Mr. Google?



"Whatever you want, kido!"


These days my computer's clock has gone mad: it shows a chaotic time, all the time, always behind (sometimes even with a couple of days gap). I set it and, after an hour or so, it goes wild again. While this is not a problem in Ubuntu (I just set the time to synchronize with a time server, namely the ubuntu time server), it is causing me a lot of trouble in Windows, because synchronizing it with a time server just returns an error or smth. The manual says that I should check the address of the time server: well, I'm using their default server list (but maybe this is the problem ;), actually).


Anyway, for some activities I am stuck in Windows: e.g. writing a damn .doc file with various ms fonts that render veeery strange on Linux, playing World of Warcraft (but I really don't care that much what's the windows system time when I'm defending the Alliance :P ) and so was the case this morning (the .doc file, not the WoW!!) when I realized that the only time-showing-devices I own are my computer and my cell phone. The first was down, the other one too far away, so I decided to ask Google, because that's why I Google, isn't it? Guess what, the wonderful time-depending gadgets on the iGoogle page actually display your own system time, so never use them as reference. I wonder now if this is good or bad... I mean, for me it was obviously bad, but I wonder if someone benefits from this, EVER: maybe the guys at Google didn't find a reliable time server, maybe they didn't get it from an internet source because then you would need to change the iGoogle time zone setting every time you travel (though I'm pretty sure it's not that hard to find out where is one accessing the page from), or maybe some people like to set their computer clocks to lie to them and want the whole world to consent.

Tuesday, July 31, 2007

The Bicaz Gorge



As I mentioned in the previous post, the past weekend we took a trip to Sighişoara. We left Iaşi Friday evening at about 18:15, all happy and joyful (except for Cati who was a little nervous). According to Cati's calculae, it was a 345 km trip, which meant about 5-6 hours and yes, we were supposed to do the last part of it in complete darkness but we all fully trusted the superdriver Cati, although she had never been to Sighişoara before and didn't know the places. We equipped ourselves with all the things necessary for camping (because we didn't expect to find any rooms in a hotel on Friday night, at the end of the first day of the festival).

The main attraction of the trip towards Sighişoara was the Bicaz Gorge, at the midpoint, which we would reach somewhere around 21:00 (maybe I forgot to mention that I love mountains :) ).

From Trip to Sighişoara

We divided the tasks: Cati drove and watched the road, Edy was the guy with the map and, together with us, watched the side of road for signs to guide us: since we had never been there before, we were cautious not to get lost, especially inside the towns where we had to watch out for the right turn.
In Roman, Edy was the guide since he grew up there;


From Trip to Sighişoara

in Piatra Neamţ, although we missed the road we had the chance to realize it in time and turned around,


From Trip to Sighişoara

and in Bicaz the road was properly marked (you could not miss the signs even if you tried).

Suddenly, as we were approaching the gorge, Cati noticed that her car makes a strange noise... She lowered her window and we all heard well the concerning noise... We had no idea what it was, but we realized that it wouldn't be wise to continue the trip, as it was getting darker and darker... We returned in Bicaz (when this happened we had only passed it for 3 km or such) looking for a car service. We found one as we (re)entered Bicaz, but it was closed and we had to call the guy and finally go at his house for him to take a look at the car. Unfortunately, he couldn't tell what it was and his suspicions were not restful. Since it got very late (22:00), the smartest thing to do was to spend the night in Bicaz and contact the official car service in Piatra Neamţ the next day. We found some sort of pension there where we ate the sandwiches we brought from home, played some cards, saw the medieval festival on TV (some piece of news showed how happy was everybody visiting Sighişoara) and took a nice sleep.


From Trip to Sighisoara

For the next day, we planned to split: me and Petru would stay in Bicaz and somehow visit the gorge we were so anxious to see and the rest would join Cati to the service, and if the car was fixed in the right time, they would continue the trip and pick us on their way (no, this wasn't the case).

The next day, we found some bus to take us to the entrance in the gorge and then took a 7 km walk to Lacul Roşu, in the middle of the gorge, and back. I'll shut up now, because the pictures are worth a thousand words (each):


From Trip to Sighişoara

All in all, I can declare this a successful weekend: even if we didn't get to the festival we saw some very beautiful places – if you ever get the chance to go to the Bicaz Gorge, don't use a car to pass it, it's not even a long walk and it's really impressive.

Friday, July 27, 2007

The Danube Delta



As I announced in the previous post, the past weekend we took a trip to the Danube Delta (Synygy's team building, again). We have never been there before (shame on us, a natural monument in our country and we waited more than 20 years to visit it) so it was a nice experience and a lot of new and fine places to see. Since I was refrained from taking the laptop with me (it's a vacation!!!) I only had the 512MB on the card for pictures. I also realized that my camera is pretty lame: 3x optical zoom is not enough to capture the details of the wonderful nature and it can not take pictures when the sun goes straight at it (it produced some completely white images).

We left Iasi at about 8 o'clock in the morning, had an 8 hour trip until Murighiol

From Danube Delta


then took the boat to Uzlina



From Danube Delta


where some of us visited the pool first, even against their will



From Danube Delta


We checked in on "Cristofor, the floating hotel"



From Danube Delta


had our fish-based dinner (actually, we ate fish the whole 3 days)



From Danube Delta


and then ended the first day with a nice sleep.

The next day we took a trip on the canals with the boat and saw some wonderful places (seeing the clear blue sky from land to land -- as opposed to "from building to building" -- always makes me feel good):



From Danube Delta


This whole days, team-building polo was everybody's favourite activity:



From Danube Delta


In the night, we also did some classic team-building treasure-hunt game



From Danube Delta


which eventually required a swimming contest to decide the winner (my team lost)



From Danube Delta


The next day we left Uzlina and returned to Iasi with a new 8 hours trip



From Danube Delta


In the mean time (this week) I became a proud M.Sc. student in Distributed Systems at FCS (classes starting in october).

This weekend, thanks to a great idea from Cati, we are going to Sighisoara, at the medieval festival (actually leaving in a couple of hours so I must hurry). I'll be back with pictures, as usual.

Tuesday, July 17, 2007

On vacation



No, I haven't quit blogging (though I haven't posted anything in the last month). It is partially because I'm enjoying myself and take (some) advantage of the summer vacation:



Fourth will be coming this weekend: I'm going to the Danube Delta and I will be back with pictures.


  • Fourth and a half, I've recently become a happy listener of Mika and Leonard Cohen (which I have rediscovered through the wonderful soundtrack of NBK).



Thursday, June 21, 2007

Anca Luca, B.Sc.



It's all gone: yesterday I presented my BSc paper to the examiners, got my final grade and celebrated.


waiting to get in

It was a little easier than I expected, the examiners were even more biased than I thought they would be :), I was a little more nervous than I thought I would be (I wouldn't have realized it if my mouth didn't get very dry – that's how I know I'm nervous and I hate it because I can't speak properly). Anyway, the smiles I received all morning helped a lot, and I want to thank all the people that produced them: either face to face, either online (the instant messaging hugs), either on the phone. I managed to insert my usual jokes & smiles in the examining room so I biased the examiners a little more (oh, the priceless smile of the commission head, that made me realize that everything will be fine, though I kind of "missed" a couple of questions). The presentation was far more important than the actual work (at least, that's my opinion in my case), but it couldn't have been done without it.


waiting for the results

Then our BSc supervisor told us the final results, after a half an hour of waiting: I got the maximum grade (as everyone besides myself expected it).

Phones to friends & family, congratulations, etc, etc.

And then, in the afternoon a nice beer and chat between us, the winners (clockwise, from the top right corner of the table): Augustin Ciubotaru, Cati Valica, Sergiu Pantiru, Stefan Vrabie, Andrei Zanoaga, Amariei Ciprian, Andreea Pantescu, Adina Aniculaesei, Sabin Buraga, Radu Munteanu, Andrei Mihaila (two more winners, not present, were Adrian Duhnea and Cristian Luca).


celebrating

Now I'm searching for something to do, maybe I'll clean up the computer a little (uninstall the useless stuff, free some disk space 'cause I badly need it, etc), or maybe I'll clean up the house, or maybe I'll cook something: though at some point I doubted it, it really is UNcool not to have anything to do, not to have a project that would keep you up in the night or give you codeful dreams.

Tuesday, June 19, 2007

Relaxng @ Ciric



on Sunday I went to a team building party (organized by Synygy) at Ciric, which is a wonderful place to go this time of the year, so if you have a spare weekend, use it wise ;).


It was a nice day, a little cloudy, ergo not as hot as Saturday (though at some point I wished it had been :D )

We had some nice barbecue, lots of beer, team building talks and, most important, football!!! It was a pleasant surprise to see that girls also played football along with the guys so I decided to join:




I almost forgot the taste of it: indeed, team games are so fine!

Because there were three teams, whichever lost more than two goals was kicked out, leaving the winner to play with the spare team. My team was the loosing team though we had a very good goalkeeper (Andrei), a nice (surprisingly nice, for some) defender (Petru) and some good attackers (amongst which I dare to count myself – except for the moments when I totally missed the ball :D ).


This competition for the field pushed me to an unconscious move: we desperately needed the goal and I was attacking: only two defenders to pass, both girls! Yeeeaaaah, I can do it! But seemingly, I played too many football computer games because I thought I can stop the running ball suddenly (and leave the defenders behind) like I'm doing with my console when controlling Ronaldinho. Guess what? Noooot so! (to quote Borat) So my right knee had an unpleasant meeting with the asphalt and my jeans doubled their value (that's how some of the guys expressed the fact that they were torn by the contact).

(No, no pictures of that – but you wouldn't want to see blood on the blog, wouldn't you?)

As if this wasn't enough, a terrible muscle pain haunts my body since yesterday morning (because of the sudden decision to practise some sports).

But all this is nothing compared to the wonderful Sunday afternoon...

Saturday, June 16, 2007

Changing the PATH from a Firefox extension



Since (almost) everything is ready (even my new cool XUL sidebar for recommendation list), I must deal with the install process, don't I?
Everything's ok, all the things are in their place (thanks to the .xpi packaging) except for the BDB XML dlls that have to be visible to the jvm in the browser. We have two options: either we copy the dlls to Program Files/Mozilla, either we set the PATH environment variable to extension directory, where Firefox unzips the .xpi.
Yep, I chose the second...
It's easy to execute a batch file from a firefox extension, you just use a

Components.classes["@mozilla.org/process/util;1"] .createInstance(Components.interfaces.nsIProcess)


initialize it with your script and then run it! (actually, if it wasn't for the extension developer's extension code, I wouldn't have known that now...)

But... how should we write the script? Since I couldn't find out how to execute a script at the moment of the extension install (that is, only once in the lifetime of the extension), I had to run it every time I open the browser so the script is a little more complicated: it must check the PATH for the existence of the directory path I want to add, and, if it's not there, put it. I found out from Merlyn that I can write a batch file in Javascript and, with a little help from Microsoft Tech Net I managed to produce this file:

//command line arguments
var args = WScript.Arguments
var dir = args(0);
//get the env vars
var objShell = WScript.CreateObject("WScript.Shell");
var colUsrEnvVars = objShell.Environment("User");

//TODO: test if path exists, else, create it
var path = colUsrEnvVars("PATH");

//TODO: should use regular expressions
var pathToSearch = ";" + path + ";";
var dirToSearch = ";" + dir + ";";
var index = pathToSearch.indexOf(dirToSearch);

if (index < 0) {
WScript.echo("update...");
var newValue = path + ";" + dir;
colUsrEnvVars("PATH") = newValue;
}

called from this bat:

set DIR_NAME=%1
set SCRIPT_PATH=%2
cscript //nologo "%SCRIPT_PATH%" "%DIR_NAME%"

with DIR_NAME and SCRIPT_PATH passed from the firefox code to match the firefox extension installation paths and the path to the js script.

All fine, until I got the wonderful error:

Execution of the Windows Script Host failed. (Not enough storage is available to complete this operation. )

but thanks God, other people got it too, before myself.

Now it sets the PATH but I still have some issues: the update takes oooooh so long (I kind of stare at the bloody console waiting for it to finish) and, at the first run (when PATH gets actually set), the jvm does not 'see' the PATH, it still fails (maybe it loads before I get to set the path)... A browser restart does it, though, so, until I have some spare time, I guess it's ok in the current state...

P.S: ignore all the "we"'s in this post: I'm actually alone in this, but I got used to the "we" from writing the paper associated to this work.

Wednesday, June 13, 2007

How to shoot yourself in the foot...



How to shoot yourself in the foot in a browser extension environment (let's say... Firefox)?
You first device a niiiice gun overlay, in XUL, styled with CSS, with a trigger interface in like 346524563425 languages using the wonderful firefox i18n mechanism, you connect your gun to some serious killing machine (preferably written in Java) and then, when you're finally done with all these and you shoot your gun:

Security check failed: permission denied to access 'body.lowerbody.foot&side=left' from content at "chrome://gun/content/bigshotgun.xul".

Sunday, June 10, 2007

On my way...



Yeey, I sent it!


The almost-final version of the BSc paper is now on its way to being reviewed, after a couple of days in hell, trying to write my best...
I never thought it would be that hard to write things (not necessarily a scientific paper – though it's reaaaaly hard to name my creation a 'scientific' paper): I always thought that writing about things you produced should be easy; explaining how you created an application, an idea, a formula or anything must be a piece of cake, after all, you KNOW what you're talking about, don't you? Well, it's NOT! (and now my BSc supervisor would say: "I told you!" :) )


Because you just know too much on the matter, you 'miss' stuff: everything seems obvious or natural to assume, to you, everything's connected, class diagrams are clear as daylight, you have no clue about what references to quote because you 'just know' the stuff and, most of all, the purpose of the paper is like "d-ooh!"... Well, I'm pretty sure I screwed it in all matters and, what's worse, I don't know what to do about it! I guess that if I asked my mother to read it and tell me what she understood of it, I would get a clearer picture... But, until my mother learns English, I can only rely on my own (fuzzy, these days) judgement and on my supervisor's constructive critique...

Monday, June 4, 2007

Fredo & Pid'jin




It was about time...

Fredo & Pid'jin are two little pigeons (well, Fredo is not that little) set up to destroy the world (I have no bloody clue about why they want to do this but they seem pretty determined). In the mean time they hang around with women, kill Gugustuck and do all sorts of stuff non related to world destroying. This week they celebrate their 2 years / 100 episodes anniversary and all the web is there singing 'happy birthday' so I thought I should join:
Haaaapy birthday tooooo youuuuuuu, haaaaappy birthday toooo youuuuuu, haaaapppy biiiiiirthday dear Fredo & Pid'jiiiiiin, haaaaappy birthdayyyy tooooooo yoooouuuuuuu!

Sunday, June 3, 2007

Graduating (II)



Yep, I've managed to take some time to post about this: the graduation fest@UAIC and the graduation party – actually, all the time I needed was for the pictures sort :).

Here:

graduation -- official last course & fest


are the pictures from the closing ceremony and the graduation fest oganized by the university, and
here:


graduation party


are some pictures from the graduation party.

Have fun!

P.S.: yeeeey! Now the 'S' key doesn't publish the post anymore, it saves it as draft! thank you a million times, blogger!

Thursday, May 31, 2007

Too much...



Q: How do you know you did too much browsing?
A: You start middle-clicking the eclipse file tabs expecting for them to close...


Actually, this is not a joke!

Sunday, May 27, 2007

Graduating (I)



The moment has come... (sigh).
This morning we had the graduation ceremony at FCS, here's a sample:

Please notice the shirt under the robe (it had to be present, didn't it?)

We had nice speeches from our valedictorian, from mr. Cristea (who gave the official last lecture), from dean Grigoras and from all the other teachers; we got our unofficial graduation diplomas (with a very touching "last call" moment); we sang "Gaudeamus Igitur" and then took the graduation group pictures.

This evening we're going to the university's graduation fest and tomorrow evening, to the graduation party.

More pictures will be available once all these events will be over...
I'm gonna miss it...

Thursday, May 24, 2007

Advertising...(reloaded?)



Yep, on stupid ads again (hmmm, is my blog becoming a repository of proofs of the existence of absolute stupidity on earth?)



Can you see the webpage?
No, because it's an ad on top of another ad on top of the page! :)
Can you see the close button?
No, because there isn't one!

Thanks to Stefan Ciobâcă for the print screen (see, he didn't have a close button at all so he could print it before he closed it :) )

Tuesday, May 22, 2007

Advertising...



I posted about annoying advertising some time ago, and now I must add one more to the row:


Can you see the close button?
Ok, it's the one in the top right corner of the big bubble.
Now that you see it, can you click it?
(trust me, no scaling was involved in the production of this image)

I must thank Dana for the print screen: the ad displays only the first time you access the page (no reload/refresh can get it back again) and I am just too absorbed by the fact that I must close it to remember that I'd better get a print screen first...

Monday, May 21, 2007

Last exam @ FCS



Yesterday I went to my last exam as a BSc student at FCS. I really enjoyed being a student here – that's why I'm pretty sure will continue with MSc, but it won't be the same. This is the reason for which I took my camera with me and took some pictures of the 'event'. The pictures are here:

IRC exam, 20 may 2007


have fun!

P.S.: If anyone appearing in those pictures has a really good reason for which he/she should not appear, please tell me (email or comment on this post or on the picture) and I will remove the picture.

Sunday, May 13, 2007

End of Summer < Web />



So it's gone now. It was a very fine workshop with talks on all kind of topics: it started with Mădălina Cocea's journalism 2.0 on Saturday morning, then went through Marius Măruşteri's medical collaborative systems and Sergiu's web accessibility standards presentations and Ştefan Tăbăranu's presentation of Levi 9. Then, a short coffee break (oh, btw, veeery good coffee). Then, when we just got more into the "tech stuff" we went out of it again with Alina's presentation on e-business in relation with semantic/data web, Radu Sora's presentation on how to be a successful programmer in a company where you have so many other things to deal with besides programming, and Cristian Bârlădeanu's presentation on developing a web product by one's self, in a failure minimizing manner. Coffee break, again, and then we got back in the tech stuff with Andrei Iacob's presentation on Silverlight (I was eagerly waiting for this one, since I read about it a couple of days ago and I was very curious to see it in action – we had some demos as well) and Augustin Ciobotaru's SQL injection demo. Unfortunately, I couldn't stay for Bogdan Pistol's presentation on ArgoEclipse.


The second day (which is today, but will be yesterday by the time I will have posted this), we got heavy teched with Caty's presentation on mash-ups (again, a very interesting thing to learn more about), my presentation on microformats, Marius Butuc's presentation on XHTML 2.0 (with some fine demos) and Sorin Damian's presentation of Visual Studio ORCAS (with some code as well). Again, coffee break (it seems we had some cookies left from the other day).
Then we watched the youngsters in competition (the web applications competition) and realized that indeed they had a lot of things to learn from our tutorials – if only they had listened carefully enough. After a British Council offer presentation, we got our prizes and dropped a goodbye tear for this year's edition (there were the prizes for the competition and some 'public awards' for the 'performers' as well – I got a fine 'Java for web applications' book).


The pictures are here (I hope I will not crash in bed tonight before I add the captions so you know what's it about) – there will be a selection and only a few of them will remain online but for the moment they're all up there.


Despite my concerns on the presentations I had to make, seemingly it went fine – it could have been better but hey, I'm not perfect every day!


Yes, I really got the taste of it, waiting for the next...
(sigh)

Saturday, May 12, 2007

A break...



Well, this is what I call a cool night.
Because tomorrow I'm going to summer <Web /> (just found out these days that it's the last edition – damn it, just when I was getting the taste of it), and because today I created the 0.4 pre alpha version of the bsc (with a cool XPCOM to singleton the connection to java – long story, I'll put it in a dedicated post), I'm not working right now (I hate to start things and then abandon them unstable because I have to do something else). Just hang around on the web. Reading lifesux because I remembered he writes cool stuff, watching a short movie on youtube, saying hi to Alinuţa – the true hypertext: just go with the flow (of the links). And because I saw npunctc put a last.fm chart on the sidebar of her blog, I thought I could actually fight my wish-of-not-touching-any-tech-stuff-tonight and narrow the columns of mine to fit my blog and put it there, too (damn it, I wanted to be the first – at least of what I've seen).

Since my presentation is on Sunday (here's the program (in Romanian)) I don't even want to take a fresh, critical look at my presentation. I'll do that tomorrow night. Yes, it's my first such presentation so I haven't got a bloody clue about how I am going to talk EXACTLY 30 minutes, how I am going to adapt the presentation to the public reactions (I would really love to be able to do that), nor if somebody will understand a single thing of what I will say. I know a bunch of people who would say that I worry too much – I'm only overreacting for the effect of this post :). I probably won't find an answer to these questions tomorrow night either, I'll trust my 'professor gene' (as Mr. Ciortuz put it) and just go there and do it!

Yes, it was a post from the heart – I can do this too: of course, when I'm not talking about microformats. And I would lie if I would say that it didn't feel good writing...

Wednesday, May 9, 2007

Yeah!



They had some nice outfits at the microformats dinner.


I should first mention that this is not faked:



Yes, I finally did my microformats t-shirt... And don't you think is that easy: just buy the shirt, get it printed and done!
Noooo, sir!

First, produce the image: svg exported in png with GIMP. Test the position of the text: hmm... vertical left, vertical right, below... hmmm... Well, we'll keep them all and I'll decide later.





Then, buy the shirt. That's no ordinary black shirt, it's a ladies black shirt: stretched and feminine. And you can't find a single ladies simple black shirt in Iasi: all have their own prints, with pink flowers or little flying hearts and stuff. Anyway, good things come to those who... search!

Then, you go to the print shop. The guy is stretching my shirt all directions to test the fabric:
"it's over 90% elastan, man, it's the only I could find, sorry"
"hmm... ok..."
"here's the image!"
"mmmmhhh, it's a little problem here... I want to do it from rubber and I only have one shade of green..."
"That shade of green is important, man! What if you DON'T do it from rubber?"
"Because your shirt is from elastan, it will disappear the first time you wash it. Maybe if I put some yellow...".
"NO! NO yellow! just do it any shade of green you have!".
"Ok, come back in an hour and a half..."

Whaaat? an hour and a half???? Anyway... hang in the Mall for an hour and a half... Sooo boring! I saw some awfully overpriced jeans which I would have bought if I hadn't realized in time how overpriced they were... A lot of girls shopping... you know, the Mall.

Oh, yes, it's time, it's time!

The guy shows me the shirt. The shade of green is not that bad, but:
"Where's the text? There was a piece of text there! You must have missed it because of the transparency!"
"Oh... I remade your image in Corel and I didn't see it... I can print it now if you want...".
Whaaaaaaaaat? I worked so hard for that image for you to 'remake' it now????
"Oh, you can? ok, print it!"
Another 20 minutes waiting and bugging the guy: "No, not there. Pull it a little to the left, please!"

And finally, it's done! Soooo coool!

P.S.: I must apologize to those who read my blog for all the 'false alarms'. In case you didn't notice, I first publish one or two lines and then come back with the rest of the post. That's because I'm used to hit 'Ctrl+S' once in every 2 words (programmer's bad habit) and 'S' is the shortcut for 'publish' in blogger interface. Sorry!

Sunday, May 6, 2007

POOO



Plain Old Open Office


I had big plans for today: to create the draft of the summer <web/> presentation. And, as I am always aiming for the best (:D), I tried to do it in LaTeX, with prosper. I should mention that I am suuuuch a LaTeX beginner (I can't even insert an image without pain and shouts (that would be 'strigături' in Romanian) and Google. After half an hour of searches, I finally managed to compile an example from the internet (they all seemed to use all sort of packages that I don't have). OOok, cool! Now, I don't like these templates (seriously, they're reeaaaaaly ugly), I want to build my own, light green (microformats like light green) style. So I started to edit an existing style, hoping that it won't be that hard: I have the source and the output so I should be able to figure it out...

Guess what?

Two hours later, I'm back to OpenOffice!

Now I really wonder (maybe you were, too) why I started with the formatting: I should have written it first and then mind about its look, shouldn't I?

Friday, May 4, 2007

Here we go again...



Yes, I do stare at XML all day long


Just when I thought I saw everything...
Today, Yahoo! Tech!
First of all, there is a special reason for which the guys that designed microformats figured out a method of specifying uids for each of the microformats: when parsing the same page twice, we MUST have a way of testing microformats equality to realize that we already know the precious info one has to offer! So, yahoo tech guys, you might wanna add a rel='self' (or rel='bookmark' or anything that would mean 'id', with its most permissive interpretation) to the 'a' tag in the title of the review!

First-and-a-half of all, the 'description' of the yahoo tech review is its 'item fn' as well. (according to this, the text of the review and the formatted name of the item are semantically equivalent) Now what could that mean? Hmmm... Seemingly, that it's reviewing the "I bought this product 2 days ago and I think is really cool" item. Is this just because 'item' is required and some 'specification compliant' programmer thought he/she should stuff it in somehow?

Second of all (and this is the cool part – I tend to keep good things for the ending), the short review links to a 'longer', 'one-on-the-page' review, through that 'a' tag I mentioned. But guess what: NO hreview markup AT ALL on this new page. Nothing. Empty. Stupid simple html. Pleaaaase, have mercy!

Notice now how I am writing my post in a conversation-like manner: because Neil was so kind to react, I am probably expecting that to happen again (yeah, dream on!).

Now I decided that I REALLY should do something to prevent things like this in the future: and I will start by highlighting some 'tips on how not to screw up semantics' in my presentation on microformats. Even if it won't change anything, at least I will be sure I tried my best.

Wednesday, May 2, 2007

Google desktop update



Yesterday I remembered I have google desktop installed and that its sidebar plugins can read RSSs and display googleCalendar. Because I needed those functions (I finally decided to read blogs through RSS and to manage deadlines better by using a calendar), I brought it back to light.
Since some of the plugins stated that I need the 5.0 version in order for them to work, though I'm not an 'update fan' and I had some unhappy experiences with updates, I decided to do it:
Well, WHOA!




Notice, from top to bottom: wikipedia search, googleCalendar (expanded), the default webClips, todo list, scratchPad and photos (collapsed) and the search box.

A year ago I was using gDesktop simplicity to make a point in my project for the CHI (computer human interaction) course. It seems it was not a principle, but a 'mistake'.
Now it looks very 'vista', and all the fades and decorations (notice the frame around scratch pad) get it pretty close to yahoo Widgets from the GUI design point of view. Despite all this, and the fact that it doesn't match my classic windows theme, it's pretty cool. I also noticed a few changes in the gadgets so that they fit better in the small space designed for the sidebar (for which I am eternally grateful).

Long story made short, I decided to offer 100 pixels of my widescreen to google desktop's sidebar, again.

Friday, April 27, 2007

Microformatted week



First of all I must mention that last week I was pleasantly surprised to see the reactions to my post about Summer <Web /> online.
I must thank Edward and Neil for their immediate responses (changed markup on eventful and added summer web on upcoming). Also, I was surprised (and happy) to notice that the class=url's on upcoming are now attached only to the right elements, yeeeeey!

(I also noticed that Tantek Çelik was wearing an upcoming T-shirt at the microformats dinner at web 2.0 expo. I want one too!)

Second of all, I've just started v0.3 pre-alpha of my Bsc project. I also have a print screen of v2.0 "in action". I was just browsing microformateurs.org (using the dev firefox profile by mistake) and it highlighted the microformats dinner event:



Now don't get enthusiastic, it's just the urlRecommender outlier there... :), no 'smart' predictions yet.

I also thought of some things to mention in my microformats presentation at summer <Web /> to make it cool and attractive for everyone and to tease the developers.

And, I almost forgot to mention, I am now a very happy listener of Queen - Greatest Hits, volumes I, II and III.

So it's a joyfull, microformatted lunch I'm having right now:
<div class="hLunch">
<span class="mainCourse">
<a href="http://www.epicurious.com/recipes/recipe_views/views/230458" rel="vote-for">Yummy potato moussaka</a>
</span>
with
<span class="drink">sparkling water</span></div>.

Friday, April 20, 2007

Summer <Web /> online



Since everybody is blogging and spreading the word about it (well, at least Sabin Buraga and Alina Mierluş) I thought I should contribute too: I started submitting the thing online, to "major" events websites: Eventful and Upcoming.
I had some fun with that tag in the title of the event, but the great discovery was that, as opposed to upcoming's policy on url classes, eventful just does not allow you to add an url (a class="url") for your event. At all. Whatever you do, wherever you add your link, it will not be THE url of the vevent. Their class="url" is for the permalink of the event on eventful. That is, still on their website. I wonder if this is marketing (all events homepages are on eventful) or just plain wrong applied semantics, AGAIN.

The happy end of this story is this.

For the upcoming story there is no happy-end: I couldn't add FCS as a venue on upcoming (I tried like 3-4 times):

and because you cannot add events without venues, summer <Web/> 2007 is not on Upcoming. Yet. I'll try again the next days, maybe this is only because of the changes they're going through now (merging upcoming accounts with yahoo accounts), though I can't see any connection.

Does anyone know if there is a Romanian events website? We should submit it there, too...

Oh, and I shouldn't forget to mention that I will be talking about microformats at Summer <Web/> 2007. See you there!

Tuesday, April 17, 2007

Far from a better world...



Motto: the optimists say we are living in the best possible world. The pessimists fear so!

Anyone missed my outraged posts on idiot markup and stupid programmers?
I thought so!

Upcoming.org seems to have had a checkbox on their hiring form saying:
"Are you a dumb head that cannot cope with correct semantic markup?"
and hired only the ones that checked it!

My newest discovery regarding the upcoming.org markup (no, I will not go insane from reading XML all day long) is that they just throw URL's (class="url") wherever they feel to! Their event details page is one huuuuge vevent div stuffed with all sorts of things (let's not discuss about this now, they're not the only sinners), among which a list of all users attending to / watching the event. Since those are users, of course they also have user pages on upcoming. Why not put the link to the user page here? Why not add a 'url' class to that link? So, it's enough to write your simple XPath to the url of the event and you'll get yourself a list full of crap (the more people attending the event, the more crap in your event url list!). The author of the event (the one that posted it on their wonderful website) is also a user and the link to him/her is also a url class link. Inside the vevent div as well, why not?

I would really like to know what those guys think "semantic markup / microformats" mean...

Tuesday, April 10, 2007

Back for more...



I'm back from my 3 days Easter trip, with pictures, as I promised.
The short version of my trip is: Iaşi - Tg. Neamţ - Brusturi - Easter night at Crucea Monastery - Suceava - Botoşani - Iaşi (if Romania would have been scanned closer by online maps, maybe I would have tried some coords).
It was a traditional Easter, with traditional food and a beautiful Easter service at the monastery.
You can take a look at some pictures here.

I picked Picasa Web (after googling for some comparisons and evaluating features). I also downloaded Picasa and played with it a little (it also resizes the pictures when it uploads them (automatically) to the web album - a 48MB folder became 12MB - which is pretty good given that the space limit is 1GB (but they say it's counting)).

Now I'm back for more (brain damage) and waiting for the next holidays...

Saturday, April 7, 2007

Happy Easter



Happy Easter to you all!

I will take off in a couple of hours for a short break in the country side to celebrate Easter. I will be back with pictures!

See you in a few days.

Later edit: and since you're here, maybe you could help with this: Picasa web or Flickr?
Picasa has the advantages of being "Google's too" and that all the blog pictures are stored in there, I don't need a new account, I already have the google account, but Flickr, on the other hand, first of all, is (the) Flickr :) and second, is has gorgeous semantic markup (of what I heard) -- but I didn't check picasa's yet, it might be better (yeah right). So please, if you spare a moment, drop an option in a comment. Thank you!

Wednesday, April 4, 2007

I wonder what does this button doo? (reloaded)



Well, I got it: the print-screens! Unfortunately, I'm pretty slow (in thoughts) and I couldn't get a print-screen of the progress bar...

1. The panel appeared: notice how it covers the text and its close button in the bottom-right corner:


2. I clicked the button. Notice how the advertisement disappeared but the panel didn't: the black thing is still covering the page!


The same webpage displays another advertisement, pretty much in the same way: a non-closing-panel on top of the text. But this was only the container: the actual ad was a smaller panel bouncing inside the container. And guess what: the close button was attached to the bouncing panel!!!! Sooo, in order to close it, I had to move around to catch it: of course, I missed twice so I got myself two popups opened by the stupid ad!

Finally, I had to reload the page until no ads were displayed at all (it seems it does such things besides changing the ad) in order to read something (a pretty interesting article after all).

This is to prove that reading newspapers online is one of the best things to do to "relax" -- it seems somehow that newspapers pick the most stupid programmers for their websites.