Tuesday, June 5, 2007

Releasing open source is hard

I have just published another release of my little QtWorkbench project that I seems to have finally reached to a state of being stable and usable. This project is actually a small one with very few features, dedicated in doing one thing (hopefully) good, that is providing an open source IDE with support for Qt. It's nothing fancy and anyone could say that this is of the things that you can write in a week or so and make an excellent work. That's what I also thought when I started up with it. But guess what? Releasing open source these days is hard! No one will take a product that is of inferior quality seriously and people that will actually try it out will judge with high standards. If you don't get it right then you are in trouble, people will judge you. It is a good thing that the expectations out of open source projects are so high, but still if you are a newcomer (as I still am I guess) then you have to remember that open source is not just a play ground but there are actually people who will count on your product to get their work done. That means that you have to provide everything: easy installation, documentation, everything... I guess I learned my lesson this time.

Monday, February 5, 2007

And darcs it is

At work we use cvs. There is a lot of traveling involved and there is no access to the central repository from outside the company. I never had to develop anything while I was abroad and didn't have the immediate need to search how I would keep in sync with the main repository while I was abroad. Well this time has arrived and I searched for possible solutions to the above problems. After digging and messing around; bazaar, mercurial and darcs seemed like the most appropriate solutions. My final choice was darcs after all, as it seems to be the best documented. Switching to a decentralized versioning system after years of working with centralized ones is a big change. The challenge becomes greater if you have to use both the repositories in parallel. Here is what I did:
  • Checked out a fresh copy of my project from cvs. I did not touch anything on it, not build it nothing. It just serves as an intermediate between the darcs repository and the cvs repository. This folder is created in a pc that has access to the cvs repository (like duh!). A colleague of mine has access to this pc (well it's his own :-)). Let's call this folder "hybrid".
  • Using this config file with tailor (tailor --configfile=tailor.config cvs-to-darcs), I switch the cvs working copy to a darcs repository.
  • Now I create a directory named master and pull the changes from the hybrid directory. The master directory is then packed and given to the developer that will not have access to the cvs repository (yeap that would be me).
  • On the pc that does not have access to the cvs repository the archive containing the master repo as described above is unarchived and a working copy is generated with darcs put.
  • Changes happen in the working repository. When everything is finished, the changes are pushed to the master repository and the whole repository is sent back to the pc that has access to the cvs server. The new master repository replaces the old one and:
cvs update -A tailor --configfile=tailor.config darcs-to-cvs tailor --configfile=tailor.config cvs-to-darcs cd ../master darcs pull ../hybrid
  • The new master repo is then sent back to the remote developer.
This for now has worked just fine. All the above were based on this ticket from the tailor trac.

Just like Kathy said

I just got my own Moleskine and started applying all these GTD stuff. If this doesn't help either then it's official, I 'll never be organized in my whole life. (Maybe I should start saving up for a secretary) My own version has:
  • Next actions
  • Maybe Someday
  • Projects
  • Notes
It is really hard to guess how much space I 'd need for each, so I just took a wild guess. I 'm thinking that as I go on using it I 'll be able to have an estimation on how much space each section will occupy. For now the Next Actions one is reeealy hungry. Since it's still winter, my jacket pocket suits me fine for carrying it around. When the summer comes (and it arrives early here in the Mediterranean) how on Earth am I going to carry it?
* So this is what this entry is all about...