every time you @channel an employee sets a mute

Stop triggering desktop notifications with non-emergency communication. All you are doing is making me close Slack.

@channel: what’s a good book for me to read about learning to code?

hey everyone, what’s a good book for me to read about learning to code?

What’s the difference between these two sentences? The second one didn’t cause a desktop notification.

just change the settings

I know I can turn desktop notifications off, but I need them for when something real needs my immediate attention. Also, I am over 9 clicks away from the setting. …


If you watch Hackers for the 113th time you will notice her.

She’s the 7th hacker.

she laughs with them


It goes well beyond that awful Time magazine cover. The stewards of the technology are practiced veterans at painting the most dismal picture imaginable.

VR has left the more niche high-tech/games blog circuit, and is in the supermarket checkout aisle. That is really great for an exciting technology seeking growing adoption.

What isn’t great is the picture they are painting at every turn.

HUNCHED OVER MOUTH OPEN

@Oculus is experiencing a surge of mainstream attention with their Time magazine PR push. As of 9 am pacific August 7th 2015 this is the latest stream of photos in the official twitter.


Passing a function as an argument to other functions is a difficult concept to understand for beginners, especially those coming from other languages. D3 further compounds this difficulty by making the functions-as-arguments model integral to the basic pattern, but doesn’t force the designer to understand what the heck is going on when they type function in the middle of their code.

Instead of learning what the underlying code is doing, some just blindly type…

// figure 4.1  // ...
.append('rect')
.attr('fill', function(d,i){ return 'brown' })
.attr('stroke', function(d,i){ return 'none' })

…even when it clearly isn’t necessary. I swear code that…


“Immersive 3D content is the obvious next thing after video.” -Mark Zuckerberg

Facebook had their earnings call today, and someone asked about the plans for the Oculus Rift VR headset. Here is a quote from the Q&A part of the call:

We’re going through a period where now it’s mostly visual and photos. We are entering into a period where that’s going to increasingly be primarily videos, and we’re seeing huge growth there. But that’s not the end of the line, right? …


sometimes I can get them in slow motion


how to make the same graph and manually join your data array

The first d3 tutorial people read will have them passing an array to .data() after selectAll-ing a bunch of DOM elements that don’t exist yet.

from the getting started tutorial I used

Since we know the selection is empty, the returned update and exit selections are also empty, and we need only handle the enter selection which represents new data for which there was no existing element. We instantiate these missing elements by appending to the enter selection.

Articles have been written about how this all works under the hood.

The concepts are difficult for…


organize your code in a way that doesn’t pollute and exposes only what is necessary

Larger interactive d3 programs can be difficult to organize. After all your elements are on the screen you want to glue them together inside event callbacks.

The conventional methods of calling d3.selectAll() against a large DOM tree end up resulting in a lot of additional code to make sure your selections are accurate. This is especially true if your goal is re-usable components that would put multiple identical graph types on the screen (small multiples or spark-lines).

The use of closures will allow you to expose only the elements you want to attach to mouse and touch events, and provide…



Google wants to build an internal product that allows them to classify an image that you upload. They want to know if that photo contains a new baby, or a flat tire. This information is valuable to advertisers.

google research blog

A side effect of their method is that you can run their classifier in reverse… kinda.

You can feed in random pixel data as source image, but instead of asking the ANN what the image contains, you let the ANN progressively refine the image based on a constraint you impose.

bill automata

design team lead for evident.io

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store