Archive

Archive for December, 2008

Multithreading

December 3rd, 2008 Chris No comments

I’d like to clear the air surrounding multicore processors.  They’re nice, yes.  They’re fancy and expensive and have a lot of (potential) horsepower.  But if we don’t utilize them properly, there’s no point.

Most applications you use daily are single threaded.  For those unfamiliar with threading, I liken a thread to a single train of thought, and a processing core to a single brain.  A single processing core (“brain”) can only work through a single thread (“train of thought”) at a time.

In a world of single threaded applications, multicore architectures are largely pointless.  If a single threaded application can only use a single core at a time, what use is it to have two, four, or however many cores?  Oh sure, if you have two intensely processing-intensive applications, and a dual core machine, you can run the two side by side at near* full steam, but how often does that happen?

We software developers need to be writing multithreaded applications, and taking advantage of the huge opportunity we have.  It doesn’t seem unreasonable to suggest that the chipmakers are moving slowly in the direction of boasting chips with many, albeit individually slower, cores.  I would not be surprised to see a 16 core CPU hit the market by the time I graduate college.  Now, balancing the number of cores with clock speeds will be an ongoing battle, I think, unless some breakthrough is made, allowing us to sidestep the current thermodynamic hurdles for a while.  It’s not uncommon for a GPU to have hundreds of smaller cores.  Look at the NVIDIA’S CUDA technology.

This is no longer a chicken and egg problem.  The chipmakers have built us – are building us – multicore processors, and we should learn to use them properly before someone decides there’s no substantial market for the technology and bails on the idea – there are no winners in that scenario.

* The most common design pattern for a multicore processor is to duplicate the Registers, Control Unit, and Arithmetic Logic Unit, but for the sister cores to share the same L2 cache and bus interface.  And of course, from there on out, the rest of the machine is also (stretching the logic just a bit farther) shared by each core.  So, while you may have 200% the raw processing power, your other system resources will become bottlenecks, thereby cutting back on the overall gain.  Especially important to avoid overcrowding in this situation is the bandwidth of the main system bus.

Categories: Uncategorized Tags:

What NOT To Do

December 2nd, 2008 Chris No comments

Every once in a while, during my daily activities on and about the web, I see something that stops me in my tracks.  Maybe a horrible color scheme.  Perhaps some very poorly chosen wording.  Whatever it is.  There are simply times when I sincerely wish there were a Universal encyclopedia of how NOT to behave, and I could create entries as I saw fit.

car-wreck

How could someone manage that?!  You’d think that someone literally would have to have been trying their hardest to screw up so royally, in order to achieve such mind-bogglingly astounding levels of failure.  It’s really impressive.

As far as web development goes, one time I saw black text on a yellow background, alternating (rather epileptically – you know what I mean) with white text on a black background.  That is how NOT to style your webpresence, whatever it is for.  Period.

More recently, though, I noted in a flash application, that the developers had chosen to grey out and center the text as it was entered into two input elements.  It was highly unnecessary, very unbalancing, and, more dangerously than the rest for the maintainers of the site, very distracting.  I very honestly debated entering my email address and would-be password.  I’m not sure what made me hesitate, but something about the fact that, in a form that was not centered, on a page in which nothing else was centered.  The text I was typing into these input elements, inexplicably, was centered though.  Someone got carried away.  And someone else OK’d it – that’s almost scarier.

Maybe I’m way off base on this one.  Maybe it was really not a big deal.  But, personally, this went down in my book of what NOT to do.

The centered input-elements aside.  In my own travels – of life, of the internet, on the road – a single quote has had an enormous impact on me.  I do not know whom to give credit for it’s astounding wisdom.  An intelligent man learns from his mistakes.  He is wise who learns also from the mistakes of others. When you see something so flagrantly ill-executed that it makes you instantly piteous and amazed all at once, don’t just wave it off and say “well that was dumb.”  Do yourself a favor – take a minute to breathe in the finer, more subtle details of the mishap, and learn not to do the same.

Categories: Uncategorized Tags:

Gmail and Microsoft Outlook

December 1st, 2008 Chris No comments

gmail

I can’t get enough of Gmail.  It rules.

The conversation-based (as opposed to singular message-based) interface approach is a quite simple, yet ingenious tweak that really gives the web app a nice flow.  And, of course, it’s Google technology, so with Gmail, everything is search-able, and you never have to delete anything.  Also, the spam filter has never failed me once.

What could be better than my Gmail address having an interface of this caliber?  Why, having ALL of my email addresses use a similar interface.  And that’s just what Gmail lets you do.  You can use your standard Gmail account as a [POP, SMTP, and/or IMAP] client for up to five (count ‘em, FIVE) additional addresses.

gmail-hub

Now, I’ve been using Gmail like this for about six months, and I have to say I’ve been completely satisfied in every way.  Except one.  Every once in a while, I’ll get someone ask me why my name, on mail I’ve sent, appears “On Behalf of Chris Tonkinson.”

Gmail acts as does any other POP or IMAP client – so why should my outgoing mail be thus disorganized and unappealing? It turns out that when you send mail from a different address through your Gmail interface, Google automatically adds your Gmail account to the “sender” field to avoid it looking like spam.  And, in some versions of Microsoft Outlook, this can lead to the interface declaring that you are sending mail on your own behalf.

Perhaps you view this as proper behavior.  Perhaps not.  Either way, it seems annoying that anyone using Outlook should be encumbered by this extra verbiage.

Update: This issue has been addressed.

Categories: Uncategorized Tags: