Hey what a coincidence! I dunno why he failed with the 4th one.
We maintain a leasing administration system here, and one of the most important/critical features is doing the thing he describes. You can know the exact state of any leasing contract (or a group, or all of them) by chosing a date of the future and past. That way you can compare the expected result vs reality. It is implemented fully inside a SQL DBMS (and works fine)....
Yeah, that bit made me cringe a bit too, since you have to do the something similar for storing insurance policies (track when things become effective, including forward-dated changes, storing past versions, etc.). No predictions necessary in our case. I'm guessing dealing with the time dimension is a general property of any system that needs to store anything that qualifies as a legal contract.
It is true, however, that adding in that time dimension makes everything a much, much harder problem.
I dislike the blog format, I've tried it several times and it doesn't work for me. I found that I prefer the Wiki style where you focus on a TOC. Hopefully Google will figure out how to implement RSS for GSites one day.
This has inspired me to begin looking back at my projects and compiling a similar list of things that I have learned by doing it wrong.