The Right Glue
September 2009
By Dean
How many of you users have software that you simply put up with because you already have it? Or maybe because someone you know uses it?
How many of you programmers write software using a language or style because it's what you've always used? Or maybe because your boss told you to?
For an overthinker like me, it boggles my mind when I see people who just accept mediocre things because they think it will take too much effort to switch to something better. Even if it's little things like the position of the taskbar, or what music software you prefer to use. Just how bad does an application have to be for you to not use it?
And you programmers, how often do you work within a specific facet of a programming language and wonder that there must be a better way? While the language trap primarily catches the disinterested programmers, it can also catch the complacent ones as well. Just because some blogger you like or your boss or your best friend tells you that one language is better than another doesn't mean that you should just accept his word. Remember, creating software is an art. Would you think that Picasso would have accepted being told to use only one particular kind of paint? Would you think a carpenter would be satisfied using anything but the right glue for the job at hand?
Programming is an art, and it's up to you, the artist, to choose the right tools for the job. Productivity is also a very personal and subjective thing. Environments that make me more productive might make you less productive. If someone tells you to listen to music to speed up working (something that works for him), you have to tell him that he's wrong. Tell him that, for you, the dull background murmurs of voices and distant keyboard clacks help your productivity more than any music can.
What's best for you is something only you can determine for yourself. Other people might be able to observe you and make suggestions on what seems to motivate you, to make you happy, et cetera, but the reality is these drives are almost all internal. You need to be adventurous: go out of your way to find new things that you might enjoy, that you might find useful. You need to be curious: strive to learn as much as possible about your surroundings, your peers, what motivates them and what makes them happy so that you can help them when they need it and so you can learn to get along better. You need to be questioning: don't just let people tell you what's best, but rather ask them why they think it's best and decide for yourself if it's actually best.
The last point is the most important one of all. You can't learn without asking questions, without experimenting on your surroundings. You can't learn if you just lie back and only learn what people tell you. Science would not be able to progress if scientists were capable of knowing only what older scientists tell them.
It's especially important to be able to be able to assert yourself even in the face of adversity from someone in a position of authority. Just because someone important wants you to use a particular language isn't a good enough reason, in and of itself, to use it. Evaluate it for yourself, question why a rule like that would exist and, if the reasoning is sound, adhere to it. If it's not, don't. But don't be silent about it. If you find a rule to be unsound for any reason then by all means talk about it! Don't sit on your hands doing something you know to be wrong. Make sure your objections are noted, try (within reason) to get the rule abolished, or at least get more information about it to better understand its rationale.
Children simply accept rules and authority without question. As they grow older, they learn to see shades of grey; that sometimes rules need to be bent or even broken if the rule is fundamentally unfair in some way. Everyone grows out of being unquestioning, but some people grow back into it, possibly because they gave up on thinking for themselves or were strong armed out of it. Don't grow out of it. Don't let more dominating personalities roll over you and force you into inferiority.
The astute reader will notice that this post presents itself as a rule. Indeed, apply the lessons of this post to the post itself. (Or don't!) Don't just take my word for it; just make sure you're aware that you always have a choice to explore or stagnate, to learn or ignore, to accept or dissent.
Latest comments:
By Dean
On the 256th day of the year, the timid programmer (Homo sapiens analyticus) emerges from his technology-covered desk to eat delicious cake and discusses Markov chains with fellow members of his subspecies. He does this because programmers like nice, round numbers like 256, 65536 and 2147483647.
Similar to the chlorophyll in green plants, the thin, pale skin of a programmer is capable of converting light into simple sugars used to power their analytic brains. However, unlike chlorophyll, a programmer's skin can only work properly in the presence of a computer monitor refreshing at 60Hz. (A fluorescent light source at 60Hz produces a similar, albeit weaker, effect.) The process works through biochemical induction, and is finely tuned to the technology produced by engineers (Homo sapiens constructor) due to their long-lasting symbiotic relationship. Because of this, programmers are not able to leave their monitors for prolonged periods of time.
While programmers are powered primarily through the skin, they can also consume the flesh of animals such as donuts and cakes to provide them with limited autonomous power supply. It is imperfect, but when the programmer has to move from one monitor to a superior, distant one it is the only way to avoid the slow death of starvation.
The day star proves to be another hazard to programmers. Because their skin is optimized for converting technological energy into chemical energy, natural sources like the sun, fires and all-night dance parties serve only to confuse the programmer and damage his frail skin. Ergo, programmers choose to cover themselves in heavy clothing and avoid unnecessary contact with natural sources of energy.
The programmer evolved from the mathematician (also Homo sapiens analyticus) but has not diverged enough to form its own subspecies yet. Like its mathematical ancestor, it is highly interested in numbers, logic and xkcd. Unlike the mathematician, the programmer has additional interests in games (including computer, card, ball and board games) and forcing non-sentient machines to do their bidding.
In fact, this last point is the defining characteristic of programmers. The programmer has an almost-sadistic way of approaching machines, forcing them to do things that they probably wouldn't want to do (if they were capable of not wanting to do it). For example, programmers have a massive affinity for forcing computers to increment numbers. If a programmer has a number, his favourite thing to do with it is to increase its value by one. For example, I cannot resist incrementing the round numbers used at the beginning of this post to 257, 65537 and -2147483648, respectively.
Computers probably don't want to be forced to increment those numbers. But they don't have a choice so screw them! I'll force them to increment every number imaginable (especially ones that only exist in imagination — I'm looking at you, i)! Bwahahahaha! Wait, my anthropological documentary is getting off track.
Programmers harbor an animosity toward artists (Homo sapiens generandus) for their stupid love of the cursed day star. It's already well documented that artists hate programmers because they like trading space for time. Artists believe that time and space are independent, an irrational view stemming from their inability to comprehend the fact that computers are non-sentient slaves. Because of this trade off that programmers make on a regular basis, artists are enraged at the audacity of programmers for making large, fast software. "How can something big be fast?" asks the artist, angrily. Stupid artists.
Rare hybrids between artists and programmers exist and they, like their leader Steve Jobs, are all trendy French people, with their iPods and their Starbucks coffee. Neither programmers nor artists like them.
In the future, when programmers have taken over the world, we're going to blow up the sun and replace it with 65538 computer monitors with refresh rates of 61Hz. Unless those artist jerks try to stop us!
Latest comments:
This is some kind of footnote. This webpage is awesome and can be viewed in any browser. Even ones that suck ass like Safari and Firefox. Isn't that awesome? This site is best viewed with browsers that aren't maximized on large-resolution displays (> 1024 pixels in width). But then again, if you are running a large resolution and browsing maximized, then you're a terrible person so you don't really deserve to see this site at its finest. Jerk. I mean, seriously. I spend all this time making a nice site and your silly browsing habits ruin its look. That's really cold, man. If you're using IE6, then in order to see the cool avatar effects you need to enable JavaScript. No rights reserved by Dean Whelton (who is awesome) of any of the content, images, design, backend or electrons used in this site. Steal at your convenience. None of it is worth stealing anyway, so there. I have even made an RSS feed for more efficient theft of my intellectual property: CLICK IT NOW!!! Now, don't say I'm not generous. I guess if you want to know more about me, you can visit the about page. It's not really an about page, though. It's just one of the first posts. I don't feel like making a real about page. You can contact me, too. If you feel like it. Are you really wasting time reading this? Go outside or something.