Sunday, April 10, 2011

Barrier to Entry

Let me start this with a disclaimer: I’m not a linguist, nor am I particularly in touch with scientific publishing norms. I’m making a lot of assumptions here, and if they turn out to be wrong, well, caveat emptor.

The claim is that we have absolutely no appreciation for the benefit we’ve been given due to the fact that English has become the de-facto global language. Yes, we get to watch most of the best movies without subtitles, and there’s tons of music that we can understand the lyrics to. That’s nice, and it’s probably played a large part in why English has remained the dominant language around the world. But it’s not the biggest impact by any means.

Really, the thing we should be thankful for, and the thing we should be determined not to lose at any cost, is the access our language gives us to science.

Sunday, April 4, 2010

The Bedrock Of Engineering

Call me conceited, but I'm going to write this entry based on the idea that I am a stereotypical engineer. I know right off the bat that it's not true -- I'm not nearly interested enough in math to fully embody the role, nor am I enough of a disciplined analytical thinker to really carry the title. My core personality is more along the lines of engineering by gut feeling. I'm technical enough to pull it off, but I don't have the chops in science to really own it in the same way as someone who still remembers everything they learned in calculus ten years after college. But I do think there's a common aspect between my personality and that of someone who's more methodical and, well, a classical engineer, and that is the desire to fix things.

I'm not just talking about a vague desire to make things better. Pretty much everyone has that, engineer or no. I'm talking about a deep-seated frustration with things that are slower than they could be. I'm talking about an exasperation that rises from deep within at the hint that you might be doing something repetitive -- and not just repetitive, but when doing anything that you haven't been personally been convinced is worth your time. If your reaction to a boring task is not, "Let's get this over with," but, "Let's automate this so I can do it in one percent of the time," that's the core of the engineering mindset.

It comes so naturally to me that it's something of a shock when I step back and look at all the elements that have to be in place to give me the luxury of even thinking about this. Combined millennia of engineering effort have gone into creating flexible, multipurpose tools that I can play with on a whim. The fact that the Internet will shuttle any piece of information from anywhere, to anywhere, without any setup cost by the person injecting the information into the network is a minor miracle. These things give me the kind of freedom to create that people one hundred years ago could only dream of, and yet I still find everything too slow, too repetitive, and badly in need of fixing.

Sunday, March 28, 2010

Jack Of All Friends

I have to admit that as much as I love shiny new tech, I tend to be a skeptic when it comes to technology fads. I straight-up don't understand the appeal of Facebook, to this day. Maybe it's the way it emphasizes the quantity of your connections over any of the activities it enables once you have those connections in the system. The mad land rush to grab as many friends as possible back around 2005, when Facebook was still exclusive to those with email accounts from selected colleges, left my contact list cluttered with way too many contacts with whom I'm not really interested in sharing the kinds of things Facebook wants me to share. I'm left with a choice of either telling a bunch of people that I'm not really their friend -- honest, but potentially quite rude -- or not using the service at all.

The problem I have at its core is with indiscriminately broadcasting information about myself all over the Internet. Certain things obviously are more okay than others. Blogging, apparently, is one of those things that I don't have a problem with, mostly because it's filtered and limited to stuff that I don't mind saying to anyone. Obviously this results in a different type of output than something filtered, so while I enjoy putting this work out there it's not going to be an outlet for everything I want to say. Despite the fact that almost nobody will see it, the fact that literally anybody potentially could is enough to limit the utility of the medium for me.

Facebook provides filters, though. I currently have everything locked down to "friends only" mode, so it's not a question of blocking information from strangers. I think it's more a question of partitions and groups. I want an output where the purpose is more limited, that gives the communication a more definite context. Long form communication like blogging makes sense because it takes some more thought to write a full post. Facebook communication is shorter, more off the cuff, and as such I want some kind of filter that I can consider once and rely on the next time I'm saying random things.

Sunday, March 21, 2010

A Failure To Communicate

Today was the health care reform bill vote in the House. I'm still avoiding political topics directly, but there's a technical topic here as well which continues to mystify me, and that is the complete lack of any kind of unified information stream available on the Internet. There's a raw stream of Congress available on a number of websites, sure -- unfiltered, and without context. There are news articles updated every couple of hours, but with no real status updates. This is obviously the big story of the day, and these two items are at the top of the page, which shows they know this.

The difference between the website content and that on television is night and day. The television broadcast has extensive, rich commentary including highlights of the event, and nearly real-time analysis not only of the proceedings, but of historic context around them. It's wonderful, and provides a lot of important information to help make sense of what's happening (note that here I'm referring to the MSNBC coverage -- I don't care much for CNN). But since this is on television it's inherently a one-way experience, with no opportunity to direct the conversation from my end.

The television broadcast indicates that they do understand how to create a compelling context around a real-time event. So why can't they do it in a bi-directional medium? I hope it's self evident how much more valuable this could be, since the asides could be selected when the viewer is interested rather than when the producer thinks everyone will be interested. I would even be satisfied with largely the same experience as the television broadcast with an additional "procedural comments" ticker provided by another set of commentators working in the background.

Sunday, March 14, 2010

The Other Side Of The Coin

There's an idea held by some who work in technology that all you need to turn out great results is to get a bunch of smart people together and let them go at it. Surely if you just give them enough time and resources they'll turn out something amazing, right? And in some ways it's true, because you'll get some very creative ideas, and some new ways of doing things that can probably be turned into a successful business. But despite some good ideas and some shiny new tech, you're almost always going to find that a group put together with no supervision or income based on results is going to turn out systems that are nearly unusable.

That's because the neat ideas, as fun as they are, don't make up the whole system. In any usable item there are a couple of neat ideas, and a whole lot of incredibly boring work that went into finishing the rest of the product. The reason everything around you works half as well as it does is that there are millions of hours of human attention devoted to the items within 20 feet of where you sit, right now. Not millions of hours of creative bliss, either -- millions of hours of mind-numbing repetition and monotony, all to create something that's not clumsy enough to irritate you when you use it.

It's not just automation that distinguishes our modern comforts from the pre-Industrial age. Obviously that helps, because it adds geometrically to the amount of detail that can be created without a corresponding increase in human attention. It even frees up some of those human hours to be devoted to cool ideas. But make no mistake, more than ever our lives are founded on monotony.

Sunday, March 7, 2010

Doing More With Less

There's an economic principle I ran across a while ago which I find absolutely fascinating -- in fact it's a decent part of why I wanted to start writing about this type of thing in the first place. Unfortunately I can't remember its name (the Internet has failed me), but I can describe it.

Part of it is based on the idea that I've discussed in a lot more depth elsewhere of jobs shifting their use of automation over time, relative to each other. With that as a given, it's obvious that taken in isolation, certain jobs would tend to command higher salaries over time, while those left without the benefit of automation over a long period would tend to drop. But human workers don't act in isolation. Instead, there's another driving principle in the economy, which is that jobs, even in different fields, which take a roughly equal amount of skill to perform must provide roughly equal compensation to people across all those fields.

The unnamed principle deals with the result of the obvious conflict between those two forces. On the one hand, fields that don't benefit from automation will tend to drop in purchasing power. On the other hand those jobs aren't getting any easier to perform, so you have to keep compensation in those fields roughly in step with that in automation-friendly fields or face the consequences of deteriorating workforce quality. Not a pretty choice, and the further implications are even worse.

Sunday, February 28, 2010

The Beauty Of Abstract Thinking

I've been spending a lot of time in the past couple weeks on refactoring large sections of code. To some people this might be boring, or tedious, but to me it's possibly the best part of being a programmer, or at least tied with the other best part which is writing new code. I love poking around in conceptual musty back rooms, throwing up my hands in disgust, cursing a little, and then tearing it all apart and putting it back together again.

In case anyone reading this isn't familiar with the term, it's basically the same process as what any other discipline that produces written text would call editing -- going back over what's been written and adjusting it for accuracy and style. Except unlike other written output, program code is functional. It's a set of instructions being interpreted by a machine that is completely stupid, and completely unwilling to treat anything you write any way other than literally. This has some advantages. A naive system will, at least, always come to the same conclusion every time it reads the instructions, and every machine will interpret your words in the same way. But it also means that you have to be explicit about everything. Every detail has to be included, every time you need it.

I'm willing to bet that the majority of people who write for human consumption aren't really aware of how lucky they are to have an audience that isn't completely literal. A human reading a story or a set of instructions will bring an amazing amount of conceptual understanding to their side of the discussion, and interpret confusing or contradictory things properly using their own judgment. If you take a story, change a character from male to female, and miss one of the pronouns, any human reader might be a little confused, but will quickly realize what's going on and continue reading. Maybe a little irritated, but without a severely damaged understanding of what happened. A computer presented with the same situation will crash, and refuse to read past the confusing word.