👈🏼 🕸💍 👉🏼
Skip to main content

August, 2015


Having a lot of fun using @withknown as the CMS for a new personal site, hosted on @DreamHost . Check out http://withknown.com


Here's a fun script that let's you auto lock your Mac whenever you unplug your iPhone.



The view from my DreamHost office.

The view from my DreamHost office.

Not a bad place to work, eh?


Mid-year performance reviews! That time of year where you have to remember a six month period all at once. Joy!


The Economist on the Republican debate

Excellent post by The Economost on the first major Republican debate of the cycle. It points out the surprising amount of actual journalism on display by Fox News, who typically avoids such things.

My favorite bit was the summary of Donald Trump's performance:

Mr Trump has dominated the race in recent weeks by telling disaffected, angry voters that America could be magically stronger if only someone as smart and tough as Mr Trump sat in the Oval Office. But tonight he was exposed as an unelectable boor and narcissist. His poll numbers in coming days will reveal much about his backers to date.

Updated polls aren't out yet, but I'm willing to bet that the same narcissism, blustering, and shock value that makes Trump unelectable are what his current supporters – the most base of the Republican base – find appealing.

Time will tell.


Tufte CSS

Nice, open source set of CSS and assets to craft Edward Tufte style content for the web.


Wilfa Precision Coffee Maker | Williams-Sonoma

An automatically brewed pot of perfect pour over coffee from an insanely beautiful machine? I know what's going on my new kitchen counter.


Jirafs: Manage your JIRA tickets from the file system

For all of you developers out there that can't stand the JIRA UI, this tool will let you manage your tickets from the command line using your favorite text editor.


Checked into AMC Rolling Hills 20

Taking the kids to see Shaun the Sheep the Movie! Aardman Stop-Motion FTW 😀


Sweet! I'm now cross-posting my Instagram photos in real-time to my @withknown site using http://ownyourgram.com. Hooray open web!


It's National S'mores Day! Time to bust out the fire pit.


Installed the iOS 9.0 beta. Pretty impressed! This is what iOS 7 should have been.


Micropub and the IndieWeb

2 min read

It's been years since I last maintained a personal website. Why? Sadly, because of the rise of social media, and content walled-gardens. A few weeks ago, I discovered Known, a new, open source CMS. Known acts as more than just a CMS, enabling users to create a single site that captures all of their content from social media and walled-gardens like Twitter, Facebook, and Instagram.

Known was born out of the IndieWeb movement, which focuses on resurrecting the web of the past, where your content is owned by you, not by an ad-driven corporation. The IndieWeb crew have developed a series of standards and specifications to encourage what they call POSSE, or Publish on your Own Site, Syndicate Elsewhere.

Surprise, It's Markdown!

This site that you are reading right now is created with Known, and fully supports IndieWeb standards like Micropub. In fact, this very post was created in Editorial for iOS and published via Micropub to this site via two workflows.

The Future is Open and Bright

I am thoroughly enjoying being able to microblog, create long form posts, share photos, and otherwise participate in the open web again, while maintaining my ownership over my own content in a single, canonical, self-managed site on my own domain.

The future of the open web is looking up!


NYTimes: Republican Hypocrisy on Iran

The Editorial Board at the New York Times is fed up with how the Republican party is responding to President Obama’s proposed deal with Iran – a difficult to negotiate and exceedingly important deal that could be torpedoed solely because the GOP doesn’t like the President.

Even more frustrating is the hypocrisy at play.

Policy considerations aside, what is most striking about the demagoguery is how ahistorical, if not downright hypocritical, it is. Negotiating with adversaries to advance a more stable world has long been a necessity, and Republican presidents have been among its most eager practitioners.

Obama and Kerry have worked tirelessly to come to the same type of agreement that Nixon and Reagan made during their tenures. A deal which could save lives and is primarily about preventing war.


Publishing Markdown to Micropub Endpoints with Python

2 min read

You’re probably sick of my posts about Micropub by this point, so I’ll make this my last for a while. Maybe.

I’m up in Seattle this week on business, and the airplane ride from Los Angeles gave me a chance to play around a bit more with Micropub. I whipped up a quick script that allows for quickly publishing Markdown-formatted content to a Micropub endpoint.

This very post is published with the script! Micropub inception! Take a look:

#!/usr/bin/env python

A script for quickly publishing blog posts to a Micropub endpoint. To use
this script, first ensure that you have installed:


You will also need to set the following environment variables:


Run the script, and pass it the path to a Markdown-formatted file. YAML
formatted front matter can be provided with Micropub arguments such as
`name`, `published`, and `slug`.

import sys, os, yaml
import requests, markdown

# configuration
data = {}
token = os.environ.get('INDIEAUTH_TOKEN')
endpoint = os.environ.get('MICROPUB_ENDPOINT')

# make sure the user has provided adequate information
if not token or not endpoint:
    print 'INDIEAUTH_TOKEN & MICROPUB_ENDPOINT environment variables not set.'

if len(sys.argv) < 2:
    print 'Usage:'
    print '    blogit <path to markdown file>'

# read in the content
filename = sys.argv[1]
raw_content = open(filename, 'rb').read()

# check for front matter
if raw_content.startswith('---'):

    # parse out the front matter from the raw content
    _, front_matter, raw_content = raw_content.split('---', 2)

    # parse the frontmatter
    data = yaml.load(front_matter)

# render markdown
data['content'] = markdown.markdown(raw_content, extensions=[

# populate remaining details
data['access_token'] = token
if 'h' not in data:
    data['h'] = 'entry'

# create the post
result = requests.post(endpoint, data=data)

# check the result
if result.status_code not in (200, 201):
    print 'Failed to publish post with status code: %d' % result.status_code

print 'Published successfully.'

You’ll note that it supports some Markdown extras, including code highlighting with Pygments, and several other extras.

Feedback is, of course, welcome. On my flight home, I plan on polishing the script up a bit, making it easy to install, and adding a few options.


Currently, in Seattle...

Currently, in Seattle...

Manhattan and Fried Chicken Livers at Radiator Whiskey.


Yes: I'm headed to OpenStack Trove Day in San Jose in a few weeks. Catch up with me there!


Documents Confirm Apple is Building a Self-Driving Car

Will they go the Tesla Motors route, and use age-old technology and materials, but complement them with innovative software? I sort of hope not. I'd prefer to see them take the BMW route, and use innovative materials and processes, along with great software. Only, you know, not make their cars as hideous as the BMW i3, which is by all accounts, one of the ugliest vehicles ever created.

Exciting times in motoring.

Update (August 21, 2:15 PM PT): The plot thickens!


Recipe: Fresh Whisky Sours


  • 1 cup bourbon whiskey
  • 1/2 cup freshly squeezed lemon juice
  • 1/2 cup freshly squeezed lime juice
  • 1/2 cup freshly squeezed orange juice
  • 2/3 cup sugar syrup
  • Ice cubes

Takes . Serves four.

Combine the whiskey, lemon juice, lime juice, orange juice and syrup. Fill a cocktail shaker halfway with ice and pour in the drink mix 2/3 full. Shake for 15 seconds and pour into glasses.

Note: To make the sugar syrup, bring 1 cup of water and 1 cup of sugar to a boil, and simmer until the sugar is completely dissolved. Chill before using.


I created a plugin for @withknown for posting recipes. https://github.com/cleverdevil/Known-Recipes


Recipe: Kentucky Maid Cocktail


  • 2 oz Bourbon
  • 1 oz fresh lime juice
  • 3/4 oz 1:1 simple syrup
  • 6 fresh mint leaves
  • 3 slices cucumber

Takes . Serves one.

The Kentucky Maid has quickly become one of my all time favorite cocktails. Its a refreshing, strong, and declicius libation well-suited for derby parties, picnics, and summer porch-front drinking.


  1. Combine ingredients in a shaker tin and muddle.
  2. Shake with ice and dump entire mixture (with ice) into a large rocks glass.
  3. Garnish with a mint, cucumber, and add straw.



Disney is building a massive Star Wars world at Disneyland

Gonna have to renew our annual passes! Wheee.


Self-hosted Known 0.8.3 has left the building!

Kudos to the @withknown team for releasing 0.8.3.


Any developers working on POSSE for Goodreads via their API? Would love a @withknown plugin for writing and editing reviews.


Birthday dinner selfie!

Birthday dinner selfie!

Happy birthday to my lovely wife!


Book Review: Blood Rites Hits the Mark!

4 out of 5 stars

The sixth book in The Dresden Files saga by Jim Butcher truly doesn't disappoint. Blood Rites finds our favorite wizard Harry Dresden embroiled in magical drama that he's seen before (curses, evil forces, vampires, and murder) in a truly unique setting – an adult film set. You heard me right.

Blood Rites is my favorite book in the series thus far, not only because it features a great storyline, but also because it reveals much about Harry, his past, his family, and his future. Revelations abound in the book, and have me truly excited to move on to book seven!


Movie Review: Imperator Furiosa's Lovely Day

5 out of 5 stars

When I first saw the trailer for Mad Max: Fury Road, I immediately knew that it would be something special. I enjoyed each of the original Mad Max films, and was looking forward to the reboot of the series. I expected to see a lot of Tom Hardy's Max Rockatansky, clearly establishing Hardy's Max as the core of a potential two or three film arc. I was right that Fury Road would be special, but boy was I wrong about why it's so special.

Much has already been written about Fury Road since its release, and as you may have surmised, director George Miller clearly places Max in a supporting role – a passenger on the journey down the Fury Road. The real hero of Fury Road is, in fact, the ultra-badass, one-armed lady-warrior named Imperator Furiosa, who is beautifully played by Charlize Theron.

Fury Road is a non-stop, dusty chase through the outback, as Furiosa leads a pack of abused women away from the villainous Immortan Joe and his cadre of power-hungry men. Max acts as a sort of proxy for the viewer, allowing us to feel a part of Furiosa's fight to free her fellow women. Along the way, we meet a tribe of badass women who align with Furiosa's cause, and provide just enough depth to Furiosa's background to strengthen your understanding of her resolve.

Mad Max: Fury Road could certainly be viewed as a non-stop action romp, but its subversive approach pitting women in the starring roles of one of the most intense action films in recent memory make it so much more. Fury Road is a film about true empowerment and community. It was an exhausting, emotional, intense ride that I'll never forget.

If you haven't seen Fury Road yet, its time. Trust me, you won't regret it.


I created a "review" plugin for @withknown https://github.com/cleverdevil/Known-Reviews – check it out!


Discovered in my local coffee shop...

Discovered in my local coffee shop...

A choice excerpt from the back cover:

...the most advanced Java techniques ever collected in a single book–explained be Java guru (and programming "bad boy") Tonny Espeset.

I am pretty sure we have discovered brogrammer patient zero!


Welcome to Dismaland

Banksy is at it again, this time creating a dystopian Disneyland knockoff as an art exhibition in coastal England. Attendees will be able to visit over a period of 5-6 weeks to experience the irony in person. Colossal has the full story, along with some stunning photography.

How fun would it be to visit The Tragic Kingdom?

(via Kottke).


Renovation progress

Renovation progress

Its taking longer than we'd like, but today most of the drywall went up, the flooring was ordered, and we got final quotes on windows and doors. Won't be too long until I'm cooking up a storm in the new kitchen!


PV Wine and Beer Festival

PV Wine and Beer Festival

Lovely day with the wife and friends!


Inside the Grand Central Oyster Bar

Grand Central Oyster Bar

The Grand Central Oyster Bar has been one of my favorite restaurants since my first visit a decade ago. Its classic, unchanging menu, beautiful architecture, and fantastic vibe make it an American classic. Lucky Peach takes a closer look at the Grand Central Oyster Bar in a beautiful photo essay. I highly recommend taking a look. Next time you're in the Big Apple, take a stop at Grand Central, and revel in the classic beauty and food at the Oyster Bar. You won't regret it!

Photo credit: Ramzi Amri under a Creative Commons License.


Review: The Martian should make a great movie...

4 out of 5 stars

Do you have a fear of abandonment? Enclosed spaces? The outdoors? Are you terrified by the prospect of death? Well, Andy Weir’s The Martian likely isn’t for you. On the other hand, if you have a penchant for science, problem solving, and laughing in the face of death, you’ve come to the right place.

The Martian tells the tale of Mark Watney, an astronaut on a mission to Mars that goes terribly wrong, leaving him stranded on the planet and presumed dead by his crew, his family, and the rest of the population of Earth. Watney is alone, with minimal resources, on a planet that is hostile to life. Thankfully, Watney is a resourceful scientist with a background in engineering and botany, and perhaps more importantly, a sense of humor that never seems to quit.

Action and adventure are prevalent in the book, but The Martian features something that most works of fiction eschew–science. Mars offers no shortage of challenges for Mark Watney, and Weir describes in meticulous detail not only how Watney is in danger, but why he is in danger. Physics, chemistry, botany, and engineering are woven intricately through the story as Watney details each and every challenge he faces.

If this all sounds mind-numbingly boring, allow me to reassure you. Watney may be a “nerdy botanist,” as he describes himself, but he’s also extremely witty. Long passages of scientific exposition are frequently interspersed with wise cracks, one-liners, and mischief. If Watney is going to be stuck on Mars, he’s at least going to make the best of it. Make no mistake, The Martian is a thoroughly humorous book, in spite of the intense topic.

I truly enjoyed The Martian, especially considering that it was the first novel for Andy Weir. It drags at times, and I struggled to get through a few of the more long-winded sections of scienctific exposition, but in the end, I really feel that the novel pays off. The story is compelling, the characters likeable, and the world well-crafted and realistic.

Later this year, The Martian will be released in theaters as a full feature film directed by Ridley Scott. Watney will be played by Matt Damon, who I can easily envision in the role. Trailers look promising, and the fact that the novel read a bit like a screenplay isn’t lost on me. The Martian should make an excellent movie, if Scott plays his cards right.

Next time you’re in the mood for a good read, you could do a lot worse than The Martian. If you act quickly, you can even smugly declare to your friends and family that you “read the book before the movie.”