IBMese and People Hacking Revisited
The other day, talking to some people from IBM in Raleigh, I learned a bit about businessspeak. You know, the strange language involving "paradigm shifts" and "issues" and "core competencies" instead of the normal things that normal people talk about. I finally figured out what businessspeak is good for. Yes, I realize that I could be kicked off Advogato for saying that, but I'm going to tell you anyway.
As you might imagine, people from IBM know an awful lot about businessspeak. IBM is also massively rich, big, and powerful, so they're doing something that works, whatever it is. Here are some specific businessspeak lessons they taught me:
(You've probably heard of this one.) There is no such thing as a "problem." Problems are bad. Some people would say there are "issues," but that's still a bit negative sounding. The proper term is "challenges." Everyone has challenges. And challenges are, of course, good. What would your job be like without challenges?
(An impressive new discovery.) No product can be described as a "something something killer." This is only true after the something something has already been killed, at which time there's no real need to describe it that way. Instead, it can be a "something something fighter."
Why are these two examples interesting? Because I finally found the common theme: "non-arguability." I just made up that word, which in retrospect has about the same meaning as "non-controversial," but I didn't really understand what non-controversial really was until I thought of it this way. It's not that you don't argue with it because everyone agrees; it's that you can't argue with it because the person making the statement wins by default.
"You know, marketing this software to schoolchildren in Africa, who have neither computers nor electricity, is going to be a real challenge." Even if you think it's possible through some incredible new space-age technique, nobody's ever going to deny that it's a challenge. Conversely, "You're going to have problems selling this software to schoolchildren in Africa" is inviting someone to explain how no, really, it's possible, and it might be hard but it won't be a problem.
"This thingy is going to be a real something something fighter!" The person saying that is only saying that your thingy is going to go up against the something something, which is always true in some respect; you're both in the same marketplace, and someone might buy one, the other, both, or neither. If they buy just one or the other, then I suppose one or the other won. Meanwhile, if you say, "This thingy is going to be a real something something killer!" you invite argument. Perhaps the something something will kill the thingy. Wouldn't you look silly then!
Okay, so why would you want to be non-controversial? Well, as an engineer, you wouldn't. That's why engineers who insist on calling their bugs "issues" drive me crazy. I'm sorry, but engineers don't gloss over problems: they state them as clearly as possible, and then they either solve the problem or agree that it's not worth solving.
But sales - and by extension, people hacking - is different. In that case, you're messing with someone's emotions with the goal of getting them to agree with you and eventually do something for you (eg. buy your stuff). And the biggest barrier to sales is (ironically?) defensiveness: the feeling that someone is trying to sell you something. Being non-controversial helps avoid making people defensive.
Here's where I'll add my own bit of spin. The most basic form of non-controversiality is the above: making all your statements more bland in order to keep the recipient from becoming defensive. The good news for salespeople is you actually can do this by memorizing a few simple words and techniques. Unfortunately, blandness also prevents your customers from becoming interested. In fact, controversy results in a lot of emotion, and emotion keeps people interested. Boring, neutral TV news shows don't get any viewers; controversial news shows on either end of the spectrum get lots of viewers.
So here's what you do. If you're really good at this, you can say only controversial things that the person listening will agree with instantly. You have to be really good to pull it off, because you need to really understand your listener. If you misread them and say the wrong thing, they get all defensive, and you're worse off than if they were only bored.
And then, if you're really really sneaky (or perhaps just dumb), you can do what I realized I've done for a long time: you can say mostly non-controversial things, then every now and then throw in a fake controversy. This is either something you can teach them about and they'll like in the end, or something that you can just turn out to be joking about. This is the "just seeing if you were listening!" technique, and used correctly, it can really make a difference in the interest level of your presentation, without causing defensiveness. NITIites who have seen my presentations will probably be able to remember some cases of this from me if they think back.
Now, if you agree with the things I've just said, see if you can find any instances of those techniques in the article I just wrote.
After visiting Raleigh, NC, which smells nice, I now find myself in Portland, Oregon, home of the Transformers. Take that, mich!
Wireless in Seattle
In the last week, I spent a total of about 7 hours in trains travelling up the coast from Portland, through Seattle, to Vancouver. Unlike VIA, Amtrak doesn't have (albeit barely functional) onboard Internet, but they do have power plugs, and I was a bit bored, so I left my laptop on and scanning for access points the whole way. As it turns out, there are a lot of different access points along that route, and only about half of them are encrypted.
Sadly, trains move so fast that you can only get about 30 seconds of connectivity - at best - before you move on. Some clever scripting got me an IP address and a PPTP link before time ran out, but sadly I was stumped due to my lack of a good mobile IP setup and good offline mail reading support. There are also a few annoyingly long periods with no connectivity at all. Still, chances are good that, as Linksys-style wireless routers get even cheaper, someone will eventually find a trick to this sort of thing.
When I got back, I disabled WEP on my own router at home, because... why not? There's nothing more annoying than having your train stop for 10 minutes on a side track when the only access points in range are annoyingly encrypted.
Pantsless in Waterloo >>
My parents used to remind me of the important difference between "good attention" and "bad attention." Others say there's no such thing as bad publicity. Now, imagine that half the article about Waterloo being "best overall" university in Canada is about the pantsless movement, and that movement is being spread mainly by students who did work terms at NITI. But NITI was not mentioned in the article, only Waterloo. So is that good attention, bad attention, publicity, or nothing important? You decide.
Disclaimer: With the possible exception of a casual and brief association with the work of certain members, I am not now, and never have been, a member of the pantsless party, er, movement.
I have nothing to really add on the topic, but I think mathrick's brief post on user interface design is worth a link.
Motivation, Part 1
It's so easy to drain the life out of something, but so hard to put it back in. Doesn't hurt to try though. Mmm, squishy.
Motivation, Part 2
I don't remember who, but a few people have told me in the past that salary is not a motivator - but at worst, it can be a demotivator. I don't know if this is true for everyone, but I think it's very true for certain kinds of people, particularly software developers. If they're getting paid enough that they're satisfied with it, paying them more won't make them work any harder.
I think there are basically three states of motivation:
I like to believe that, by default, most people are in the "motivated" state. That is, by default, most people want to do useful stuff rather than sit and not do useful stuff. Maybe I'm wrong, but in any case, I like to at least think that we don't hire people who are unmotivated by default, so it doesn't really matter if literally everybody is the way I think they are.
From this neutral state, you can go in two directions. The things that take you in one direction versus the other are actually unrelated to each other. More of thing A might demotivate you; less of thing A might demotivate you less. But no amount of it, or a lack of it, will ever hypermotivate you.
For example, you will never achieve hypermotivation because we pay you more, or give you clear (instead of unclear) specifications, or don't chain you to your desk and whip you, or don't make you play kindergarten-style HR role playing games.
It's unlikely that you'll become actively demotivated because we don't have a foosball table, or because we don't have an inspirational leader, or because you don't believe the work you're doing can really change the world.
The fact is that merely motivated people can do really good work. Some companies do just fine running entirely on merely motivated people. It's just that hypermotivated people can do even more... lots more.
I've written a lot lately about the two sides of various issues, and the fact that not compromising, but instead maximizing both constraints, is the only way to really succeed. For example, you research, write, and comply with excellent functional specifications in order to make people not hate your product; you do excellent design in order to make them love your product.
Companies and motivation work the same way. Carefully following some boring, well known HR guidelines to avoid the common demotivators can make people not hate working at your company. (Avoid the stupid parts of the well known HR guidelines, though, because some of them are demotivators themselves.) But hypermotivation isn't just about removing demotivators; you have to also have the right hypermotivators in the right places. For every person, those hypermotivators are different.
Not many people are hypermotivated; of the people that are, I'm not sure they could honestly all tell you exactly why that is. I think I'm in that category. But not knowing those things gets in the way of sharing those things with others.
Tonight someone read me a story about resistance to change. Just sitting in on a story reading was kind of strange by itself, but that's not the point.
What struck me is that I totally understand the point of view of the people in the story - their fear of things changing out from underneath them. But I'm exactly the opposite. I have a fear of stability. If it's too safe and predictable, I quickly start to feel trapped. At the same time, I don't think I'd be terribly freaked out if I lost my job tomorrow and had to move to Mexico doing a job I've never done before. As long as there was something I could do about it, it would be okay.
I've heard people tend to grow out of that eventually. What a depressing thought.
Snowtime in the Hinterlands
I live at the top of a hill on a busy street. In the summer, this can get loud. But in a snowstorm it can get ridiculous.
people helping people (and thus making me feel slightly guilty for just laughing at them)
people helping people until they stop at a stoplight (urban planning at its finest)
Very rarely, but sometimes, I'm just happy to have a digital camera.
Moral of the Story
There are several morals to this story. First, don't live on a busy street unless you own earplugs.
Second, when stuck in the snow, don't spin your tires!! As soon as your tires start spinning, you have only dynamic friction, not static friction, which means you have much less chance of succeeding. Plus, if the occasional loud crashing noise is any indication, when you do eventually find some traction, you take off rather quickly by surprise.
Third, it's December. Seriously, stop using your summer tires.
Fourth, SUVs actually do accomplish something. Minivans do not. I'm sad not to have a video of the ambulance I saw pushing a minivan up the hill just so they could get through.
Fifth, nobody except me ever learns these lessons, because everyone down there thinks they're somehow unique and will somehow get out of it just by spinning their tires. But two hours later, I can, with great confidence, say that it's a losing strategy.
As always, special thanks to NITI for having their bandwidth sucked by these videos. But I may have to pull them soon in the name of, you know, not wasting money.
Yesterday one person accused me of being an idealist, and someone else overheard that and commented, "Someone says Avery's an idealist? I've got to hear this!"
I've spent a lot of time not being an idealist, because idealism, almost by definition, requires rejecting reality. I've done my best to be a good realist.
But I've really always wanted to be an idealist. It's just that if you understand realism, you can't just leave it out of your idealised world view; that wouldn't be very ideal at all. Most idealists are lucky, because they can't see the contradictions in their ideal world view. Since they can't, they can be successful idealists, although it won't do them all that much good in getting people to believe them. If you understand reality, it seems that accepting idealism is a compromise.
But what if you could come up with a system that was ideal (ie. solves its problem space without making compromises outside its problem space), but also implementable? I guess you might call that pragmatic idealism.
One good indicator that you finally understand something is that your invented name for it agrees with other people. For example, various modern philosophers discuss pragmatic idealism.
Obligatory Link to Open Source
Also, a google search for the term led me to Richard Stallman's Pragmatic Idealism essay, which I suppose takes us full circle. (rms's idealism is not really the same as mine. My idealism is based fundamentally on people being in agreement - since disagreement is a compromise - while his just politely excludes such people. But a situation that excludes such people is compatible with a system where such people don't need to exist.)
Arcnet never really dies, it just gets weirder
It is by fear that I email you in hopes that if your voice is as bad as mine. You won't sing! Actually I am going to be trying out your drivers on some fairly new cards using the SMC COM90C65 or 66 chips. Once I get the network working on twisted pair (Point to Point) I will be making some modifications to make the network Wireless. I may need help to gain control of the TX indicator output on the chip. I am hoping I can use it as a PTT for the transmitter.
If he pulls this off, he will be my personal hero.
I actually quietly attended the Desktop Architects conference in Portland, but avoided catching up on the mailing list about it until now. Thanks to Burgundavia for linking to the Linus thing. Here are some of my favourite quotes from the discussion.
The majority of end-users want a simple printer dialog. In fact most people will just hit the Print button without changing any settings. These users are not 'idiots' they just have better things to do then futz around with printer settings. On the flip side I'm sure there are many pre-press publishers who want to tweak and change every setting. The two design goals do not have to be at odds with one another. A good design will satisfy both.-- Gregory Raiz, Windows developer
To put it in mathematical terms: "The Intersection of all Majorities is the empty set", or its corollary: "The Union of even the smallest minorities is the universal set".-- Linus Torvalds, kernel developer
It's a total logical fallacy to think that the intersection of two majorities would still be a majority. It is pretty damn rare, in fact, because these things are absolutely not correlated.
When user interfaces means that something CANNOT BE DONE, it's not about "usable design" any more. At that point, it's about UNusable design.-- Linus Torvalds, again
Any Gnome people who argue that it's about "usability" have their heads up their asses so far that it's not funny. I've argued with them about this before, and I know others have too, and mostly given up.
"Usability" is an issue only if you can do something at all. But if you can't do the thing at all, it's pointless to talk about usability: the thing is BY DEFINITION not usable if it cannot be used for a specific task.
If I have an overall point here, it's that all of us who are maintainers should be willing to make choices and take the heat, and that it breaks our ability to make good software if we start thinking "all things to all people," or "I can't do anything, so I'll just punt or bow to the flames." Either we have something to contribute due to our professional skills, or we don't. Users (like Linus) vote with their feet on whether we contributed the right things for them personally, or focused on someone else instead, or just failed to do anything useful for anyone at all.-- Havoc Pennington, designer
If nobody uses my software, I want it to be my fault. And the same if they do use it. Why else would I bother trying to be better or worse at my profession?
Not Taking Things Too Seriously
Seriously, this has been entertaining. And I think Linus has made a lot of good points that certain people in the GNOME world should make an effort to take to heart. I found myself nodding rhythmically as I read most of his mails, even if he was being a big jerk half the time.-- Nat Friedman, person who doesn't take things too seriously
We were terrible, but we thought we were great. It doesn't matter how terrible you are if you think you're great.
UI Design and iPod Movie Conversion
guspaz is working on a Windows program called iPodDrop. I don't run Windows and don't need any such thing, but he was looking for suggestions on how to get more people to use it, since the alternatives apparently suck (which is not really very surprising).
First, drag and drop has largely been a UI failure. Dragging a document from one open folder to another folder - okay, makes sense. Dragging it from an open folder to a folder icon: suspicious, but okay. Dragging it from an open folder to a program: forget it, you've just blown your metaphor and lost 99% of your audience. The problem is that people don't take real-life documents and, say, smack them against a toaster to make them do things. When you have a toaster, you operate the toaster, not the toast.
Try adding an option to the Explorer right-click menu instead. (It's easier than you think.) The nice thing about right-click menus is that there's no real-life metaphor for them at all, which seems to upset Steve Jobs but means that people have an open slot in their minds to absorb the concept (eventually). Now that they've absorbed the idea that "right click = give me a list of actions to do on this object," adding new right-click menu items is the way to go. (Supporting drag-and-drop in addition to that is perfectly okay.) Right-click is a metaphor I'd actually love to extend to real life. Imagine right-clicking your bread and telling it to "toast." Saves me running around looking for my toaster.
Second, Windows users hate programs that have no GUI. Haven't you noticed? Millions of people will need to recode videos for their iPod, but maybe 0.1% of them want to use a command line program to do it. This goes beyond the badness of drag-and-drop; if you want users to be happy, you'll need to pop up a window with a few toggles, go and cancel buttons, and most importantly, a completion bar.
Third, as for getting more users for your software, you should see about getting it bundled with some spyware. Spyware is the new DirectX. People download and install spyware on their systems like crazy for some reason, and all you need to do is tag along by being included in the same installer package. Lots of other popular programs, especially ones dealing with "media sharing," are being distributed the same way.
What Unix does well isn't what people want.
-- Rob Pike
Trancendental Philosophical Musing
wlach: I see the difference between the two views of "idealism" you posted, but they don't seem incompatible, only different. That is, a particular ideal is an idea that (as a philosopher might say) can exist separate from reality; in fact, if ideals are "how things ought to be", reality often doesn't really enter the picture. But there's nothing stopping us from having an idea that is also real, or from having an ideal that can be achieved. The two things aren't identical (not all ideas are ideal), but perhaps one is a subset of the other (are all ideals ideas?).
Anyway, I would argue that the article I linked to earlier is at least relevant to the particular metaphysical goop I was spouting at the time. :)
ssh+2FA to all your machines, anywhere, without opening firewall ports.