Category: Opinion

  • @here considered harmful

    @here considered harmful

    You should never, ever post an @here, @channel, or @everyone in Slack, or Discord, or Teams, or HipChat, or Mattermost. When you do this, you turn an asynchronous communication tool into a synchronous one. You interrupt everyone’s day and night regardless of what time zone they are in.

    It is completely incompatible with working Remote, as we all are. See It Doesn’t Have To Be Crazy At Work by DHH and Jason Fried — use asynchronous communication tools. I work 9 to 5 in Toronto, you work 10 to 6 in Fiji, don’t message me at 6pm Fiji time, and certainly don’t message everyone in the company at 6pm Fiji time to tell them that bran muffins contain bran.

    A regular message is a sufficient unit of communication for virtually anything. Trust me — it will be duly considered when its time comes.

    In economics there’s the concept of signalling, assuming that hasn’t been ruined by ignorant randos asserting that virtue is a bad thing to signal. What you signal when you @channel a trite quotidian message is that you are so much more busy than anyone else could possible be, and I couldn’t care less as to how busy you might be. Stop pretending to be busy, respect my time, and I’ll respect yours.

    Cover of the “It Doesn't Have to Be Crazy at Work” book
  • Work From Home Under COVID-19

    Autonomic sent us all to work from home for social distancing a week before the rest of the Silicon Valley companies did, and two weeks before my father’s Toronto bank did. Good on them. I very much appreciate the precaution.

    It was a sharp transition, because it was hitherto an office-only environment. This was less because of what we do — all our infrastructure is on the public cloud, not any kind of intranet — and more because pair programming is fundamental to the work practice. I found myself enjoying pair programming since I started at Autonomic in January, and it helped me on-board rapidly and even open some pull requests on my very first day. Pair programming is excellent for knowledge transfer. In theory it’s possible to pair program remotely, but my team is still getting there.

    Speaking of working remotely, I have Jason Fried‘s Remote on order. The Amazon Marketplace vendor promises that the book will get to me sometime in April. In the meantime, Jennifer Tarliuk has written up a nice summary of Remote.

    Remote book cover
    Remote book cover

    While my team wasn’t remote, we are distributed. My manager and product manager are in California, while the rest of us are in Toronto and other cities. We already had the structure for remote planning, separate remote stand-ups for just Eastern time zone and for joint North America, and remote retrospectives in place.

    New things we’ve put in place for work from home:

    • A Zoom channel for all-day occasional voice chat.
    • Reminders to take a lunch break.
    • Budgets for work-from-home supplies.
    • A Slack channel to share work from home tips, tools, and frustrations.

    I’m lucky because I’m healthy so far, I don’t have kids to distract me, and my place is large enough for a home office. We should be kind to our coworkers who are caring for their kids, or who are living in a 300 sqft studio, or who are caring for sick family members. We should help them shoulder the load. My company has been smart and supportive, and I hope your place of work does the right things too.

  • Skynet Golems in Cyberspace

    There is no stealth in space. You can see a rocket burn anywhere between here and past Pluto, or any object of room temperature on infrared at the same distance. You cannot hide a spaceship. It is much the same thing in cyberspace. Anyone on the internet can attack anyone on the internet.

    Yet across the gulf of space, minds that are to our minds as ours are to those of the beasts that perish, intellects vast and cool and unsympathetic, regarded this earth with envious eyes, and slowly and surely drew their plans against us.

    H.G. Wells, War of the Worlds

    All systems on the internet are continuously under attack. Your phone, your laptop, your smart refrigerator, your nannycam that you use to watch your children — they are all targets. Some of them have already been hacked and are now drones in a botnet, unbeknownst to you.

    There are many motivations for cybercrime. Sometimes people hack your system because it’s your system. Sometimes they do it because it’s a system. Sometimes they do it to use it as a tool against an entirely different target.

    Motivation is important because you need to understand a threat model to defend against it. Are you defending against your own government? Are you defending against the advanced persistent threat of a different government, like Google was in 2009? Are you defending against a targeted hacker that wants to spearphish you into wire transferring your company funds to the wrong wire transfer address? Are you defending against an undiscerning hacker that wants to cryptojack your system and hold your files for ransom? Are you defending against your abusive significant other who wants to stalk and control you? The best approach for one threat isn’t right for another.

    In certain circles, a lot of ink has been spilled on AI explosion, the Singularity, and so on. From my perspective, any speculation in that regard has to make unjustifiable assumptions and tends to predict the unpredictable. More importantly, I do not fret about Skynet, because the Golems are already here.

    Quote from Feet of Clay
    “I heard there was a golem who was made to dig a trench and they forgot about it and they only remembered it when there was all this water ’cos it had dug all the way to the river.” – Terry Pratchett, Feet of Clay

    A golem is a fictional creature from Jewish folklore. It is a clay being animated by an inscription that follows directions. I’m thinking less of the mythological version and more of the modern interpretation, whether in the comic fantasy of Terry Pratchett or in the generic mythos of Dungeons and Dragons.

    The internet is filled with animated hammers ceaselessly hammering. Do you run an obsolete version of some software with known security vulnerabilities? The animated hammers will break in, because there is a directory of all known instances of that software on the internet, and there is a hammer hitting each one to see if it cracks or not. When the hammer breaks into one, it uses it to send out more hammers.

    Security by obscurity is increasingly impossible, because nothing is obscure. There is no stealth in space or in cyberspace. Everything has to be secure by default, because the window of time between vulnerable and hacked is ever narrowing.

    We live in an age of artificial stupidity. Perhaps someday soon we’ll build a human-level artificial stupidity, an artificial general stupidity if you will. Until then, we live in a world of animated hammers.

    Animated marching hammers
  • Cryptocurrency and irreversible transactions

    There’s a current news story about a wallet blunder freezing up $280,000,000 of Ether, a cryptocurrency. I try to avoid posting too much opinion on my blog, but I do have a view on this.

    Cryptocurrency

    A cryptocurrency like Bitcoin or Ether is based on the idea of unbreakable contracts and irreversible transactions. This is great in many contexts, but somewhat scary to me as consumer should I ever choose to pay for something using a cryptocurrency.

    If you want to know more about cryptocurrency and Blockchain, you should check out the Blockchain Essentials course on Cognitive Class.

    Mostly Harmless

    I think this Douglas Adams parable about the design problem of un-openable windows applies to many things in tech, including cryptocurrency:

    …all the windows in the buildings were built sealed shut. This is true.

    While the systems were being installed, a number of people who were going to work in the buildings found themselves having conversations with Breathe-o-Smart systems fitters which went something like this:

    “But what if we want to have the windows open?”

    “You won’t want to have the windows open with new Breathe-o-Smart.”

    “Yes but supposing we just wanted to have them open for a little bit?”

    “You won’t want to have them open even for a little bit. The new Breathe-o-Smart system will see to that.”

    “Hmmm.”

    “Enjoy Breathe-o-Smart!”

    “OK, so what if the Breathe-o-Smart breaks down or goes wrong or something?”

    “Ah! One of the smartest features of the Breathe-o-Smart is that it cannot possibly go wrong. So. No worries on that score. Enjoy your breathing now, and have a nice day.”

    It was, of course, as a result of the Great Ventilation and Telephone Riots of SrDt 3454, that all mechanical or electrical or quantum-mechanical or hydraulic or even wind, steam or piston-driven devices, are now requited to have a certain legend emblazoned on them somewhere. It doesn’t matter how small the object is, the designers of the object have got to find a way of squeezing the legend in somewhere, because it is their attention which is being drawn to it rather than necessarily that of the user’s.

    The legend is this:

    “The major difference between a thing that might go wrong and a thing that cannot possibly go wrong is that when a thing that cannot possibly go wrong goes wrong it usually turns out to be impossible to get at or repair.”

  • Adobe password breach as the world’s greatest crossword puzzle

    Adobe was recently breached and 150,000,000 user accounts were stolen. Adobe was following the one of the worst practices of password storage — reversible encryption (rather than hashing with a salt using a good, slow algorithm like bcrypt). A very, very old throwaway password of mine was among those leaked.

    XKCD has referred to this breach as The Greatest Crossword Puzzle in the History of the World!

    It was bound to happen eventually. This data theft will enable almost limitless [xkcd.com/792]-style password reuse attacks in the coming weeks. There's only one group that comes out of this looking smart: Everyone who pirated Photoshop.

    With the help of LastPass’ Has Adobe Leaked My Password, let me illustrate why:

    The following hints have been used by other people that share your password. This information could be used to determine your password as well.

    • Life, Universe, Everything
    • life?
    • DA
    • h2g2
    • hitchiker’s guide to the galaxy
    • yes
    • meaningoflife
    • theusual
    • everything
    • hitchhiker
    • dolphins
    • gta
    • a4
    • answer
    • meaning?
    • life
    • the answer
    • the question of life
    • HGTTG
    • meaning of life
    • the usual
    • life..
    • life the universe and everything
    • a2lae
    • the ultimate
    • Hitchhiker
    • What’s the answer?
    • hitchhikers?
    • Life the Uni and Every
    • life meaning and flower
    • common
    • douglas adams
    • a?
    • maiden
    • lotr no #
    • Adams question
    • Hitchhiker’s Guide
    • answer?
    • question
    • Life Meaning
    • adams
    • life universe everything
    • HHGTTG
    • the number
    • towel
    • typical
    • The Usual
    • How many roads must a man walk down?
    • Life, the universe, and everything
    • What is the meaning of life, the universe and all?

    Would you care to guess what password the naive, young me used for Adobe?

    Next steps

  • Write to be read

    In 1997, Jakob Nielsen wrote How Users Read on the Web. His organization conducted a formal study of usability and found:

    • Concise text (half the words) is 58% more readable than rambling text.
    • Scannable text (bullets) is 47% more readable than wall of text.
    • Neutral language (facts) is 27% more readable than marketese.

    Nielsen added specific recommendations:

    • Mark keywords
    • Use descriptive headings (not puns or references)
    • Use bullets
    • Limit one paragraph to one idea
    • Start with the conclusion
    • Halve the wordcount

    Concise text

    Blaise Pascal: I have only made this letter long because I have not had the time to make it short.

    Maintaining high information density is hard. You need to edit and cut the dead text. It takes up your time, but it saves readers time; it is respectful.

    Scannable text

    I think that Jakob Nielsen and Jeff Atwood overuse bolding. Nevertheless, they remain widely read because their postings are clear and readable. I can see at a glance their topics, their reasoning, and their conclusions.

    Neutral Language

    Being positive and writing empty boasts is different. Don’t blather about awesomeness, or people will ignore even the facts.

    Inverted pyramid style

    Observe:

    • Newspaper stories start with the most important fact and work down.
    • Essays start with the thesis and then prove it.
    • Reports start with an executive summary.