Marko Anastasov software developer, entrepreneur and other things

These are the four most recent blog posts. All are collected in the archive.
You can email me at marko.anastasov@gmail.com and find me on other sites.

Homeless of the web

While reading Ryan Dahl’s recent rant I’ve noticed how he often jumps publishing sites. He used to be (and still is, sometimes) on LiveJournal back in the day. Obviously I’ve been into having your domain and owning your data and all that, but there’s something compelling about being homeless on the web.

When you own your domain and managing your stuff, you’re stuck with it for a long time—rarely you get the time and inspiration to change something. You usually need to make a little more effort in “promoting” it. Statistically it’s more likely that you will not renew your domain than that the free blogging platform will disappear. If they’re worth it, your creations will live their own life. These are all just words in the end.

Oct 06, 2011

Educators who are not engineers

I think there are various degrees of disconnectedness from practice in people who educate and equip programmers. It seems to in descending order for academics, language inventors, framework authors and book writers. That’s a blatant generalization of course, but I think it applies in many cases.

I’ll go on, in fact: academics “assume time is free and infinite” (via DF), language inventors are nebulous, framework developers have not shipped a commercial application in years and book writers decide to write books when they’re through their second tutorial of a marketable new programming language.

The best things in software development happen when a maker finds himself in one of those roles. Books are a different case though, as they require a gift for teaching, and it’s not a coincidence that some of the best books are co-written by “serial book writers”.

I thought of this while I was searching about a new programming language, and I found one person’s praising blog post. It was full of logic which was on a purely philosophical level. Advanced features were treated with a single sentence. I browsed the archives a bit and found out that this guy had started to study the language about two months before that post. Fast forward a few months to present, he’s writing a book about it. Meanwhile he wrote one app in another language during the whole past year. I find that suspicious. Can you really trust your learning time with someone like that?

Oct 04, 2011

Kay's future

Here’s an interesting talk by Alan Kay (via) about some exciting history in computing that he was part of but didn’t spread, how new is much harder than news, how the web was done by amateurs etc. Many, many ideas float.

Is Apple, with more cash than the US state, forever going to cater only to people’s primal computing needs? Why not try to make something new (in software) and educate people about it? I like my iPad-the-reading-device but sometimes it feels shallow.

Kay says that the desktop GUI that we have today was just a subset that he intended for children. He also brings up an “old” idea about making software objects communicate not by agreemeent, but by negotiation. That’s what we do between ourselves all the time. We’re a kind that has agreed on so little.

Anything that takes a big deal of agreement is likely to fail. A lot of things on the web are like that. The foundations are very primitive, and we cannot evolve particularly brilliant things on top of them. Latest reminder is the unfolding drama of Google Dash.

Sep 12, 2011

Knuth on multicore

In this short video interview that we found, Donald Knuth throws an interesting opinion that I didn’t hear anyone expressing publicly:

I don’t know anybody who likes multicore except the people that are manufacturing the chips, and they’re saying “Well, now we’re giving you all this great hardware” … [the chip designers] are just passing the buck, they ran out of ideas and so they said “OK now it’s your problem”.

These multicores actually do a lot of important things well and so if you’re good in video games or you’re doing some calculations like physicists like to have… then multicore is a super thing. The trouble is, when I look at the last 2000 programs I’ve written, maybe 2 of them are helped by multicore.

While I like the idea of learning a new programming language that will change and expand my thinking, the idea of learning one “to tackle multi-core complexity” never felt right — as if we wanted that complexity in the first place. Once again, it’s worth remembering to practice the skill of taking a step back and seeing beyond what is served and marketed to us.

On the other hand, a professor from my university, who taught an OS course where we were writing concurrent programs in C++, said at the end of the semester that concurrency is a way of thinking, and if you really mastered it, you will approach and solve many problems that way. So it’s probably not an option to avoid entirely, and new languages and frameworks(?) should help us explore those grounds.

Jan 22, 2011