-
To force Firefox on http 1.0 proceed as follows:
- Open a window and go to "about:config" page
- Hack "network.http.version" property
- restart firefox
-
Closure in Java: fast and nice!
Feb 26, 2010 · 4 min readprogramming_languages en evergreen lang · closure functional-java functional-programming html http java·I have decided to re-cook this subject, adding a my specialized Example also.
Let’s start!
Read More -
Erlang Book Review
Jul 19, 2009 · 7 min readen erlang featured lang reviews software · books development erlang framework functional-programming guide http ideas internet java oreilly performance programming-languages·
After reading an interesting article on Erlang and Java interoperability, I have decided to dedicate my spare time to Erlang.
O’Reilly has just published a wonderful book on Erlang, so I decided to dive into it.
Read More -
As processors become faster and multiprocessor systems become cheaper, the need to take advantage of multithreading in order to achieve full hardware resource utilization only increases the importance of being able to incorporate concurrency in a wide variety of application categories.
In this article we are evaluting a new approach to the concurrency. In the last five years computers are becoming even more parallel. Intel is pushing multi-core achiteture also on commodity personal computers. Neverless the computing power is ofter not well used: one again, hardware is a step head of our day-by-day software development. Remember when the 80286 came into light. The 286 was able to provide a multi-programming architecture but without memory management protection. We had to wait 386 hardware to see software working on preemptive multi-tasking, because software cannot cope with unprotected memory. In one word, it costs too much to develop a operating system without the new features the 80386 bring to us. What about concurrent programming? Can we look similarities in the concurrency field?
Read More -
Working for a very big customer, I found a very nasty interaction between Sun HttpClient (JDK 1.4) and Http Load Balancers.
In a complex network environment, sometimes you can experience low level TCP/IP comunication errors, because sometimes HttpClient get confused and hangs.
The bad behavior of Sun HttpClient is well known: some guys suggested me to use the Axis Web Client. Anyway you can solve the issue adding these three parameters to the JVM launch line
Read More -
There is a future for SmallTalk? I was a very strong fan of the SmallTalk language, but in the last five years I have seen more and more contraction of its usage in the IT field.
The OLPC project, which uses also Squeak Smalltalk and its done by the core team fo Squeak, is not going very well.
Read More -
We read in wikipedia:
"Mac OS X is the successor to the original Mac OS, which had been Apple's primary operating system since 1984 [...] The first version released was Mac OS X Server 1.0 in 1999, and a desktop-oriented version, Mac OS X v10.0 followed in March 2001"
The funny thing about MacOSX launch was the huge hype on the retail box: it was named "The world's most advanced operating system" and really it was very huge leap ahead.
Read More -
Dynamic languages troubles
Jan 30, 2008 · 3 min readblog-objectsrootcom en software · again ant api arc build business car code complex database design easy eclipse example fix hard hosting http ibm import java lion microsoft perl php plugin project projects python ruby simple small smalltalk sql system tools trouble ui unix war web world·
I have read http://www.manageability.org/blog/stuff/chandler-failure and I think it is very danger way of exposing concepts.
In the article pointed out, the quite dead Chandler project is compared to the multi-billion Eclipse project. And then a too easy analysis is done against dynamic languages, where Java is the absolute winner.
Read More -
Let the Zend Framework introduce itself as a Borg would do:
"Hi dear RubyOnRails. Hi all. I am the Zend Framework, a small work (about 5 tons of code) done by IBM and Zend to destroy you. You think php is not able to build big project?... do you?
So you have dared to develop RubyOnRails or Perl or Python, thinking you can own the web in your way... Dear nerds you are so funny and young!!" in a lamp of light the borg duplicate itselfs in 100 indians programmers, saying together
Read More -
Is it amazing things you can do with a simple Bourne Again Shell (bash).
I have just discovered you can open socket using a small redirection syntax, and emulate small checks you normally do with curl or wget.
The bash shell manual is always poor about examples, and this is very very sad.
Read More -
1public static final String convertToString(HttpServletRequest request) { 2 StringBuffer msg = new StringBuffer(); 3 try { 4 5 msg.append("*RequestURI:" + request.getRequestURI() + "\n"); 6 msg.append("*ContentType:" + request.getContentType() + "\n"); 7 8 msg.append("== Request Header\n"); 9 Enumeration headers = request.getHeaderNames(); 10 while (headers.hasMoreElements()) { 11 String headerName = "" + headers.nextElement(); 12 msg.append(headerName + ":" + request.getHeader(headerName) + "\n"); 13 } 14 msg.append("\n"); 15 16 Enumeration attr = request.getParameterNames(); 17 18 ArrayList l = new ArrayList(); 19 String att; 20 while (attr.hasMoreElements()) { 21 att = (String) attr.nextElement(); 22 l.add(att + " -> " + request.getParameter(att)); 23 } 24 25 msg.append("=== Request ( " + l.size() + " ) ===\n"); 26 Object a[] = l.toArray(); 27 Arrays.sort(a); 28 for (int i = 0; i < a.length; i++) { 29 msg.append((String) a[i]); 30 msg.append("\n"); 31 } 32 msg.append("=== === ===\n"); 33 34 // Process the Session 35 HttpSession session = request.getSession(); 36 // msg.append("\n"); 37 38 Enumeration e = session.getAttributeNames(); 39 40 TreeMap t = new TreeMap(); 41 String k; 42 while (e.hasMoreElements()) { 43 k = (String) e.nextElement(); 44 Object oggetto; 45 try { 46 oggetto = session.getAttribute(k); 47 } catch (Throwable notSerializableException) { 48 oggetto = "NON DESERIALIZZABILE. Chiave:" + k; 49 50 } 51 t.put(k, oggetto); 52 } 53 54 Object orderedKeys[] = t.keySet().toArray(); 55 msg.append("=== Session ( " + orderedKeys.length + " " + (usertempz != null ? "+ 1UT" : " NO UT!") + " )===\n"); 56 Object elem; 57 58 for (int i = 0; i < orderedKeys.length; i++) { 59 elem = t.get(orderedKeys[i]); 60 msg.append(orderedKeys[i]); 61 62 msg.append("\t-> "); 63 if (elem != null) { 64 nicePrintSessionObj(msg, elem); 65 } else { 66 msg.append("null"); 67 } 68 msg.append("\n"); 69 } 70 return msg.toString(); 71 } catch (RuntimeException e) { 72 return msg + "\nERR: Cannot print session/request!!" + e.getMessage(); 73 } 74 } -
My first webcam video....
See and have fun: http://www.youtube.com/watch?v=53CIgqpD0S8The Story
I have just bought a new fantastic Mac computer. So I tried my webcam, and in the same evening a friend of mine give me a cigarette (I don't smoke so I tried it in front of my webcam).
Read More -
Ma come fare a gestire la biancheria in questi casi? Ebbene il vostro mentore (cioè io...) ha la soluzione. Grazie a Radio Deejay, ho scoperto il seguente fantastico servizio: http://www.stendibiancheria.net/
che vi dice quando vi conviene stendere la biancheria. Questo modesto servizio, migliora le probabilià di essere più puliti del solito, ed evita che i panni bianchi si sporchino senza una valida ragione.
Read More -
Celeste
Celeste is a mail reading and organizing program. The name "Celeste" is a reference to an earlier mail reader named Baba, which was written at Xerox PARC by Steve Putz and John Maloney.
Nowadays, Celeste is maintained by Giovanni Giorgi (me).Latest Feature
A new revision is planned for the end of September 2006, and code name will be "Sonic". Sonic will include a smart mailing-list filter and a better "leave message on server" option. I implemented years ago an auto-filtering system in AppleScript. The filtering engine used the RFC2369 and some other tricks to detect yahoo mailing list. Sonic will have also an auto-filter for google mailing list too.The leave message on server option is quite bad now. It creates a lot of duplicated messages.
The new implementation will avoid dowloading twice a message, using a mix of messageId and timestamp to detect duplicated messages.
Read More