Hello world!
NewInstance: Disappointed by Ganymede
Looking at little details, also in the user interface, Eclipse Ganymede is not a stable release. I tried on Linux, so I don't know if things go better with Windows. The worst part is the update manager: incredibly slow, bad working and hangs frequently; much better the old one. I lost a couple of hours this morning using the new update manager to install Subversive provided by the Ganymede ... [Link]
NewInstance: JSPs cannot be packaged as components
Last time I used .ear packaging there was no support for sharing information between web applications: you needed to use web services, rest, etc. This evening I just made a search on the internet to check if things are better now. It seems that nothing is changed. I found that some application servers have implemented proprietary solutions, to share the session between web applications . I ... [Link]
NewInstance: Strings in switch statements
Apparently, with JDK 7 we will have Strings in switch statements . I got a SCPJ certification long time back, but if someone asks me to write a switch statement in a job interview today, I could probably fail: I begun writing Java code in 2000, and I bet I used switch statement six or seven times since then. Half of that times at the beginning for sure, and probably always I should have avoided ... [Link]
NewInstance: The passwords hell
Registration/Login is the #1 usability problem on websites. I hate security paranoia when it is not needed (ok, I can understand a bank…) My suggestions to avoid boring the people using our software: Let the user choose the preferred password. Don’t assign it your own (especially with random chars!!!). User will forget it and abandon the damn website. If your ego wants you to write a ... [Link]
NewInstance: Back from London
Yesterday we had a business meeting in London. We flew there and we had the chance to walk through the city and enjoy the nightlife. In my previous visits to London I never appreciated the city very much: too noisy, to rainy, too expensive, too much people wearing formal. Sometime you can feel like being on a runaway. But last evening spent on the pubs hearing good music and drinking excellent ... [Link]
NewInstance: Null is throwable
Today I found a cute code snippet on Alex ’s Blog and Euxx : 1 public class Weird { 2 3 public static void main ( String [] args ) { 4 throw null ; 5 } 6 7 } It compiles and trows a NullPointerException: Exception in thread "main" java.lang.NullPointerException at Weird.main(Weird.java:4) I think that it is strange that this stuff compiles: the compiler could easily catch this as ... [Link]
NewInstance: Very Quick Linux Tips
Forcing fsck on next reboot Method 1: $ shutdown -Fr now Method 2: $ sudo touch /forcefsck $ sudo reboot Merging PDFs $ sudo apt-get install pdftk $ pdftk file1.pdf file2.pdf file3.pdf file4.pdf cat output merge.pdf Formatting USB disks/memories mkfs -t vfat -V -I -c /dev/sdb -n LABEL eject /dev/sdb Fixing Oracle Repository GPG/PGP Key Error The error (in Synaptic or during “apt-get ... [Link]
NewInstance: My best buy of 2007
I bought a Sony PSP during last winter, and I am very happy of that. The videgames are amazing, I didn’t imagine that there were games so impressive on a so little machine. In particular I appreciated Ridge Racer , Final Fantasy the war of the Lions , God of War: Chains of Olympus , and many more. Recently I managed to enable the PSP to homebrews: I bought a Pandora Battery + TimeMachine ... [Link]
NewInstance: Displaying the version in a Maven-based project
It's sometime useful to access the version information from inside the program, for example to show that to the user, to manage upgrades or to identify the running version when a user reports a bug, etc. When you build using maven, inside your artifacts it is included the pom file and the a property file that contains the version, the groupId and the artifactId. When you run your application ... [Link]
NewInstance: Tracing HTTP Requests
If you ever had the need to trace HTTP requests (and if you ever did advanced web development you did!), you probably found invaluable tools like TCPTrace for Windows. On Linux I found a good replacement: Download apache axis: axis-bin-1_4.tar.gz Install it where you prefer. Create a script to launch tcpmon #! /bin/sh export JAVA_HOME=/usr/lib/jvm/java-6-sun $JAVA_HOME/bin/java -cp ... [Link]
toniBlog: Anti agile words: weekly
I don’t like the term weekly. It sounds fixed, it does not sound agile. Used in contexts such a weekly meeting: do you really need a meeting every week? I would rather consider to have a meeting as needed, when there’s a real problem, when the benefit is evident. A weekly status report? Why? Why not pulling the status of the project directly from your continuous integration system or ... [Link]
toniBlog: TDA, test driven analysis
Recently one of our clients had a big problem on production, having to restart a critical application a couple of times in two days, with few hours of service outage.We have been asked to investigate where the problem was and in order to figure it out we wrote few tests around the legacy application.The finger was pointed to a Bash script launching a Java class that has been written in the past ... [Link]
toniBlog: Domain Driven in the financial world (II)
Josh was right on his comment on my previous post about DDD in the financial world: we had a new requirement from the client: design a market simulator. Basically our market simulator is a tool to parse the production logs, inject them into the application and verify that the behaviour of the application is correct. (A commercial tool called VeriFIX does more or less the same job, but we need ... [Link]
toniBlog: Fan Programming Language
I’m just having a look to Fan and it seems quite a cool language, soon more posts on this. Fan Programming Language : “Portability Write code portable to both the Java VM and the .NET CLR. Familiar Syntax Java and C# programmers will feel at home with Fan’s curly brace syntax. Concurrency Tackle concurrency with built-in immutability, message passing, and REST oriented ... [Link]
It can't rain forever...: Software and conventional engineering
“…the analogy to conventional engineering fails because the construction of an oil production platform is materially different from the production of a computer program. The detailed design specification of a program is its code; the actual building of the program is done automatically. One of the goals of almost all programming languages ever developed has been that the code shall be ... [Link]
It can't rain forever...: The technology paradox
“…the same technology that simplifies life by providing more functionality … also complicates life by making it hard to learn. This paradox of technology is often used by people as an excuse for poor design…” Donald A. Norman - The Design of Everyday Things, 1988 (pp. 30-31) 1988… sounds actual? By “technology”, are you thinking, as I’m now ... [Link]
It can't rain forever...: Don’t judge a book by its cover
This is not a spot. This is a book I’ve been leaving closed because of its cover… what a pity! This is the first book I’ve ever read that actually talks and explain object oriented in an easy and pleasant way. Most experienced programmers will find it not much useful, but for a newbie or an intermediate OO programmer this is a must read. In case of doubt, just read it It will ... [Link]
JestyBlog: La prima cosa che hai fatto quando ha vinto Berlusconi?
Ho cercato casa e lavoro all’estero [Link]
JestyBlog: Essere Salernitano
Sei di Salerno … … se per atteggiarti d’estate vai alla Rotonda (ma d’inverno a Largo Campo) … se ti sei chiesto almeno 1 volta perchè un giorno d’autunno senza un motivo tutti migrano dalla Rotonda a Largo Campo … se sfotti i vecchi che vanno a caccia di polacche sulla lungomare e a piazza varsawia (la mattina piazza S.Francesco) … se ad ogni ... [Link]
It can't rain forever...: DMRAID on Ubuntu with SATA fakeraid
The problem Ubuntu (and Debian) doesn’t have support for the SATA RAID (also called FakeRAID since some of the functionality is provided by software) controllers being shipped on recent motherboards. The software to handle FakeRAID arrays in Linux is DMRAID. How do I install such systems? . Preliminary Operations You will need to configure your RAID using the bios utility (Ctrl+M for me on ... [Link]
It can't rain forever...: JUG Torino March meeting!
March meeting of Java User Group Torino will take place on 7th with this schedule: 18.30: Check-in! 18.45: Seminar: “ JetBrains, the IDE! “ by Vaclav Pech (JetBrains) 20.00: EOF (as usual, maybe having a VeryBigPizza all together!) You may find more info about the event here . [Link]
It can't rain forever...: What’s happening at Savigano Irpino?
I can’t comment it… please watch the video [Link]
Reblog: Moving
Hello guys, as I will explain in the next post of this Reblog, iWeb isn’t scaling. Yeah, I’m not using it the way Apple would like me to do, but I don’t want no stinky .mac subscription. I know, I know, I’m really sorry to bother you, but you need to update your RSS reader. I’ve just seen that I can use a redirect like: <?xml ... [Link]
It can't rain forever...: JUG Torino January meeting!
January’s meeting of Java User Group Torino will take place on 30th with this schedule: 18.30: Check-in! 18.45: Quickie: “ SopaUI “ by Federico Fissore (JUG Torino) 19.00: Seminar: “ Java6 update! “ by Bruno Bossola (JUG Torino) 20.00: EOF (as usual, maybe having a VeryBigPizza all together!) You may find more info about the event here . [Link]
It can't rain forever...: Business logic: how do you return on application errors?
(note: post will be translated in English as soon as possible) Oggi qui siamo alle prese con una decisione di design che non ci decidiamo a prendere :), ho parlato un po’ con il gruppo e con alcune vecchie conoscenze ma non ho ancora trovato una soluzione pienamente soddisfacente: cosi mi rivolgo a voi, magari avete consigli “sbloccanti”. Normalmente nelle applicazioni che ... [Link]
Reblog: Quicksilver Quick Timer
Hello dear Mac user. If you have Quicksilver installed (if you don’t it’s time to learn how to improve your productivity with one of the many tutorials available) and Growl notifications (even though this is not strictly necessary) the following trick will allow you to create countdown timers on the fly in a few keystrokes. In other words you won’t need to install any specific application ... [Link]
It can't rain forever...: Pidgin & OpenFire
Openfire (aka WildFire) a very well known jabber server won’t work with Pidgin , a famous IM client, because of a lack of support by Java in RFC 2831implementation, as you can also read here , here and here . Before giving up digging inside Openfire awkward documentation and obscure groups suggestions just pick up you openfire.xml file in /opt/openfire/conf and add, just before closing ... [Link]
RED GREEN REFACTOR IT!: Levels of Software Success
Riporto qui dal WIKI c2 la definizione di successo di un progetto Software. In particolare mi interesserebbe sentire da voi la vostra esperienza riguardo i punti 4,5,6. Ad esempio: li avete come obiettivi o credete che non debbano riguardare il team di sviluppo? E’ possibile secondo voi raggiungerli? Quali strumenti adottate per facilitarvi? Come riuscite [...] [Link]
RED GREEN REFACTOR IT!: Agile Day 2007
Eccoci di nuovo ad un’altra giornata Agile italiana! Quest’anno cade il 23 Novembre e una delle novità è che si terrà a Bologna. Il programma è molto interessante, con svariati Experience Report e la partecipazione di uomini-agili del calibro di Francesco Cirillo e Tim Mackinnon, co-ideatore tra le altre cose dei Mock objects. Per vostra fortuna quest’anno non [...] [Link]
JestyBlog: dal libro che sto leggendo…
“Nella vita tutto è carne o soldi, come se le due cose non potessero esistere contemporaneamente. Sarebbe come essere vivi e morti allo stesso tempo. Non si può. Bisogna scegliere.” [Link]
It can't rain forever...: Cruelty, not art
An “artist” from Costa Rica, named Guillermo Habacuc Vargas, put a starved dog as a work of art, the poor dog died there, he did not want anyone give him food or water. This “man” asked some children to chase the dog and he paid them for their dirty work to give him the dog. See details here (in italian), I hope you’ll also sign the online petition [Link]
Reblog: How do you spend your time?
I recently took some time to write down the list of the most important activities during my everyday life. It was needed just to understand a couple of things about my personal planning and by no means was intended to be a comprehensive list. But just ten minutes later and without any effort the list turned out to be a complete one. I wouldn’t say 100% complete, but I think that it represents ... [Link]
Reblog: AOP Ruby and Aquarium
While attending Dean Wampler presentation at ChiRb the last night I failed to understand the reasons why bringing AOP semantic to dynamically typed language can be a good thing. The reason is simple! I never tried aliasing and evals a big Ruby project :) I had just some Python AOP-like experience in the past using the language meta-programming facilities and it was not such a big pain. ... [Link]
Reblog: More power to JSONP with Subspaces
At the last World Wide Web conference , Collin Jackson and Helen Wang presented an interesting paper where they explain how to sandbox the dynamic evaluation of JSON inside an inlined frame. Second interesting aspect of the document is that they group together the description of many enabling cross-domain techniques, thus creating a valuable well-written reference. The reason you might ... [Link]
Mutant World: JSP page encoding
I recently had a problem with a web application using JSP pages that was not handling non-ASCII characters correctly: submitted text containing characters such as ù or è resulted in garbage characters stored in the database and consequently garbage displayed by the browser. The application was developed in Linux, using an IDE configured to save files using UTF-8 encoding, and deployed on a ... [Link]
Reblog: Available JSONP Services?
Unfortunately not all the web services available on the planet provide a JSON output and even less are the examples of padding support. But the JSON-P providers that I know as of today are basically the most interesting for mashing-up applications. Here’s a growing list: Del.icio.us supports a callback parameter which is then used to wrap the JSON response into a function call. Try ... [Link]
Reblog: dTunes
And here we are, with another idea and potential project. I have many as you probably know reading this blog. But I normally don’t put the necessary effort to transform the initial example into a full fledge project. Hopefully this idea will see the light just because my spare time has moved into my full-time job. Here’s some personal background. I have to spend around 3 months ... [Link]
Minnen Ratta: Sfratto esecutivo
Pare che ci siamo davvero questa volta : oggi blogsource chiude, quindi rimane solo http://minnenratta.livedigital.com/ Viste le limitazioni ai commenti (solo utenti livedigital) non penso rimarrò a lungo lì. In ogni caso lancio questo ultimo avviso nel caso quelli di blogsource si dimentichino di stabilire la redirezione a livedigital come avevano promesso (avevano anche detto che avrebbero ... [Link]
Reblog: Cron-based iSightcapture
Just some month ago I used to have here a nice bash script running hourly as a cron job taking picture from the iSight (the built-in web-cam) installed on my Mac. The script is still there but after one of the last upgrades from Apple something went wrong. I even started to collect a nice picture history with the idea of making a movie out of it one day (exactly as this guy ). Maybe you want to ... [Link]
JestyBlog: Toy2R Bart Simpson Qee
Toy2R Bart Simpson Qee , originally uploaded by artoyzflickr . Per chi non lo avesse capito adoro i Simpson! E naturalmente non perdetevi questi altri Qee “più artistici”! Buona visione gente! [Link]
JestyBlog: a dir poco fenomale!
[Link]
JestyBlog: Coraperto: nuovo fotomontaggio
Coraperto by ~ jesty on deviant ART [Link]
JestyBlog: Il parco dei Mostri di Bomarzo
E’ un po’ che non scrivo sul blog, ma le vacanze sono vacanze! Presto fare un po’ di aggiornamenti, ma nel frattempo vi voglio far vedere un posticino a Bomarzi (VT) che mi ha fatto conoscere una mia amica: http://www.bomarzo.net Naturalmente la visione dei PDF che trovate nella pagina è d’obbligo! Buona visione gente [Link]
Reblog: Twitter mining
Twitter is another amazing social phenomenon. Blogs aren’t as powerful as Twitter in describing apparently useless details of our everyday life. Big companies spend gazilion dollars to grab our thoughts and opinions and use that information to target marketing campaigns. In order to achieve this goal, companies use tools like fidelity cards or they even give you gifts if you fill a form with ... [Link]
RED GREEN REFACTOR IT!: Quando fare Refactoring: la mia esperienza.
Piu’ volte su questo blog ho parlato di quanto sia importante la qualità per abbattere i costi totali. Con questo post voglio riflettere piu’ nel dettaglio per comprendere quando una soluzione comoda e magari poco elegante possa avere senso. Inoltre quando paga rifattorizzare una soluzione dal forte grado di accoppiamento tra le componenti? Di seguito un piccolo [...] [Link]
Minnen Ratta: Checked Exceptions, un'alternativa notturna
Fino a pochi giorni fa sulla mailing list del jug Torino si discuteva dell'utilità delle checked exceptions. Antonio le odia profondamente e in un certo senso anch'io, tra di noi resta un piccolo differenziale : io dico "sono così odiate perchè sono abusate, basterebbe che non fossero la scelta di default quando si parla di eccezioni" e lui dice "visto che dovrebbero ... [Link]
Mutant World: Upgrading to SSL an existing socket connection
SSL support is in the JDK since 1.4 (and even before as a separate jar), so it is fairly common knowledge how to create and use SSLSocket and SSLServerSocket. What is less known, or it was to me at least, is that it is possible to create a plain socket, connect to a server, exchange some message, then upgrade the existing socket connection to SSL, exchange some private message with ... [Link]
JestyBlog: Ma non sono fantastiche?
Girando per il web ho trovato il sito web di questa pasticciera che fa delle torte spettacolari! http://www.pinkcakebox.com/ [Link]
RED GREEN REFACTOR IT!: Pomodoro in team: uno per team o uno a coppia?
In questi primi mesi trascorsi in GM Technologies sono accadute molte cose interessanti. Il tempo per parlarvene è stato poco, complici anche il caos post-trasloco e le corse per uffici amministrativi. Spero di riuscire a riassumere con una serie di post alcune delle cose che ritengo piu’ importanti. Uno degli aspetti sul quale siamo in cammino [...] [Link]
JestyBlog: Concerti dove potete trovarmi nel mese di luglio
24 Grana - La Sapienza venerdì 13 Marlene Kuntz - villa ada venerdì 13 Almamegretta - Radio rock village Mercoledì 18 Ratti della sabina - Festa della rinascita giovedì 19 Leggittimo Brigantaggio - Festa della rinascita venerdì 20 Tiromancino - Auditorium parco della musica Giovedì 26 Carmen Consoli - Auditorium parco della musica Venerdì 27 Franco Battiato - Auditorium parco della musica ... [Link]
JestyBlog: Jazoon: Italian do it better
Ecco a voi il mio primo posto direttamente da Jazoon per raccontarvi uno dei più bei complimenti che abbia mai ricevuto in vita mia: “Sei un informatico? Strano, non sembri uno di loro” E considerando che è stato fatto da una ragazza svizzera veramente carina direi che dice tutto. Essì gli informatici hanno veramente un brutta fama Eccovi anche una foto di italiani a Jazoon: ... [Link]
Reblog: Spring remoting, client side
I had recently implemented an RMI based comunication between two applications. The server is a Spring based application. A very good and quick solution in this scenario is to expose the RMI services with Spring-Remoting . Spring will wrap your service with an RMI-aware stub on the fly, so you don’t even need to generate stubs and skeletons with rmic. What is not clear in the documentation is ... [Link]
Minnen Ratta: State-enforcement interfaces
Questo post lo scrivo in inglese, visto che è un'osservazione che parte da un post di Andrea , e il suo blog è in inglese. Andrea raises the issue of objects whose state is not always valid for all their methods. I'll take a classic example where you must first invoke method 1 in order to be able to invoke method 2 : connection.open("url.of.server~ ... [Link]
Minnen Ratta: Alla faccia della convenzione di Ginevra
L'altro giorno si stava scegliendo il regalo per il mio compleanno nell' unico posto dove si può essere certi di trovare un regalo per cui valga la pena di pagare le tasse d'importazione. Al momento del checkout, le scimmie ben ammaestrate di ThinkGeek ci hanno messo davanti agli occhi dei meravigliosi microbi pelouche . Ovviamente, per quanto si stesse lavorando al -mio- regalo, ... [Link]
Minnen Ratta: Trasloco
Quelli di blogsource mi hanno informato, con un sorriso tirato, che sono stati inglobati in LiveDigital, e così viene chiusa tutta la baracca, il mio blog è stato migrato qui . Lo sto provando in questo momento, e non mi dispiace, anche se lo stile di blogsource, così classicheggiante, era quello che me lo aveva fatto scegliere. Suppongo che dovrò spulciare negli stili disponibili su ... [Link]
Minnen Ratta: TDD sul DB
Il mio personale approccio allo sviluppo dell'interazione tra dominio e DB è sempre stato di usare le stringhe degli statement per tutte le asserzioni dei test unitari, lasciando la vera interazione col DB al momento dell'integrazione : assertEquals("INSERT INTO my_table (id,external_id,name) VALUES (1,15,pippo)",mapper.getStatem~ L'inserimento e il ritorno dei dati ... [Link]
Minnen Ratta: TDD-Backfire
E' mezzanotte e un quarto e ho trovato il baco. Ho iniziato alle 10.30. 3 pomodori buttati ! Ecco perchè : Oggi, verso il finire della giornata di lavoro, il mio compagno di pair doveva andarsene a casa, io volevo vedere spuntare il risultato, insomma, integrare tutto prima di andarmene. Gli ho detto che mi facevo un ultimo pomodoro da solo e ho persino scherzato : "E così riuscirò a ... [Link]
RED GREEN REFACTOR IT!: Nuovo cammino, stessa bussola: Torino - Lugano.
Questo è il mio ultimo giorno in Reply. In questi tre anni oltre che ad incazzarmi varie volte , ho avuto la fortuna di lavorare con persone molto valide, su tutti vorrei nominare e ringraziare Tom. La nostra collaborazione sempre cristallina e aperta al miglioramento, mi ha fatto crescere molto e mi ha regalato oltre [...] [Link]
Minnen Ratta: Globalizzazione
Immaginate questa scena : Una stanza in cima a un grattacielo, la vista è quella classica di una città del nord Europa: tetti a punta, case colorate, chiatte che scorrono lentamente su una larga ansa del Reno, sullo sfondo altri grattacieli, quasi tutti in vetro e vetro, che riflettono il cielo azzurro pallido punteggiato di nuvolette bianche. Sei persone sono sedute a un tavolo da conferenze, ... [Link]
RED GREEN REFACTOR IT!: Valore intangibile, ROI diretto, ROI indiretto
Ovvero: quando possiamo misurare in maniera diretta i benefici economici che derivano dalla messa in produzione di una funzionalità, quando invece vi sono altri fattori esterni che influiscono sui ricavi, o quando il valore è intangibile. Sappiamo che dovremmo misurare il valore di una funzionalità sulla base del: ritorno di investimento (prevedibile) soddisfazione del cliente e ... [Link]
RED GREEN REFACTOR IT!: Il mito della velocità: come aumentarla?
Un thread sulla mailling list del pomodoro mi dà lo spunto per scrivere questo post. La domanda è: cosa misurare e su cosa concentrarsi per aumentare la velocità di un team? Misuro e minimizzo i Pomodori (=effort) necessari per raggiungere un certo obiettivo, piuttosto che i giorni reali impiegati? Personalmente non lo ritengo efficace. Meglio concentrarsi (e quindi [...] [Link]
Minnen Ratta: Gli indici sono figli del demonio
Non come il copia incolla è figlio del demonio, ma quasi. Riassumo tutto quanto seguirà con questa frase : usare gli indici per rappresentare lo stato del problema tende a produrre roba leggermente più performante, ma con riusabilità e valore infimi. Potrà suonare banale, ma rappresentare una lista con una coppia di indici e un'altra lista non è il massimo della limpidezza. Eppure ... [Link]
RED GREEN REFACTOR IT!: “Scegli la più semplice”…dimostriamo se e quando incrementa il ROI.
Uno dei principi più importanti di XP, nonché uno dei valori fondanti, è: scegli la via più semplice. Ad esempio, se ci si trova a dover scegliere tra due soluzioni, una che prevede un’infrastruttura più ampia, utile anche in futuro, ed una invece con un’infrastruttura ad uso esclusivo della business story attuale, XP guida nella [...] [Link]
Minnen Ratta: Actual WORKING Production Code 6
Era molto che non avevo modo di proporre pezzi di codice veramente di valore. Ma il fato per oggi aveva qualcosa di spettacolare in serbo per me : ho tempo fino a questa sera per capire che cosa fa una certa classe (e le sue vicine) e capire se l'algoritmo contenuto in essa si adatta a un'altra piattaforma. Ecco uno dei punti di più alta scuola contenuti in questa classe : ... [Link]
RED GREEN REFACTOR IT!: Agile Day 2006: foto!
Con un ritardo degno dei peggiori progetti, metto qui alcune delle foto che Gabriele ha scattato all’Agile Day 2006, al quale sia io che Simone abbiamo partecipato coordinando alcune sessioni. Simone, Francesco…ed il mio pomodoro, nella sessione sul Pomodoro. [notare come il “rosso Pomodoro” la faccia da padrone: la scritta sulla lavagna è rossa, il pomodoro è [...] [Link]
RED GREEN REFACTOR IT!: UnitTest come specifiche, ovvero ridurre le distanze
Ultimamente si parla spesso di BDD, aka Behoviour Driven Development. Cosa è il BDD? Altro non è che il TDD rivisto nel linguaggio utilizzato, per fornire maggiore focus verso le specifiche. I più navigati con il TDD infatti, sanno bene che la T di Test è un po’ fuorviante, dal momento che in realtà ogni metodo [...] [Link]
Mutant World: Jonas Bonér @ JUG Torino - January 19th
Jonas Bonér of Terracotta Tech will be our guest speaker at the monthly meeting of the JUG Torino on January 19th, 18:30. The title of his talk is: How to write scalable, highly available web applications . If you are in the Torino area, this meeting is one which will be really worth attending, both for the speaker importance and for the arguments. Here you can find more information on this ... [Link]
Mutant World: UTF-8 handling for ResourceBundle and Properties
Every new version of the JDK comes with small improvements, often unnoticed, that however correct long-standing bugs or request for enhancements. One such improvements is - finally! - the ability for java.util.Properties to handle non ISO-8859-1 properties files. At first seems like a very small improvement, but anyone that worked on localizing an application (for example translating messages ... [Link]
Mutant World: Java Memory Model: down to the metal
Javapolis is over, and among the sessions that can be seen and heard online, there's Brian Goetz's on the Java Memory Model . Although I knew (since a while) about the new memory model, I wanted to check out if there was something new. Brian's presentation is quite entertaining (considering the thickness of the argument), but no news with respect to what I already knew. One thing that ... [Link]
Mutant World: Java Closures
Java Closures seem to be the buzzword of the moment. Unfortunately I missed the (I'm told great) JavaPolis conference in Antwerpen, Belgium, but fortunately the JavaPolis guys have put videos of the sessions online ! I recommend all people interested to watch or listen to Neal Gafter's session on closures. The very interesting idea behind closures in Java (how they are shaped right now, ... [Link]
Mutant World: Hibernate blog interview
Michele Sciabarrà interviewed me on Hibernate in a short, blog-like style interview available here (in Italian). [Link]
Mutant World: JUG Torino Meeting
Today, November 16th, the Java User Group Torino organizes its nth (we lost the exact count :-) meeting. The meeting agenda is composed of a quickie on Subversion, hosted by me, and a session on EJB 3 and J2EE 5 hosted by Filippo . Check out the meeting details and directions here: http://www.jugtorino.it/vqwiki/jsp/~ [Link]
Mutant World: How fast are you ?
A friend sent me this link today: http://www.speedtest.net/ How fast are you ? [Link]
Mutant World: ICMP and InetAddress.isReachable()
In Java it is only possible to work with two types of sockets: stream based ones (or TCP ones - java.net.Socket and java.net.ServerSocket ) and datagram based ones (or UDP ones - java.net.DatagramSocket and java.net.MulticastSocket ). The open bug 4727550 asks to support other socket types, that will allow, for example, to perform an ICMP ping and, in general, to access the sockets in raw mode. ... [Link]
Mutant World: Why Thread.currentThread().getContextCl~ ?
I recently been involved in a discussion where I questioned that Thread.currentThread().getContextCl~ was the right way to implement the accessibility of a ClassLoader from any point in the code from a thread. I very much preferred that ClassLoader.getContextClassLoader() was available, thus freeing class Thread of any reference to class loading. Other examples of accessibility of ... [Link]
Mutant World: JavaDay event in Torino, July 7th
JUG Torino is proud to organize the first JavaDay conference in Torino, on July 7th. JavaDay travelling conferences will be held (in different dates) in many major cities of Italy, and Torino is the first installment. The conference schedule is pretty good , and features also two international speakers: Jason van Zyl of Maven fame, and Greg Wilkins of Jetty and WebTide fame. Sessions Highlights : ... [Link]
Mutant World: TestNG and Maven
I've been working with JDK 5, and some time ago I decided to try TestNG as test framework, leaving back JUnit. Since then, I got addicted to TestNG, and if possible, will never go back to JUnit, as really TestNG is leaps beyond JUnit. Now I am working also on a JDK 1.4 application that I build using Maven . I've been really impressed by the fact that Maven supports TestNG out of the box, ... [Link]
Mutant World: Big Changes and 2 Linux hacks
Long time, no blog entries. I have to say that my life changed quite a bit: a newborn baby to take care of (Riccardo), a new job and soon a new house. Another thing that I changed (less important than the above, but daily used) is the operative system: I've switched from Microsoft Windows to Kubuntu Linux . The move was painful, especially at the beginning, and IMHO still not possible for an ... [Link]
Mutant World: Job Change
After more than 6 years in Hewlett-Packard, I decided to resign and take new challenges as a consultant. In these 6 years I've professionally learnt a lot and met great colleagues and friends, and I will certainly miss them, though many live in Torino . [Link]
Mutant World: Motion Illusions
This picture is truly incredible. [Link]
Mutant World: Attaching to a Mustang, explained
I was intrigued by this blog , referenced by Eamonn , so I decided to take a look at the "attach on demand" feature. Since J2SE 5, it is possible to instrument a JVM using an "agent" with the following: java -javaagent:<jarpath>[=<opt~ <mainclass> where <jarpath> is the path to the jar file containing the agent implementation (absolute, or relative ... [Link]
Mutant World: A weird particular in java.util.concurrent
I am using J2SE 5, and so far I am quite happy. I got used to the generics syntax, and in general I can write less code to do the same things. While browsing java.util.concurrent source code, I found this weird pattern: public class LinkedBlockingQueue extends ... { ... private final ReentrantLock takeLock = new ReentrantLock(); ... private void signalNotEmpty() { final ReentrantLock takeLock = ... [Link]
Mutant World: Enums as factories
I started to enjoy very much J2SE 5, especially generics, enum s and the java.util.concurrent package. I still don't get static imports, but overall J2SE 5 is been a good experience. One thing I found nice about enum s is the possibility to use them as factories in a simple way. For example, Webwork 2 can be configured to use 3 different multipart parsers. The configuration option is called ... [Link]
Mutant World: Negatable Marker Annotations
Eamonn has posted a very interesting blog entry on negatable annotations. In the last part of the post, he suggests that such a marker annotation can be used to annotate an MBean-like interface to say that it really is (or not) an MBean interface. Such a marker annotation should be meta-annotated with @Inherited , since it would be inherited, but unfortunately @Inherited only works if the ... [Link]
Mutant World: Do you think it's space you're living in ?
Paraphrasing Morpheus, the article at the link above poses some doubt about universe dimensions, or at least on the current theories. Interesting reading. [Link]
Mutant World: PNG transparency in Internet Explorer
PNG is the format of the icons we use in one of our applications. I develop the application using Firefox , since it has a powerful plugin: the web developer . However, the application will almost certainly be displayed in Internet Explorer, which is unable to display correctly PNG icons, in particular cannot render correctly the PNG transparency. While surfing the internet in search of a ... [Link]
Mutant World: The MBeanServer of a J2EE Application Server
During JavaPolis, I've had the chance to discuss with Eamonn , and he brought to the discussion that right now there is no standard way to access the MBeanServer that is normally instantiated by a J2EE application server. Take a servlet or a session EJB, they can only try to call List mbeanServers = MBeanServer.findMBeanServer(null); and guess which one of the MBeanServers contained in the ... [Link]
Mutant World: Ennio Morricone's concert
I have enjoyed very much the concert master Ennio Morricone gave for end year's day in Rome. I like very much soundtracks, especially from those great composers such as Ennio Morricone, Hans Zimmer, Danny Elfman, James Horner. These 4 persons have written most of the soundtracks of the major movies around in the last 10-15 (if not more) years: quite amazing. While listening to the concert, I ... [Link]
Mutant World: JavaPolis day 4 & 5
Garbage Collection with JRockit Joakim Dahlstedt gave a really good session on memory management and garbage collection on modern JVMs, with particular reference to JRockit. While I'm quite up-to-date with the JVM technologies (from the user point of view) it's always interesting to listen to the expert (that make the technology). In particular, it is now quite amazing the level that ... [Link]
Ciao mondo! Eccoci qua.
Come scritto in mailing list coordinatori tra una birra e l’altra mi è venuto in mente di fare un blog che raccogliesse tutti i buoni posts dei buoni juggers torinesi. L’idea non è completamente mia e nuova, penso di essermi in qualche modo ispirato a http://blogs.thoughtworks.com/ che raccoglie i bloggers appunto di molti ThoughtWorkers…
Vediamo che ne esce fuori e quanti users/bloggers riusciamo a raccattare