Archive for the ‘Knowledge’ Category

This friday is a python friday

Tuesday, May 20th, 2008

This friday, May 23rd, I’ll be at the Underscore _TO* Hacklab, the local hackers club, learning Python.

I’ve always been too lazy to start learning it, while always being attracted by it.

If you are interested, follow the signs (courses are in Italian).

VirtualBox and Host interface

Friday, April 25th, 2008

I’ve run into this problem two times so I need to take note of the solution for further reference.

If you are trying to host a virtual machine with a public IP address and you are experiencing the
-3100 (VERR_HOSTIF_INIT_FAILED)
error message, then all you need to do is running the following command as root
tunctl -t vbox0 -u YOUR_NON_ROOT_USERNAME

vbox0 is the name of your tap interface. If you follow the almighty gentoo-wiki instructions, it will be vbox0.

My script for having everything set up on demand is

modprobe vboxdrv
chown root:vboxusers /dev/net/tun
chmod g+rw /dev/net/tun
tunctl -t vbox0 -u federico

I run it whenever I need to work with VirtualBox.

Migrating to linux

Monday, April 14th, 2008

As you may know, I’m on a new business, that’s something like bringing a company back to the present days, technologically speaking.

Since it will be quite hard to “attack” the software part and since the technologies that I’ll use will be all open source, I’m working to give my coworkers proof about the actual value and reliability of OSS technologies in general, replacing windows boxes with linux ones.

The aim is: if it has worked when switching from windows to linux, it would probably work when we’ll switch from VB to Java.

It’s a matter of trust. If they don’t trust me, I’m not the right man for the job.

The first thing was setting up a decent networking. I’ve found an old and noisy box, perfect for such critical tasks such as DHCP and DNS ;)
So everybody now has a fully qualified hostname, with Bind caching DNS queries.

Then I’ve chopped the Vista server. Wait a minute: Vista server? Yes. It’s a Dell box, bought right after the release of Vista: it was cheap but equipped with the most useless operating system ever.
I have proof (even if it’s too long and boring for writing it down here) that it has the useless networking ever: something like a hardcoded limit of 5 TCP connections… and people cracking it to surf the web faster… can’t be real…
Well: chopped. Samba is doing the job right now: faster (and therefore more productive) and cheaper. Indeed I’ve found another old box, plugged in two brand new hard drives, set up software raid 1 and voilą: 30 megabytes is the average memory occupied.

How many Gs do you have on your Vista notebook!? Ahahah, bye bye!

Safari on Linux: here we go again…

Monday, February 4th, 2008

After a long time, I finally managed to get Safari working again and steadily. Well, almost. Still something breaks here and there, but definitely usable.

So, to recap:

  • Ensure you got the latest wine installed (wine-0.9.54 here)
  • Download Safari from the Apple website and install it
  • HERE’S THE MISSING STEP: install corefonts then copy the installed TTF files into your $HOME/.wine/drive_c/Programmi/windows/fonts folder (”Programmi” is definitely italian, so translate it)
  • Run Safari with an easy “wine Safari” in the console (I suggest to use the console just to look at what it’s doing and to check if it’s complaining somehow)

Enjoy!

I’ve found the Safari.exe process is not correctly terminated when you close all its windows, so you’ll have to kill it manually. Also, go immediately to youtube (you’ll find the link in the bookmarks bar) and head over to Adobe to install the flash player (or you’ll experience some ugly white boxes while surfing)

And thanks to these guys.

JUG Torino January meeting over: thank you!

Wednesday, January 30th, 2008

Despite my deficiencies as a meeting organizer, the January meeting (the very first one this year) has just been closed and it was a good one.

I finally managed to study SoapUI and to briefly show its functionalities in the quickie, while Bruno showed us the new features of Java SE 6: scripting could be real fun… I have to look deeper into it, especially considering my previous post.

As always, all the bits (slides and code) showed and used during the meeting will be available on the JUG wiki page in the coming days.

Now come nearer the monitor, because I prefer to whisper this: next meeting we’ll probably have a new location! Sshhhh!!! Don’t tell anybody!

Will we ever have a Next Big Language? No…

Sunday, January 6th, 2008

Today I’ve had the pleasure to read InfoQ[0] and its comments about Ola Bini’s[1] opinion about the coming or not of a Next Big Language.

I share Ola’s opinion: no big language for your future, forget it.

Newer apps will be built with a mix of different languages, because each tool is born to solve one or few problems, and usually they are very good at it. Increasing software complexity will lead to a finer grained choice about which language best fits the problem to solve.

Question is: how do these languages communicate? Ola thinks they are all going to live on top of a JVM. That’s probably what will happen. Because that will make things easier.

That leads to the next question: will Java die? No. If we are going to stay in the JVM (and there is already evidence of it: JRuby, Groovy, Scala, Jython…) then we will gently move to these new worlds while keeping on using, developing, improving and investing on our solid code base.

I think no one can really predict the death of a language. We could only throw thoughts about what could change.

Language interoperability and polyglot programming could be good guesses.

Back from JavaPolis ‘07

Sunday, December 16th, 2007

Very good week, very good talks, very nice venue, wonderful croissants, very nice people, ugly photos! (photographer’s fault)

One nice note: a good number of talks was related to agile and there were always quite a crowd of people attending.

Going to Javapolis

Saturday, December 8th, 2007

Ready, set, go! In 6 hours from now I’ll officially start my trip to Antwerpen and get my week of professional vacation.

I’ve just set up my agenda (beta version, of course)

Day 1

09:30-12:30 The Zen of Agile Management by David J. Anderson
Open Source ESBs by Tijs Rademakers and Jos Dirksen
13:30-16:30 Google API’s with Dick Wall
Introduction to JRuby with Brian Leonard and Charles Oliver Nutter
16:45-17:15 SoapUI by Ole Matzura (Open-Source)
17:25-17:55 Hudson, a continuous integration system by Kohsuke Kawaguchi, Sun (Open-Source)
20:00-21:00 Agile development of distributed systems with Guy Nirpaz

Day 2

09:30-12:30 Swinging RIA with Richard Bair, Jeanette Winzenburg and Chet Haase
NetBeans and Java EE 5 development by Ludovic Champenois and Lukas Hasik
13:30-16:30 Guidelines and Hints to EJB3 and JPA development with Linda Demichiel and Kenneth Saks
16:45-17:15 A gentle introduction to dependency management with Apache Ivy by Xavier Hanin (Open-Source)
17:25-17:55 Easy GUI testing with FEST by Alex Ruiz & Yvonne Wang Price (Open-Source)
Task-focused programming with Mylyn by Wayne Beaton (Eclipse, Open-Source)
19:00-20:00 Great Java Desktop Apps - can it be done? by Eivind Throndsen
20:00-21:00 OpenLaszlo, From RIA to Ajax and Mobile with Geert Bevin
21:00-22:00 Clustering a Real World Enterprise Application by Ugo Landini and Sergio Bossa

Day 3

09:30-11:30 HOLE
12:00-13:00 Guice by Bob Lee
OpenJDK - The First Year by Mark Reinhold
14:00-15:00 HOLE
15:10-16:10 JSR 316 - Java Platform Enterprise Edition 6 Specification by Roberto Chinnici
Java persistence - a Heretic’s demonstration by Olivier Caudron
16:40-17:40 JSR 318 - Enterprise JavaBeans 3.1 by Kenneth Saks
Scrum in practice for non-believers by Jannik Persoons and Darek Krzywania
17:50-18:50 The Future of Computing panel with James Gosling, Neal Gafter, Joshua Bloch and Martin Odersky
20:30-21:30 The Closures Saga continues with Neal Gafter

Day 4

09:30-11:30 HOLE
12:00-13:00 Scala by Martin Odersky
14:00-15:00 HOLE
15:10-16:10 ServiceMix by Bruce Snyder
16:40-17:40 Close Customer Collaboration - the BMW case by Johan Lybaert
GlassFish - Bringing *you* a better application server in three steps by Alexis Moussine-Pouchkine
17:50-18:50 The Java Puzzlers by Joshua Bloch and Neal Gafter
JSR 311 - JAX-RS The Java API for RESTful Web Services by Paul Sandoz
21:30-22:30 New Java Language Features with Neal Gafter and Joshua Bloch

Day 5

09:30-10:30 A Kanban System for Software Engineering by David J. Anderson
10:30-11:30 Evolving Agile by Scott Ambler
12:00-13:00 Real Options in a nutshell by Olav Maassen and Chris Matts
OSGi, the future of Java? by Peter Kriens
13:00-14:00 Test Driven Development, Beyond the Acronyms by Lasse Koskela

See you next week!

TED: ideas worth spreading

Saturday, December 8th, 2007

When it happens you are having a break between two sets of pomodori, you don’t want another coffee, you don’t want to read IT blogs BUT you like to enjoy your time with some science or environment or philosophy, then TED is definitely the right place.

I’ve missed last three months of talks (because of my new job), so this evening I decided to have a look at it and found a very nice video that I invite you to watch. 16 mins, so it’s even easy to take.

Multicore is here to stay, definitely

Sunday, November 18th, 2007

If you, like me, have ever wondered if this multicore kind of hype was worth the money, after watching this video you will definitely find the answer.

To sum up: if a processor running at full power is giving you 100% of itself, it happens that running at half the power it still gives you an 80%. So, by combining two processors and running them at half power, we consume as much electricity as one processor at full power but we gain 160%.

But the most interesting thing is the heterogeneous processor: one processor made of few “big” cores (like the one we use today) and a bunch of tiny little cores (like a dozen of 486). It would be able to perform well and consume “normally” with old-style apps (long, single thread computations) and to perform well and consume less with new-style apps (short, parallel computations).

My personal goal now is to start thinking “parallel”. How could I do that while working on the server side?