I was in a coffee shop in Portland, Oregon and happened to spot Linus Torvalds sitting alone at a window table. I asked the creator of the Linux operating system and the Git source code control system if I could join him. Over the next fifteen minutes we talked about programming and programmers.
In a little-noticed deal that closed yesterday the Silicon Valley startup apostrophree secured a $25 million first round with Bolus Venture Capital of Palo Alto. apostrophree received seed money from Paul Graham’s Y Combinator earlier this year.
apostrophree is currently conducting a private beta test of their product, a proxy service that corrects common errors of spelling, punctuation, grammar, and usage in blogs and especially comments and discussion forums. I spoke with John Scogan, founder of apostrophree, about his product and company.
This is the first interview posted on Typical Programmer. I plan to do more interviews with programmers who are working on interesting projects and pushing new ideas and technologies.
I had a chance to interview Boyd Hakluyt at O’Reilly’s OSCON 2008 in Portland last week. Boyd is working on a new web application framework called Miasma. Boyd gave a demo at OSCON, and afterward we had some of the local microbrew Portland is famous for and talked about web application frameworks.
Most serious software applications store and retrieve data from databases. Relational databases are widely used to reliably manage large amounts of related data. Here are some database design and programming techniques that work well with Abject-Oriented Programming.
abject adj.: sunk to or existing in a low state or condition.
Abject-oriented programming is a set of practices for encouraging code reuse and making sure programmers are producing code that can be used in production for a long time. The number of lines of code in the application is a common measure of the importance of the application, and the number of lines a programmer can produce in a day, week, or month is a useful metric for project planning and resource allocation. Abject-oriented programming is one of the best ways to get the most lines of code in the shortest time. Continue reading