Published
Weekend Reading — Animojikaraoke
Mia Harrison "And then we proceeded to waste half our day. #animojikaraoke #iphonex #queen #bohemianrapsody #carriedaway"
Design Objective
UI backwards compatibility Entirely agree, we need do better with breaking UI changes:
The case for the case for UI backwards compatibility is arguable weaker than the case for API backwards compatibility because API backwards compatibility has a lower cost – if some API is problematic, you can make a new API and then document the old API as something that shouldn’t be used (you’ll see lots of these if you look at Linux syscalls). This doesn’t really work with GUIs since UI elements compete with each other for a small amount of screen real-estate.
And also often overlooked:
An argument that I think is underrated is that changing UIs isn’t as great as most companies seem to think – very dated looking UIs that haven’t been refreshed to keep up with trends can be successful …
Tools of the Trade
Five Things I Wish I Knew Starting Out Many developers, well into their career, have yet to learn this lesson:
- today's trendy library often turns into tomorrow's technical debt: try to build projects as lightly as possible
What are the Most Disliked Programming Languages? As seen on Stack Overflow, high correlation of "least disliked tags tend to be fast-growing ones."
addyosmani/critical Extract & Inline Critical-path CSS in HTML pages.
Powerful Start in Sketch If you're starting with Sketch, these are the tools to get started with.
x0rz 🤔
Obfuscating IPv4 addresses is fun, try:
$ ping 0177.1
$ ping 134744072
$ ping 0x8080808
$ ping 010.0x0000008.00000010.8
$ ping 8.0x0000000000000080808That works both on Linux and Windows 👌
Web-end
I Watched All of the Chrome Dev Summit 2017 Videos So You Don’t Have To TL;DR Google wants you to build PWAs, reduce JavaScript file size, use Web Components, and configure autofill.
Sara Soueidan 🐦 TIL:
Combine viewport units with other units to unbreak zooming
e.g.
font-size: calc(16px +2vw);
will scale text while preserving zooming UX. 👍🏻
Since
:before
and:after
are first class CSS Grid items, this “lines on either side” design can easily be accomplished in ~10 lines of CSS
Jen Simmons | Writing Modes | CSS Day 2017 How CSS renders text left-to-right, right-to-left, and top-to-bottom … in both directions.
technically, the committee is named unicode. the spec and character set is named "unicode's monster"
Lingua Scripta
The Most Clever Line of JavaScript How to addressParts.map(Function.prototype.call, String.prototype.trim);
like a pro.
ES Modules: Default imports are not namespace imports! The subtle, confusing difference between the single export (CommonJS), and "my name is default
" (ES modules).
Today in things you'd never do with JavaScript but totally can...
Define a class that extends another which is defined inline... n times.
Lines of Code
Code review tip: include at least one reviewer that wasn't involved in feature discussions. If they can't make sense of the code, it won't make sense to anyone a month from now.
OH: I no longer tolerate complicated programming languages. My mental space is like Silicon Valley; rent is high and space is at a premium
Architectural
Ryan Singer All other being equal, you do get there faster if you avoid building the wrong thing, keep your focus, etc:
Agile became synonymous with "speed" because of sprints, velocity, etc. But speed isn't the real problem. The real problems are doing the wrong thing, building to a spec, unfocused resource allocation, etc.
Locked Doors
He Perfected a Password-Hacking Tool — Then The Russians Came Calling How Mimikatz, a tool coded by a French government IT manager in his spare time, became the favorite password stealer of hackers worldwide.
@turtlekiosk 🕵️♀️
therapist: you're afraid of making connections because you don't want to get hurt
infosec person: it's called threat modeling
Brendan Seerup "Probably the best leaving present you can get somone in your security team on thier last day"
Electric Sheep
The Neural Net Tank Urban Legend TL;DR 50 year old urban legend, that gives a misleading indication of risks associated with deep learning:
A cautionary tale in artificial intelligence tells about researchers training an neural network (NN) to detect tanks in photographs, succeeding, only to realize the photographs had been collected under specific conditions for tanks/non-tanks and the NN had learned something useless like time of day.
Techtopia
Bitcoin Is a Bad Way to Do Something Necessary TL;DR Bitcoin is a "first mover advantage" currency, which favors very specific subset of the population. And also:
Deflationary money is reactionary. It rewards people for being first, not for being productive. It encourages people not to spend and not to invest in something other than money, which is bad for economies. Moderate inflation, contra-gold bugs and Austrians, is a good thing, as it devalues effort from the past. It’s great that you did something wonderful 40 years ago, but what you do today should matter more.
None of the Above
dead inside "I call this the “might make another sandwich might not”"
I NEVER restore all old tabs. If I lose them in a restart, they're gone. It is a blessing to be set free from a prison of my own creation
Phil Jones "Every time I passed this bike rack I thought it looked like a vending machine. So, I hand painted a giant chip bag to go inside it."
Emma 👓
Everyone raging about 280 characters, except the visually impaired among us who hope this will mean fewer text-filled images we can’t access
Stringdrive Cool tech. Bike chains are messy, so why not replace them with swing arms and elastic strings?
Patrick McKenzie Thread, applies to gig marketplaces in general:
Freelancer marketplaces are markets for lemons. You should not sell your labor through them.
I promise you: you CAN do better.
Tom "This looks like a mad sesh till you find out it’s a combine harvester in a cotton field"