A decade+ ago, most "online" comments were conceived and birthed in feature-rich, fat-client applications. These were tools that generally offered a rich gamut of functionality: spell-checking, automatic intelligent threading, offline composition, selective content blocks (such as plonking unliked trolls, censoring expletives), automatic notification of certain keywords or topics, alongside a wide breadth of additional capabilities.
You could read and participate in conversations on a massive array of topics, from law and order, to product support forums for a particular vendor's database product, to the seedier side of the alt hierarchy. All using the same client application that you were comfortable with, configured just the way you liked it.
After authoring your brilliant, convincing argument (or your question about what video card to buy or how to call a certain API function) and hitting send, the application would queue it up much like an outgoing email, and when the opportunity arose (when you dialed up to your local BBS), it would send it to your local server via a standard protocol, where it would be shared with a decentralized universe of servers.
Usually your brilliant literary gem would be immediately visible to the world -- limited only by the rate of propagation -- though a small number of newsgroups had post moderation that requiring each new addition to first be approved.
This standardized protocol, message format, and distribution mechanism allowed for rich client functionality without reinventing it for every single newsgroup. Imagine how absurd it would have been if you used a different set of tools, with a different set of functions, to interact with comp.sys.ibm.pc.hardware.video than you did with comp.sys.ibm.pc.hardware.sound?
Just as importantly, the standard message format and transport protocol allowed for very easy indexing and archiving -- easily searchable across time and space by whichever search vendor did the best job. This is how we got the incredible functionality of DejaNews (which was later purchased by Google and rebranded as Google Groups), which managed to reach its indexing fingers back a decade earlier than it was even imagined.
If you do software development, you've probably found newsgroups to be by far the most useful resource to search when looking for answers: While a normal web search will yield thousands of noise responses and pay sites begging for money to see the answer (that they usually ripped from a usenet newsgroup), a quick tab over to the groups will usually immediately find the archive of someone who faced a similar question or problem, and the helpful replies.
Of course Usenet is still around and very much alive, and some sites still use NNTP. Unfortunately the quantity of useful answers has been declining, or at least that's my impression, as more and more conversations are being siphoned off into poorly structured, often unindexed islands of information.
Why is every new web app creating yet another terrible reinvention of a container for discussions? Why are we functionally stepping back 20 years for every single new forum (see Digg, YouTube, Reddit, and others for examples of colosally broken discussion systems that people interact with despite their enormous failures, having no alternatives. There are a few, Slashdot for instance, that are moderately evolved, but it took half a decade to achieve a somewhat usable system, and even then the failings are numerous)?
Worse still, why are so many sites storing conversations and threads in isolated silos of data, stored and communicated in completely non-standardized ways. I can easily find and reference threads that I reminisce reading on a usenet newsgroups 14 years ago (usually for "I told you so!" purposes), yet it's often impossible to find a thread or comment on a modern web forum even if I remember seeing it a month ago.
This isn't an argument for a return to the days of yore, and I'm candy-coated the history and usability of Usenet, but it does seem like a lot of people are continually reinventing the wheel, ignoring the lessons of the past.
It does seem like the value of each additional piece being added to the global solution set is being diminished or completely lost: Where once we had clearly defined domains of information, clearly deliminated and indexed by topic, with a clear threading organization and meta-data structure (author, date, what other comment entry it's a reply to, and so on) that could easily be interpreted by anyone who understood the NNTP spec, now we're at the point where search engines have to try to interpret a million variations of rendering engines, inevitably losing most context and metadata, and that's only if they happen to even crawl across the conversations in the first place.
Somehow we need to find a medium, taking from the past while incorporating modern technology. Perhaps a new embedded commenting structure should be an addition to Firefox 3.
We've been using Microsoft's Team Foundation Server for version control and basic work item/requirements/bug tracking for about 9 months now. All in all it's a good tool, though really it still feels like a version 0.8 beta that got pushed out the door a little early.
The Good
The Bad
The
application tier is incredibly fragile. If an
enterprising team member decides to do some clean-up directly in
the TfsVersionControl data-tier database (getting around missing
functionality in the tools -- for instance there is no way to
permanently delete, aka destroy, in the tools, remarkably,
so if someone checks in a 500MB file and you want to remove it,
you're forced to do it directly in the database), you will discover
that a single missing related record -- the database doesn't define
or enforce foreign-keys, so it isn't going to block the DELETE
command there -- will cause the application tier to die a
hundred deaths, excepting out on null values and other inanities.
This is made far worse by the fact that the application tier caches
a lot of lookup data, so check-ins/outs will work for a while after
these related records were moved, making a simple database rollback
impossible. Instead you need to go through every database manually
rationalizing all of the data, determining where the application
tier is dying.The Ugly
All in all it's pretty decent, but I think they called it done a little early.
Software development is a difficult task to meter.
It's not for lack of trying.
For decades consultants have been evangelizing methods which, they claim, would allow an unskilled, casual observer to easily measure and compare productivity in a contextually agnostic way.
Their ultimate goal: To allow a drop-in manager, with only a superficial knowledge of the activities, skills, and complexities of a task or project, to easily compute metrics by which to dole out the frequency and intensity of whippings and rewards.
[Aside: Before anyone incorrectly presumes any of this is critical of software development managers as a group or individually, realize that it is nothing of a sort: I start with a brief analysis of the goal of such simplistic measures -- most organizations would like positions, including management, to be lower-skill and easier (cheaper) to fill, and such a simplification of the role is definitely in their interest, just as many dream of the panacea of no-skill, factory-type software development -- and then actually question the fact that developers themselves are often guilty of quoting these metrics. 9 times out of 10, developers have only themselves to blame for a lot of the problems with the profession. This is not yet another boring us-versus-them war cry pandering piece, like those that top the meme charts frequently]
| February ConsultaMark(SM) ProductoMatrix(TM) Results | ||
|---|---|---|
| Cog | Output | Proposed Action |
| Tom | 117.6 | 2% Raise At Year End |
| Amy | 111.2 | 1% Raise At Year End |
| Jacob | 92.7 | Forced Overtime |
| Serene | 85.5 | Replace LCD with the 14" VGA monitor from the server room |
| Nellis | 68.0 | Creative Dismissal |
The same methods -- if they worked as promised -- could be used to chart project progress ("We're 7868.2 ConsultaMarks towards the 11273.9 estimated for the entire project!").
Instead of relying upon the from-the-trenches observations of Randal the development group manager -- a grizzled vet of software development who manages with a hands-on style by becoming intricately aware of the domain challenges and unique contributions of each team member -- Lynn, the parachuted in middle manager, wants some simple numbers that can be sorted like her mutual fund returns, giving her some available sacrificial lambs when the next diversion-from-massive-executive-fumbles headcount reduction comes due.
Many proposed solutions have come and gone, with the most persistent being the infamous SLOC (Source Lines of Code)/LOC measure.
SLOC, if you haven't been afflicted with it, is an easily computed count of the number of lines of code in a given project/component/object (although first you have to agree on the definition of a "line of code", and this is a point of debate among SLOC champions). It's often used to count the number of lines of tested, complete code added by a particular contributor (easily accomplished with many source code repositories), allowing for the easy creation of nice little charts like the one above.
SLOC does have some quasi-legitimate uses: Given a common programming language and domain complexity, SLOC magnitude differences have a moderate correlation with general project size, and at the method level it is a rough indicator of gross complexity (see the article FxCop & Cyclomatic Complexity for a discussion of a loosely related metric, which is the number of intermediate language instructions generated from a method).
Applied at the individual or group level, usually as a cheap substitute for good management and project awareness, SLOC measurements are likely to encourage very destructive behaviors: Copy/paste coding, limited reuse of existing code found elsewhere in the organization and the industry, little motivation to prune code where necessary, overly convoluted coding, motivation for employees to only take on trivial coding tasks, and so on.
Envision a system that ranked cooks by the number of lemons they use to provide a restaurant's service each night: You're going to end up with a lot of dishes featuring copious stacks of lemons, even if ultimately it compromises the quality and organizational health of the establishment. While in some situations you could conceivably roughly compare overall restaurant success by the number of lemons they go through in a period, the comparison only holds true if all else remains equal (e.g. if otherwise the restaurants are very comparable, such as two restaurants serving Thai food): A deli restaurant might use very few lemons despite a healthy customer turnover, where an equally successful Greek restaurant might go through hundreds.
Far more logical would be to measure the number of dishes served -- while still imperfect, it would be much more useful than the LemonMetric. There is no comparable measure, with a similar level of granularity, as "dishes served" in software development (don't even think of mentioning the highly ambiguous "function point" metric as a simile).
"Geez...we all know that there are significant problems with the SLOC metric!" many will inevitably retort. "This is old news. You're preaching to the choir!"
"...but having said that, I saw a recent article that claimed that the average developer does {X} lines of vetted code a year. Are they really that slow? Me and my team must generate at least 20{X} a month! I hear that some superstars are responsible for 200,000 SLOC a year. They must be awesome!"
Comments just like that are probably being typed into a TEXTAREA at this very moment.
Why do so many comments about productivity -- even in the comfort of secret No-PHB hideouts -- inevitably elicit gloating commentary about personal SLOC accomplishments? Why do we hear gushing superlatives about the "superstars who push out 100s of thousands of SLOC a year"?
Why do so many in this industry perpetuate this destructive myth?
Let me flip this metric on its head, and state that, if anything, for a certain domain of project, and a certain class of developer, a high rate of SLOC can actually indicate poor programming practices.
In the nascent days of software development, many teams had a compiler or an interpret and that was pretty much it. They were responsible for building the majority of functionality from scratch. The pace of SLOC creation was tremendous (especially given that much of that implementation was trivial, allowing them to code as fast as they typed. Little time needed to be spent problem solving or planning: It doesn't require a superstar to code yet another string copy function).
As time went on, organizations compiled volumes of reusable internal code for all of their domain specific problems.
From an individual developer perspective, no longer was it acceptable to simply "run and start coding". Now you had to spend some of your time learning, assessing, and implementing shared internal code in your projects.
And it wasn't just inhouse: The frameworks and libraries provided with our tools have been growing by leaps and bounds, immediately solving a huge range of traditional problems and tasks with well tested, robust, feature rich solutions.
In the industry as a whole, code sharing has become widespread, with excellent code being available for virtually all common (and even uncommon) tasks.
So many solutions are available in the industry and supplied within our libraries/frameworks, that even organizational code reuse can be indicative of a problem.
Yet somewhere out there someone is hand-writing an FTP client implementation. Somewhere developers are wasting a tremendous number of man-hours by poorly, and unintentionally, duplicating code that exists in the frameworks and libraries that they're already using, or which can be easily found in license compatible open source projects.
A part of the reason for this is laziness -- it's a real bother having to look through the documentation and amongst search engine results, and that's hardly as much fun as just coding. Another part of the reason is a classic perception flaw that virtually all developers suffer from: Endless optimism about the capabilities and quality of the code we produce -- which we always think we'll finish much quicker than we really will -- coupled with an unreasonable pessimism about the applicability or worth of code we could source from another group in the organization, or from an external source.
I'm often guilty of these failures of perception, as are the overwhelming majority of developers.
Rarely does a developer actually tread across new ground (and I'm certainly not just talking about business back-end "CRUD" developers -- even in signal processing, embedded development, game development, and other less common branches of software development, most of the "solution" is the integration of existing work in novel ways, adding an envelope and façade of customization).
For the rest of us, our job is partly to generate the generally small amount of niche-specific code, usually aiming to build it with the most concise -- aka minimal -- code necessary, with the bulk of our time being in the analysis and integration of the extraordinary volumes of available solutions.
Where niche, custom code is necessary, generally it will be for a non-trivial task, and the SLOC pace will be unavoidably glacial.
For the overwhelming majority of developers in the industry, the only value of SLOC measures is as a warning sign, not an indication of progress.
The software development industry is known for its notoriously bad interviewing practices.
The reputation is well deserved.
Few industries put prospective candidates through the arduous, multi-part interview process that even entry-level software positions often require. Few professions demand that experienced practitioners, with a CV stuffed with academic and professional accomplishments, complete humiliating skill tests (usually scatter-shot testing whether the applicant happened to recently bone up on an esoteric area of a barely related niche), often under absurdly unrealistic conditions: It's sadly common for a candidate to be forced to write pages of code with nothing but a pen and paper -- despite the fact that most developer's hands cramp up after the first sentence -- supplying them with none of the normal development resources that they rely upon in the real world (forcing them to unrealistically recall the specific call patterns of seldom-used API functions, which is something that no real developer does in the era of online documentation, rewarding rote memorization while punishing problem solving and intelligence).
Many interviews feature smug "How To Move Mount Fuji" interviewers who are desperately trying to impress the candidate -- or their peers in the room -- by grilling the nervous applicant on whatever niche the interviewer happened to focus on that morning.
This is unfortunate.
While most shops are trying to hire intelligent, adaptable computer scientists, the interview process is often more suitable for the hiring of software technicians, which is perhaps why copy/paste, everything-looks-like-a-nail developers manage to hang on.
Yet for all of the well-founded complaints about industry interview practices, one oft-repeated complaint derives from a misunderstanding of the conversational nature of interviews.
[I'm spurred to write this entry after seeing a number of "idiot interviewer asked me about more than the limitations of a JavaScript closure!" atop the meme sites over the past few days]
Unless you were recruited right out of university, you've probably been asked that question, and you probably complained about it to peers in the real world and online. You have probably read others complain about the same. You've probably heard it and its ilk declared obsolete (and it is true that the backlash has generally sidelined this particular question, though it has been replaced by equally subjective personal questions) .
"I just BSd and said that my weakness was that I work too hard!" is a frequently heard comment about this reviled question.
So why do people hate this question so much?
Usually it comes down to a misunderstanding of the real purpose of the interview.
An interview isn't an objective fact gathering exercise: If the interviewer just wanted to ask what year you went to school and what your GPA was, or whether you'd used the masterpage functionality of ASP.NET 2.0, they'd give you an application or put it on the requirements list -- just like McDonald's would if you wanted to man the fryer -- and be done with it. Many job submission sites, industry wide and organization specific, do exactly that, getting applicants to concisely complete some structured data entry screens, describing exactly which skills they've used and to what level and for how many years, allowing technican style presorting based upon skills.
Instead an interview is a conversation. It's to determine how you think, how you converse, and how you interact, and to have a conversation about technology, prior positions and projects to gain information that can't be learned from a CV.
An interview is often a test to see if you're compatible with the firm. To see how honest and forthright you are on your feet. To test how humble or arrogant you are. To gauge if you have a sense of humor. To learn detailed facts about your prior experiences and exploits.
It's a bit like a first date.
So what is your biggest weakness?
Answering that you work too hard will often get you rejected as a liar, or as someone who is entirely unaware of personal weakness. Answering that you're a perfectionist -- another favored "I'm so clever that I game the system" answer -- again either implies that you're a liar, or worse that you really are a perfectionist (which in this industry means "someone who'll never, ever actually finish anything, always deflecting criticism by proclaiming that they're in the pursuit of perfection").
Giving an arrogant, can't-be-bothered-with-such-inanity response -- or a PC answer that alludes to the same -- could be considered useful in that it'll help the interviewer save themselves the time and trouble of dealing with a prima donna: If you don't have the time or patience to answer such a simple, obvious question, too sure of your pompous self-importance, then it's good that you set the rules for a very short game right away.
How then to answer? Honestly might be a good start.
"But if I answer honestly, the interviewer will pass over me in favor of the smooth-talking guy who claims that his biggest weakness is that he's too loyal!" you might retort.
While it is definitely true that sometimes interviewers are morons who happened into a position by luck, good looks or nepotism, your best bet is to assume that they're reasonable, intelligent, understanding people. Assume that they aren't fooled by applicants who pretend that they're perfection personified, and that they can understand that everyone has weaknesses, unique personalities and unique strengths.
They know that you aren't going to be a perfect worker that knows everything, can do anything, and is infallible.
And if the interviewer is a moron, it's probably in your best interest that they nix you as a candidate anyways (presuming you aren't really desperate): Do you really want to work at a place like that? (On a similar theme, if you really desire a certain percentage of telecommuting time, or you want a private office, or you demand triple-screens, ask for it! You'll either get it, or you'll avoid getting a job or environment that would make you unhappy: Both sides will walk away probably muttering "the nerve!", but in reality it's a Win/win).
Just be honest. Relax, and engage in conversation. If you think that an interview is going to be a walkthrough of your CV or questions about how many gas stations are necessary to serve a population 175,000 city, the vast majority of interviews are going to disappoint you.
Hearing the word "blog" makes me vomit just a little in the back of my mouth.
Having real people in the meat world comment to me about my "blog" leaves me feeling just a little embarrassed and uneasy: There's just something about the pompous self-importance and imagined sense of influence of the whole "blogosphere", coupled with the cacophony of useless chatter coming from some dubious participants, that makes it a group that I really don't feel entirely comfortable being associated with.
Many blogs (not including yours, of course) feature predominately insipid ramblings, with space-filling content of limited or no informational value. Many of their authors have no particular skill or unique message in the realm that they focus on.
Bloggers themselves often subscribe to hundreds of blogs just to have content to blog about (I'd wager that RSS readers are overwhelmingly used by RSS publishers...), in a giant circular linkfest, all saying the same things in unison. The more accessible the source, the easier it is to "contribute" by making some ancillary comment about how the shed should have a red stripe instead of a blue stripe, the more subscribers, the more references.
Don't think I'm excluding this very blog from these criticisms. I'm very critical of my own works.
Among the "A-list" bloggers, many are the Paris Hiltons of the technology world -- readers (a fanbase primarily consisting of B...Z-list bloggers, as mentioned earlier. Among the general population, especially people and groups of influence, even the largest bloggers have zero influence or namespace) follow them, and link to them, and talk about them...because people follow them, link to them, and talk about them.
People anxiously watch their moves because they don't want to miss anything that "everyone else" is watching. It really is extraordinary.
I've never been discrete about my feelings of this topic: I started this blog by indicating my contempt for blogs in general, commenting that I viewed this more as a mature content management system. It was a halfway point between formal writing and informal writing, where I could "own" my content, easily posting and altering information while making it available for search engines (and perhaps playing the system a bit to ensure that I maintain and gain search engine credibility, which I've gained in buckets).
I don't use an RSS reader, and from that obviously I don't subscribe to any blogs.
Now and then I do browse around some of the few blogs that feature occasionally insightful or interesting or thought-provoking content, or from authors who have inside information (e.g. developers inside a corporation whose software or tools I depend upon, sharing a unique perspective that can be valuable for me), and often traipse back through the history a bit, gaining knowledge and perspective, just as I did before they were called blogs and were just papers and articles that people posted online.
Often these blog-diving journeys begin when one of their posts make it atop the meme or news sites. I got linked on Slashdot yesterday, and of the ten thousand or so visitors referred over, a very large percentage actually felt the desire to go browsing through historical entries, which is something that always makes me feel that I've "succeeded" in my quest a bit.
My opinions on the topic of blogs have hardly endeared me into the blogging community. Even those who fully agree with me are naturally wary of linking this way, lest they play into exactly what I criticize. I don't have a "blog roll", and when I do link to other blogs, which is infrequent, I usually tag it with a rel=nofollow just to be sure to indicate that I'm not giving any link love, and I'm certainly not looking for cheap reciprocity. If my goal was inbound links from other bloggers -- the ultimate goal of many bloggers -- this would be the absolutely worst way to achieve it.
I am not a blogger's blogger.
All of this isn't to say that blogs -- even those dedicated to documenting the most banal of everyday events -- don't have a "right" to exist, or even a very useful purpose. The more information on the net the better, and everyone has every right, ability, and encouragement to post anything and everything online. There are a lot of extraordinary blogs out there, amongst the noise.
The beauty of the internet is that if you don't want to read it, no one is forcing you to. Even if I don't like some blogs, I have no position or right or even moral opening to demand that the person cease its production.
Yet this whole "industry" needs a serious kick in the nads, and a serious correction of perspective. 10,000 readers would give one a significant position in the blogosphere, yet it's less readers than the two-bit journalist whiling away their career writing for the local newspaper in the tiny industrial town I grew up in gets every single day.
All of that was initiated by some of the grandiose pro-blog comments I came across while reading about the incident described in the next section, and some of the anti-blog commentary that resulted (yes, if you read the above with an open mind you will discover that it actually exonerates blogs from some of the criticism they've received).
A bit of a controversy kicked up recently over Microsoft (or its agents) giving out freebie high-end laptops with "no strings attached" to a variety of bloggers (some of whom have been identified, others not).
They emailed some bloggers, covering the gamut of popularity, informing them that they can receive a spanking new $2300USD+ laptop, pre-loaded with Windows Vista. After they were done "reviewing" it -- wink wink -- they could choose to return it, give it away, or keep it (there were variations of the email -- apparently they haven't mastered mail-merge technology -- one implying that the recipient could "borrow" it indefinitely, which is a bit of tax weaseling given that legally the sender was required to log the recipient's tax information of this valuable, taxable gift, and the receiver is to pay the appropriate taxes).
Several of the recipients of this Laptop Loot immediately posted about their great fortune, coming clean about the source, but claiming that somehow they were immune to the long proven and entrenched law of reciprocity. Their supposed objectivity was completely unswayed, we were told.
Other recipients were quiet about the whole affair, or worse made posts indicating that they just "traded-in" for the spanky new laptop. Another claimed that it came from a different source than actuality (just got a laptop from Microsoft and AMD? Say it came courtesy of Acer!)
Critics and pundits have taken up arms on both sides.
Defenders of the bloggers have almost universally fallen to the defense that those who throw stones are just jealous, which is a convenient, albeit very juvenile, retort to virtually any criticism. The alternate defense being that everyone is unethical in every industry, so what's the problem? It's a race to the bottom, baby, so grab whatever you can en route!
Critics have largely exaggerated the whole affair, declaring that the laptop recipients are worse than Hitler. Or something like that.
Few (if any) of the thus identified recipients have any hardware review credibility or experience worth noting, so their perception of the laptop itself is laughably useless (already we've seen some inane, content-free "reviews" appearing), at most restricted to valuable comments like "sure is pretty" or "seems fast". To counter this, some recipients have claimed that the laptop was justified because it allows them to review Vista without all of the trouble and difficulty of actually installing the operating system (or going through the Herculean effort of returning the supposed review unit), clearly indicating their experience level (low to none), not to mention their complete lack of dedication in exerting any effort at all in the pursuit of bringing useful content to their readers. If it isn't as easy as loading their RSS reader and punching in some opinions -- sort of like this entry! -- then they can't be bothered.
Deliver it on a platter, please.
Why do people read these people again? I've had various builds of Vista, and now the gold version, in virtual machines, and on an actual PC, for a good amount of time -- and I'm hardly interested in sitting on the razor edge of Microsoft technology, and surely was long beaten to the punch by pro-Microsoft cheerleaders -- as have many tens (hundreds?) of thousands of people who actually know what they're doing, and who aren't crippled with laziness. I have no inside track at Microsoft -- I'm quite antagonistic about them -- yet somehow I manage.
It runs very well, with all features enabled, on the middle to low-end PC I have it on, eliminating any (counterproductive) claim that only a high-end laptop would suffice.
All in all the whole thing is a lesson in how easily people can be bought, and how cynical one has to be about the opinions they find (and perhaps how meaningless those opinions really are), even among the pure and unadulterated blogging community (which, we are told, is supposed to be a superior alternative to the corrupt mainstream media). It is human nature to reciprocate favours, such as a $2300 laptop, but worse still is the inevitable invisible hand effect: If you want to keep this good stuff coming, you know what to do. Bring on the love, baby!
More disturbing is the entirely corrupt sense of ethics espoused by many of their supporters.
Nonetheless, I don't blame Microsoft. They're hardly alone in doing something like this (and like a mistress and a strayed husband -- why blame the mistress when she isn't the one that's married? Why blame Microsoft when they're not the one trying to present an impartial, objective opinion? Microsoft is just trying to sell a product.)
There's an extraordinarily good essay on this topic from a former magazine writer, sharing many parallels with the current situation. He details how the automotive industry used the same sort of coercion to get them to convince you that the new car is a lifestyle instead of just 4 wheels and an engine. He describes the soul-selling corruption that he witnessed among his peers, at the behest of Volvo (although it was hardly the only guilty company). The essay does nothing to sour my opinion of Volvo -- the Microsoft in that case -- but it does make me feel very negatively towards the supposed reviewers who beg their readers' trust. Who are empowered only by their readers' trust (otherwise Volvo wouldn't have wasted the money buying their voices).
I originally found that link from the superb The Submarine essay by Paul Graham.
I also highly recommend the superb book Influence: The Psychology of Persuasion. I was originally hooked onto that book by Spolsky several years back, and found it extraordinarily insightful about some of the techniques "compliance practitioners" use to get people (such as low level bloggers) to do their bidding.
No one is unbiased. Even something like Visual Studio committing hari kari, taking some work out with it, can make me anti-Microsoft in completely unrelated matters for a period, often unfairly. On the flip side, if their tools help me achieve a particular result with gusto, I might be prone to suddenly thinking the brown Zune with "squirt" technology looks like a mighty nice MP3 player.
This is the case with all of us. We're human.
I've written about bias and blogs before, so I won't retread all of that.
One thing that I marvel at, however, is seeing that some of the lucky laptop recipients have explained that they can't be bought by Microsoft, because they I(HEART)Microsoft already: Their position is already so pro-Microsoft they couldn't possibly be swayed further. They're gonna love it anyways!
Again, I have to ask: Who reads the postings of that sort of person? I'm deadly serious. Why would you read the opinion of someone who would declare (explicitly or implicitly) such a confused outlook on reality? I share the same feeling about those who can't possibly see any good in anything Microsoft does (or big oil, or Republicans, or the UN, or whatever).
If you are in technology and you think this is teams that you are playing for (e.g. Linux or Microsoft or Apple), and you don't directly work for and get paid by one of the aforementioned teams, then you've taken a seriously wrong path somewhere. If you are getting paid, then you'd better be wearing a "Hi, my name is and I work for " nametag, and you'd better realize how entirely impossible it is for you to be any more than superficially unbiased. And no, softball criticisms aren't going to fool us into thinking otherwise.
If you aren't getting paid, then you should NEVER declare your fealty to a technology camp, or fool yourself into thinking that you have to pick. You don't. Don't do yourself, your employer, your clients, and your users a tremendous disservice by myopically aligning yourself with interests that don't necessarily correlate with your own.
To: My Pet, My Protege; My Pal; My Chum; My Irritant; My
Nemesis; My Irrelevant;
CC: My Boss; My Boss' Peer; My Future Boss; My Team; Some Else's
Team; Annoyances and Barnacles;
(An author who adds recipients one by one from the contact list generally yields a reversed ordering, with their precious on the right, and their hobbit on the left)
The director of IT just sent out the new Synergizing, Leveraging, And Monetizing strategy paper. As a principal resource in the new initiative, you find yourself a bit unnerved that they included you last in the list of To: recipients.
The outrage!
Their pet employees and sycophants lead the list, followed by the corporate zombies jerkily stumbling towards the inevitable in the next restructuring.
Your email address is bringing up the rear.
The CC: line has the same ordering, though in that case it's the parties not directly involved in the matter discussed.
Was it purely an oversight, or was it an intentional declaration about your standing?
"Don't read too much into it!" most people will answer. "Don't be paranoid!"
And those people would often be right: Many times people reuse old To: lists, or they're technical fumblers barely managing to pull addresses from the contact lists, adding them as they come across them in the sorted list and then reevaluating the line to figure out who's missing. They might be intentionally randomizing recipient lists (which is a tactic I generally use to avoid recipient lists conveying more than I explicitly intend). Maybe they intentionally alphabetize.
That isn't always the case, though, and there are often very real, albeit subtle and generally passive-aggressive, communications when people are given the opportunity to "order" or prioritize other people, particularly their coworkers.
Even when it's subconscious, there is still meaning in the order with which participants came to mind. Maybe they're consciously trying to avoid sending a certain message, for instance placing their office romance last on the recipient list.
It's similar to the choice of seating for a wedding -- hardly an accidental venture, no matter how much your blushing-bride cousin tries to convince you that you're in the nose-bleed section by purely random chance.
Today is the beginning of the loose-leaf collections in my neighborhood. It's a time when squadrons of vacuum trucks go grumbling down the streets, tentacle-like leaf sucking attachment probing about, clearing the curbs and roadside of tree litter.
It's a wonderful service by a fabulous city.
To leverage this service, everyone rakes their lawn, pushing piles of leaves up to the curb to get sucked away, carried off to some unseen composting facility.
I went out to rake -- of course at the last possible moment -- to discover that my neighbor, who I share an open grass border with, had just raked. But instead of raking to the clear but unmarked border between the houses, they pulled back and left an extra foot or so, apparently leaving it for me to rake.
Perhaps they're conceding an extra foot of the land to me? In this way I'm a victorious land conqueror!
Perhaps instead they're being jerks, intentionally leaving some extra work for me, maybe as some sort of jab for an unknown slight.
Maybe the lazy son did it and quite simply tried to trim off a little bit of work.
There is information to be read, although it shrouded in a lot of misinformation and misreading, as is often the case.
I would end with "keep an eye out for these non-direct communications, primarily ensuring that you aren't unintentionally projecting them because people are paying attention", yet most people are already very perceptive to these sorts of subtle hints: Human communication is vastly more involved and complex than simply the words that are spoken or written. Instead this is simply a bit of a thought piece as I ponder the many messages that we convey and receive every day.
Telefilm Canada has launched The Great Canadian Video Game Competition. This competition will see selected small development teams (10 in round one) supported and shepherded through the process of bringing a video game from concept to retail, seeing them mentored by some heavyweights of the Canadian game development market, along with some very substantial "prizes" (e.g. up to $250,000 to create a "playable prototype", and then up to $500,000 in matching funds, apparently matching private investors, to bring it to market).
As a taxpayer, I have mixed feelings about this. Not only is the Canadian game development industry already relatively strong, this seems like a very precarious contest for a government agency to be involved with: Telefilm would be eviscerated by the party of the day if they brought a game like Going Postal or Grand Theft Auto.
It's not my industry, so I haven't read the guidelines, but perhaps they have a "family friendly" disclaimer in the requirements (explicitly or selectively).
Speaking of video games, in the earlier days of software development, every clever developer generally dreamed of riches in the realm of video games. The hacker itch was generally scratched by making a cool new technology demos (I recently reminisced with the Steem Atari ST emulator, and some of the demos -- then running against an 8Mhz processor with limited external supporting chips, unlike PCs today which have tremendous parallel processing with hugely powered I/O, graphics, audio, networking, and support chipsets themselves vastly eclipsing the original power of the ST -- are impressive even today), though few developers had the follow-through to build a complete game. Still, there was a seeming endless onslaught of hundreds or thousands of games every month. People like John Carmack naturally released their hacker urges by buildings games like Commander Keen.
Now the amateur/beginner game market is mostly dead (yeah it still exists, but it is nothing compared to what it was in the 80s or 90s). If you're a clever programmer now, your dreams of riches are that you'll create the next Reddit or Slashdot or Fark, and most of the hacker focus is on "AJAX" or PHP or Python or .NET.
Quite a remarkable shift, and in many ways it's a tragedy.