Weekend Reading — Not a morning person
Tutorial: CSS Fixed Positioning in Interactive Email Cool trick that adds animation to emails by using CSS
Ways To Reduce Content Shifting On Page Load Content shifting on page load is annoying. No one likes it. Here are a few tricks to make sure your web page/app delights rather than annoys.
Pantsuit: The Hillary Clinton UI pattern library The name is spot on.
Tools of the Trade
How do I use QuickCheck to test if a function terminates? Asks StackOverflow: "how do I solve the halting problem?"
egoist/nswatch Like gulp.watch but for npm scripts.
Rclone Command line program to sync files and directories to and from various cloud services, including Google Drive, S3, Dropbox, Backblaze.
Hipku Encode any IP address as a haiku
nasa/openmct NASA's web-based mission control app is now open source. Launch vehicle not included.
Trying to make sense of Gmail CSS support From which I learned there is in fact more than one Gmail:
Babili (babel-minify) TL;DR: Babili can accept ES2015+ input, while current minifiers are mostly limited to ES5, requiring code to be transpiled before minification.
Feature watch: ECMAScript 2017 What's already ECMAScript 2017, and what's coming in 2017, or maybe 2018.
npm feature request: allow specifying "all" in package.json to import all known npm modules, in line with current industry best practices
Lines of Code
The art of writing small and plain functions Read. Practice. Apply. This is not too difficult, and will make your code so much better:
Every function is obvious and straightforward. You don't waste time digging to realize what the code does. That's how the clean code should be.
Testing, for people who hate testing You probably know a few developers who should read this. Starting with this common objection:
If writing tests is hard, that might be a bug
The thing is, tests are just code. If you have a hard time constructing your own objects with some particular state, it might be a sign that your API is hard to use!
400,000 GitHub repositories, 1 billion files, 14 terabytes of code: Spaces or Tabs? The people have spoken, and the spaces have won the popular vote. More valuable learning:
Analyzing each line of 133 GBs of code in 16 seconds? That’s why I love BigQuery.
Flexible Paxos: Quorum intersection revisited Paxos without quorum (PDF):
Specifically, we observe that each of the phases of Paxos may use non-intersecting quorums. Majority quorums are not necessary as intersection is required only across phases. Using this weakening of the requirements made in the original formulation, we propose Flexible Paxos, which generalizes over the Paxos algorithm to provide flexible quorums.
The new hip architecture:
Service workers in the front, serverless app in the back
How to steal any developer's local database One more reason to not store any production data on your local machine. Simple attack against Redis, Memcached, Elasticsearch and other services that support plain text protocols.
@SecureSamurai "Sometimes, the world needs a hero."
I Got Scammed By A Silicon Valley Startup Red flags to look for when joining an early stage startup.
The iBrain is here When it comes to AI and machine learning, Apple does think different:
Apple says it has answers for both. “Some people perceive that we can’t do these things with AI because we don’t have the data,” says Cue. “But we have found ways to get that data we need while still maintaining privacy. That’s the bottom line.”
Facebook recommended that this psychiatrist’s patients friend each other Creepy violation of people's medical privacy.
None of the Above
Livia Labate "TIL after 99 tabs open, the counter on Chrome on Android just laughs at you."
Inside the Federal Bureau Of Way Too Many Guns The one place the US government is not allowing the use of computers.
Look its a secret bunny meeting. What are they talking about? Veggies? Carrots? World domination? We will never know