Thursday, August 06, 2009

Αθλιοι

Για όσους δεν με ξέρουν, μένω σε τουριστική περιοχή και καθημερινά έρχομαι Ηράκλειο οπου βρίσκετε η δουλειά μου. Σήμερα λόγω εκτάκτου, δεν είχα αμάξι να μετακινηθώ.

Σηκώνομαι που λέτε πρωί πρωί και 8:15 βρίσκομαι στην στάση με σκοπό να πάρω το λεωφορείο των 8:30 για Ηράκλειο. Περιμένω μαζί με άλλο κόσμο και 8:35 περνάει το λεωφορείο. Ο οδηγός μας κάνει σήμα οταν μας πλησιάζε "Το άλλο...το άλλο έρχετε απο πίσω.." ΟΚ λέω ας περιμένουμε λίγο ακόμα.

Πάει 8:40:45:50:00:5:10:15 φρίκαρα. Και 20 νάτο το άλλο. Ειχαμε μαζευτεί καμια 15αριά νοματέοι και αρχίζουμε να μπαίνουμε. Και τι να δώ, όλλα τα καθίσματα πιασμένα και κόσμος ουρά στο κέντρο. Στριμωγνόμαστε, σπρωχνόμαστε, να έχω φρικάρει και σκάει μύτη ο ελεγκτής για εισιτήριο. Τα είχα δεί όλα, άρχιζα να φωνάζω ...περιμένετε να γεμίσει το λεωφορείο και αυτούς που θα πάρετε στο δρόμο τους γράφετε στα @@, αυτός τον 8:30 γιατί δεν σταμάτησε που ήταν άδειος.... αυτός να μου λεει παπαριές (τα παραπονά σας στην διοίκηση ....). Στο τσακ ειμουνα να πάρω την τροχαία (απο οτι μου είπε μια κυρία οτι δεν πρόκειτε να κερδίσεις τίποτα, ήταν η ήδια σε φάση που ήρθε η τρόχαια έγιναν συστάσεις αλλά πάλι τα ίδια)

Τελικά έφτασα 10:40 δουλεία απο της 8:00 που ξεκίνησα!

Τι να πώ, μας βλέπανε και οι τουρίστες τι κολοχανίο είμαστε!
Να τους χαιρόμαστε, τουρισμό θέλουμε κατα τα άλλα....ρε δεν πάτε να γα...

Κτέλ Ηρακλείου fail

Saturday, June 27, 2009

Meet Jeliot

For anyone interested in teaching introductory programming using a visual like interface, consider using Jeliot. As the help describes:

Jeliot is a program animation system intended for teaching introductory programming. Programs are animated automatically, requiring no modifications or annotations on the part of the instructor or student. Jeliot is written in Java for portability and animates programs that are written in Java.

The program usage is really simple. You load the code you want to visualize(it comes with already written examples you can pick of), click "Compile" and then "Run". As the program executes it displays the outcomes, assigning to variables, executing iterations etc.

For sure, I really had fun using it, and I would recommend to anyone that wants to teach introductory programming to use it. I hope to have some time to translate it to Greek language.

Check the web site for more details (you can easily start the program with Java Web Start)

Wednesday, May 27, 2009

URL Abuse Example

Today I received a mail from a well-respectful company that suggested me to update my profile and as a bonus I will have access to some report documents (and some ring-tones which is why I was interested in the first place! :)

I completed the on-line form and after clicking the "Submit" button, a new page appeared saying "Success" and some links to get access to the content. The weird thing though that I noticed is the URL part. It was too *big*! After copying and pasting the URL to a text editor I got this:

------------
https://*.com/dct/forms/success-v2-frame.jsp?resText=%3Cp%3E%3Cimg+src%3D%22http%3A%2F%2F.FOO.com%2Foffers%2Fdetails%2FBOO_guide%2Fimages%2Fmasthead.jpg%22+%2F%3E%3C%2Fp%3E%0A%3Ch4%3EThank+you+for+your+interest+in+FOO+and+BOO.%3Cbr+%2F%3E+Get+access+to+your+%0Aoffers+now+%3A%3C%2Fh4%3E%0A%3Cp%3E%3Cbr+%2F%3E%3Cspan+style%3D%22font-family%3A+arial%3B+color%3A+%23e2934d%3B%22%3E%3Cstrong%3E%26%23187%3B%3C%2Fstrong%3E%3C%2Fspan%3E%3Cstrong%3E+Click+below+for+the+blueprint+article%3A%3Cbr+%2F%3E%0A%3Ca+href%3D%22http%3A%2F%2Fwww.FOO.com%2Foffers%2Fdocs%2F820-7350.pdf%22+target%3D%22parent%22%3EBOO+Guide+for+FOO+BOO+7000+FOO+BOO+FOO%3C%2Fa%3E%3C%2Fstrong%3E%3C%2Fp%3E%0A%3Cp%3E%3Cspan+style%3D%22font-family%3A+arial%3B+color%3A+%23e2934d%3B%22%3E%3Cstrong%3E%26%23187%3B%3C%2Fstrong%3E%3C%2Fspan%3E%3Cstrong%3E+Click+below+to+watch+the+video%3A%3Cbr+%2F%3E%0A%3Ca+href%3D%22http%3A%2F%2FchannelFOO.FOO.com%2Fvideo%2FFOO%2BMachines%2Bfor%2BBOO%2Bbest%2Bopen%2Bweb%2Binfrastructure%2B%2F1900390530%22+target%3D%22parent%22%3EFOO+FOO+for+BOO+Best+FOO+Web+Infrastructure%3C%2Fa%3E%3C%2Fstrong%3E%3C%2Fp%3E%0A%3Cp%3E%3Cspan+style%3D%22font-family%3A+arial%3B+color%3A+%23e2934d%3B%22%3E%3Cstrong%3E%26%23187%3B%3C%2Fstrong%3E%3C%2Fspan%3E%3Cstrong%3E+Click+%3Ca+href%3D%22https%3A%2F%2Fcommunications.FOO.com%2FFOOSat%2Fc%2Femea_get_music.html%22+target%3D%22parent%22%3Ehere%3C%2Fa%3E+to+access+your+FOO+Music+Sampler+page+and+download+your+gifts!%3C%2Fstrong%3E%3C%2Fp%3E%0A%3Cp%3E%3Cspan+style%3D%22font-family%3A+arial%3B+color%3A+%23e2934d%3B%22%3E%3Cstrong%3E%26%23187%3B%3C%2Fstrong%3E%3C%2Fspan%3E+%3Cstrong%3ELast+but+not+least%3A+access+the+%3Ca+href%3D%22http%3A%2F%2Fuk.FOO.com%2Femrkt%2F20090518%2Fwhitepapers%2Findex.jsp%22+target%3D%22blank%22%3E10+MOST+POPULAR+FOO+resources%3C%2Fa%3E+right+now!%3C%2Fstrong%3E%3C%2Fp%3E%0A%3Cp%3EYou+will+also+receive+an+e-mail+in+a+few+moments+with+a+link+to+this%0Ablueprint+and+the+video+so+that+you+can+save+them+to+your+system+more%0Aeasily.%3C%2Fp%3E%0A%3Cp%3EClick+here+to+%3Ca+href%3D%22http%3A%2F%2Fwww.FOO.com%2FBOO%22+target%3D%22parent%22%3Elearn+more+about+BOO.%3C%2Fa%3E%3C%2Fp%3E%0A%3Cp%3ELooking+forward+to+keeping+in+touch+with+you!%3Cbr+%2F%3E%0AThank+you%2C%3Cbr+%2F%3E%0AFOO+BOOMachines+%3C%2Fp%3E

------------

Obviously they used the URL to encode the Success HTML page(!). I have removed the notices that point to the company name, its not the important thing here. The important thing is that the hell of abuse of the HTTP/URL protocol conventions!

And it is not the first or the last example. The list goes on and on...

Wednesday, February 11, 2009

JBoss Virtual Experience 2009

A quick reminder for those interested in JBoss technology. The JBoss Virtual Experience 2009 session starts today at 8:30am EST (3:30pm Greek Time). Use the WorldClock Converter to convert the time to your local one.

See you online! :)

Friday, February 06, 2009

Ajax me Baby!

Recently, I wanted to put some Ajax touch in a web application that I currently maintain. Besides the UI's enhancements, there is real world value doing so. For example, the user enters and ID, you check the ID asynchronously(don't need a full refresh), and if doesn't exist you don't let him continue or you want to retrieve the customers that satisfy a condition and fill up a combo box. Do you want to pre-load all of your customers and handle them with js at the client side. I don't think so!

Existing ajax js frameworks may require you to do a lot of plumbing or give you stuff that you may not need at the end, I present you a handy ajax js library(one file only!) that is easy to use. Check this:

AjaxRequest.get(
{
'url':'AjaxRequestHandlerServlet',
parameters':{ 'selection':'selectCustomer', 'id':id, 'group':group }
, 'onSuccess':function(req) { fill_Customers(req.responseText); }
}
);

Can't be more simple than this! :)

For legacy applications that you have to maintain, this library in my opinion can offer you a big value for money. To find out more visit the homepage. Kudos to Matt Kruse for providing this. I already use his table js library and it works great too(and best performance both in displaying and sorting of data).
I really have to persuade my company to donate him, really great stuff!

Catch you soon

Wednesday, January 07, 2009

NetBeans 6.5 and JBoss 5

The current release of NetBeans 6.5 doesn't support(yet) the newly released JBoss 5. Although the bug has already been reported in the dev team and the fix is on the development trunk (and the soon to be released patch2 pack for NetBeans 6.5), for those of you who don't want to install a daily build, you can do the following: (Thanks to Adrigan from the JBoss forum for giving us the tip!)

1. Append the following in the file "/home/YOURUSERNAME/.netbeans/6.5/config/J2EE/InstalledServers/.nbattrs".


<fileobject name="instance_X">
<attr name="deploy-dir" stringvalue="/opt/jboss-5.0.0.GA/server/default/deploy"/>
<attr name="displayName" stringvalue="JBoss Application Server 5.0.0.GA"/>
<attr name="host" stringvalue="localhost"/>
<attr name="password" stringvalue=""/>
<attr name="port" stringvalue="8080"/>
<attr name="registeredWithoutUI" stringvalue="false"/>
<attr name="root-dir" stringvalue="/opt/jboss-5.0.0.GA"/>
<attr name="server" stringvalue="default"/>
<attr name="server-dir" stringvalue="/opt/jboss-5.0.0.GA/server/default"/>
<attr name="url" stringvalue="jboss-deployer:localhost:8080#default&amp;/opt/jboss-5.0.0.GA"/>
<attr name="username" stringvalue=""/>
</fileobject>

Replace the appropriate entries with your environment, that is the deploy-dir to the path where you have installed the JBoss server, and so on.

2. In the same folder you will find files with names starting with instance_[1,2...]. Choose the maximum and create a new empty file. In my case the file will be instance_3 (touch instance_3). After that replace the "instance_X" from the previous XML with that name.

One advice though, be carefully with the editing of the XML, because a small XML error(forgotten / at the end!), will result of your existing server list to be wiped out by NetBeans. Make a backup of the file prior editing!

That's all, save, restart NetBeans and enjoy!