MaisonBisson

a bunch of stuff I would have emailed you about

User stories are documentation

While writing up the draft docs for Joyent’s Container Name Service I leaned heavily on the user stories and use-cases for the feature. It has me realizing that we should consider user stories to be the first draft of the user documentation.

Indeed, consider that well-written docs and user stories have similar qualities: a user, goal, and benefit, in clear language that’s accessible in small, focused chunks.

The CNS docs are now in our core documentation library, and I’m happy that we’ve updated the content management system to support deep linking to individual headings, like this one about adding CNS service tags when creating an instance with the triton CLI.

I’m thinking about this and writing now because Alexandra has joined the team and is adding short screencasts that do more to “show, don’t tell” how to use the features while providing additional context. See this screencast explaining usage with docker, assigning vanity names, and her overview of CNS’ function and purpose. She’s been digging in to the existing documentation, asking questions, and driving a lot of improvements. All that had me considering the source material and the relationship to user stories.

Everybody smiles while rolling down the hill...

Everybody smiles while rolling down the hill at the Bring Your Own Big Wheel event!

Ancient Aztec chemistry

A 50-50 blend of morning glory juice and latex created rubber with maximum bounciness, while a 75-25 mix of latex and morning glory made the most durable material.

It seems they were making bouncy balls for fun and sport. But, to be clear about the ingredients:

Morning glory plants tend to grow near rubber trees, and both plants were considered sacred in several Mesoamerican cultures. Morning glory, for example, was also used in religious ceremonies for its hallucinogenic properties.

From Rachel Kaufman’s reporting on rubber chemistry and industry in the prehistoric Americas.

Echoes of product management advice in declarative vs. imperative programming

The following line in a post about the difference between declarative vs. imperative programming caught my attention for the way it echoes product management best practices:

[I]t’s often good not to think of how you want to accomplish a result, but instead what the component should look like in it’s new state.

Of course it does matter how you get to where you’re going, but it’s a whole lot easier if you first focus on aligning everybody on goals and where you’re going.

Sutro Tower

Is it true that Sutro Tower is the San Francisco landmark that only locals recognize?

get list of functions in bash script…look for those in argv

# Get function list as array
funcs=($(declare -F -p | cut -d " " -f 3))

# parse out functions and non-functions
i=1
declare -a cmdargs
declare -a otherargs
for var in "$@"; do
    if [[ " ${funcs[@]} " =~ " ${var} " ]]; then
        cmdargs[i]=${var}
    else
        otherargs[i]=${var}
    fi

    ((i++))
done

echo ${cmdarg[*]}
echo ${otherargs[*]}

On disfluencies

Your Speech Is Packed With Misunderstood, Unconscious Messages, by Julie Sedivy: Since disfluencies show that a speaker is thinking carefully about what she is about to say, they provide useful information to listeners, cueing them to focus attention on upcoming content that’s likely to be meaty. […]   Experiments with ums or uhs spliced in or […] » about 300 words

Compact camera recommendations

A friend asked the internet: Can anyone recommend a mirrorless camera? I have some travel coming up and I’m hesitant to lug my DSLR around. Of course I had an opinion: I go back and forth on this question myself. My current travel camera is a Sony RX100 mark 3 (the mark 4 was recently released). […] » about 400 words