Some fresh bookmarks from delicious.com

Some fresh bookmarks from delicious.com:

Some fresh bookmarks from delicious.com

Salon, my favourite online magazine, has started a new venture titled Open Salon. It’s a sort of a blog portal. I’m always on the lookout for great reading material, and this seems to be a very promising concept: content created by a wide range of people, but filtered by a human with some taste and discernment. I hope it continues as well as it’s started.

In fact the paragraph above is just an excuse for these two links, which I just couldn’t resist posting: chemistry and From the mouths of babes.

I read blogs. Quite a number of blogs, actually. I’ve thought occasionally about adding a blog roll here, but quickly discarded the idea, because I’ve never found other people’s blog rolls useful for actually finding new interesting blogs. There is too little information: just a list of links. But on the other hand I do like to hear about new interesting blogs, and I imagine some of you may, too, so I’d like to spread the word about the ones that I like.

Here are the blogs I read, in alphabetical order, plus a few non-RSS blogs and other sites that I skim or read every few days. (Those all either have no RSS feed, or have really bad ones, but are sufficiently useful or interesting to make actually open the pages manually.) There’s also one news site for every country I care about (Estonia, Sweden, England) – each of them the least bad of a generally unsatisfactory offering.

RSS:

3 Quarks Daily – a filter blog posting “interesting items from around the web on a daily basis, in the areas of science, design, literature, current affairs, art, and anything else we deem inherently fascinating”. Think BoingBoing but with more intellectual content and less geeky humour. One of my favourite blogs whose only shortcoming is the number of posts, which is starting to be too much. (Incidentally that is why I dropped BoingBoing from my blog list: there was just too much of it.)

Ask Moxie – parenting Q&A remarkable for its sensible advice and sensible readers/commenters.

BabyGadget – beautiful baby stuff, furniture, clothes, toys etc (but rarely any gadgets). None that I have seriously considered buying but they are nice to look at.

Coding Horror – my favourite blog about software development, more specifically about “programming and human factors”. Well written, interesting and insightful posts from a developer who clearly spends time thinking and not just coding.

Confessions of a Pioneer Woman – a woman on a cattle farm in the US somewhere, who writes funny posts about and posts great photos of her life on that farm. Above all this blog is very very funny.

Ebalogaalne – My one and only blog in Estonian, by a linguist and generally nice guy. The only well-written Estonian blog I have found, and believe me I have searched, so I really treasure this one.

Good Enough Mum – another very sensible English mum.

Itching for Eestimaa – an American expat in Estonia writing about Estonian politics and his experiences in and of Estonia.

Joel on Software – Joel Spolsky writes about software. Sometimes insightful, always discussion-provoking.

Nee Naw – an ambulance dispatcher in London. I don’t know why, but I find his stories interesting.

NY Times most emailed – I like the NY Times, but their site is too big for me to read and filter, so I let others do the filtering for me.

Parent Hacks – does what it says on the tin.

Random Acts of Reality – an ambulance driver in London.

Schneier on Security – a security consultant (who also writes good books, by the way) writing about security issues from a human angle.

separated by a common language – about the differences between British and American English.

SF Site – science fiction, mostly book reviews.

The Daily Grind – news in the .NET world.

The Daily WTF – daily weirdnesses from the world of software. Not as good as it used to be, but still good for a daily chuckle.

The Happiness Project – one woman’s quest for a happier life. I keep thinking that I should do something similar (although not in a blog) but keep putting it off. Her blog reminds me to think about my own life.

The Loom – a science blog with posts about parasites, dinosaurs, science tattoos etc.

This Blog Needs No Name – my own blog. I read the RSS feed so that I get a local copy of the blog, for when I want to go back and look up a previous post.

XKCD – funny comics.

Zen Habits – another blog with tips for better living.

Non-RSS:

BBC News – for English news.

Eesti päevaleht – for Estonian news.

Google News – for global news.

reddit – to see what other people consider hot.

Salon – my favourite online magazine.

Stockholm’s SF bookshop – for more SF book tips.

Svenska Dagbladet – for Swedish news.

Given that I write a blog, it should come as no surprise to you that I read blogs as well. There’s about twenty that I read regularly – not daily, but a steady rotation through the list ensures that I see each one at least twice a week. The blogs range from the very techy to simply enjoyable writing.

There’s quite a lot of turnover in that list. One single very interesting post may be enough to get a blog onto the list. Then I keep checking the blog for a few weeks to see what else they come up with. If a month goes past without any posts of value, they’re thrown out, no matter how good that first post was. There’s enough cross-linking among good tech blogs to make sure that I don’t miss anything really astounding.

The blog that I’ve been reading the longest is Jeff Atwood’s Coding Horror. I have read every single post since at least the beginning of 2005 (when I started doing .NET development). With other blogs, I might skip what they wrote while I was out on vacation, but not with Coding Horror.

What makes it so good? Interesting content is the primary factor. Most of it is about “.NET and human factors”, as the blog byline says, or about general software development issues. He makes me think of things in a new light, or think of things that I hadn’t even stopped to consider before. While I don’t always agree with his views, he is clearly a man who thinks, and there aren’t too many of them out there! The issues he writes about are so general that most would be relevant or useful even if I worked with COBOL. At the same time, the range of topics is wide enough that he doesn’t get boring or repeat himself. I haven’t found any other blog or magazine out there that is so consistently interesting.

Which brings to mind another important component: consistency. He posts regularly, and consistently about a single topic. There are no posts about his vacation, or photos from his latest night out, and no long gaps – bad habits that ruin many other programming blogs. A programming blog should be about programming; private life belongs elsewhere. Few readers are likely to be interested in both. (I don’t follow this rule myself, but on the other hand I never aspired to a large audience for this blog.)

There is also consistence of quality, both in content and in presentation. Jeff’s blog is not the kind that gets the whole blogosphere’s attention for a few days, only to be forgotten after that. Instead there is a steady flow of interesting, thought-provoking, enlightening, well-written commentary.

Finally, his blog is a pleasure to read because it looks good. It is clean, clear and easy on the eyes. Compare, for example, the CodeBetter blogs: large and noisy header, blinking ads, colourful links, a gazillion reminders to “Share this post: Email it! | bookmark it! | digg it! | reddit!| kick it!”, and a side bar longer than my arm.

If I had a tech blog, I would be really proud and satisfied if I could make it as good as Jeff’s.

I’ve been a member and moderator of XtremeVBTalk, a discussion forum about Visual Basic, for several years now. At first I asked a few questions, but I soon realised that answering them is a lot more interesting and educational, so I’ve mostly been doing that. I especially like answering questions that I almost know the answer to, but not entirely – I know where to start but not where it will end. (Those are the educational ones.) The other interesting category is open-ended questions about fundamental principles and approaches – the kind that asks, “How would you approach this problem” or “How would you start thinking about this”.

That site has done more for my education and development as a programmer than any other resource out there. In fact, if it hadn’t been for XVBT, I am pretty sure I wouldn’t hold my current programming job. I might have gotten there by some other route in the end, but it would certainly have taken a lot longer.

Answering other people’s questions, and reading even more questions, I can’t help noticing that some people there have no business programming. The whole enterprise is obviously doomed from the start. Some of them stick around for many months, and there is no perceptible improvement in the quality of their posts. Their questions are not ignorant – which would excusable. Worse: they display such a fundamental lack of understanding of the basic principles of programming that I don’t even understand how they think. I’ve tentatively come to conclude that to them, programming appears to be a combination of (1) imitation (= copy & paste), (2) random attempts at changing things without understanding why they do what they do, or knowing what effect they expect the change to have, and (3) simply crossing their fingers and hoping. Basically they appear to treat computers as black magic, unpredictable and unfathomable, rather than as dumb machines.

I found an interesting article a month or two ago, that talks about this – The camel has two humps, by Dehnadi and Bornat. The authors gave students a multiple-choice test asking them to predict the results of very simple Java programs, focusing on simple assignment. The code for a typical question looked like this:

int a = 10;
int b = 20;
a = b;

Their intention was to “observe the mental models that students used when thinking about assignment instructions”. The test was administered twice – before the start of a programming course, and in the middle – and correlated to results on examinations.

Some quotes from the article:

We expected that after a short period of instruction our novices would be fairly confused and so
would display a wide range of mental models. We expected that as time went by the ones who
were successfully learning to program would converge on a model that corresponds to the way that
a Java program works.

We could hardly expect that students would choose the Java model of assignment […], but it rapidly became clear that despite their various choices of model, in the first administration
they divided into three distinct groups with no overlap at all:

  • 44% used the same model for all, or almost all, of the questions. We called this the consistent
    group.
  • 39% used different models for different questions. We called this the the inconsistent group.
  • The remaining 8% refused to answer all or almost all of the questions. We called this the
    blank group.

It turns out that the consistent group generally succeeds in their exams, and the inconsistent group performs poorly. Notably, some students moved from the inconsistent group to the consistent one during their course, but no one moved in the opposite direction.

And finally the important bit – why is this so? This is the part that I found really interesting, because it matched my own observations so closely:

It now seems to us, although we are aware that at this point we do not have sufficient data, and so
it must remain a speculation, that what distinguishes the two groups is their different attitudes to
meaninglessness.
Formal logical proofs, and therefore programs – which are formal logical proofs that particular
computations are possible, expressed in a formal system called a programming language – are
utterly meaningless. To write a computer program you have to come to terms with this, to accept
that whatever the problem seems to mean, the machine will blindly follow its meaningless rules and
come to some meaningless conclusion. In behaving consistently in the test, the consistent group
showed a pre-acceptance of this fact: they are capable of seeing mathematical calculation problems
in terms of rules, and can follow those rules wheresoever they may lead. The inconsistent group,
on the other hand, looks for meaning where it is not. The blank group knows that it is looking at
meaninglessness, and rejects it.

I recommend you to have a look if you’re interested in programming and/or education at all. It’s a well-written article and easy to follow, since presents both the methodology and results very clearly. And at only 13 pages it’s quick to read.

Among my daily list of blogs and news, there are two photoblogs. My favourite one is Daily Dose of Imagery. It is what it says on the tin: my daily dose of imagery. Sam Javanrouh, a Toronto-based Iranian photographer, posts a new photo daily.

The pictures are mostly city scenes. He often makes great use of colour, light, contrast and reflections, and simple shapes. I like his ability to see and capture beauty in ordinary things in ordinary places. His recent brickworks series, which I liked very much, was taken in an abandoned factory, for example, but many are just from Toronto’s streets.

I am determined not to let this blog degenerate into another link collection, which is what many blogs out there have become nowadays. One blogger (or non-blog site) says something interesting, and then everybody else links to that, and posts a sentence or two, but doesn’t add anything new. Quite an incestuous club.

However, there are some sites out there that I just find too interesting to be ignored.

The blog about the upcoming new version of Excel is one of them. It’s a thorough overview of new features in Excel 12, with lots of detail and lots of screenshots. The blog is also quite well written, and the guy himself is very responsive. The blog is a pleasure to read and participate in.

For the first time ever, I find myself looking forward to a new version of Office, and feeling excited about what is coming. So many annoyances are getting fixed, and so many nice new features are coming!

Excel is my #1 tool at work – I use it for maybe 75% of my projects & tasks, so any shortcomings have ample opportunity to make themselves felt. Indeed, with many of them I’ve progressed through all 5 stages of frustration – ignorance, annoyance, denial, damning them to the nethermost hells, and acceptance. Finally I get so used to them that they become fixtures in my life, and I no longer question them. In fact I’ve almost grown fond of them and the workarounds and tweaks that I’ve learned to use in order to get around them, and I’ve long since given up expecting them to be fixed.

One doesn’t expect Microsoft to change any of the things that matter, after all – upgrades mostly just make minor tweaks to existing features, and change the looks of all toolbars. (This version is no different, of course – the toolbars get a new design again.) There hasn’t been anything really new for about 10 years, since Excel 97.

It is interesting to see that this time, Microsoft is actually fixing many of these annoyances – formula length limits, IF() nesting limits, array formula limits, the awful interface for conditional formatting. As one of the commenters at that blog jokingly said, Microsoft “are putting us developers out of business… In the old days, those of us who knew how to do Conditional Formatting wielded great power over less competent users.”

At the same time, they’re adding a lot of new features that really look very useful. And I’m sure we’ll discover that all sorts of new unexpected things will become possible as well. It’s an exciting time to be an Excel developer.

The blog is also interesting in and of itself. Well before the product is released, a Microsoft employee is sharing the firm’s plans and designs with users, engaging in a discussion with them, and soliciting their comments and feedback. A blog is an excellent medium for such a discussion. I’ve never submitted comments on any of Microsoft’s web sites or surveys – there’s always the feeling that they’ll just disappear into a black hole, get chewed up by the Microsoft Machine and never emerge again. Here, there’s a person on the other side who actually responds to my comments. A novel feeling!