Published on

Design Objective

A Glimpse into the Future of Messaging-First Onboarding A case study on designing the on-boarding experience for the Slackbot Troops.

Manisha Agarwal

OH: Software is like a pinball machine. Nobody reads the printed instructions clearly.They just drop their quarters & start pushing buttons

Amir Shevat Spot on.

Tools of the Trade

open-guides/og-aws "This guide is by and for engineers who use AWS. It aims to be a useful, living reference that consolidates links, tips, gotchas, and best practices." Bookmarked!

On Writing Product Specs This:

Effective product specs are a critical part of building great software. They force critical thinking up front, scale communication, and raise accountability — all leading to higher quality, lower schedule risk, and less wasted time.

Thoughts on yarn Judging by my Twitter stream, lots of people love it, but many also hate it — or just being cynic for the sake of it? I'm going to give yarn a try on future projects.

Dmitry Ignatiev (cons cat (cons cat nil))

Lines of Code

nfriedly I expect anyone who's a JavaScript expert to do the same:

When I was hired on the Watson team, the first thing they asked me to do was help improve performance of their AngularJS-based website. It was all-around slow, especially for the initial page view. I stripped out AngularJS and most of the other JavaScript, and published a website that was almost pure static HTML. It loaded very quickly. My manager thought it was hilarious - his "JavaScript expert" came in and deleted all of the JavaScript.

Jiaaro These should be part of the Computer Science curriculum:

Actual talents involved in programming:

  • naming things
  • introspective thinking
  • explaining things to other people clearly


10 Modern Software Over-Engineering Mistakes Starting with the original sin:

Engineers think we’re the smartest people around because we build stuff. This first mistake often makes us over-engineer. But if we plan for 100 things, Business will always come up with the 101st thing we never thought of. If we solve 1,000 problems, they will come back with 10,000 problems. We think we have everything under control — but we have no clue what’s headed our way.

Peter Seibel

In distributed systems you’re screwed if you don’t have caches but if you do, you’ll screw them up. This is known as a ”cache-22”.


Eric Elliott

In a mentorship culture with lots of pairing and code reviews, even novice developers quickly become great assets.

Casey West

Did you consider how hard it is to get six people to agree on a two pizza order before you sent the email about your microservices strategy?

None of the Above

Bite Sized Observations You Didn’t Know You Needed.

How Did Walmart Get Cleaner Stores and Higher Sales? It Paid Its People More Shocking business strategy.

Dave W-F

Possibly the most unbelievable thing about Star Trek is how different alien civilizations maintain cross-compatible video calling software.

James Poniewozik "BREAKING: Wow. I don't say this very often, but this is a game-changer. #Wikileaks"

The Dutch Reach: Clever Workaround to Keep Cyclists from Getting “Doored" Simple and effective:

Basically, instead of using their door-side (left) arm, they reach over with their other (right) arm. This simple behavioral shift causes drivers to look back naturally and see whether or not there are oncoming bicyclists.

Andrew Bloch "Whoever designed these LEGO bags deserves a pay rise"

Published on

Design Objective

Rethinking URL bars as primary browser UI The time for address bars is past, and I buy this argument: "Our ability to understand who we’re talking to on the web is underpinned by search engines."

Case Study: Re-designing RetailTower I love detailed case studies like this.

Paper Planes Open this link on your phone and be amazed.

Halloween Costumes for Designers

Tools of the Trade

Chasing Tools My thoughts exactly:

Very often, the answer is no. Which means that when you’re chatting with some developer friends and they’re talking about using this brand new framework inside of a new code editor released last week, you may have to politely nod your head and admit you haven’t really dug into either yet. That’s nothing to be ashamed of. There is power in boring technology. Boring is good.

noffle/art-of-readme Learn how to write a better README.

The pattern of README appearing in all-caps is a consistent facet throughout history. In addition to the visual strikingness of using all-caps, UNIX systems would sort capitals before lower case letters, conveniently putting the README before the rest of the directory's content2.

The intent is clear: "this is important information for the user to read before proceeding".

Nicholas C. Zakas

Here's a time saver:

If you ask, "any update on this?" on an open source issue, the answer is always, "no." Updates are on the issue.

A Quick History of Digital Communication Before the Internet Fascinating. From the Pony Express delivering 6 bits per second, through telegraphs (30 WPM!), to WaveLAN, a precursor to WiFi.

@davatron5000 Fun, wholesome game the whole developer team can play:

CSS Jenga: Each developer removes one line of CSS until the site falls apart.

@aphyr "Wonder how many APIS are basically Lisp-over-JSON"

Lingua Scripta

ES proposal: Rest/Spread Properties We're using these in production (with Babel), and it's a fantastic for improving code readability.

iife and crockford-iife functions break If you don't like semicolons, that's cool, but be wary of the subtle, hard to spot, ways in which your code could break.

Node.js, TC-39, and Modules A detailed explanation of why adding JavaScript modules support to Node.js is not as easy as it seems. Got to wonder why they were designed that way.

Lines of Code

Simple testing can prevent most critical failures Confirms what we've experienced anecdotally:

Almost all catastrophic failures (48 in total – 92%) are the result of incorrect handling of non-fatal errors explicitly signalled in software.

Manisha Agarwal

Three common programming errors:
(0) pointer arithmetic
(1) syntax errors
(two) type errors
(3) logic errors
(4) null:
(5) buffer overflows


Optimizing optimizing: some insights that led to a 400% speedup of PowerDNS At some scales, micro-optimizations make a lot of sense:

So the takeaway is, whenever you are shaving “15%”, realize you may actually be shaving clock cycles and not percentages, and that each of these cycles will become incrementally more important in the face of other optimizations. Before you discard a mere 15% improvement, realize it might turn into a 30% improvement before the end of the day!

The Practical Dev "And they said my architecture wouldn't scale!"


Me on Twitter

“Alexa, reboot us-east-1″

Locked Doors

Exclusive: Yahoo secretly scanned customer emails for U.S. intelligence - sources This may or may not be related to the breach reported earlier. At any rate, I do not recommend using Yahoo email for anything.

Grand jury subpoena for Signal user data, Eastern District of Virginia Whisper Systems complies with subpoena and shares all the information they collected about two Signal users. Which amounts to nothing.


Kelly Sommers This. A thousand times:

Give raises & promotions to ppl who reduce risk & make prod so good it’s boring. Don’t reward risky ppl perceived to be hero fire fighters.

How to Hack Your Brain to Destroy Procrastination, According to Harvard Research Maybe stop reading this newspaper and go get some stuff done.

None of the Above

Hanss "California English"

Chocolate consumption and Nobel Prizes: A bizarre juxtaposition if there ever was one Dubious but entertaining nonetheless, and like I need reasons to eat more chocolate.

When Roman “Barbarians” Met the Asian Enlightenment Long read and absolutely worth the time. World history from 400BC forward, from the perspective of the big, powerful, and advanced world powers of those times. All of which were centered in Asia.

‘Do Not Resist’: A chilling look at the normalization of warrior cops The scary reality in the US, 2016.

Common White Girl "where can I sign up for this job position."

Published on

Design Objective

Metrics Versus Experience Bad decisions can be made in the name of "lifting metrics", that doesn't mean metrics are bad. Julie presents her framework for using metrics effectively:

  • To assess for product-market fit, look at retention.
  • To optimize for growth, understand your funnel.
  • Figure out which metrics are truly important, and focus on those.
  • To figure out the best metric to track, use the magic-wand technique.
  • Don’t just accept a metrics goal without understanding it.
  • View data skeptically by suggesting countermetrics.
  • Use qualitative research to get at the why.

Rob Simpson

A group of product managers is called a "compromise"... who knew #mtpcon

Tools of the Trade

Figma VS Sketch Like Sketch, but works in the browser and with real-time collaboration.

antirez/neural-redis Oh yes!

Neural Redis is a Redis loadable module that implements feed forward neural networks as a native data type for Redis. The project goal is to provide Redis users with an extremely simple to use machine learning experience.

Support for #RGBA colour values may validate previously invalid values TL;DR #0000 is not black but transparent.

Lesser known Git commands git please, the gentler alternative to force push.

Machine learning without the PhD - azure ml Oh so true:

80% of any data scientist's time is spent cleaning data leaving just 20% of the time to complain about cleaning data

fossil beehive RFC6919 started as a joke, or did it?

Lines of Code

Hunting for great names in programming The details matter:

Now this might seem like a lot of effort to expend searching for a slightly better name, but it goes straight to the heart of programming with a smile. I ventured out to find a great name, not just a passable one.

What does it mean when code is “easy to reason about”? A helpful exercise:

By going through the the above steps, we’ve slowly built up a function that is easy to reason about because it has these key qualities:

  • Does not have unintended side effects
  • Does not rely on or affect external state
  • Given the same argument, it will always return the same corresponding output (also known as “referential transparency”).

David R. MacIver

Irregular verbs:

I "come up with a clever workaround"

You "made some intriguing design choices"

They "create unmaintainable legacy code"


How to Crash Systemd in One Tweet When you build too many features into a single code base. Said code base runs as root. And supervises the entire OS. What could possibly go wrong?

Honest Status Page

All databases are document databases if your varchars are big enough.


The Practical Dev

"Wanna go to a networking event?"


"Not computer networking. Like meeting people and stuff."


Locked Doors

Keeper of Lore This whole thread:

But never, -EVER- distribute a device with default credentials.

Even if you 'make' them change them.

[ Because if default creds exist, people will change the creds back to the default, and it ends up being exactly the same as no change ]

On Phone Numbers and Identity This is important:

The assumption that control of a phone number is sufficient proof of identity is false. Just as we should no longer trust SMS for two-factor authentication, we shouldn’t trust it for account recovery. Disable this anywhere you can.


HOLY SHIT! Found one!!! Calling cops. You should always yank on the card reader before you put your card in!

None of the Above

Robert Petersen "Rare image of a shark stepping on a Lego."

spooky cyber

Who called it Tinder and not Naive Baes Classifier?

< Episode 714: Can A Game Show Lose? An interesting episode about the economics of game shows. But also, the dangers of polling:

WILK: And it was the only question that we ever wrote where we ever got a response from them saying, is this actually what you want us to be polling? And we said, yes. ..

SMITH: As far as David remembers, by the way, 4 percent of Americans answered that they had been decapitated.

AP: Across US, police officers abuse confidential databases This story is not getting the airtime it deserves.

Fiora Eerieterna@GX4 True!

a "double double" is a california-specific unit of currency

すえきち. This Twitter account is just … wow!

Published on

Design Objective

Chatbots: Your Ultimate Prototyping Tool How chatbots can teach us what people need when designing products and services.

Paul Stamatiou "when the engineer only reads half of your email about the design"

Tools of the Trade

Homebrew 1.0.0 Happy birthday! I'm most excited that brew bundle and brew services are now officially supported and automagically installed.

Karl Marx Admirer

If you pass --exec "make test" to git rebase -i, git will run your tests after each commit it generates

joshnewlan/say_what Genius!

This script listens to meetings I'm supposed to be paying attention to and pings me on hipchat when my name is mentioned.

It sends me a transcript of what was said in the minute before my name was mentioned and some time after.

It also plays an audio file out loud 15 seconds after my name was mentioned which is a recording of me saying, "Sorry, I didn't realize my mic was on mute there."

DOOM (2016) - Graphics Study Visual/technical walk through of how Doom renders frames to look so realistic.

Lighting 75%

Lingua Scripta

nolanlawson/optimize-js A curious micro-optimization: wrapping eagerly-invoked function can speed up initial JavaScript load 45% on Chrome 52!

Lines of Code

Think Like a Software Developer

  • Expect change
  • Prepare for the worst case scenario
  • Make one big problem into several small problems
  • Automate first steps
  • Deliver



Emmanuel Paraskakis

“How we used to build APIs” 😜 … API Left: API Consumers, praying, Center: Bikeshedding, Right: Lone Craftsman

Locked Doors

iPhone passcode bypassed with NAND mirroring attack A hack to get around the password entry limit on any mobile device. May not be as easy on later iPhone models.


The agony of trying to unsubscribe What happens when a local supermarket refuses to take no for an answer.

Josh Reich

The anxiety felt when viewing a screenshot from someone else's phone and, for a moment, you think your phone is at 2%.

None of the Above

Command Line Magic Stay safe!

#ItCanWait Please stop using your phone while driving. On average, 1180 people are injured each day just in the US from distracted driving.

How many days until ...? A countdown calendar.

How Not to Talk to Your Kids When and how to praise.

Eventually, in my final stage of praise withdrawal, I realized that not telling my son he was smart meant I was leaving it up to him to make his own conclusion about his intelligence. Jumping in with praise is like jumping in too soon with the answer to a homework problem—it robs him of the chance to make the deduction himself.

Andreas Lindh

Related: people often assume that us who work "intimately" with computers also like computers. The truth is: it's complicated.

Published on

Design Objective

The Greatest Sales Deck I’ve Ever Seen How to tell the story of a software product/service with a slide deck.

Tools of the Trade

The math of CSS locks CSS doesn't have max-font-size or min-font-size, but this formula gives you the same effect: responsive text that scales up/down with screen size, but stays within the lower/upper limits you set.

6 web layout myths busted So now we just wait …

Most profound of all, CSS Grid Layout will arrive sometime in the next year, completely changing how we approach page layout on the web. The question will no longer be 'which framework should we use?' We aren't going to need them any more..

shu223/iOS-10-Sampler Code examples for new APIs of iOS 10. Check out what the little device can do, including …

Convolutional Neural Networks in iOS 10 and macOS Pocket AI!

Convolutions are very important in digital signal (audio, video, image) processing and Graphics Processing Units (GPUs) are optimized to execute convolutions in a very efficient way. ... As humans, we also use convolutions in our daily activities, specially in those activities where our 5 senses are involved.

7 email hacks every developer should know Behind every pretty HTML email there are tons of hacks.

Introducing the WebVR API VR coming to a web browser near you, eventually.

Jeremy Walker "So, yeah... This is what happens when you mount S3 as a filesystem..."

Lingua Scripta

My New Favorite ES6 Toy: Destructured Objects as Parameters Functions that use named parameters are easier to work with than functions that rely on precise order of arguments, or the ever so popular but opaque params argument.

9 Security Tips to Keep Express from Getting Pwned I'll add a 10th one: all the parameters you pass from HTTP request to business logic must be whitelisted and type casted.

None of the Above

Kae Lani Kennedy "Proof that Pumpkin Spice is getting out of control, exhibit A:"

Top 10 Secret Features in iOS 10 I recommend upgrading to iOS 10 — bunch of new features, stable release — caveat, there are enough UI changes that it takes a bit to adjust. The Messages app gets a bunch of new ways for communicating. Also, important trick if you're using Do Not Disturb.

It’s Bayes all the way up On top-down and bottom-up processing in the brain, statistical models and the chemicals that power them.

The Appropriately Messy Etymology of ‘Kluge’ 1. I'm pronouncing it all wrong: it's klooj. 2. I should use it more often, especially in software development, there's a lot of kluge to go around.

Feed a Cold, Don’t Starve It Sometimes sugar causes inflammation. Sometimes it does the opposite.

How to Pick the Fastest Line at the Supermarket I usually rely on queue theory and dominant hand bias.

Max Roser Cool visual trick: your eyes just can't see all 12 back dots at the same time.