Labnotes

Published on

Nat Pryce "The importance of isolating your microservices"


Design Objective

Jonathan Lupo Hear, hear:

Biggest challenge in education is to divorce "Design" definition from aesthetics. #uxchat

The Distribution of Users’ Computer Skills: Worse Than You Think Keep it extremely simple, or two thirds of the population can’t use your software:

Across 33 rich countries, only 5% of the population has high computer-related abilities, and only a third of people can complete medium-complexity tasks.

Yes, progressive enhancement is a fucking moral argument TL;DR the moral argument is the argument.

Intuitive Design vs. Shareable Design I learned how to use Snapchat from my wife, who learned it from a friend, who … so that's pretty much my experience:

This is actually a return to the way we’ve always learned to do things in the world. ... Snapchat does this brilliantly, because each of those seemingly obscure features is an opportunity for its users to show their friends how to do something cool.

Doorbells, Danger and Dead Batteries: User Research War Stories Excerpt from a book about the challenges researchers encounter out in the field, where mishaps are inevitable, yet incredibly instructive.


Tools of the Trade

The Silver Bullet Syndrome "Why are we constantly riding the technology bandwagon? Where is the churn going to take us? And at what cost?" Make this the one conference talk you watch today.

date-fns Modern JavaScript date utility library. Lots of date/time functions, modular, doesn't extend core objects.

browsix Wow. Run C, C++, Go and Node.js in the browsers, even LaTeX, Make if you must, and POSIX shell scripts.

Fun hacks for faster content Cool hack using document.write and iframe for streaming of large HTML/JSON documents.

alizain/ulid An alternative to UUID that's ordered chronologically.

The Verification of a Distributed System The hardest problem in computer science.

Tom Moor "You’re not going to believe this… the #Westworld hosts are built in @reactjs"


Lingua Scripta

The State of Babel Where Babel is headed. Lots of cool stuff in the works.

ndm GUI for npm package management.

David Mark Clements

"It's a silent .js" - @VincentLima2


Lines of Code

Mitchell Hashimoto Do it.

On personal projects: just build things. It doesn’t matter if someone else thinks its a bad idea as long as you think it isn’t. Really.

Every single thing we’ve built at HashiCorp (every. single. one.) at least one person has very passionately told me how bad of an idea it is

It Takes 6 Days to Change 1 Line of Code A story from the trenches at Big Corp.


Peopleware

How The Tech Sector Could Move In One Direction A story about curiosity, DCMA takedowns, cloud backup, fan art, and lessons for fixing diversity in tech.


Techtopia

Google, democracy and the truth about internet search Algorithms are failing us with misinformation. What will happen as they yield more control of our day to day?

Hannah Hart "well good morning to you too, phone"


Locked Doors

OverSight OverSight monitors a mac's mic and webcam, alerting the user when the internal mic is activated, or whenever a process accesses the webcam.


None of the Above

Ikea Renamed Products After Frequently Googled Problems That Those Products Solve Brilliant ad campaign.

Amazon Go Walk into the store. Find what you want. Walk out.

Lisa From TSA Wants You to Pick Up Your Laptop, Thanks Find this hard to believe, but hey, the world is a strange place:

In October and November, around 70 people left their laptops at a single airport security checkpoint at the Newark Airport.

Cat Science Officer

Boyfriend: Why is this pile of dirty clothes on the stairs?

Me: It's a write buffer for the upstairs laundry bin.

RocketBuilder ULA lets you configure a rocket, price it, and order all from your couch. E-commerce meets the next frontier.

La Vie Claire: the story behind professional cycling’s greatest jersey The story of the most iconic bicycle jersey.

Published on

Holiday and travel got in the way of publishing Weekend Reading, but I'm back and catching up on three weeks worth of fantastic links.

"Uh oh"


Design Objective

The dangers of delightful design Everything, in context and in moderation:

One thing I’ve learned is that it’s usually safer to be delightful on the screens that a user won’t see too often. ... This is why you’ll often see delightful imagery in onboarding flows.

Your Best Work Will Be Invisible

As a designer, your best work is going to always be invisible. It’ll be invisible because the best part of what you do will be everything that takes place behind the scenes, where nobody will ever see it.

Ryan Freitas

"A canceled meeting cannot be declined." I gotta say, Outlook, that's pretty zen.


Tools of the Trade

nathancahill/Anycomplete The magic of Google Autocomplete while you're typing. Anywhere.

CSS Reference A visual guide (try before you code?) to the most popular CSS properties.

When to use which CSS methodology Find the CSS methodology that's right for you, your project, or your team.

kubek2k/lambdoku Heroku-like command line for AWS Lambda functions.

htop explained. Explanation of everything you can see in htop/top on Linux.

davehull/Kansa A Powershell incident response framework.

Attacking discrimination with smarter machine learning Turns out you can build machine learning algorithms that don't amplify bias and give in to discrimination.

Probabilistic Data Structure Showdown: Cuckoo Filters vs. Bloom Filters "For similar space constraints, the Cuckoo filter provides lower false positives, particularly at lower capacities."

turbo.js Perform massive parallel computations in your browser with GPGPU.

Ben Bridts‏ The unintended consequences of machine intelligence:

Just did a test with @awscloud Rekognition, and it was capable of correctly classifying objects in google's reCaptcha


Lingua Scripta

ES6 is great, but use it cautiously Destructuring is one of those ES6 features that are easy to get carried away with:

"Let's use fancy ES6 destructuring"

"Seems hard to read"

"Fear not! I'll leave an explanatory comment"

The Missing Immutable.js Manual with all the Examples you’ll ever need What it says on the label.


Lines of Code

FunctionLength Martin Fowler answers the age old question, "how long should a function be?"

The argument that makes most sense to me, however, is the separation between intention and implementation. If you have to spend effort into looking at a fragment of code to figure out what it's doing, then you should extract it into a function and name the function after that “what”.

Slow Down to Go Faster Not convinced? Watch this unrelated video:

Yoni Weisbrod

Programming definitely has an addictive component. Those tiny wins that keep you solving a problem for hours and hours.

Please Don't Learn To Code From Stock Photos
"All websites should end with: <!-- End of Code forWeb -->"


Architectural

AWS Snowmobile Amazon taking Tanenbaum to the logical extreme:

Never underestimate the bandwidth of a station wagon full of tapes hurtling down the highway.

— Andrew S. Tanenbaum, 1989

You can transfer up to 100PB per Snowmobile, a 45-foot long ruggedized shipping container, pulled by a semi-trailer truck.

— AWS re:Invent, 2016


Devoops

Etsy’s Debriefing Facilitation Guide for Blameless Postmortems

By placing the focus explicitly on learning first, a well-run debriefing has the potential to educate the organization on not just what didn’t work well on the day of the event in question, but a whole lot more.


Peopleware

No one expects the lady code troll Jenn Schiffer on why and how she satirizes the tech industry. Hilarious. And insightful.

The Fraud Who Isn't Impostor syndrome explained.


Techtopia

Silicon Valley Has An Empathy Vacuum

Silicon Valley’s biggest failing is not poor marketing of its products, or follow-through on promises, but, rather, the distinct lack of empathy for those whose lives are disturbed by its technological wizardry.

Justin Shanes

Amazon thinks my recent humidifier purchase was merely the inaugural move in a newfound hobby of humidifier collecting.

Elizabeth Spiers

There are an awful lot of stock photos for virtual reality that just consist of people wearing headphones incorrectly.


Locked Doors

How To Fight Calendar Spam If you’re getting calendar spam, do not decline. That just confirms your account exists. Read this article on how to deal with calendar spam.

drduh/macOS-Security-and-Privacy-Guide A practical guide to securing macOS.

San Francisco Rail System Hacker Hacked Because everyone loves a double hack story. Also have backups ready for all your production systems.

Oleg Šelajev

The S in the IoT stands for Security.


None of the Above

Smartphone Magnifier Turn your smartphone videos into blown-up retro masterpieces.

We went in search of the world’s hardest language "English is pretty simple. Learning to speak Ubykh or !Xóõ presents more of a challenge"

Books I’ve read Looking for something to read? Check out Derek Sivers' list of books he read.

Disrupt Cards Cards against humanity but for startups.

How to Write Email with Military Precision Please, everybody who emails me:

  1. Subjects with keywords
  2. Bottom Line Up Front (BLUF)
  3. Be economical

Jaiden Mispy

This W3C spec reads like a text on gnostic mysticism

Wyoming, MN Police

Do NOT drive drunk. I will find you. I will arrest you. I will make you listen to One Direction cover bands on the way to jail.

Rescue Goat With Anxiety Only Calms Down In Her Duck Costume

Published on

Design Objective

“Please enter a valid last name” Getting UX right starts with a name.

If Satan was a web developer Creative ways for making web forms harder to use.

The Practical Dev margin-right: -100px !important;


Tools of the Trade

Abstract App “It’s a version controlled workflow, built on Git, and seamlessly integrated with Sketch.” This looks fantastic, excited to try it out (there’s a waiting list).

Write beautifully on iPhone, iPad, and Mac I’m using Bear right now to write this blog post.

@rabcyr “modern software development”

Fascinating Pictures RTFM!

Reading the instruction manual for the elephant you’ve just bought. We’ve all been there!


Lingua Scripts

Jake Archibald Async iterators make reading streams really easy. Already in Babel.

Apropos, async/await shipping in Chrome and soon Firefox.


Lines of Code

What I learned from writing six functions that all did the same thing This is something I see a lot of developers struggle with. I guess tweaking code relentlessly is easier than applying math. And it’s not just an issue of performance, it’s also simpler code.

So the winning function was roughly 9,690 times faster than my best effort, and 275,858 times faster than my initial effort.

If you need me, I’ll be over at Khan Academy studying math.

Dan Abramov Read this entire thread, starting with:

Looking a few years back, one of my biggest mistakes was my obsession with not repeating myself.

Seemingly duplicate or “boilerplate” code would physically irritate me. I’d spend considerable effort making sure everything is very DRY.

DRY is not free. You pay with a deeper abstraction stack and a higher price for changing individual cases later. I love boring code now.

Jay Kuri The perfect developer machine:


Devoops

Josh Zimmerman “Presented without comment”


Locked Doors

Battery Status readout as a privacy risk At some point we got a web api for checking battery status. Turns out (surprise?!) it can be used to track users who would rather stay anonymous. Mozilla took the courages decision to drop this API in the next version of Firefox.


Peopleware

How “Empowering” Your Team Is Stressing Everyone Out How structure helps people worry less, get more done:

Don’t you wish you could just make your own hours? “Get your work done, guys, we don’t care when!” Ahh — smells like total freedom.

Until you have to actually work with other humans, anyway.

Now every person on your team isn’t just in charge of their work — they’re in charge of tracking the unique daily schedules of everyone else they need to interact with! So convenient, right?

Being an Effective Ally to Women and Non-Binary People Allyship is important. Easy it’s not:

Show up. Every day. Allyship isn’t something you can do in your spare time or only when it’s convenient for you. It’s effort, it’s work—often hard work. Show up, every day, and don’t let it slip.


None of the above

Sindre Sorhus Here’s a kitten dressed as a bat to brighten up your day.

Developers Read 1 Star Reviews “Worked very well, had all the functions necessary … 1 star”

Yuri Sagalov “The first half of my MacBook Pro has arrived”

Holovect World's first desktop holographic display (KickStarter).

Me on Twitter “A history of acquisitions, as told by an email receipt”

LEGO Vehicles Take Over The Streets Of Rome How awesome.

Published on

Design Objective

How to do a Product Critique

It just has to happen because you’re curious, over and over and over again. Because you want to learn how to build good things.

Watch and learn. That’s all there is to it.

Aaron Hodder "Someone wrote this:"


Tools of the Trade

A documentation crash course for developers Judging by the majority of software projects, documentation is harder than programming, so that's why I link to so many articles about writing better docs, like this one:

It’s a small change, but that switch the reader instead of function is a quick and easy method to make the reader feel more involved in the explanation. We’re not writing fiction in technical documentation, but there’s no harm in telling a story.

Functional Lattice Cryptography (PDF) Perfect example for applying functional programming to cryptography. Right down to the choice of naming:

This work describes the design, implementation, and evaluation of Λ◦λ, a general-purpose software framework for lattice-based cryptography.

matt blaze

I wonder how much Big Emacs paid Apple to get rid of the escape key. They'll stop at nothing in their war on vi.

Chris Martin

The worst part about space travel will be the date libraries. You think time zones are bad, have fun with relativity.


Lingua Scripta

Three ways of understanding Promises Three not-so-obvious aspects of promises.


Architectural

Going Faster: Speeding up Software Development Where manufacturing terms are once again applied to the practice of software development:

  • Remove friction
  • Reduce inventory
  • Eliminate unneeded work

If the three software project levers above sound to you like DevOps, Lean, and Agile, you are spot on.

The Practical Dev And Medium posts:

I made a venn diagram to describe conference talks


Techtopia

History Of Mechanical Keyboards Fascinating designs.

Nick Robinson

me, glaring at my wi-fi bathroom scale while peeing: "is it you. are you the one hurting all the websites"


None of the Above

how much does a good telescope cost

Dave Weigel

I do appreciate the new definition of "leaked" emails. Years ago, I "leaked" an iPod after someone broke into my house.

Total Nightmare: USB-C and Thunderbolt 3 On the plus side, we finally got one port to rule them all: data, audio, video and power. Problem is, that's ten different ports that confusingly look the same. I predict this will end up more frustrating than Bluetooth.

Science Isn’t Broken It's just that "science is hard — really fucking hard". Includes an interactive chart that illustrates p-hacking in practice.

Blake Hammond

"Relax, don't do it" is my mantra. Except replace "relax" with "completely overanalyze the situation & feel defeated by your own thoughts"

‏@HapaxLegoman "they're called 'livejournals'"

Published on

Design Objective

How the Web Became Unreadable "I thought my eyesight was beginning to go. It turns out, I’m suffering from design."


Tools of the Trade

google/highwayhash Addressing performance and security, this package includes a faster version of SipHash, a data-parallel variant of SipHash using tree hashing, and an even faster algorithm called HighwayHash.

Books Programmers Don't Really Read

Please stop recommending books to others that you haven't read yourself. It's counter productive, as often there is a better book (more focused on a specific problem domain, easier to understand, geared more toward a specific programming language or programming skill level) that someone more knowledgeable could recommend.

@sarah_federman

Just passed a license plate that said "LGTM +1" on the freeway. I love you, Silicon valley.


Lingua Scripta

Tips for using async functions (ES2017) Few things you should know when using async/await.

npm v4.0.0 Hoping 4.x will be stable and dependable, and cure our 3.x blues.

Loop through a collection of DOM elements Old tricks for old browsers (that are still in circulation).


Lines of Code

@martinfowler

Many people underestimate the importance of deleting unnecessary code, it still has to be read and understood.

‏@UdellGames

Use whatever brace style you prefer.

But not this.

Don't do this.

Seek help instead of this.


Devoops

‏@JillWetzler

OH: I lived in a house with two other women engineers and at some point our PagerDuty cycles synced up.

‏@jjarmoc

In a relatively short time we've taken a system built to resist destruction by nuclear weapons and made it vulnerable to toasters.


Locked Doors

Hacked Cameras, DVRs Powered Today’s Massive Internet Outage Most people have no idea their connected devices are compromised within minutes of being powered on:

Mirai scours the Web for IoT devices protected by little more than factory-default usernames and passwords, and then enlists the devices in attacks that hurl junk traffic at an online target until it can no longer accommodate legitimate visitors or users.

And there's nothing you can do about it, other than throwing these devices in the trash:

That’s because while many of these devices allow users to change the default usernames and passwords on a Web-based administration panel that ships with the products, those machines can still be reached via more obscure, less user-friendly communications services called “Telnet” and “SSH.”

Also, an attempt to identify the device makers.

Matthew Olney Security experts: "using common file extensions as TLDs is a bad idea" ICANN: ¯_(ツ)_/¯

“Most serious” Linux privilege-escalation bug ever is under active exploit (updated) "A serious vulnerability that has been present for nine years in virtually all versions of the Linux operating system is under active exploit". Nine years.

‏@internetofshit

"How'd your accounts get owned?"

"Toaster. You?"

"Washing machine."


Techtopia

@craigmod

Little known fact: inventors of BlueTooth were wabi sabi fetishists — felt reliable functioning would undermine ephemeral beauty of life.

@ragzouken

black mirror #3 set in the distant future where you can attach a video to an email and it actually works


None of the Above

@tenderlove "Area man approves pull request"

Mexico’s Demand For Potent California Marijuana Creates Southbound Smuggling The times are changing.

Silicon Valley Etiquette

In Silicon Valley, some principles do matter: Efficiency, Respect, and Communication. California is for sure the “Land of The Cool”. But don’t get it wrong. Things are codified.