Earlier quoted context omitted.
I can/have built in some amazing stuff over weekends. But generally the requirements for that are, and in no specific order. 1. I must be in a flow. 2. I am using a technology very familar, so I know the tools and many things. 3. I am doing something new. Not maintaining some ones code or interacting with an external team. 4. No disturbances and other office distractions like office emails. Building new things are di…
Mark Bernstein is recoding a program called StorySpace which dates from 1980s?. He is blogging about it. Day 6 will give a flavour http://www.markbernstein.org/Mar12/Day6.html He is working on a familiar design, and knows the old code. He is recoding in newer tools.
Rome was not built in a day. Neither was Git as we know now. But given a narrow set of requirements you can get a prototype out pretty quickly. Especially today when so many reusable things are available. Linus coded up a distributed vcs(Not with all the feature we know now today) sufficient enough to host itself on a weekend.
Its also depends on the Individual. Some people can sit for long hours at a stretch and focus on problems till something worthwhile comes out. Others can only do little per day.
In this case it looks like a rewrite and rewrites are by no means doing something new. By now he would have had a perfect idea of what he needs to do in the entirety so he would be writing per that design one thing at a time. That is totally different that writing a self hosted vcs from scratch on weekend and then iterating and adding features over years.