6 Mar, 2008
My work often requires me to select (or develop) different kind of technologies. Every time I’ve got to make a choice between “traditional approach” and “OpenSource approach”, the questions I ask to myself are (more or less) always the same:
- Is this new technology able to stay alive for a long long time?
- Is it able to keep itself on the top of most used technologies?
- Is it able to move people from old style approach into new OpenSource world?
- …
…but since a couple of months ago, I’ve started asking to myself another important question:
- Is this technology able to keep close to itself key people (basically the “community”)? Or it is only able to keep the “maintainers”, but not the innovators?
I think the ask for this question is very important to know the future of a product. Some time ago, I’ve blogged a post about “80% and 20% of developers“, where the real innovators are (IMHO) only a few people, and lose these people could be the end of a project.
I think OpenSource community needs to move over new and exciting technologies day by day. And innovators ARE OpenSource community. No way to keep a good innovator stopped to a technology for long time. Technology has to change and grow up fast if it wants to benefit by these extraordinary geeks.
So, here’s why you have to run out of town from static “huge” technologies (usually defined “enterprise”): best guys, best developers, best architects need to “go west”, to find new lands, looking for new opportunities to innovate world and make it better.
RedHat and Fedora (and, of course, Byte-Code!
) are the best example I know (and they rock! Great innovations in Fedora make RedHat a REAL enterprise technology)
OpenSource community should be considered a “quality guarantee” by everyone, also when it try to head straight for new and unknown ways.
Just my two cents 
18 Feb, 2008
Today (after a week-end with low GRPS mobile bandwidth), I ran python script for stats for all entries in Ambassadors Country List (on high performance connection). It takes more than an hour :-/
Now, you can download:

Script (a wiki reg-ex crawler) may contain bugs (for example I’m not sure about some sparse “dot” on the wiki page). But I hope this open the way to make more significant stats for Fedora Project.
For the moment I’ve publish the first draft of this script (very “quick and dirty”). During next days I’ll try to package this actions into a pythons module, to make more reusable and more readable this kind of object. I hope to see something like:
import FedoraStats
foo = FedoraStats.Ambassadors()
foo.save_to_csv("/tmp/bar.csv")
Here you are the current draft:
Read the rest of this entry »
16 Feb, 2008
Today I’ve spent some hours to write a very “quick and dirty” python script to create some automatic statistics to show how Fedora ambassadors grow up fast.
For the moment script produce a simple command separated value file, useful to be opened with OpenOffice and make some charts.
Here you are a simple chart that shows number of ambassadors during last 10 months.
The script (for the moment) produce a table with months as rows and world area as columns. It takes data from fedora wiki.
Here you are some examples:

And here you are a chart only for South Europe Area:

As soon as possible I’ll write some classes to produce chart directly, without need to pass through OpenOffice, and (of course) put all scripts online. 
11 Feb, 2008
RHCA is one of the most interesting certification I’ve never seen in information technology marketplace. To pass all exams you’ve got to DO what you have to know, not only make a check into multiple choice questions.
It was hard, but I’m happy because yesterday I received the result of my last exam: passed!
Today, I am RHCA!

For the first time I think to have a “valid” certification to show my own skills In Italy it’s pretty unusual. University degrees, certifications and so on are usually not related to practically experiences: you can have a master degree in information technology or computer science without know how using your mouse…
Changing this point of view is hard, but I think it’s not impossible. RHCA is a reality. I hope other companies will follow RedHat way. I think it’s the right way.
1 Nov, 2007
If you have to install Zimbra on a single machine with a public IP, your life will be easy and relaxing.
But, if you have to install Zimbra on a server with private IP behind a public reverse proxy with mod_security (and other funny security stuff), and you don’t want to use external relay MTA, your life will be fully of terrible pains!
Obviously Byte-Code has this kind of internal mail server… so this week I’ve made a strange thing to made possible using Zimbra behind a reverse proxy
Here you are some suggestions:
- Remove some mod_security rules not compliant with Zimbra:
- SecRuleRemoveById 960010 950006 960015 960017 970903
- On Zimbra internal server setup some aliasing IP addresses, with real public ip (don’t worry. It’s only for localhost communications)… one for each real server configured (this is the key of the post! with this useless configuration you can cheat Zimbra about MTA server)
- On Zimbra control panel check “DNS lookup” on both “Global Settings” and server panels.
1 Nov, 2007
Here you are a very interesting post about “harm reduction” and some reasons in order to implement this kind of concept in Fedora 8:
http://www.linux.com/feature/120703
23 Oct, 2007
Today Luca sent an interesting post on mugshot.
It talks about “ITÂ crowd”, potentially divided into two different sides (from iBanjo blog):
- 20% side programmers: called “alpha†programmers — the leaders, trailblazers, trendsetters, the kind of folks that places like Google and Fog Creek software are obsessed with hiring…
- 80% side programmers:Â folks make up the bulk of the software development industry. They went to school, learned just enough Java/C#/C++, then got a job writing internal apps for banks, governments, travel firms, law firms, etc.
The post is really useful, but comes up with a strange point of view…. It said:
…While DVCS dramatically lowers the bar for participation in a project (just clone the repository and start making local commits!), it also encourages anti-social behavior. I already wrote a long essay about this. In a nutshell: with a centralized system, people are forced to collaborate and review each other’s work; in a decentralized system, the default behavior is for each developer to privately fork the project …
Now, just a couple of comments:
- All “private” projects I’ve seen is not useful for the other projects. It’s just for the customer. No way to reuse any components or subsystems… (not only for license reason, It’s basically for technical reasons)
- Most of “private” projects I’ve seen are very closed to the team leader and not to the developers. When the team leader leaves the project, it fails…
- All “private” projects I’ve seen uses a lot of “the 20%” code and frameworks (not viceversa)
- On the “80%” projects the developers have to rewrite the software for any new releases. It’s quite strange to see a software written “step-by-step”. Usually, after a cycle of develop, you have to clean all and rewrite from scratch…
Most of opensource projects have “20% side” programmers, but a few of them has “80% side” programmers (ex: Zimbra, JBoss, Hibernate, Compiere, Alfresco, Porta+ and so on…)
What do you think about the future of opensource software build with “the 80%”? Is possible to keep this software live for ages? Or sometimes they’ve got to be rewritten (maybe with a different name and different developers)?
Why Linux has more then 10 years of develop (and now it’s base on GIT with thousands of developers) and Hibernate has no road map for the future?
21 Oct, 2007
Fedora 8’s coming… On my laptop it works very fine (all hardware components are fully supported!).
An image taken on MáirÃn’s blog…

18 Sep, 2007
Here you are my slides concerning RPMs presented yesterday on Byte-Code kickoff.
It’s very basically presentation… Tell me if you need more detailed information….
Download PDF
28 Aug, 2007
Every time I need an Oracle init script file, it’s a terrible pain! No way to use a simple start/stop/status (with nagios check)…
Today I write “on-the-fly” this very simple script to run Oracle Database on RedHat Cluster Suite without nagios plugin.
#!/bin/sh
#chkconfig: 2345 80 05
#description: Oracle DB
ORA_HOME=/opt/oracle/product/9.2.0
ORA_OWNER=oracle
LOG="/dev/null"
prog="Oracle"
lockfile="/var/lock/subsys/oracle"
# Source function library.
if [ -r "/etc/rc.d/init.d/functions" ]; then
. /etc/rc.d/init.d/functions
fi
# Oralce configurations
if [ -r "/etc/sysconfig/oracle.conf" ]; then
. /etc/sysconfig/oracle.conf
fi
export ORA_HOME
export ORA_OWNER
export LOG
export prog
export lockfile
if [ ! -f $ORA_HOME/bin/dbstart ]
then
echo "Oracle startup: cannot start"
exit
fi
RETVAL=0
start() {
if [ -f ${lockfile} ]; then
echo "Oracle already running"
exit 1
fi
echo -n "Starting $prog: "
runuser - $ORA_OWNER -c "$ORA_HOME/bin/dbstart"
RETVAL_DB=$?
runuser - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl start > $LOG"
RETVAL_LSN=$?
if (($RETVAL_DB == "0")) && (($RETVAL_LSN == "0")) ; then
RETVAL="0"
touch ${lockfile}
echo_success
else
RETVAL="1"
echo_failure
fi
return $RETVAL
}
stop() {
if [ ! -f ${lockfile} ]; then
echo "Oracle already stopped"
exit 0
fi
echo -n $"Stopping $prog: "
runuser - $ORA_OWNER -c "$ORA_HOME/bin/dbshut"
RETVAL_DB=$?
runuser - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl stop > $LOG"
RETVAL_LSN=$?
if (($RETVAL_DB == "0")) && (($RETVAL_LSN == "0")) ; then
RETVAL="0"
rm -f ${lockfile}
echo_success
else
RETVAL="1"
echo_failure
fi
return $RETVAL
}
status() {
RETVAL=1
pid=`pgrep -u $ORA_OWNER`
if [ -n "$pid" ]; then
RETVAL=0
echo -n "$prog is running..."
echo_success
else
echo -n "$prog is not running."
echo_failure
fi
return $RETVAL
}
case "$1" in
"start")
start
;;
"stop")
stop
;;
"restart")
start
stop
;;
"status")
status
;;
*)
echo $"Usage: $prog {start|stop|restart|status}"
exit 1
esac
echo
exit $RETVAL