Labnotes

Weekend Reading — Just patch it

Published on

Josh Gondelman "At the very least, you've got to use a smaller font, guys."


Design Objective

Design Better Data Tables This article is an illustrated collection of data table design patterns:

Good data tables allow users to scan, analyze, compare, filter, sort, and manipulate information to derive insights and commit actions.

The Path to Design System Maturity How a design system is, and should be treated like, a product:

When you’re in the early stages of design system development, consistency often works upwards. Rather than a set of guidelines dictating practice, emerging patterns dictate guidelines (sometimes to a fault).

Why Silicon Valley is all wrong about Amazon’s Echo Show Some great points, some unnecessary hype (didn't cell phones already spell the end of PCs?):

What we see in the Echo Show video is Amazon scratching away at the sheen of today’s leading technology products and asserting a more utilitarian aesthetic. By reducing the importance of appearance, Amazon can emphasize function over form, keep its prices anticompetitively low, and drown the market with products that offer access to its AI voice assistant.


Tools of the Trade

Ben Schwarz "Android is now the worlds most used OS" (source: StatCounter)

omg-img Is a CDN that hosts over 48,000 icons, doesn't get any easier than that. PNGs are free with attribution, so try before you buy.

cookiengineer/git-ddiff "A better git diff for humans with lack of memory" lets you run diffs like:

git ddiff yesterday morning;

Sarah Drasner

Sometimes I open source code just so I can find it again

Alyssa Ross

TIL you can hit ⌘I in macOS Terminal and get a handy tree of processes for the current tab. You can even select and kill them from it!

ira in 🇮🇹 🍝

hi 👋, bashing other people's libraries during talks ain't cool -- building and maintaining OSS projects is hard, sweaty work.

Jason Pontin

Q: "Why did the convolutional neural net cross the road?"

A: "What do you care? Get off my case. It works, doesn't it?"


Web-end

How to Think About HTTP Status Codes Is the reference you want to keep handy, and share with fellow developers, when designing applications that use HTTP status codes:

Beyond that, it’s a mistake to try to map each part of your application “deeply” into HTTP status codes; in most cases the level of granularity you want to be aiming for is much coarser. When in doubt, it’s OK to use the generic status codes 200 OK, 400 Bad Request and 500 Internal Service Error when there isn’t a better fit.

Ryan Hayes 💻 🎮 👍

Windows store will search the web for PWAs and auto-ingest quality ones into the store. No difference in PWA vs Native.

Pinboard No you don't:

If you make your web page 200KB and avoid javascript, you won’t need a Google distinguished engineer to make it load fast

Giana Schrödinger's CSS:

Can these two groups

"CSS is so easy, it's not even coding!"

"CSS is so hard, we need to replace it with JS!"

please talk to each other

Zach Leatherman "👀 has anyone tried this new css framework yet"


Lingua Scripta

util.promisify You will not believe what just got added to Node:

Takes a function following the common Node.js callback style, i.e. taking a (err, value) => ... callback as the last argument, and returns a version that returns promises.

The Practical Dev "undefined is catching up to null"


Lines of Code

Five Factor Testing Good tests can…

  1. Verify the code is working correctly
  2. Prevent future regressions
  3. Document the code’s behavior
  4. Provide design guidance
  5. Support refactoring

David R. MacIver Don't forget:

PSA: If a function accepts a string then it's a parser. Parsers are hard to get right and dangerous to get wrong. Write fewer of them.

Stephanie @ OSCON

Also a lot of people forget that code is often the easy part

Hard parts: communication, prioritizing, planning, learning, designing systems


Architectural

Reginald Braithwaite A Twitter thread that should have been a blog post:

When “convention over configuration” first appeared, it was great, because the configuration it replaced was largely accidental complexity.

Convention in Ruby over parsing XML files to configure Dependency injection in Java?

Make mine a double!

But today it isn't Convention over Accidental Complexity. Now it’s often Convention over composing small and elegant functional pieces.


Locked Doors

NHS seeks to recover from global cyber-attack as security concerns resurface New ransomware attack. This one affects more than just hospitals, but the damage to emergency services, that's a new twist.

Barry Dorrans And why "just patch it" is not as easy as it sounds:

The release of the patch probably isn't going to help that £15m MRI machine that runs XP embedded whose maker went bankrupt 10 years ago.

So it's not a matter of £100 for a license it's £15 million for a new machine and you need to rip the building open to install it

How to Accidentally Stop a Global Cyber Attacks And how one young security expert accidentally stopped the malware from spreading (though, not for long, I hear a new version is out.)

The hijacking flaw that lurked in Intel chips is worse than anyone thought So, some Intel chips come with a web server, it's baked into the hardware, and of course you can't turn if off, and of course it's easily compromised …

April King 🌀 All of the above?

You're being interviewed for an infosec position in Hell. Which of these are you forced to explain, again and again, for all eternity?

29% DNS / DNSSEC / DANE

27% SPF / DKIM / DMARC

44% TLS / PKI


Techtopia

Silicon Valley: A Reality Check When self-centered social-media-obsessed journalists report on Silicon Valley, they see it in their own image: self-centered and social-media-obsessed. There's much more to Silicon Valley than $400 juicers:

If a deeply good person crusading for a better world enters Silicon Valley … she’ll see mobile apps that track tropical diseases, clean energy startups that fight global warming by directly sucking carbon dioxide out of the air, companies bringing microbanking to poor Nepalese villagers, and boutique pharmaceutical labs searching for cures for orphan diseases.

We tested bots like Siri and Alexa to see who would stand up to sexual harassment Spoiler alert: they didn't. This article has interesting lessons, and a checklist, for anyone designing chat-based systems.

Alexa Calling Has a Major Privacy Flaw Related:

Instead, every contact that also has the Alexa app is now in my Alexa Calling contacts. Among my contacts were old landlords, many co-workers, random vendor account managers, city councilmen, and of course, crazy ex-boyfriends. And each one now has a direct line into my home.

Tom Gara

My friend's toddler babbled "don't forget to subscribe" as he was put to bed. Kid watches so much YouTube he thought it means "goodbye"


None of the Above

How Pixar Lost Its Way And how Disney Animation Studios found its groove.

Ben Sandofsky Me too:

I will consider iOS 11 a game changer if I can plug my phone into a car and it doesn't play the the first song in my library.

The Forgotten Story Of The Radium Girls, Whose Deaths Saved Thousands Of Workers' Lives From the "corporations have no incentive to harm" department:

But that belief was founded upon research conducted by the very same radium firms who had built their lucrative industry around it. They ignored all the danger signs; when asked, managers told the girls the substance would put roses in their cheeks.

Machine Pix "Pre-fading jeans with a laser."

Parker Thompson. "I feel like CNBC is astrology for day traders."

While bitcoin has seen a recent rally, previous peaks have seen sharp pullbacks in prices. Masters said the price rise has been "violent in the short-term" with bitcoin "fully valued for the moment". This could lead to a pullback to around $1,100.

However, the long-term outlook remains strong.

The great British Brexit robbery: how our democracy was hijacked When big data meets big money from the far right of the political spectrum.

IM 🍑HIM "This is hands down, the most bad-ass bird photo that I've seen."