Skip to content

Latest commit

 

History

History
372 lines (284 loc) · 13.2 KB

hb-communications.org

File metadata and controls

372 lines (284 loc) · 13.2 KB

Communications Handbook

https://img.shields.io/badge/made%20by-Chenla%20Institute-999999.svg?style=flat-square https://img.shields.io/badge/class-deploy-0072B2.svg?style=flat-square https://img.shields.io/badge/type-work-0072B2.svg?style=flat-square https://img.shields.io/badge/status-wip-D55E00.svg?style=flat-square https://img.shields.io/badge/licence-MIT%2FCC%20BY--SA%204.0-000000.svg?style=flat-square

Introduction

Pace Layering Model

real time
phone calls, voip
near real time
instant messaging & irc
fast asynchronous
twitter, facebook (in-your-face asynchronous)
slow asynchronous
email, usenet. rss, mailing lists, online forums

MMU Communication Patterns

persistent vs transient

static content publication
bittorent, ftp DHT/Swarm
connection between identities
voip, rtc Raw P2P Connection
transient datagrams
email, twitter, IM, irc routing privacy is important vulnerable to end-point analysis
wholly directed
im, email
partially directed
mailing list, usenet
filterable global
twitter, registries, content-search

Interruptions

Yeah, my feeling is that the modern workplace is structured completely wrong. It’s really optimized for interruptions. And interruptions are the enemy of work. They are the enemy of productivity, they are the enemy of creativity, they are the enemy of everything. But that’s what the modern workplace is all about, it’s interruptions. Everyone’s calling meetings all the time, everyone’s screaming people’s names across the thing, there’s phones ringing all the time. People are walking around. It’s all about interruptions. And people go to work today, and then they end up doing most of their real work after work, or on the weekends. So, people are working longer hours, people are tired – I’m working 50-60 hours this week. It’s not that there’s 50 or 60 hours worth of work to do, it’s because you don’t work at work anymore. You go to work to get interrupted.

– Jason Fried | Why You Can’t Work at Work

Interruptions can really fuck up your workflow – takes 5-45 min to get back into the groove… so showing respect for others is very important.

Hacker vs Manager’s schedules

Internal Communications

always use plain text – if you must send formated messages, use multipart mime (plain text and html)

Devices

Devices and the limitations that they impose on what they can be used to read and respond to communications belong to different shearing layers – don’t try to use the wrong device/interface to work in the wrong shearing layer.

Don’t use a device to communicate that isn’t appropriate to the type of communication.

mobile –> short form desktop/laptop –> long form

Hacker Ethics

Commonly held hacker beliefs and personality traits:

Before communications between computers and computer users were as networked as they are now, there were multiple independent and parallel hacker subcultures, often unaware or only partially aware of each other’s existence. All of these had certain important traits in common:

  • Creating software and sharing it with each other
  • Placing a high value on freedom of inquiry
  • Hostility to secrecy
  • Information-sharing as both an ideal and a practical strategy
  • Upholding the right to fork
  • Emphasis on rationality
  • Distaste for authority
  • Playful cleverness, taking the serious humorously and humor seriously

Hacker culture | Wikipedia

  • Laziness
  • Sharing
  • Openness
  • Decentralization
  • Free access to computers
  • World Improvement
  • Access to computers-and anything that might teach you something about the way the world works-should be unlimited and total.
  • All information should be free.
  • Hackers should be judged by their hacking, not bogus criteria such as degrees, age, race, or position.
  • You can create art and beauty on a computer.
  • Computers can change your life for the better.

I believe that most of these traits and beliefs overlap with other fields as well, especially in the sciences – if you combine the above with the scientific method, we have something that can bridge between development, research, philosophy and art.

Go one step further and mix in the best of the Stoics, Epicurians and Process Philosophers and you have a very powerful personal philosophy which I will call Scopism or Scopic Philosophy & Ethics.

Etiquette

The Git Lab manual is very proscriptive – as it should be, but process and behavior are not always the same thing.

Back in the day, in the 80’s when I first started learning Unix, hacker culture and ethics in mailing lists, Usenet and email, I was taught that:

  • always exhaust every eay you can think of trying to solve a problem on your own before asking for help.
  • if you ask a question, you are obliged to answer three questions from other people. In the 90’s in a Will Smith movie this became known as paying it forward.

How to ask Questions

Claiming something “does not work” isn’t what one programmer says to another programmer. The phrase “does not work” should be reserved for when you’re taking your car to the mechanic and you don’t have a clue what’s wrong with it. If you’re telling a programmer that a particular piece of source code simply “does not work”, then you should no longer consider yourself a programmer.

– Nick Griffith | Does Not Work

There are a lot of different ways in which a piece of code could “not work”. And as a programmer, even if the solution is beyond your capabilities, the exact nature of the problem certainly shouldn’t be. If you know enough to know that the code isn’t working, you should be able to at least explain to someone else what makes you draw that conclusion.

This code does not work because…

  • it does not compile.
  • it encounters a run-time exception.
  • it does not produce the correct results.
  • it launches missiles.

– Nick Griffith | Does Not Work

people who ask “can I ask you a question?” - this doesn’t have the same positive benefit as “hey, how’s it going? how was your wknd?”, it doesn’t seem to serve any purpose. I typically ask people, nicely, to just ask the question directly next time and I’ll answer when I’m able, if can’t right away. Especially in a chat-type environment in a geographically/timezone-diverse team.

– mastre_ | Does Not Work | Comments on Hacker News

How to answer Questions

Issue Reporting

  • when reporting an issue, always state:
    • a description of the problem (including code and or screenshots if needed)
    • a description of the software and operating system the issue occured on, and what other combinations of hardware and software you have been able to duplicate the issue.
    • the output of error messages, log files and debugging tools.
    • an explanation of what you have tired to resolve the issue.
    • an explanation of where you have searched for the solution.

More specifically, it would be great if issues pointed to a specific instance of a container and that the issue is written as literate devop document in orgmode. This would make it trivial for anyone to spin up the container and run the code from the org document and play with it and hopefully contribute a solution.

Style

  • always use english in communications – even if it is one-to-one, because it might be quoted…
  • always define acronyms and abbreviations (LOL, ROFL, IANAL, NSFW, TL;DR) the first time you use them, with the exception of those listed in the team glossary – don’t include anything in the team glossary, and it’s still a good idea to link to the glossary definition. Perhaps we can use a convention, like, any term that is in the glossary should be marked as a orgmode verbatim markup and we can programically generate links, or a search of the glossary for the term. This sounds like a waste of time, but is important to help avoid semantic rot over long periods of time and is very helpful when sending quotes to non-technical people or people who are outside the culture.
  • use the past-tense when describing things, which makes it easier to quote and integrate into other communications and documents.
  • emoticons – always use text, not graphic or unicode, and let’s keep the number of

Security, Transparency & Accountability

We’re open, and distributed, so the vast majority of what we do is in the open, so secrecy is not really an burning issue. However, because we are open, transparency is important and by extension, accountability.

  • keep different roles separate

Communication Channels (1-to-one and 1-to-many)

NOTE: look up etherium whisper video

Snail Mail

Sneakernet

Store and Forward (UUCP & NNTP)

Email

Chat (Slack, Mattermost, IRC)

Issue Tracking

Instant Messaging (Telegram/Signal etc & SMS)

Phone Calls

Google Docs

Video Chat

Email

Multi-Part Mime

AKA: Rich Text, Fancy Mail, HTML Email

I really can’t believe that this has to be spelled out for people, but I have seen so much abuse of email in the last few years that I guess it’s a lesson that has to be revisited periodically and learned anew by each new generation.

Email is a communications tool designed to send plain text messages. This is not a bug it’s a feature.

The long and short of it.

  • Send plain text email.
  • Do not use for regular communication between people
  • NEVER use for mailing lists.
  • Do not use for newsletters (if it’s formated, then attatch it or provide as a link).
  • Do not use for marketing.
  • NEVER use for security alerts.
  • If you must, then ensure that there is a plain text and html version as well using RFC2045. There are a few situations when you might have to use:
    • some bonehead demands/requests it, because plain text doesn’t reformat in some webmail apps on mobile devices. Best just to give them what they ask for, they’ll never understand.
    • it is required to be used in reply to a html email (not sure if I’ve ever seen one, but hey…).
  • When sending multipart mime messages, please use clean standard HTML. NEVER NEVER set a background color.

Reasons not to use:

  • proportional fonts look like crap in plain text email clients that render basic html. Plain text is rendered using monospace which looks great in a text editor.
  • not everyone uses web mail for everything! This may come as a surprise to some people but Gmail, Apple Mail, Hotmail and Yahoo Mail are not the only way you can get and use email.

Fancy Email FAQ

Why Is Fancy Email So Bad?

  1. It’s even in the name. The word fancy is seldom used to mean anything positive.

References