Disaster strikes

Where I’m working, they wanted to try “netoffice”, a PHP collaboration/time tracking/productivity thing. I downloaded the “dwins” version of it, and ran the install script after reading the instructions. Being a bit late, I hit the return key one too many times, and noticed some funny error messages about problems deleting files in /dev. Oh shit…

Turns out the script has the following line:

rm -rf ${INSTALL_DIR}/*

Simply brilliant. Thanks a lot, guys… So at this point I’m sitting there with two shells opened via ssh, no /bin/, no /etc/ and nothing much in /dev. For reasons I won’t discuss here we don’t have backups – suffice it to say that it wasn’t my decision.

Not good. ssh didn’t work any more, either in or out, because it needs files in /etc/ and /dev, and so I couldn’t just copy new stuff in. Luckily, I had a fully stocked /usr/bin, and I did the first thing that came to my head: a small server in Tcl that copied its input into the specified file. Using that and netcat on the other side to send the files, I recreated enough of /bin to get MAKEDEV working in /dev. Phew… a little bit better, but /etc/ was still gone. I brought in a few more bits and pieces like /etc/passwd and /etc/group using my Tcl server, which was enough to get scp working from the machine. At that point, I brought in the rest of /etc. I was starting to think about going home when I ran the fateful script, so at this point it was pretty late, I was starving, so the rest will have to wait for tomorrow.

The biggest problem, I think, is how to restore the files in /etc at least to the pristine installed state required by the packages that own them? The other problem is that the password file uid’s are now out of sync with the file system, which is causing problems here and there. Unless I think of a brilliant way to fix those two issues, I’ll probably consider myself satisfied that I got things running to a point where I can get the important data off the system, set up some temporary services on other machines, and reinstall the whole thing.

This is all on Ubuntu systems, by the way.

Sourceforge and mailing lists

After my last post, exhorting people to use mailing lists for a variety of reason, including the ability to find the messages later via email, it’s frustrating that SourceForge’s mailing list archives are down:

Clicking on any of the messages in the archives

http://sourceforge.net/mailarchive/forum.php?forum_id=42757

gets you a result like this one:

http://sourceforge.net/forum/message.php?msg_id=14419574

Hrmph! I’m also frustrated by the broken CVS stats, that have been broken for more than a year. Just get them off the project pages already!

In any case, Hecl is picking up steam – it’s fun to have people to collaborate with.

Ilenia looking for work

If you’ll pardon the interruption from the topic of “computer stuff”, my wife Ilenia has started to look for work in biotech/related fields – she’s scheduled to finish her doctorate in about a year. Her CV is here:

http://www.dedasys.com/ilenia/

Please post to mailing lists

Unfortunately, this quick note will most likely not reach the people it needs to, but it needs to be said in any case:

When contacting myself or other people who produce free software, please use the mailing list for the project in question unless you have a really good reason to keep the conversation private.

The reasons:

  • Other people can benefit from, and contribute to the conversation. They might also be more interested than I am in the problem at hand, or at least want to hear about how it’s resolved.

  • It gets archived, and therefore people can find it via search engines in the future. This is critical when you want to be able to point people at archives that led to decisions that affect the project.

  • It creates more sense of ‘community’. Most successful open source projects are not the fruit of only one person’s labor. Perhaps they are initially, but at a certain point, everyone is better off if a community grows up around the project, and keeping conversations public helps that process along.

Please pass this along – hopefully people will start to get the idea.

Computer Books, Hecl, Skype

Henri Yandell comments on Addison Wesley being prominent in his book list. I noticed the same thing myself recently (my list is on this page, towards the bottom: http://www.dedasys.com/freesoftware). Perhaps the surpise is that O’Reilly is less prominent than one might think given their high visibility in the portion of the tech world that I deal with. O’Reilly, however, tends more towards documenting current technology well rather than having many books that are timeless classics. I hope they keep focusing on putting out good books that do at least that rather than trying to create their own trends like “Web 2.0” (bleagh!). In any case, we’ll have to wait a while to see if any of their books stand the test of time – a lot of the Addison Wesley and Prentice Hall books are from ten, fifteen, years ago or more (The C Programming Language, Knuth’s books, Design Patterns, etc…).

Hecl

I’m currently working on making it very easy to write and create Hecl applications for J2ME. I’m pleased with how things are going from the community point of view as well – a couple of people have show interest in using Hecl commercially, and I’ve been asked to write an article about it for a European Linux/software magazine, which is something I’d started doing anyway…

Skype

My parents got around to installing Skype and buying a microphone. Free voice calls from Italy to Oregon! The quality is really good, although there are some echo issues that probably come from my use of a cheap microphone.

It sort of bugs me to buy into the network effects of a proprietary system, but on the other hand, anything that keeps my money out of the hands of Telecom Italia makes me happy.

Web Hosting – A Market for Lemons

I wrote an article, here:

http://www.dedasys.com/articles/webhosting_market_lemons.html

about why I think the market for web hosting is a “market for lemons” – the fact that you can’t really tell ahead of time what the quality of service will be like causes it to be a problematic market in some ways, both for service providers and consumers.

It’s a work in progress, so ideas, comments and suggestions are welcome!

Open source economics – the conundrum

I think I agree with Ian Holsman’s analysis of this article on “How to make money from open source” – actually I would go a bit further. Ian says that you don’t need to be a committer to make money from open source. Indeed, in some ways the big question in terms of “open source economics” has been how to more tightly couple the people doing the valuable work with some percentage of the rewards – at least enough to let them keep hacking.

While it’s evident that open source works, and that there are big economic benefits involved, it’s a tough nut to crack in terms of renumeration for people working on stuff. Selling software is, if nothing else, a really simple mental model that is very easy to grasp – you write software, you sell it. If it’s good, people buy it and you can either reinvest that money, or take it as profit.

Open source software that scratches an itch has immediate benefits to the author, especially if the author manages to get other people on board to help out.

But the category that’s not really covered is the group of people writing something “out of the blue” because they think it’s a cool idea. If it is, and it takes off, they really aren’t guaranteed anything at all for their troubles.

I don’t see too many ways around this while still playing by the rules of the game. There are some clever ideas like dual licensing, but they aren’t applicable everywhere. I suppose you could declare software a public good and get the government involved in its production, but I’m not very enthusiastic about that…

In any case, it’s an interesting topic, and perhaps some day clever entrepreneurs will find better ways of financing the production of open source software.

Reading material

Via Ugo Cei I found this reading list:
http://www.joelonsoftware.com/articles/FogCreekMBACurriculum.html, some of which looks to be interesting, but I’m not convinced that it’s a selection where each book is a 9 or a 10. Books like the Mythical Man Month stand the test of time, and some of the books there are good ones by that measure, others look less convincing, at least judging by their contents (too focused on the 90ies, the bubble, a particular company), or some of the reviews on Amazon. Perhaps those aren’t always worthwhile, but the real winners don’t seem to have much flack thrown at them. I’d enjoy hearing why Joel et al. recommend them.

I’ve read these:

in addition to
Microeconomics (6th Edition) as a textbook on Economics.

What are your recommendations?

All things considered, though, I have a hunch that it would be better to be out trying to do rather than reading books about doing…

Mysql ranting

I found this to be entertaining:

http://www.andrewsavory.com/blog/archives/000967.html

especially after having had a rough day myself with Mysql. Basically, I need to take one big gob of data, and mix it in with some other data. I’m ok with SQL – not great – but know exactly how to accomplish what I need to do with SQL (PostgreSQL, in particular). Unfortunately, the Mysql version that I’m dealing with is old, out of date, and is some kind of ugly inbred cousing of SQL. No subqueries, no unions, intersections… blocked every way I turn! Ok, you have joins, but it’s not exactly what I wanted. I got a query that looked good, launched it and… poof, an error! Well, ok, I’ll try again. NO YOU WON’T, because the guy who put this house of cards together used MyISAM tables and so the big insert failed halfway through and didn’t ROLLBACK, like real databases do. So I had to find a way to reverse it myself, and then try again.

I hope I can sheperd this operation along long enough to migrate to PostgreSQL without having a nervous breakdown first.

When you need to get something done quick…

I went to the local Java Users Group meeting last Saturday to check it out. I hope to give a presentation on Hecl sometime soon, so I figured it was fair to go once or twice before showing up to recount about what I’ve been hacking on.

The meeting started off with presentations on first Java Server Faces, then Tapestery. Lots of “then include this, configure that XML file, add these”. The final presentation was two guys who had volunteered to redo the user group web site. After poking around at a few different things, they built it with Ruby on Rails, and gave a presentation on their experience. I was once again surprised at the uptake of that system in the Java world. The response amongst the people with whom I chatted afterwards was that it’s really Rails itself that’s so attractive.

I see Tcl and Tk as being a lot faster than Java for GUI work, but perhaps Java folks are used to using some kind of GUI builder for that, so the difference is less pronounced… and Java’s uptake has probably been greatest in the web world, so it stands to reason that something like Rails would really garner a lot of attention.