Archivo para 18 diciembre 2010

And you … Do you dare to predict what will happen in 2091?

An interesting article (in spanish) about how great minds of the time thought things will be in 2011 80 years ago finishes with an open question which is the title of this post: And you … Do you dare to predict what will happen in 2091?

I can’t resist to try, and here is why. The future is a sea of posibilities, and our mind is developed precisely to predict it. We are machines that are always classifying, archiving information and making relations between the data. Using this knowledge we can find out things about the world. Childs are bad understanding the speed of moving things, and that’s one of the reasons you should be careful letting a child cross the street. The other of course is that childs don’t understand that they need to focus on the important task of crossing the street, and even if they do, they don’t know what data should they be looking for and how to mine that data. With time and experience, we grow, and we can predict this kind of events much better and it also stops being something important.

Such a thing happens all the time. We learn something, and it becomes trivial, and suddently it’s boring stuff. But it’s much more difficult to learn anything if you didn’t experience it. That’s why learning history is so important. And even if you know history, you’ll probably not internalize it. Errors of the past will come over and over again by new people. And trial and error is often a very convenient and powerful way of learning with computers that everyone uses, but it’s not much so covenient in other matters.

Bottom line is, it’s very interesting to see how the predictions of these prominent people of the past failed. Sometimes reality surpassed their predictions, some others it came short. For example, Doctor Mayopredicted correctly that most infectius ailments would be minimized and controlled and most deaths would be due to heart issues, cancer, etc. He predicted 70 years of life expectancy in USA, and it’s now 77. However, these greats minds of the past predicted poverty will have ended, and that we would have an equitative wealth distribution, and it’s clear that it’s not the case.

When doing a prediction for the distant future, it’s difficult not fall into wishful thinking. Things changes faster than ever, and currently technology is indistinguishable from magic. Because of that, and that my field of expertise is that one related to Computers, that’s where I will make (most) predictions for: I have a better insight on it. However that will be more difficult for me, because as you know 80 in computers might be comparable to 5 centuries in other fields.

My predictions for 2091:

Privacy will be at the same time a very important legislated issue, and futile. Governments and private companies will have found unimaginable ways of cooperating for invading citiziens’ privacy, and still most people will think/find that it is for the good of them and cooperate with this task every single day at all hours. There will be some countries like Iceland that will have put a limit to this, but people will still be so dependent on technology that it won’t matter that much.

Most people won’t call themselves cyborgs, but they will be: they’ll have some kind of alien tecnology in their bodies to gather information and communicate, or perhaps they might wear fancy stylish hats that read their minds. Silent people walking on the street will be able to talk with each other using this technology.

Computers will have changed a lot, but then again not that much. We will still be using very similar devices as some that we use today: screens and keyboards – or at least computer programers will. Non-trivial software will still be created in a written computer language. Of course, trivial will have a different meaning in the future.

Cars will still be a very important means of transport. But they will be electric cars, in most cases public taxis in big important cities, and no person will drive them, they will drive themselves and thus roads will be much more secure than today.

Genetic advances will still be happening and feel like the field has just started to emerge. It will be like it was computer intelligence for us: it will feel like it never quite started, but it did indeed. We the people born before year ~2030 will be old and very ugy in the eyes of the new youth generation that will all be tall, in good health, beautiful and have perfect bodies. Life expectancy will have reached 100 years, so I might still be alive but I’ll probably have forgotten this post.

Presenting git timetracker

Damn, it’s been a while since last post, again. Anyway, I’m here to present you a new git tool I’ve been working on together with Daniel (danigm): the new git timetrack comand, part of the distributed time tracker project. It allows you to track the time spent in commits done to a git repository.

It’s quite simple to use: you do a git timetrack –start, the clock starts counting. Then you go for a coffee, you use git timetrack –stop for that, and then when you come back, you can continue counting the time executing git timetrack –start. Then you do a commit, and it gets automatically annotated with the time spent, and the clock stops counting. Some random notes:

  • To start using git timetrack, you need to first execute git timetrack –init in your project to add the needed hooks and options to .git/config.
  • The time annotations will appear in git log in seconds, and will be shown more nicely when using git timetrack –log.
  • If you forgot to start tracking the time for a commit, you can execute git timetrack –set X to set the clock to X minutes, and then continue counting the time with git timetrack –stop. And if you messed the time and want to start from zero, you can do a git timetrack –reset (or git timetrack –set 0).
  • You can add an estimation of the time you spent in last commit with git timetrack –set X and then “amending” the commit (adding the times-pent) with git timetrack –amend. Using that, you can also change the time spent in last commit, and you can also change/set the time spent in any commit giving the commit-ref to the –amend option.
  • For consulting how much time have you been currently spent in next commit (i.e. the status of the stopwatch), use git timetrack –current.
  • For consulting the time spent in the project, use git timetrack –summary . It internally makes use of git log, and allows the same options as git log, so git timetrack –summary – –since=1week dir/file.c would tell you the time spent in dir/file.c since last week.
  • If you’re going to start hacking and thus do a batch of commits, you might not want to execute git timetrack –start to start counting the time after each commit. That’s automatically done for you if you use the properly named option git timetrack –start-hacking!
  • List all the options available with git timetrack -h.

Git timetracker uses Git notes to add time-spent annotations to commits.  That means that thos annotations do not modify the commits and leave them intact, and are stored in a git notes branch instead. Git notes itself is quite recent and git timetracker  requires git-next (git development unstable branch) because it makes use of the git notes merge feature to be able to share the timetracker notes between users and merge changes on it nicely.

Why did we develop timetracker? We are creating a small software company called Wadobo, and we needed to do (rough) estimations of the time the development in the projects we work on will take, so we thought that the first thing we needed is having some real information about time spent in those projects.

I think that this can be really useful for the mentioned usecase. The tool is quite new but works-fine-for-me (TM) and we’ve been using it for a project for nearly two weeks already. Hopefully you like this little gem from us.

PS: I wanted to do a screencast, I really tried, but boy is that a difficult task to do. ffmpeg is segfaulting (I don’t use/have pulse audio but directly alsa). xvidcap is not capturing audio in the arch linux binary, and it’s diffcult to compile. recordmydesktop gives me audio artifacts. aur/screencast is not compiling… I gave up, have better things to do. What tools would you recommend to me?