Published
Weekend Reading — How likely are you to recommend?
Design Objective
Meetup: A Usability Case Study Tweaking and fixing usability issues in the new Meetup app (ps: this is a passion project, not affiliated with Meetup).
Mobile First, Desktop Worst Mobile-first is not a license to over-simplify, just like desktop-first is not a license to over-complicate.
Designing forms for gender diversity and inclusion "As with any form field, if there isn’t a clear benefit to the user, you probably shouldn’t ask about it." And if ask you must, this article discusses important considerations and UI choices.
Brandon Jones "Car UX designer: I replaced the gearshift with a volume knob, put it where the volume knob usually goes, and put the volume knob next to it!"
Tools of the Trade
Kryptonite Use your phone to authenticate with SSH. Slick app with easy setup for common providers (AWS, Github, Heroku, etc), open source so you can code review before installing.
zenorocha/codecopy A browser extension that adds copy to clipboard buttons on every code block.
github/octodns A tool for managing DNS across multiple providers. Because your DNS provider will be DoS-ed at some point.
Same Stats, Different Graphs: Generating Datasets with Varied Appearance and Identical Statistics through Simulated Annealing This is why you always plot the data!
Samsung DeX brings a new Dimension to the Mobile Web The Samsung S8 phone can dock and turn into a desktop computer!
Closures and Objects are just Structures which have function pointers and delusions of grandeur.
Web-end
Launchpad Publish responsive websites directly from Sketch.
Finding that pesky listener that’s hijacking your event "This is a debugging story of how to determine what event listener is calling event.preventDefault() or event.stopPropagation() or some other completely random thing which is not allowing your intended action."
Sam Saccone "The perf gutter in devtools makes it trivial to identify non-obvious costly paths in your code execution."
Lingua Scripta
Prepack Is this week's JavaScript hotness. It's mind blowing what JavaScript can do (I'm not endorsing using this in production, but do check it out):
Prepack is a tool that optimizes JavaScript source code: Computations that can be done at compile-time instead of run-time get eliminated. Prepack replaces the global code of a JavaScript bundle with equivalent code that is a simple sequence of assignments. This gets rid of most intermediate computations and object allocations.
Functional pattern: flatMap Can easily filter and map at the same time.
Native ECMAScript modules Are now supported by all the major browsers.
Axel Rauschmayer "Failure by hoisting. ;-)"
OH: "So far, the Infinite monkey theorem is just giving us an infinite number of javascript frameworks, and no Shakespeare"
Lines of Code
Plan Your Commits Like readme driven development, test first, etc, this life hack will make you a better developer, for the simple reason that it will force you to slow down and think:
try writing your commit message (in your head) before you write the code
infallible recipe for creating a new abstraction:
write variants of the same damn program twelve damn times
say, "damn it, this line and this line and this line always show up somehow"
put those lines somewhere, together
Strategic Code Deletion Everybody enjoys deleting code and few get to do it often enough.
Readability Matters More Than Correctness 💯
If we have readability but not correctness, that means a buggy program that’s easy to understand. We can debug it. Then we’ll have a correct program that’s easy to understand. It’ll probably stay that way.
If we have correctness but not readability, that means a functional program that’s hard to understand. It’s likely we’ll introduce a bug. Then we’ll have a buggy program that’s hard to understand. It’ll probably stay that way.
Why a clear error message matters "Sometimes the "natural cause" is not the real cause for a problem, and if we have a great error message to help us out, we can avoid wasting a lot of time"
Bryan Boreham 🤔 "Where is your god now?"
Architectural
@ag_dubs "people had no idea how/why to module but they felt very strongly that it was good"
Software architects must be accountable to ops. If your Microservices are a mess and no one can debug the dataflow, they did it wrong.
Clive Thompson Software engineering is making decisions like this:
Memory leaks on missiles don't matter, so long as the missile explodes before too much leaks. A 1995 memo: https://groups.google.com/forum/message/raw?msg=comp.lang.ada/E9bNCvDQ12k/1tezW24ZxdAJ …
Just reduced the runtime of an algorithm from 9 hours to 3 min. by using a different data structure... Know you data structures :) #rstats
God grant me the budget to buy the things I shouldn't build, the eng team to code the things I must, and the wisdom to know the difference.
Peopleware
Start holding a domain knowledge meeting "It shares knowledge across the team, it builds rapport with team members, and it helps us professionally develop ourselves."
The 2017 Tech Leavers Study A national study examining why people voluntarily left their jobs in tech:
Employees indicate that improving workplace culture can improve retention. 62% of all employees would have stayed if their company had taken steps to create a more positive and respectful work environment. 57% would have stayed if their company had taken steps to make the company culture more fair and inclusive.
Locked Doors
All your Googles are belong to us What you need to know about the recent phishing attack, because this will happen again:
Today's phish asks the target to grant access to "Google Docs"—a fake application using the name of Google's service. If the target grants permission, the malicious site will immediately harvest contacts from the target's e-mail and send copies of the original message to them.
Also, this Onion headline from 2014: Security Experts Advise Americans To Not Click Anything
After years of warnings, mobile network hackers exploit SS7 flaws to drain bank accounts "customers have had their bank accounts drained using a two-stage attack that exploits SS7" (SS7 in this context means SMS)
Hundreds of Apps Can Listen for Marketing ‘Beacons’ You Can’t Hear The technology behind free apps/games that "need" to access your phone's mic.
Don Lor "the famous 'dining cryptographer' problem, where you can't shake hands until you are certain of the identity of the other individual"
None of the Above
Nathan W. Pyle "pro drawing tip"
It's okay not to have an opinion about everything.
I know you know this.
But, sometimes it's useful to be reminded that you know this.
Panda Reactions! "when u are at a restaurant and u see another table getting their food first before u but u sat down first"
How a Single Gene Could Become a Volume Knob for Pain People who feel no pain, and people who can't stop feeling pain.
Adrienne Porter Felt "MY FAVORITE REVIEW OF A CHROMEBOOK"
You are not going to believe what I'm about to tell you Outstanding comic by the Oatmeal explaining "the backfire effect". I want to believe this is the explanation for ever more divisive partisan politics, but the facts don't support it:
Evidence of factual backfire is far more tenuous than prior research suggests. By and large, citizens heed factual information, even when such information challenges their partisan and ideological commitments.
Tom Wysocki "Brilliant poster. Nice one Dave."