Published
Weekend Reading — Large cat spotted
Design Objective
Instacart’s Lead Product Designer on Creating A Design System If at first you fail …
Flat Design: Why you should question Nielsen Norman’s research on the trendy design style. You may remember from a few Weekend Readings back, that Nielsen Norman published this article, the gist of it: "use strong signifiers". Sean Dexter digs into the specifics of that article and finds it wanting:
The thing is, there was no noted difference between these two designs. The eye-tracking results showed roughly equivalent results. The scenario that most fairly represented flat design didn’t result in a significant difference between either option.
Adding features to your product is like adopting puppies. It's not build and forget; it's another mouth to feed and more shit to pick up.
I decided to challenge myself by redesigning Blockfolio The before & after look like they're a decade apart.
Tools of the Trade
Rico's cheatsheets This is such a fantastic resource. 340 cheatsheets for a variety of tools, languages, libraries, and frameworks. Bookmarked!
daiyi! (chris) A reminder that the "user" in "user experience" refers to anyone and everyone:
As tool builders, we're gatekeepers. Every time we print an incomprehensible error msg, someone decides they're not good enough at coding.
Sam Sykes ✍️
I don't know what the most important rule of writing is, but the second is "you won't remember that idea you just had, write it down."
A more connected universe GitHub can now analyze and show you the project's dependency graph. And … "Soon, your dependency graph will be able to track when dependencies are associated with public security vulnerabilities"
Streams: a new general purpose data structure in Redis. Redis takes on Kafka:
Mixing radix trees + listpacks, it is possible to easily build a log that is at the same time very space efficient, and indexed, that means, allowing for random access by IDs and time.
… both as replacement for Pub/Sub applications that need more reliability than fire-and-forget, and for completely new use cases.
Exploding Git Repositories "Unless you have quite a lot of memory (both RAM and storage) git was killed, ran out of memory, or you had to reboot. Why is this? It is a perfectly formed repo made of only 12 objects."
John Resig "Your regular reminder to run brew cleanup
- you probably have a huge heap of old builds waiting to be cleaned up if you use homebrew!"
yan 💵
gitcoin: the author of the commit sha1 with the longest prefix of 0's in your repository is now the project maintainer
Web-end
CSS Grid Gotchas And Stumbling Blocks Rachel Andrew on Grid vs Flexbox, content sizing, masonry layout, nesting, polyfills, and more. And she just published a new book: The New CSS Layout
Essential Image Optimization TL;DR "We should all be automating our image compression," a new eBook by Addy Osmani:
The smaller in file-size you can make your images, the better a network experience you can offer your users - especially on mobile. In this write-up, we'll look at ways to reduce image size through modern compression techniques with minimal impact to quality.
The future of accessibility for custom elements An introduction to the Accessibility Object Model, and how web components would use it.
Tabbed Interfaces On tabs and accessiblity.
How to Draw Your Face in CSS "The process of translating from Illustrator to CSS was pretty time consuming, but it is highly satisfying to create an entire image out of CSS, especially if you add swanky animations to show off its div-yness."
FOIT vs. FOUT A demo of the functional differences between FOIT and FOUT.
Jan Schaumann "So all y’all know that UserAgent strings are total bullshit, right?" 🤣
Lingua Scripta
Mikeal Rogers "This is getting absurd."
A Guide to Faster Web App I/O and Data Operations with Streams This article covers the WHATWG Streams specification, coming to a browser near you … some day.
Lines of Code
The case against annotations Sometimes Java can't decide whether it's a language with strong types, or a language for escaping the trappings of strong types:
A string-based language inside a mini-language inside Java! … In effect, we get an interpreted, non-typesafe mini-language embedded in Java.
... What classpath scanning does, is it trades certainty, control and the ability to have a mental model of the entire application for rapid development and fast bootstrap.
Schrödinger’s Code: Code has been written, but not tested, and is in state of neither working nor failing until it is observed.
Architectural
The whole web at maximum FPS: How WebRender gets rid of jank Lin Clark explains in plain English how modern browsers can render HTML pages at neckbreak speed. Hint: they offload much of the rendering to the GPU:
With WebRender, we want apps to run at a silky smooth 60 frames per second (FPS) or better no matter how big the display is or how much of the page is changing from frame to frame. …
So how does WebRender do that? It fundamentally changes the way the rendering engine works to make it more like a 3D game engine.
Alan Coopersmith "Wow. An archaeological dig in the old Sun hq found a copy of the ancient scrolls of X11."
Peopleware
Mental Accounting and Self-Control Richard Thaler won the 2017 Nobel Prize in Economics for his works at the intersection of psychology and economics:
One of the things that Thaler has become known for is the concept of the “nudge” … The most famous example of a nudge is forcing people to “opt out” of default options.
… The idea behind mental accounting is that people don’t treat all of their money (or time or effort or other resources) as if they have one big pool of it.
Hai open source people. I love you. Why? Because you are a set of self selected motivated people and that's inspiring.
Locked Doors
iOS Privacy: steal.password - Easily get the user's Apple ID password, just by asking Proof of concept, but if you ever see a "Sign In to iTunes Store" popup, do this:
Hit the home button, and see if the app quits:
- If it closes the app, and with it the dialog, then this was a phishing attack
- If the dialog and the app are still visible, then it's a system dialog. The reason for that is that the system dialogs run on a different process, and not as part of any iOS app.
How Israel Caught Russian Hackers Scouring the World for U.S. Secrets TL;DR Israel intelligence hacks into Kaspersky’s network, watches as Russian intelligence hacks into Kaspersky’s network and uses Kaspersky's own products to siphon data from the US intelligence community. Spies spying on spies spying on spies.
Should Antivirus software be part of your threat model? Related:
By installing AV software, you place a tremendous amount of trust in the vendor to do the right thing. In addition to malicious action by the AV vendor, we saw with the recent CCleaner backdoor that your vendor’s security matters substantially too.
Hackers covertly hide code on Politifact to hijack your PC, secretly mine cryptocurrencies Hackers no longer after your data, just your CPUs.
Techtopia
What Facebook Did to American Democracy Was it hard to see it coming, or merely inconvenient to admit it?
The information systems that people use to process news have been rerouted through Facebook, and in the process, mostly broken and hidden from view. It wasn’t just liberal bias that kept the media from putting everything together. Much of the hundreds of millions of dollars that was spent during the election cycle came in the form of “dark ads.”
I wandered into a cute new boutique in Palo Alto. After 5 min of looking at their art, discovered it's actually a startup office #awkward
Showerthoughts "Technically it was Moses that had the first tablet that could connect to the cloud"
None of the Above
Fluff Society "Squirrel tries to hide nut in dog"
Najaf Ali The kid knows:
Daddy, why does Kylo Ren kill his daddy?
It's complicated..
Is it because the Han Solo actor is tired and wants to take a break?
Probably
Marcin Wichary "Part of the fun of being an (amateur) historian is discovering connections like these."
Ditch Facebook Messenger. Use Messenger lite instead Familiar story:
- High-tech company bloats its core product with useless features
- Also, releases a light version for non-Western regions, where bandwidth is more expensive
- Sometime later, light version arrives at/gets discovered by Western country
- Immediately heralded as the new must have, for it's hip, minimalistic UI
Ryan "Perfectly flat floor, designed to stop people from running in the hallway"
James Herring "Lawyers. This how you write a cease and desist letter to fans. Good work Netflix."
Why can’t we cure the common cold? TL;DR Interesting read. So it's not a conspiracy of the Cough Syrup Industrial Complex, but the challenge of developing one vaccine that can deal with 160+ common cold viruses.
David Mack "omg this is everything"