posted about 4 hours ago on pinboard
New blog post: “How to do distributed locking”. A critique of Redis’ Redlock algorithm, and general guide to locks:

Read More...
posted about 4 hours ago on pinboard
posted about 4 hours ago on pinboard
After some recent interesting conversations, I wrote a thing about logging and instrumentation: ✌︎

Read More...
posted about 4 hours ago on pinboard
Let’s start, this time, with a story. This is about Hillary Clinton – everything I write seems to be about her these days – but it’s about me, too. It’s about what it means, to be a feminist, or a woman on the left, and whether it matters.

Read More...
posted about 4 hours ago on pinboard
©BloombergMeg Whitman, chief executive of Hewlett Packard EnterpriseLast week I received an email from Henry Gomez, head of marketing and communications at…

Read More...
posted about 4 hours ago on pinboard
I Learned How to be Productive in React in a Week and You Can, Too By @sarah_edo

Read More...
posted about 4 hours ago on pinboard
The "bad apple" theory finally put to rest. It's systemic. @KillerMike @ShaunKing #BLM

Read More...
posted about 4 hours ago on pinboard
Tulsa burns in the race riots of 1921. Wikimedia There have been number of useful entries in the weeks since Senator Bernie Sanders declared himself against…

Read More...
posted about 4 hours ago on pinboard
In this model, any function call – and sometimes any statement – can throw an exception, transferring control non-locally somewhere else. Where? Who knows. There are no annotations or type system artifacts to guide your analysis. As a result, it’s difficult for anyone to reason about a program’s state at the time of the throw, the state changes that occur while that exception is propagate up the call stack – and possibly across threads in a concurrent program – and the resulting state by the time it gets caught or goes unhandled. It’s of course possible to try. Doing so requires reading API documentation, doing manual audits of the code, leaning heavily on code reviews, and a healthy dose of luck. The language isn’t helping you out one bit here. Because failures are rare, this tends not to be as utterly disastrous as it sounds. My conclusion is that’s why many people in industry think unchecked exceptions are “good enough.” They stay out of your way for the common success paths and, because most people don’t write robust error handling code in non-systems programs, throwing an exception usually gets you out of a pickle fast. Catching and then proceeding often works too. No harm, no foul. Statistically speaking, programs “work.”

Read More...
posted about 4 hours ago on pinboard
I'm being torn apart.

Read More...
posted about 4 hours ago on pinboard
Beyonce's dancers paid tribute to #MarioWoods, black man killed by San Francisco police. #SB50 #BlackLives

Read More...
posted about 4 hours ago on pinboard
YALL WELCOME

Read More...
posted about 4 hours ago on pinboard
posted about 4 hours ago on pinboard
Soylent Dick, a Node/Arduino-powered phallus that spurts Soylent when you say nice things about Soylent:

Read More...
posted about 4 hours ago on pinboard
how CPU load averages work (and using them to triage performance problems)

Read More...
posted about 4 hours ago on pinboard
maybe : See what a program does before deciding whether you really want it to happen :

Read More...
posted about 4 hours ago on pinboard
✌🏿

Read More...
posted about 4 hours ago on pinboard
It's an open source (Apache License) micro web framework in Java, with minimal dependencies and a quick learning curve. The goal of this project is to create a micro web framework in Java that should be easy to use and hack.

Read More...
posted about 4 hours ago on pinboard
self.employer = Employer()

Read More...
posted about 4 hours ago on pinboard
✎ Automatically Art-Directed Responsive Images? Here You Go. Some solutions by yours truly.

Read More...
posted about 4 hours ago on pinboard
posted about 4 hours ago on pinboard
Super Bowl Halftime Show Marred By Functioning Sound System #SB50

Read More...