Weekend Reading — "Delete it!"
@benhtml "Delete it"
This week I'm trying something new. It's the same Weekly Reading format, but I'm using a new tool called Revue to edit this issue. I hope you like it.
Tools of the Trade
Dirty Tricks From The Dark Corners Of Front-End There's so much good stuff in this slide deck, exploring some of the new features in HTML5/CSS3 and how to elegantly solve various rendering and layout issues.
Houdini: Maybe The Most Exciting Development In CSS You've Never Heard Of Houdini is a new low-level API with a simple goal: a way to write CSS polyfills, so we can build/test new CSS features ahead of browser support. A thousand times this.
Docker for Mac and Windows Beta: the simplest way to use Docker on your laptop OS X 10.11 ships with VM support built into the operating system, and now Docker is taking advantage of this. No more VirtualBox!
FALSEHOODS.md Falsehoods Programmers Believe About Phone Numbers.
The Netflix Tech Blog: Extracting image metadata at scale I thought this was done by people. Netflix engineering explain how they find the most interesting part of the image, dynamically crop for focal point, and deal with text over text, all with algorithms.
transfer.sh File sharing from the command line. As simple as:
$ curl --upload-file ./hello.txt https://transfer.sh/hello.txt
The Chrome Distortion: how Chrome negatively alters our expectations.
The end result of this is that we've been brainwashed into believing Chrome is the best browser, when the reality is that across all metrics, Chrome is 3x to 300x slower than Safari. The situation is dire enough that even desktop Chrome often gets beat by mobile Safari in performance benchmarks.
Safari 9.1 iOS 9.3 and OS X 10.11.4 shipped this week, and WebKit gets many new features, including CSS variables, no tap delay, font features, and more.
Package install scripts vulnerability You can avoid this vulnerability by running:
$ npm install --ignore-scripts
Autocomplete from Stack Overflow Tired of writing code? Me too! Let's have Stack Overflow do it.
Lines of Code
CSS and Scalability If you've got more than one person working on the same CSS codebase, you've got to read this post:
After countless implementations of css systems that broke down and became difficult to maintain as apps and teams grew larger...I've found I want little to no part of the cascade's 'features.'
The Daphne and Celeste fallacy erroneously puts that ugly looking code must be poor code. It is typically the domain of coddled and self-regarding developers who prioritise the readability of code by themselves over its utility to users.
Giving Up on TDD
As a novice, when you are focussed on the discipline of TDD, you don't have room in your brain for a lot of design thinking. ... The idea that TDD "encourages a focus on sorting out detail to pass tests rather than looking at the program as a whole" is simply an artifact of being a novice.
Agile Is The New Waterfall — A Followup Don't let the title mislead you, this is a well thought-out post about Agile cargo cults:
They assume that if they conduct the ceremonies, the gods of good software will reward them with good software.
Akin's Laws of Spacecraft Design Many of which apply to any engineering practice, like:
A bad design with a good presentation is doomed eventually. A good design with a bad presentation is doomed immediately.
The Church of Small Modules
This week's Noderama brought to you by an open source developer unpublishing an 11-lines module. As you can gather from the title, I'm no fan of "very many small modules". I think they're just inflated growth numbers, not really true to the UNIX philosophy, and part of an immature/careless architecture. We deserve better.
My choice of links is biased, but if you want to understand the issues, and find out what you can do about it, read on.
Micropackages and Open Source Trust Scaling I share the sentiments:
But as it stands right now I feel like this entire thing is a huge disaster waiting to happen and if you are not using node shrinkwrap yet you better get started quickly.
NPM Package Hijacking: From the Hijackers Perspective It's not just availability of modules, NPM's design is also a security issue:
var passAll = require('101/pass-all') var isPositive = require('is-positive') var isInteger = require('is-integer') module.exports = passAll(isPositive, isInteger)
How to use bundleDependencies (to avoid unpublish blues) How to use NPM's bundleDependencies feature to avoid another padocalypse.
In the future, maybe considering not using a dependency if its only a dozen lines of code.
When READMEs tell you how to install the thing before they tell you what it is.
There is no “my” in open source All too many developers are happy to share, just as long as "their" code is used on their terms. That's not what open source is about.
In open source, you can only have “my” in the associative sense. There is no possessive “my” in open source.
Water treatment plant hacked, chemical mix changed for tap supplies Time to freak out?
Verizon's RISK Team uncovered evidence that the hacktivists had manipulated the valves controlling the flow of chemicals twice – though fortunately to no particular effect. It seems the activists lacked either the knowledge of SCADA systems or the intent to do any harm.
Fred Kaplan Book: The Secret Moscow Meeting That Revealed Russia's Cyber Prowess A captivating read about the early days of modern cyber-war.
Let me spell it out for you:
Alphanumeric long passcode: Data protected by encryption.
Numeric pin: Data protected by processor security.
Christopher Soghoian: The NYT story on the Paris attackers makes just as much (if not more) sense if you replace "encryption" with "magic":
Matt Joseph: If you care about bias in tech, read this whole thread. I also used to believe that absence of 'discrimination against' is the same as absence of discrimination. Now I know better:
18/ Wanna know the real difference between them and me? I don't fit your pattern. You have no archetype for me. So the bar for me is higher.
After years of intensive analysis, Google discovers the key to good teamwork is being nice Mind boggling:
Google now describes psychological safety as the most important factor to building a successful team.
Here are Google, Amazon and Facebook's Secrets to Hiring the Best People I bet you've been to a few interviews that went like this:
Make the interview schedule as confusing and unpredictable as possible
To find people who don’t need instructions
lmeyerov: "I'll just leave this here:"
Paul X. McCarthy: “Number of people predicting the death of Moore’s law doubles every two years'' - PL@MSR
How the iPad Pro Changed My Illustrating Career Tablets have a while to go before replacing PCs, meanwhile our use of computers expands to cover new domains.
It's 2016 and all my meetings still start: 1) how to connect to screen? 2) dial-in bridge? 3) is that a Sharpie or a whiteboard marker?
The First Telephone: A Liveblog From the Year 1877 The 19th-century equivalent of the modern Apple event.
as a child i asked my dad why the moon looks really really big sometimes and he said "simulations always have bugs" and i haven't slept since
It's official! Driverless cars will definitely arrive before driverless printers.
None of the Above
Mind-Blowing Magic Magnets - Smarter Every Day Printable magnets sounds like a "why? because we can!", but turns out it enabled a lot of interesting use cases. I want all my door knobs to work like that!
How to enable Wi-Fi Calling in iOS 9.3 Wifi calling now available on the four major US carriers, and it's quite easy to turn on. Great for places that have good WiFi but weak cellular reception.
The Silicon Valley Boys Aren’t Just Brilliant—They’re Part of a Comedy Revolution Wired takes a look at the new "comedy economy".
Cuba on the Edge of Change
It’s a land of endless waiting and palpable erosion. Yet after all these decades, an uncanny openness among the Cuban people remains.
In the future the thing that will amaze people the most about Superman is that he has a job as a newspaper journalist...