No, it’s not related, and this blog isn’t turning into a Viagra/Cialis tongue-in-cheek title feast. But it’s a great post and a must read if you are a programmer. You might not fully agree, but I’m dead sure a lot of stuff will resonate. Via Francesco.
Archive for December, 2007
OK, I’m spoiled. The Milano office of Sourcesense has recently been shipped a batch of 24" Samsung monitors for our engineering team joy. As the guys were too lazy (or busy?) to unpack them all, and I had a couple of minutes with a greed for hacking, I did the dirty job myself and placed one on my desk. The productivity increase just blew my mind: as much as I’m not lacking large screens (I have a 17" MBP), having that huge stuff in front of my eyes made all the difference: I wasn’t quite expecting that, as unfortunately most of my job today is mostly about backoffice crap such as word processing, spreadsheets and presentations (which is why I didn’t ask for one when we procured the babies), but I have to say that screen real estate is a value nevertheless.
Since when I’m not on the road I tend to work from home, I felt it was time to give my home office a treat, which is why I went hunting for my very own gigantic LCD. I was lucky enough to stick my hands on the cheapest brother of the Samsung family (245B, compared to the 245Ts we have at work): given the mixed reviews I was a bit scared I could notice a serious difference, but that wasn’t the case indeed. To my untrained eye, my new 400€ baby looks and feels just like the pricey guy sitting on my office desk. Sure, it’s lacking features, yet to be honest I don’t see any use for PiP and I can’t really anticipate lacking portrait mode on such a huge beast. Much recommended overall, especially if your gear supports DVI output: I give it a shot using the VGA adapter and I could sure notice the quality loss.
Talking about size, I’m now looking forward to shrink my portable equipment. While I love my 17", I have to say it’s getting a bit too heavy and bulky to carry around. Now, if only the rumors about the much sought of Mac Ultra Portable were true, I’d be a happy puppy. I guess I have a very good reason to wait for his Steveness to keynote at Macworld and hopefully give us some good news: given my upcoming long list of US trips (Boston in January, then San Francisco both in February and March), I could easily enjoy the Euro advantage and switch to something that eases the pain on my back.
Sergio did it again. We have just announced the second beta for Scarlet, our Open Source clustering solution for Jira based on Terracotta DSO. This is a major step forward in Scarlet development, as it brings development in sync with the latest version from Atlassian (3.11, that is) and adds support for distributed events (mail notifications, scheduled jobs, backups and the like). Download it while it’s hot, full changelog follows:
- Jira 3.11 compatibility: previous versions aren’t supported anymore;
- Jira services clustering: Jira services now work in cluster and run once
per cluster by default;
- Jira distributed services: just implement the new
com.atlassian.jira.service.JiraDistributedService interface for having services
run on every node in the cluster;
- Scarlet doesn’t need a dummy index directory for Lucene indexes anymore.
Congrats Sergio, keep up the great work! If you want to know more about Scarlet, I will be attending the upcoming Atlassian User Group in London, which is going to be great fun. Hope to see you there!
I meant to write this post over the weekend, but I got sidetracked by my computer woes. I just need to congratulate and send all my kudos to the great guys at JUG Roma for pulling off a great, outstanding and amazing event for the second year in a row. The recent Rome Javaday really made me think there is still hope for conferences: after a few trips to well-unattended events and half-empty rooms, last Saturday I was welcomed by an incredibly long line of people waiting to register for a morning full of conferences and talks: during my talk the room was overly packed with people nearly sitting on our lap and a lot of others who just weren’t able to sneak in. Such things happen when you have amazing numbers such as 1.200 registered attendees: scaringly exciting numbers that make you feel part of a broad and vibrant community, and a really nice breathe of fresh air.
Saturday I also learnt that Javapolis is sold out, I think for the second year in a row or so. Nearly 3.000 people will be meeting in Antwerp next week, for three days full of hacking, networking and knowledge sharing. That number would have been mind-boggling to me if it wasn’t for what I saw last Saturday: if Rome can pull more than 1.000 people for a local event, it just makes sense that an international venue gets at least three times as much, right?
Wrong. Most traditional conferences are either failing or barely able breaking even, with attendance in the low hundreds, if even that. I have been to more than a venue where conference rooms had huge echoes from empty chairs, and lucky enough to escape others. Why is that? I might be naive, but think it all boils down to a few key factors:
- guess what, content is king. This is the bread and butter of conferences and most definitely you won’t have lots of people to show up unless there is a compelling proposition behind it. This is not just about specific talks: what people want to see is a clear positioning of conferences, with a concise and well-defined content framework. Consider this: I saw way too many Open Source conferences with poor attendance, yet the Open Source tracks at vertical conferences are always packed full. Maybe it’s time to be more specific when it comes to the general topic of a conference, especially avoiding general Open Source venues?
- user-generated conferences are a blast and a great recipe for success. Having a community behind a conference means standing on a key foundation of diehard fans who will go at the greatest lengths to get the word out and involve as many people as possible. Moreover, their honest pitching won’t be perceived as sales tacticts from a producer willing to milk money from attendees. And yes, the conference program will be much better as well.
- logistics and costs are not to be underestimated. Let’s be honest and admit that, in times of screencasts and webinars, information is much more available: while nothing beats a competent speaker telling a story in front of an audience who can interact, ask question, and get a better understanding overall, truth is it’s hard to find a compelling value proposition in something that meets or exceeds a month’s salary in conference fees, travel expenses and lost work days. Javaday was free, and Javapolis has little more than a nominal price tag. People love it and find real value in that.
- conferences still need to make ends meet, which means expensing the venue and all the related stuff. Thing is, user-generated conferences can be much more streamlined, rely on a cheaper location, avoid hefty producer fees and require a significantly lower budget. Which can then easily be covered by sponsors. And you won’t have a single problem in finding sponsors if you can offer them packed rooms full of people and a fair proposal which gets them value for money.
I might sound as a broken record, as I said all this a while ago.Still, I had so much fun in Rome, mingling with fellow hackers and speaking in front of a large crowd, that I’m dying to do it again.
My love for Apple has been seriously put to test this weekend. Since a few weeks, my faithful MBP display started showing increasing signs of aging: probably the flat cable running from the mobo to the screen is getting worn and as a consequence the LCD started flashing and flickering at random. Initially, a pat on the display was enough to restore the connection, but things were getting worse and worse, so much that I spent most of the time punching my screen, with colleagues asking me if I had turned into a Smacbook Pro fan or I was just getting mad.
I was reluctant to send my workhorse to a repair shop, yet I knew I was just delaying the inevitable. Luckily enough I was in our Rome office last Friday, were I was pointed to a spare brand new Macbook sitting idle in the stationery cupboard. Eventually I managed to bribe a few people, and in a few hours I was sitting in my hotel room with two computer and a Firewire cable, the aggressive plan being an overnight migration of my stuff, possibly dumping my old MBP to a few colleagues I was going to meet the morning after so that they could turn it back to the office and onwards to repair. Unfortunately, this turned out as a two days nightmare of failed attempts and frustrations. Turns out Migration Assistant, the Apple utility which is supposed to ease the pain in duplicating setups, isn’t quite robust when it comes to problematic situations just like mine: I woke up the morning after with a welcome screen telling me migration was completed but a file couldn’t be copied. No big deal, as I noticed it was just a Safari cache, so I happily tried to log in. Surprise: nothing was there. I mean nothing, not a single file from my home folder was copied over. I had to check out from the hotel, attend the business I was traveling for, then head back to Milano with two MBPs in my suitcase (and believe me, that’s quite a lot of weight for carry-on luggage) with the plan of another overnight attempt. Which, unsurprisingly by now, failed with the same error (transfer successful, apart from the stupid cache file).
I figured out I should get rid of that stupid Safari crap before giving another shot at bringing my stuff over (at 5 hours each, migration is something you can’t really afford to fail too many times in a row). To my surprise, I was unable to delete the folder: all I was getting was a "Directory not empty" message in response to my countless rm -rf. I tried all I could, including chflags and friends, eventually finding out I was stuck: apparently my old computer’s hard disk isn’t feeling any better than my screen, and the file system is screwed somewhere. Insult to injury, I apparently ran into the bugs section of the fsck_hfs manpage:
fsck_hfs is not able to fix some inconsistencies that it detects.
Well, thanks you very much Apple. Here I am, with a folder I can’t delete no matter what I try: that’s holding back a migration I need to complete in a few hours, before a working weeks starts killing me again, and all you can tell me is there’s nothing you can do? Oh well… luckily enough it popped to my mind that while I couldn’t delete the folder, I possibly could have been able to move it somewhere else as long as it was in the same filesystem. Mercifully that was the case, so the silly stuff was out of the way and I could try my fifth attempt at migrating my profile to the new gear: five hours and six kilos of potato dumpling afterwards (our reserve was running out, so we needed to fill the deep freezer) I finally had a successful migration, a shiny new MBP which will be hard to relinquish once mine gets back from repair (gotta love those 4GB of RAM and 160GB of disk), and something that makes me a road warrior again. Oh, and another dent in my love affair with Apple.
Emmanuel spreads the news: dark clouds have been gathering in the past few months over OpenDS, the Sun-sponsored attempt at building a Java based Directory server. It’s a sad story of a core team being laid off, fights over project governance, and quite a few undercover talks about who owns and controls what. I don’t want to take sides in the developing story, as I’m sure the full picture isn’t available and most likely will never be, but I’m definitely going to see what happens. And you should as well, if you care about what Open Source really is.
What kinda strikes is how both parties can be right. On one hand, we have developers who complain about a corporate sponsor forcing its way to ensure his ultimate say on project governance and directions, while on the other we have a BigCo which doesn’t quite seem to understand what all this fuss is about, as it seems natural for the core contributor to ensure control and leadership over his assets. This really sounds like a semantic issue to me, as different parties clearly have different perceptions of what Open Source is, especially when it comes to interaction with communities.
The first step in effective communication is making sure there is a shared understanding of underlying concepts (a glossary, if you like). The problem with problem with the term "Open Source", as defined by the OSI, is that it doesn’t take the development process into account: the Open Source definition is, really, just about usage and distribution terms for source code. This would absolutely be fair enough, as providing a clearly defined normative framework for distribution it has been extremely useful in attaining quite a few notable goals. The real issue is how the OSI actually claims they actually are all about the development process, as you can read in the very first sentence of www.opensource.org which defines Open Source as follows:
"Open source is a development method for software that harnesses the power of distributed peer review and transparency of process."
If someone hibernated in 1998 woke up today and surfed to the OSI site, by reading their first sentence he’d be fully entitled to think that Open Source is about how software is developed rather than how it gets distributed. Problem is, the front page wording is little more than marketing fluff: what really matters is the Open Source definition, which is the normative bit and the one and only authoritative source to define what Open Source really is. Let me run a small challenge through you: how many times to you think the word "development" (or any variation of that) appears in the formal definition of Open Source? If you guessed zero, you were right. Zilch. Nada. Try to look for "process". Or "transparent", "neutral", "meritocratic". Or anything that vaguely recalls software development. If you can find anything of that sort, you’ll make me a very happy guy, a reborn OSI diehard and someone who will run head-first to a few English classes. I’m afraid Berlitz will have to wait some more for my money, though.
Having said that, I’m not surprised at seeing clashes and misunderstandings when conversations shift towards the community aspect of Open Source: as there is no formal definition and no clear semantics, everyone is entitled to his own opinion. Which is why some would argue that Open Source doesn’t need a community to thrive, while others will strive to achieve collaborative environments driven by neutral processes and meritocratic policies. Once you understand that those parties are actually talking about different things and just happen to lack a set of shared terms and labels, you realize why I’m pushing so hard to come up with a definition of open development processes: I’m not after drawing a line between a right and a wrong way of doing Open Source, as we have excellent examples in both camps, I just want to ensure a common understanding of different approaches in how software is built and evolved. A clear definition of Open Development would allow all of us to define how Open Source projects are run and managed, avoiding misunderstandings, providing upfront rules of engagement, and setting correct reciprocal expectations.
And at a very least, we’d know what we’d be talking about.