Tuesday, February 28, 2012

Universal Flu Vaccine...

Scientists are working on “universal” flu vaccines.  Unlike the current flu vaccines, these don't have to be custom-made for each variant of the flu.  Some of them are in clinical trials.

Faster, please!

Crowdsourced English...

What will they think of next?

It's No Longer Possible...

Most of the time, I don't long for the “good old days” at all – mainly because there's so much about the old days that really wasn't all that good.  In my profession, the computers have gotten more powerful, cheaper, and smaller – and the tools we use today are fantastically powerful compared to the (by comparison) extremely primitive tools I first learned.

But there is one aspect of working with microcomputers that I miss.  When I first got started (in the '70s), it was possible for a single individual to understand how an entire computer worked.  I know this, because in the late '70s, some friends and I had a company making microcomputers.  I designed (and we built) the entire thing: electronics (even the power supply!), operating system, and application software.  We bought components and some subsystems (like floppy disk drives), but everything else we built.  It wasn't even that hard.  Computers were much simpler back then.

Today's computers are far too complex for one person to design and build the whole thing.  Most people working with computers today know one area reasonably well, but the rest of the computer is a bit of a mystery to them.  I'm not the only one to notice this

That's the part I really do miss: knowing how the whole thing worked...

Quote of the Day...

From Linus Torvalds, in 2007 (but I just read it):
C++ is a horrible language.
If you're a programmer, that statement will either (a) resonate strongly, or (b) infuriate you.  I'm in the (a) group.

If you're not a geek, you may not know who Linus Torvalds is.  He's one of the people who has revolutionized the world of software development, in his case twice: once for the development (and continued management of) the free open source operating system called “Linux”, the other for development of a revolutionary new source code management tool called “git”.  He is a hero to many geeks.  He's also a bit of a bad boy, and the rest of the context for that quote provides a fine example:
From: Linus Torvalds linux-foundation.org>
Subject: Re: [RFC] Convert builin-mailinfo.c to use The Better String Library.
Newsgroups: gmane.comp.version-control.git
Date: 2007-09-06 17:50:28 GMT (2 years, 14 weeks, 16 hours and 36 minutes ago)

On Wed, 5 Sep 2007, Dmitry Kakurin wrote:
>
> When I first looked at Git source code two things struck me as odd:
> 1. Pure C as opposed to C++. No idea why. Please don't talk about portability,
> it's BS.

*YOU* are full of bullshit.

C++ is a horrible language. It's made more horrible by the fact that a lot of substandard programmers use it, to the point where it's much much easier to generate total and utter crap with it. Quite frankly, even if the choice of C were to do *nothing* but keep the C++ programmers out, that in itself would be a huge reason to use C.

In other words: the choice of C is the only sane choice. I know Miles Bader jokingly said "to piss you off", but it's actually true. I've come to the conclusion that any programmer that would prefer the project to be in C++ over C is likely a programmer that I really *would* prefer to piss off, so that he doesn't come and screw up any project I'm involved with.

C++ leads to really really bad design choices. You invariably start using the "nice" library features of the language like STL and Boost and other total and utter crap, that may "help" you program, but causes:

- infinite amounts of pain when they don't work (and anybody who tells me that STL and especially Boost are stable and portable is just so full of BS that it's not even funny)

- inefficient abstracted programming models where two years down the road you notice that some abstraction wasn't very efficient, but now all your code depends on all the nice object models around it, and you cannot fix it without rewriting your app.

In other words, the only way to do good, efficient, and system-level and portable C++ ends up to limit yourself to all the things that are basically available in C. And limiting your project to C means that people don't screw that up, and also means that you get a lot of programmers that do actually understand low-level issues and don't screw things up with any idiotic "object model" crap.

So I'm sorry, but for something like git, where efficiency was a primary objective, the "advantages" of C++ is just a huge mistake. The fact that we also piss off people who cannot see that is just a big additional advantage.

If you want a VCS that is written in C++, go play with Monotone. Really. They use a "real database". They use "nice object-oriented libraries". They use "nice C++ abstractions". And quite frankly, as a result of all these design decisions that sound so appealing to some CS people, the end result is a horrible and unmaintainable mess.

But I'm sure you'd like it more than git.

Linus

Where the Page Views Come From...

One of the things about this little blog that I monitor is where my readers come from.  Over the years, I've commented a few times about surprises in this.  In general, this blog has two kinds of readers – a core of mainly friends and family who visit regularly, and then lots of readers who come in because some post of mine popped up in their Google search results (I get hits from other search engines, too, but Google totally dominates).  That latter group is where the surprises generally come from: some search term that gets used frequently and points to my blog.

For example, one search term that regularly pops up is “kevlar shoelaces”.  Enter that search term into Google, and (at this writing) my blog post shows up as the 11th hit.  That generates a lot of visits to my blog.

Right now another search term is leading the pack: “servicenow ipo”.  My blog post the other day is the third hit on the results of that search, and it's bringing an interesting group of readers to my blog.  I can tell roughly where these readers are, by their IP addresses – the people searching for “servicenow ipo” are mostly in New York, London, San Jose, and Los Angeles.  That sounds like financials, tech, and investors to me.

I don't really know what any of that means, but it sure is fun to watch and wonder!