Monthly Archives: March 2012

Dead Programmers Aren’t Much Fun

Two years ago my step-dad died. He was fine up until close to the end, so the family came down and he took us on a tour of his things. There was a truck, a car, some tools, and things that had sentimental value. More so than a will, this was more a tour of his physical possessions; where they were and what to do with them.

It got me to thinking. Today I’m doing something most of you older programmers out there should do as well: I’m sitting down with my oldest son to talk about where all of the family’s “digital inheritance” is.

You know, that partial app you wrote five years ago and put on GitHub, the one you still get emails about, what’s going to happen to that? Or the web site about dancing turtles you created that makes five dollars a month from AdSense. Should that stay up or be abandoned? What other choices are there? Or how about what you’re reading now? Perhaps you have a blog out there that you spent a few years tinkering with. Maybe nothing serious, but still, you spent a hell of a lot of time with it. Is it all just data to be deleted? If not, where should it go?

Who moves it? Where do they put it? Who controls the content? Who receives the income, if any? Who responds to any emails?

What happens to your email account after you die, anyway? You don’t want to shut it down immediately — there are correspondents that may only write once a year, and it might be important for somebody to respond to them when they do.

Source code on places like GitHub should probably be flagged. Something like “This person is no longer alive and the project will probably receive no updates.” So should blogs — no matter what else happens to them. People deserve to know that the person they are reading is no longer with the living. This might also be a good idea to do with professional forums, such as HackerNews. If a person has spent many years contributing to a social site, there are probably people that want to know if they’re gone. At least you’d hope so.

How about social networks? I’m starting to see family members log on to Facebook accounts and post something like “Joe died last night in his sleep. A memorial service will be held ….”

That’s nice, so somebody should be sure to do that. Then what? Leave the account active? Delete it after 90 days? If you’re a programmer it’s certainly possible you might have some pre-canned scripts to run — perhaps telling nephew Susie she should have a great birthday and life once she turns 18. Maybe you have something to detect jokes your Uncle tells and add in a “lol” in a comment. Aside from being weird, is that socially acceptable? Should relatives help you do this?

The pieces of a digital life are a lot more complicated than a physical one. When my step-dad took us for a tour, it was a very easy thing to do. If he would have died suddenly, we still could have made do by simply showing up at his house, reading his papers, and wandering around. We live in a different age. All his possessions were static. They just sat there. The things I create often interact with real, living people — without my having to be alive for them to do so. And they are all invisible. Sometimes hidden. Picking up digital pieces is nothing like sending a car off to auction. Yes, right now programmers and tech people are ones feeling the pain, but we’re always the outliers, the ones who get to these problems ahead of everybody else.

Are you going to spend money on life insurance, writing a will, and making final funeral arrangements only to leave a digital disaster to some poor family member who is both technically unable and unaware of how to handle it all?

Don’t do that.

ADD: Some folks are offering up sites that store information and/or send emails upon your death. Thanks for this, but I don’t think they’re going to work for me. Being a programmer, my stuff is complicated. I have several domain registrars I’ve used, for example. Programs can be in various languages. From time-to-time I’ve used pseudonyms. Sometimes proxies or key files are required to get to certain assets. Different source repositories were used, and so on. To simply access all of my stuff, it’s more like setting up a complex development environment from scratch. You have to write a script and then test it out. A simple email or a list might be missing key details that seemed trivial at the time but is impossible for the reader to figure out. And it’s not like anybody can ask you questions if your email doesn’t work.

Great idea, though. These various services are doing a great job for what they do. Perhaps they’ll evolve as time goes on to cover more paycheck-type items (ie, complicated and purposely difficult to access and configure) and less email or to-do-list-type items..

If you've read this far and you're interested in Agile, you should take my No-frills Agile Tune-up Email Course, and follow me on Twitter.

The Player

In the 90s I was consulting with a company and we all decided to take negotiation classes. One of the exercises involved pairing off. Although nobody knew it, everybody got the same instructions. In each pair one person got a card saying he had a truck to sell and couldn’t take anything less than 5K, the amount of the remaining car loan. Another person was told he had 7K to spend on a truck. Each was supposed to get the best deal they could.

At the end of the exercise, we all compared results. Some people just shared cards with each other. Many times they just split the difference at 6K. Some sellers, however, managed to get the full 7K out of the buyers. The guy behind me, though, was incredible. His partner sold her truck for 2K — three thousand below what she owed on it! When asked, she said they had made a deal where he would come by on weekends and help her earn money using the truck so she could pay her truck off. Heck, she stood to make tens of thousands of dollars!

Everybody wondered the same thing but didn’t say it: once you sell the truck, what’s going to guarantee you’re ever seeing him again? And even if he does come by, how could you ever make up such a difference?

He was a player.

Years later I was being courted by a very small consulting shop in the DC area for some work. Discussions had gone well, but I could tell they wanted to seal the deal. So they brought in the owner for a breakfast.

I was sitting in a coffee shop and in walks a multimillionaire, dressed in a very expensive suit, obviously very busy and very successful. For the next hour, he focused completely on me — what my goals were, what are common interests were, the potential for future business, the things he would be happy to teach me.

I signed on the bottom line. Never saw the guy again.

Players are people who think that once they figure out the magic phrase to say to motivate you, they can make you do what they want. What happens after that is not important to them. They play people like a video game. You’d think such behavior would be limited to big, important stuff, but I’ve found that the size of the deal isn’t important to these people. they’re in it for the game.

Had a guy a couple of weeks ago who flattered my writing and my e-book, said he was going to purchase a bunch of books, then asked me for a favor. I was so happy I immediately said “Sure! Whatever I can do to help!”

He never purchased anything. Probably never even read anything I wrote. But he got what he wanted.

Another guy runs a popular blog. He asked if I would blog about a favorite topic of his and in return was going to mention my blog on his site. I was happy to help him. Sounded like it was good for both of us. But of course although I wrote the article, he never mentioned me.

The thing is, after a while you can see a player coming from a mile away. It’s totally obvious. The easy smile, the reliance on charm, the painting of word pictures, the going from zero to maximum interest in what you are doing.

The uncharitable thing to do is think that these people are fake. I do not believe they are. Some are really busy, some are simply easily distracted. They have skills — some might call it a curse — at gaining people’s trust, and they have learned to lean on those skills to cover other personality flaws.

Instead I’ve come to admire and kind of feel sorry for them. Sometimes they do great in life and never stumble. Sometimes they go for a short time and then fall. Many times they get into a situation where it seems like they are always running from some self-caused disaster. Sadly many addicts become players simply as a survival response. The really good players start feeling as if none of the normal rules apply to them, which leads to trouble. I think former president Clinton was a player. A master.

To the last player I met I simply said, “I am happy to help you, but you are not going to do these things. Why worry about telling me you will? Here’s what you want. if feel like doing something in return, do it. No obligations.”

A funny thing happened. It was like my calling him out on it made him worse. He went on at length about how he did what he promised, how important it was to him to help me out, and so on. Of course, he never did anything he said he would. But my calling him on his game somehow made him almost desperate. It was like he had to trick me in order for him to feel some kind of satisfaction from our interaction.

I admire the skills and am fascinated by players, but I don’t think I would want to live with any.

Admittedly, I have friends which I keep asking for favors as well. Stuff like reviewing books or helping me edit an especially tricky email. But I never promise them anything. So that makes me a “moocher” — much better than a player. (grin)

If you've read this far and you're interested in Agile, you should take my No-frills Agile Tune-up Email Course, and follow me on Twitter.

The Test: Civilization at a Crossroads

Civilization is at the crossroads facing a great test. Technology is pushing us into areas where mankind has never gone before. Old social and governmental structures are slowly ossifying and crumbling. The rules are not only changing, the entire game is different.

People are beginning to figure out something is changing, but they seem completely incapable of figuring out what exactly is broken or how to fix it. In places like Libya and Egypt they are actually having a shot at changing the whole shebang. I imagine such change may come to the rest of us, and soon.

Change is mostly good, but without a theme of design, an idea of why things work the way they do, people will be unable to figure out how to make the future work. They just make the same old lame mistakes over and over again. When you look at a 300-year-old institution, you may see something broken and in need of replacement, but there are also really good reasons why it lasted 300 years. Too often we get people wanting to tear it all down — which very well may be required — without having any idea of how to replace it except for maybe something they saw on TV or heard a politician say once.

Computer systems architecture, organizational architecture, and studying history has taught that the reasons why something works is more important than the thing itself. But we live in a world where people are excellent at being upset while failing miserably at being very good at all at describing why exactly things are the way they are. Any good lawyer could argue any point one way or the other and the average listener wouldn’t be able to create much of a counter-argument at all — except for maybe providing emotion-laden, poll-tested talking points by way of rebuttal. The cable news channels are full of talking heads doing just this.

Here’s a list of a dozen or so principles that I would want most people to know going forward.

  • Being wrong is the most important thing a government can do. Elections and the regular change of power allows governments to be wrong and adapt.
  • More control and government should happen locally, less far away. If you want gun control, social health plans, and all sorts of other great ideas for improving our life, you should be able to do that at the local level. People who disagree can move to another town if they don’t like it. The structure of what happens where is critical. We need to separate what problem we want to fix from where the best place to fix it is. The structure question is much more important than the policy question.
  • Being able to speak freely and persuade others is the critical part of recognizing failure and moving forward. It is especially important when people say hateful, angry, ignorant, bigoted, or ill-advised things. Nothing should interfere with free speech and the free flow of ideas
  • Computers are an extension of people’s minds, not devices like a record player, typewriter, or printing press. Intrusion into somebody’s processing and data should be treated the same as intruding into their thoughts. It shouldn’t be done.
  • Nothing should interfere with people being able to assemble in public or online to organize political parties or ask for redress of their grievances
  • You can’t form a governmental system based on certain people being better than other people. If everybody is wrong and making a unscientific or stupid decision, it’s better than making the right one that most people hate. Consent of the governed is more important than most anything else.
  • Pure Democracy is a bad thing. A little bit of aristocracy can go a long ways. We need the old Senate back where cranky old white guys (or cranky people of all demographics) appointed by their states sat around thinking about and protecting the structure of the system, not getting re-elected. The Senate should not be set up to be a place for political pandering
  • Representative democracy, where (in the States) you elect somebody to go make decisions for you, should involve somebody who physically lives near you, who only works part time making decisions, who is not representing too many people (100K seems about right), and who doesn’t have a job for life.
  • Small, distributed, self-optimizing systems always win over centralized control. Always.
  • The system should be designed for corrupt politicians. Everybody should be assumed to be crooked and out for themselves and to hold and grow power
  • You can’t form a governmental system based on altruism. It has to be based on people acting in their own interests
  • Politicians should not be able to make decisions today that require my kids to pay money for them 30 years from now. If my kids aren’t represented, they shouldn’t be able to be taxed
  • The president’s term should be extended and he should be allowed only one term. That way he won’t spend all of his time running for re-election.
  • Decisions today often look stupid tomorrow, but nothing can be done about them. All laws should have an expiration date. That way each generation can be directly asked which things it wants to continue and which things it wants to change or discontinue.
  • Citizens must feel part of a larger whole. Some kind of mandatory national service should be established where every young person must serve two years after leaving high school. This is good for the young people, for the country, and for the future of the system
  • [ADD] There is one more principle that deserves mentioning. There are three things it takes to be a absolute monarch: the ability to make laws, the ability to interpret laws, and the power to execute laws. In the U.S., these powers are deliberately put into separate hands. Some kind of wall — or checks and balances — is required with these three things. Solutions may vary.

Of course, you can (and probably should) add the rest of the Bill of Rights in there. This list was just to underscore those parts we seem to have lost.

I’m not saying that all governments should copy the U.S. Constitution. Far from it. I’m saying that there are underlying principles — being wrong, having representative democracy, having an aristocracy, regularly changing power, and so on — that support any kind of underlying system. These are not American ideas or any of that. These are things observed in the natural state of man. We look back on history and see when they worked and when countries failed because they were ignored. From a core set of principles you can architect millions of possible governmental systems. But without principles, it’s like watching a monkey try to solve a math problem. There’s no sense of context and direction.

Back in the 1700s, smart people looked around through two thousand years of history and tried to draw lessons and extract forth principles that would work under any circumstances. They thought they were building a new science.

It didn’t work out as they had planned, mainly because once political parties were formed each party took this new “science” into directions of it’s own, making it say whatever pleased them.

Nowadays most people don’t know history, couldn’t name a dozen governments that rose and fell and the possible reasons why. They are unable to describe in detail how their own governmental system works, even though they know it doesn’t. At the same time technology is making possible things like controlling robots with your mind, fathering children years after you die, instantly and constantly collaborating with people all over the globe, and changing what it means to be human (or even what it means to be sentient).

The test is here. Are we ready for it?

If you've read this far and you're interested in Agile, you should take my No-frills Agile Tune-up Email Course, and follow me on Twitter.

Where the Net is Broken

Couple of examples from the past month on how the internet is not working like it should.

More groupthink instead diversity. Over the past year or so, I’ve been taking my funny picture collection, which has been threatening to take over my hard drive, and moving it to the net. Nothing special or fancy, just a bunch of pictures tagged up so that I (or others) can find them. So if you’re looking for a funny picture of a turtle or a poster you might could put up in your cube, you can find it easily. This is turning out to be a lot of work, so I decided once a week to do 16 and post them on my feeds. That way my friends can get a good laugh — and I can make sure I’ve spread the word as much as possible. It also makes me accountable to others so I can be motivated to get them all moved over.

I ran into this graph of site traffic, which took me a bit to figure out.

graph from Google analytics of my caption of the day site

As you can see, I keep adding stuff and people keep slowly coming by and using it. But why would traffic level off? After all, I’m continuing to add more material. And it’s the same kind of material. The problem, best I can figure, is that I have several thousand followers on Google+. Even though each week I clearly post something along the lines of “Hey guys, this is my thing. Each week I post funny pictures on Friday. Please ignore if you don’t like” Some folks don’t get the memo. When they see a picture of a cute baby that they don’t like because it’s trivial or just noisy, they click the spam button. So Google marks spam as coming both from my account and my blog site.

This effectively means if you have a lot of followers you can’t continually post things from your site that some of them might find worthless and/or annoying. Google is “helping” you conform to groupthink, i.e., basically rewarding (or not punishing) you only if you think and say the right things. Yay Google.

Empty wastelands of groups. I’m a member of an Agile group on LinkedIn. It has hundreds of members, but oddly nobody posts there. I really don’t know why. One guy last week asked a question about Agile architecture. I asked a clarifying question, hoping to draw in others, but there were no takers. There are several other LinkedIn groups I am a member of which are like this. Why have a group where nobody posts? I felt sorry for the guy. You’d think a large group on X would be the place to ask questions and start discussions around X, right?

Along those lines, I’m a member of the HackerNews Facebook group. It also has no posts — maybe one every couple of days. And it has thousands of members. So a few weeks ago I took to posting my blog entries over there. Who knows? Maybe it’ll start up some conversation. And it did — I got one guy posting that he hated people putting their blogs in the group and another guy telling me that I should strive for posting higher quality material to the list. The second guy said he almost clicked the “spam” button, but decided to comment instead. Thank you!

To me, the purpose of the “like” button is to take a large stream of things and help sort it out based on your preferences. What I was hearing (and what I a suspect is going on over at LinkedIn) is folks only wanting to post the very best material in a group. There’s a lot of self-editing. So nobody posts anything. But the system only works with lots of data. You shouldn’t be trying to write an encyclopedia. Every post shouldn’t be a special snowflake. Instead you should be letting it all hang out and letting the system do it’s job. So instead of active boards centered around user interests, we get these thousand-person groups where 2 people may post each month, and that’s considered too much.

I fully understand and support the idea of having group standards — you probably don’t want my funny pictures of cats in your Agile group. However if the standards (self-imposed or not) are such that two thousand people can be there and only one person posts each week, something is broken. At such a low volume, I don’t even see or notice any of that small volume when it finally does appear. There’s too much other stuff going on in my feeds. And if it’s going to be like that, what’s the point of even having the group?

Not trying to rant. Forum designers set out to do one thing, but then they try to avoid one kind of failure so much that they end up falling into other traps. Good to point these out. Can’t fix what you don’t see is broken.

If you've read this far and you're interested in Agile, you should take my No-frills Agile Tune-up Email Course, and follow me on Twitter.

Using Bootstrap to Refurbish Old Websites – Lessons Learned

A couple of years ago my wife and I put together what’s known as “micro-sites” — little clusters of web pages centered around a central topic. By choosing our writing style and customizing the content, we felt that we could offer a more useful and accessible place for people interested in a certain topic than, say, Wikipedia (which we both love.)

But I’ve always been unhappy with the HTML and layout on these projects. As we got into the work, we realized that hand-rolling and creating a small web of pages could be a lot of brutal, boring work — much more difficult than blogging about the same thing over five years or so.

Here’s what one of our sites,, looked like.

Uggggh. A painful kind of ugly. Text not aligned well, divs overlapping each other, a big block of ugly color half-way down on the left.

After spending a couple of days playing around in my favorite IDE — I always do a few by hand and then do the rest all at once — I had updated everything to using Bootstrap. Take a look at the results.

Much better. Color-coordinated with more white space. Still room for improvement, though.

Looks better, plus it looks pretty good on a phone or tablet! Overall I’m very impressed. But here’s some notes for others of you who might be doing the same thing.

  • Not every file was in one place. A nit, sure, but I had to find another Bootstrap page, take a look at it, download the zip file, then add in the other things I wanted to use. Perhaps if they joined the plugins download with the others it might be cleaner.
  • Button mix-in classes still not understood. Probably if I spent more than five minutes with the zip file I’d understand all the btn classes, but I didn’t. So I thrashed around a bit, once more finding stuff I liked and copying it.
  • Not much of a gallery of page themes. Instead of a gallery, I just googled around for “bootstrap” until I found sites that looked like what I wanted. Worked just as well.
  • Could be too generic. I’ve read that some folks hate Bootstrap because it makes everything so damned generic. I’m holding out judgment on this — it certainly improved my site quite a bit, but I can see where it might become an annoyance.
  • Lack of choosing color themes. I love the default color choices, but some kind of way to choose between multiple color themes could allow what looks like a lot more variation with a minimal impact on code. (Probably easy to do by hand. Don’t know.) [Ed: Kudos to alert reader James Simmons who pointed out he has a great site for finding Bootstrap themes, {Wrap} Nice-looking site, James! Now I know where I'm going next time I'm looking for options. :) ]
  • Would love to see some JQuery examples. I’m sure there’s all kinds of cool things to do, and I could develop them as I needed them, but still, it’d be good for somebody to write up a set of examples using JQuery and Bootstrap.
  • Some unknown magic. I get 99% of the code, like the viewport and apple meta tags, but some stuff is beyond me, like this snippet:
    <body data-spy="scroll" data-target=".subnav" data-offset="50">

    Be cool if I knew what I was doing there.

Overall bootstrap is awesome and I plan on using it exclusively in the future. All of these notes are just very small nits. But without people providing feedback, even great stuff can’t continue to improve. Also I purposely just gripped this and ripped it. I did absolutely zero research into Bootstrap. Heck, I didn’t even look at the files! So hopefully that makes this review more “honest”. Overall, I’ve never seen a better web framework. Keep up the good work, guys!

If you've read this far and you're interested in Agile, you should take my No-frills Agile Tune-up Email Course, and follow me on Twitter.

Google Analytics Doldrums

I have between 20 and 30 sites on the internet. What can I say? Some folks collect shoes. I collect domain names and then make content — apps, targeted text, or mixed-mode stuff — for them. Or at least most of them.

I also use Google Analytics. Great free tool. But heck if I can figure out what’s useful to do with it aside from just a few measurements. Looks like there’s all kinds of stuff in there. And they just keep adding stuff, like the new upgrade. Let’s describe a few usage scenarios to see what I’m talking about.

It used to be under the old interface that I could see all of my web sites at one time and get a feel for how they were doing. Now I can’t even do that. So when my wife’s hamburger casserole recipes site began losing traffic, it took two months for me to figure it out. I can’t just scan 20 sites in one column and get a delta from the previous month. That’s not a good thing. You must understand that most of these sites make nothing at all, perhaps only enough to keep their domains renewed, so they’re all competing for my attention. If I can’t look at all of them at once and see their changes over time it destroys my workflow.

I like the new real-time metrics. Nothing like posting a Tiny Giant Books article about being a ScrumMaster on HN and watching hundreds of people come to visit. What great eye candy! But what to do with all of those little flashing circles and cool maps and stuff? On the real-time graph I can at least get a sense of where the traffic is coming from. Perhaps if lots of people are visiting from DZone I could go there and see if there were any questions about the content. That’s what I keep telling myself, at least. Hasn’t really worked out that way.

Paycheck Stub has also suffered a bit of a traffic hit, but only in the last week or two. I’d like to know why, but heck if I can figure out how to get GA to cough that up. I think it’s a change in search term usage by readers. Not sure. It’s the type of thing where I could spend 6 hours tracking it down only to make an extra few dollars a month from the resulting fix.

My funny picture site, Caption of the Day, looked like it was taking off for a while, but has leveled out recently. Are different people visiting it now than a few weeks ago? Do people not find the images as funny? Has somebody flagged the site for some stupid reason? I have no idea.

It seems like with web site analytics you’re always swimming in tons of raw data and somehow magically you’re supposed to make some kind of sense out of it all. Developers just keep adding more bells and whistles, continuing the user information and option overload.

It’s not that none of it is useful. I love using average time on site and bounce rate to compare how useful each site is to the readers. It’s just that there’s so much stuff, and very little of it is immediately useful as actionable data. For this blog I can tell you that there were 70 thousand visitors last month, 25% of which were returning friends, but that really doesn’t mean anything. Do those 25% visit regularly? Don’t know — aside from that statistic, I can’t find out. There’s a “frequency and recency” tab, but I’m not sure it’s answering the question I have, which is about the population, not the site.

Part of the problem here is that as a website content creator, I have questions about the people that are visiting, but the reporting is focused on the site. it’s a subtle difference, but to me it means the difference between being able to walk away with something useful to do and just kind of mindlessly staring at a bunch of numbers and graphs. How many logical segments of people are there? I would expect groups like Mac User-College Access-US or FB User-IE-middle-aged. If the system could propose a few demographic clusters like that, then I could use those and diving down into the rest of it would make sense.

I create stuff for people, I don’t publish data to a server. There’s a big difference. My questions are about people, not visiting statistics. I’m not getting results from a survey, I’m trying to make something people want. It’s like I’m always trying to translate from one system to another. Some days it feels like I’m in training to become a psychic.

I understand that there’s no magic bullet here, but there is room for improvement. If the answers are framed the wrong way, no matter how you ask the question you end up frustrated.

If you've read this far and you're interested in Agile, you should take my No-frills Agile Tune-up Email Course, and follow me on Twitter.

English To Nerd Translation

One of the drawbacks that I’ve noticed about technical people is their desire to make everything more simple than it actually is. So, for instance, on the internet they think of content and comments as basically being data that is transmitted around between “nodes” (people) which process it.

People are social animals. English is not a computer or mathematical language, therefore it stands to reason that much communication, on the net and in person, contains social cues. Smart people — much smarter than I am — still can’t seem to get their head wrapped around this. They keep asking questions that make the assumption that since the words don’t parse exactly, the speaker must be making some kind of mistake.

So I don’t have to keep repeating myself, here’s a translation table:

English phrase Nerd Translation
I’m not trying to be an X… There’s a hell of a long conversation here, with a lot of qualifiers, but frankly I don’t have the time for it. Instead I’m just going to offer some generalization that you can easily throw rocks at. I know that you will, and now I’m telling you to have fun with it.

So if I say “I don’t mean to be old grumpy guy” that means that what comes out of my mouth next will be a generalization and summary of my feelings that I fully know for all intents and purposes sounds like old grumpy guy. Sorry, can’t be helped. That’s the way the summary looks.
It goes without saying… I have to make some assumptions here so that what I have to say makes sense. I am 99% certain that all in the audience agree with me. However, I could be wrong. So I will publicly identify my premise and move forward. If you call me on it then at least I’ve identified it ahead of time.
As it turns out… This is a variation of “feel-felt-found” method of persuasion. It’s a contrast between a “before” and “after” state. In the fullest form, the writer identifies with the other person’s feelings (“I can see you’re feeling like having 400 buttons on your web page offers more power to the user”) then notes that many more (including perhaps the writer himself) were in the same boat. (“Everybody here felt the same way only two years ago. We loved giving users that kind of power.”) Finally he says something like “but we’ve found that …” or “As it turns out…”

The purpose of this construct is to emotionally bond or to demonstrate understanding and sympathy with the reader in order to gently bring them to a new way of thinking. The decision-making process itself — why the author changed his mind — is usually glossed over with a couple of throwaway logical-sounding points. Sometimes not even that. You can skip the other steps and just start off with the conclusion “As it turns out, this type of interface isn’t that engaging” — leaving the reader to supply the rest of it on their own. This barest form of feel-felt-found basically announces that the author has made a conclusion which is not open to discussion.
To be honest… I have been debating whether or not to say anything because I know by saying something you may have hurt feelings. And I have no obligation to tell you everything I know or think. But on reflection I have found it more honest — honest in the older sense of “straightforward” or “direct” — to share this with you.
“Let me be clear” or “Let me be perfectly clear” (used by many politicians) I know this is sort of a long speech and many of you have not been paying attention, so coming up next is a catchy phrase that I want you to remember. (Interestingly enough, “clear” in this case translates much more as “memorable”)

The majority of these phrases are constructed around the speaker trying to anticipate the response of the listener. In this way, they are conversation “short cuts”. Most of them also send an important social message to the audience.

Note that using some of these phrases is considered poor grammar. That’s okay. We’re not trying to win an essay award, simply communicate with other human beings. The web is an interesting confluence of spoken and written communication. It’s not either one exclusively, but a little of both.

Note also that there’s nothing dishonest going on here. These phrases aren’t intended to somehow hide or gloss over problems with the speaker’s position (although admittedly they can be abused that way.)

For many colloquial speakers, this article probably sounds pretty stupid, even inane. But once you reach a certain level of thinking logically about everything, commonly found among hackers and programmers, this kind of thing easily trips you up. In fact many technical people get very angry at times about language usage like this. It’s as if they feel like there is a “bug”, the communication fails a checksum, and they’re frustrated at having to put up with it.

I really wish that English was more logical. No, scratch that. I actually love the craziness of languages and am fascinated with phrases like the ones above. The differences between real language and mathematical languages continues to amaze and interest me.

I’ll add more to this article as they come up.

If you've read this far and you're interested in Agile, you should take my No-frills Agile Tune-up Email Course, and follow me on Twitter.