Menu

Posts tagged “writing”

"Making It Right" - a book about product management

I don’t know if I’ve always wanted to write a book, but I do know that I’ve been writing the one I’m announcing today in my head for many, many years. It’s called Making It Right: Product Management For A Startup World, and it’s my attempt at putting together a practical framework for building great products:

Making It Right

The book came about because I saw a lot of people in organizations perform some of the activities that make up the role of product management. The problem is that very few people take a holistic view of the product, and this is not a role that should be split up into tiny pieces. So, you see marketing people doing some design and research, business analysts doing some spec writing, developers managing the product backlog, and so on.

All this without a person who is responsible for the overall vision, prioritization, and execution of the product. With this book I wanted to provide a complete product strategy that is agnostic to whatever development process people use (agile, etc.).

So here are a couple of links to check out more detail, if you’re interested:

Smashing tells me that the Amazon thing, in particular, is important for the first couple of days after launch. So if you’re so inclined, please pick it up for 99c, and write a review. It will really, really help to give us a good launch.

Huge thanks to the Smashing Magazine team, and my technical editor Francisco Inchauste. They’re my heroes. And now I have to lie down.

The robots are coming, but that's ok

The AP is increasingly starting to use software with no human intervention to write basic news stories, but Kevin Roose says that we shouldn’t be alarmed about it. From his article Why Robot Journalism Is Great for Journalists:

Robot assistance may even spur human reporters to do our jobs better. With software producing the equivalent of old-school “clip files” for us, we’ll essentially have full-time research assistants. The information in our stories will be more accurate, since it will come directly from data feeds and not from human copying and pasting, and we’ll have to issue fewer corrections for messing things up. Plus, with our nuts-and-bolts reporting out of the way, we’ll be able to focus on the kinds of stories that educate and entertain readers in a deep way, rather than just dragging simple information from Point A to Point B.

Topography and how we see the world

I don’t quite know how to describe Peter Richardson’s The Lay of the Land. It’s about topography, maps, and cartoons, but actually about how we see the world:

Eventually I escaped my fjord, but a few lessons of my youth have been repeatedly confirmed: topography is important, and there’s no faster way to make an impression than with a cartoon. And by “cartoon” I mean a simplification which exaggerates some details and omits others. You could also say “model,” but I like the connotations of “cartoon”; it retains a transgressive frisson that the word “model” doesn’t have, unless you’re in fashion. But anyway.

Great essay — a bit rambling, but in a way that keeps you engaged.

An automated image upload workflow for Amazon S3

I have no idea if anyone else will find this helpful, but I’m so excited about it that I have to share it1. One of the most time-consuming and repetitive tasks in blogging is uploading images to my Amazon S3 account, generating the CDN link, and inserting it into the post. But I’ve now cobbled together a recipe that makes this really easy, and I’d like to tell you about it. First, here are the ingredients you’ll need:

  1. An Amazon S3 account for image storage (optional: Cloudfront CDN)
  2. TextExpander to handle the repetitive typing
  3. Hazel to automate the upload to S3
  4. Dropbox isn’t technically necessary, but it makes everything just a little bit smoother.

With that said, here are the steps in the recipe:

Step 1: Set up a Hazel workflow to upload new files to S3

First, we need to set up Hazel to watch a folder and upload any new files to your S3 bucket. The Macdrifter article Upload to Amazon S3 from Dropbox using Hazel is extremely helpful for this. I basically copied that script with some minor adjustments. Here’s what it looks like:

Hazel upload to Amazon S3

Note that you have to change the type of shell script you run to /usr/bin/python. The script I use looks as follows (again, see the Macdrifter article for the whole story):

import boto
from boto.s3.connection import S3Connection
import os
import sys
import urllib
from datetime import date, datetime
import subprocess

# This is how Hazel passes in the file path
hazelFilePath = sys.argv[1]

# Obviously, you'll need your own keys
aws_key = 'YOUR_KEY'
aws_secret = 'YOUR_SECRET'

# This is where I store my log file for these links. It's a Dropbox file in my NVAlt notes folder
logFilePath = "/Users/~YOUR_COMPUTER_NAME/Dropbox/Notational/Link_Log.txt"
nowTime = str(datetime.now())

# Method to add to clipboard
def setClipboardData(data):
    p = subprocess.Popen(['pbcopy'], stdin=subprocess.PIPE)
    p.stdin.write(data)
    p.stdin.close()
    retcode = p.wait()

# This is the method that does all of the uploading and writing to the log file.
# The method is generic enough to work with any S3 bucket that is passed.
def uploadToS3(localFilePath, S3Bucket):
  fileName = os.path.basename(localFilePath)

# Determine the current month and year to create the upload path
    today = date.today()
    datePath = today.strftime("/%Y/%m/")

# Create the URL for the image (Add your own path here)
    imageLink = 'https://cdn.elezea.com/images/'+urllib.quote(fileName)

# Connect to S3
    s3 = S3Connection(aws_key, aws_secret)
   bucket = s3.get_bucket(S3Bucket)
   key = bucket.new_key('images/'+fileName)
   key.set_contents_from_filename(localFilePath)
   key.set_acl('public-read')
   logfile = open(logFilePath, "a")

try:
       # %% encode the file name and append the URL to the log file
       logfile.write(nowTime+'  '+imageLink+'n')
      setClipboardData(imageLink)
   finally:
      logfile.close()

Here’s what the script does in my case: Whenever I add a new file to the Img folder in Dropbox, it uploads the file to S3, copies the URL to the clipboard, and also adds that URL to a Link_Log text file in my nvALT folder for later access if needed (or if I add multiple images in one go).

Step 2: Set up TextExpander shortcuts

Once the image is added to S3, the rest is handled with TextExpander. When I want to add an image to a blog post I type:

,img

That expands to:

<p><img style="display: block; margin-left: auto; margin-right: auto;" title="%fill:image title%" src="%|%fill:image source%" border="0" alt="%fill:image title%" /></p>

It asks me to give the image an alt tag, and then it places the cursor where I’m going to add the source file. Since the source URL is already in my clipboard, I then just ⌘-V and I’m all set.

They call it magic

That’s it. It might seem like a lot of work, but now that everything is set up my workflow is extremely simple:

  1. Add new image to the Img folder
  2. Type the TextExpander shortcut and paste the Image URL where I want the image to appear

I think it’s going to save me at least as much time this year as it took to write this blog post.

Oh. Wait.


  1. It also gives me an opportunity to pretend I’m Dr. Drang, but I digress. 

Typos arent taht bad

In A Corrected History of the Typo Adrienne LaFrance argues that maybe print errors aren’t such a bad thing:

What we’ve lost, in many cases, online, isn’t the integrity of print, but the traceability of its weaknesses. Centuries ago, “errata lists became, paradoxically, markers of well-made books.” The made in “well-made” is a key word here. Mistakes can serve as reminders that books are made at all—the physicality of the process, the “connection between the book going wrong, momentarily, and a sense of the process of production being briefly revealed, or implied,” as Smyth put it in a recent paper about print in Early Modern England. It’s why readers relish newspaper typos—they represent the lifting of a veil, and hint at the human (and that human’s fallibility) on the other end of the object. 

If this kind of thing is of interest to you, it reminds me of post I wrote a couple of years ago called The unnecessary fear of digital perfection. It cites a bunch of articles that lament the fact that we don’t let ourselves make mistakes any more.

Newsletters: not dead yet

David Carr in For Email Newsletters, a Death Greatly Exaggerated:

Email newsletters, an old-school artifact of the web that was supposed to die along with dial-up connections, are not only still around, but very much on the march. […]

And:

Email is a 40-year-old technology that is not going away for very good reasons — it’s the cockroach of the Internet.

Well, I confess that I have also succumbed to the lure of this particular cockroach, and have been experimenting with a revamped newsletter. If you’re keen, join in…

Breaking grammar news

In Punctuated Equilibrium Joe Pinsker reports on an atrocity that doesn’t get nearly enough press — the death of the apostrophe:

A battle is being waged over the apostrophe, and the names of two of the online factions—the Apostrophe Protection Society and Kill the Apostrophe—suggest an extremism usually reserved for blood, rather than ink or pixels. The former, founded by a retired British copy editor, provides a gentle guide to deploying the apostrophe. “It is indeed a threatened species!” the site warns, a little preciously. The Web site Kill the Apostrophe, meanwhile, argues that the mark “serves only to annoy those who know how it is supposed to be used and to confuse those who dont.”

This important article comes hot on the heels of a report on another alarming trend. A recent poll discovered that 43% of Americans don’t believe in the Oxford comma.

We should all know this by now, but just a reminder — this is why the Oxford comma is important:

Why Oxford Comma

Image source

Turning ourselves into memes

Rob Horning’s Me Meme is not an easy read, but it’s worth the investment. He doesn’t waste time with a fluffy intro, he just jumps straight in:

With social media, the compelling opportunities for self-expression outstrip the supply of things we have to confidently say about ourselves. The demand for self-expression overwhelms what we might dredge up from “inside.” So the “self” being expressed has to be posited elsewhere: We start to borrow from the network, from imagined future selves, from the media in which we can now constitute ourselves.

There are too many great quotes in here to choose from, so I’ll go with one more and then just encourage you to read the whole thing:

We shift from consumerist pleasures of fantasizing about how owning certain branded goods would make us into a certain kind of person and secure us a certain sort of affirmation to fantasizing about triumphant moments of social quantification, about getting likes and retweets, having lots of Tumblr activity, etc. […] Without viral content, you are in danger of becoming a blank.

Software as collective language

Paul Ford’s The Great Works of Software is definitely going on my “Best of 2014” list:

The greatest works of software are not just code or programs, but social, expressive, human languages. They give us a shared set of norms and tools for expressing our ideas about words, or images, or software development. Great software gives us tremendous freedom, as long as we work within its boundaries.

Seriously, read the whole thing…

Silence!

I had a particularly noisy weekend, so I’ve been thinking about silence quite a bit. This morning I came across Chloe Schama’s How Silence Became a Luxury Product, and it really resonated with me:

Unwanted noise is perhaps the most irksome form of sensory assault. A bothersome sight? Close your eyes or turn the other way — eyesores are, generally, immobile. An annoying taste? Spit it out. (Why was it in your mouth?) Sound, on the other hand, is ambient, elusive, enveloping. Even the softest drone can echo cacophonously if it worms itself into your head. Ulysses was not seduced by the sight of the sirens. Poe’s telltale heart does not torment with its smell. “Noise is the most impertinent of all forms of interruption,” groused the nineteenth-century German philosopher Arthur Schopenhauer. “It is not only an interruption, but also a disruption of thought.”

The article goes on to explain how silence has become a commodity — one that people are willing to pay a lot of money for. I found the article through Atossa Araxia Abrahamian’s Enjoy the Silence, a great piece on the proliferation of noise-canceling headphones:

I also discovered that an artificially imposed lack of noise can make perfectly normal sounds—the hum of a fan, or a colleague’s phone conversation—feel like an assault on the senses. The quiet becomes habit-forming, and I’m not entirely convinced that that’s desirable. What good is it to live in the world if we just choose to ignore it?

The articles reminded me of Jeremy Mesiano-Crookston’s exploration of imposed silence in How Silence Works: Emailed Conversations With Four Trappist Monks. Here is how one monk answered the question What do you feel like silence adds to your actions?:

The silence does make me aware of my inner workings — what we call in the monastery, “self-knowledge.” I can’t pretend that I’m always a nice guy, always patient, always calm and receptive. I have to admit that I can be abrupt, cold to offenders, or would often prefer efficiency to the messiness of other people’s moods. Silence seems to keep me from idealizing myself.

Since we’re on the topic of silence we might as well look back to Pope Benedict XVI’s thoughts about it in his message for World Communications Day back in 2012:

Silence is an integral element of communication; in its absence, words rich in content cannot exist. In silence, we are better able to listen to and understand ourselves; ideas come to birth and acquire depth; we understand with greater clarity what it is we want to say and what we expect from others; and we choose how to express ourselves. By remaining silent we allow the other person to speak, to express him or herself; and we avoid being tied simply to our own words and ideas without them being adequately tested. In this way, space is created for mutual listening, and deeper human relationships become possible.