Sunday, February 6, 2011

HN as the open door, and why HN is so awesome.

When I found HN, I was delighted to get an interesting feed of new data. The signal to noise ratio is way better than anything I've ever seen.

For me, HN is the open door. Most of my life is researching in a cave solving problems that no one really has except me. I like my cave. Problematically, as Hamming said, when you have a closed door, then you get more done and can solve more problems, but are you solving the right problems?

Personal Aside:

I spent the better part of a two years writing a programming language in my cave. Some facts.

First, this was really fun.

Second, it went to production and was in commercial web sites (which I'm not supposed to talk about).

Finally, the problem I was trying to solve was "scalability" at the programming language level. Putting scalability and performance problems ahead of real problems is a prime example of why pre-optimization is evil. It never ends, and you can't ship it. This was a difficult lesson to learn (still, pre-optimization is a lot of fun).

I think there is something in the problem I was solving. Namely, I think if you go the static typing route, then you could in theory produce a programming language and a schema language that can solve your infrastructure and data needs given the right platforms (like S3, SimpleDB, riak, redis, etc).

Essentially, I was trying to make a "scalability solver" by looking at a statically typed schema and how that schema was accessed by the programming language.

Well, this is the problem with the closed door and being isolated. I doubt anyone needs a scalability solver. Fortunately, my quest to solving this problem was to find, classify, study all new NoSQL solutions/platforms as well as master relational databases. This is how I discovered CouchDB.

It is an odd thing to admit to yourself that you've failed and wasted a lot of time.

Generally speaking, I've got an open mind when I'm not distracted by geek-crack (writing a programming language is pure geek-crack). So, when I tried CouchDB I realized two things.

I don't need (nor does anyone need) a "scalability solver".

Static typing and schema suck. In general, I like some of the problems that static typing can solve (performance, type safety, contractual programming, proofs), but those are not the majority of programming problems. I think learning static typing is important to be a complete programmer, but I also think mastering dynamic typing is more important to getting things done. I feel the same way about schema, and I'm developing new tools around CouchDB centered on a forensic techniques using map reduce.

Back to HN.

Hacker news is like an open door uniting all organizations small or big of people who are opened minded enough to debate rather than argue an agenda. If you open your mind, then you can maximize the value from the HN community by treating it as an open door.

Namely, you'll get less done, but you can tune what you get done to what is more relevant. At least, in regards to technical relevancy.

No comments:

Post a Comment