Weekend Reading — Octlantis
Muselk "Whoever designed this floor is evil. THATS A FLAT CARPET."
Optical Effects in User Interfaces (for True Nerds) How to make optically balanced icons, correct shapes alignment, and perfect corner rounding.
Tools of the Trade
Tobie Langel "Finally captured a picture of the @github octocat in its natural habitat."
Relicensing React, Jest, Flow, and Immutable.js The developer community has spoken, and Facebook is backing down and relicensing some of its open source technologies. No mention of GraphQL. I've seen many reactions from people who didn't understand how that patent clause works, so encourage you read 3 Points to Consider.
mozilla/valence First extensions, now Mozilla wants developers to embrace Firefox as drop-in replacement for Chrome:
Mozilla no longer maintains this project. Cross-browser remote debugging is still a priority. To enable browser/device agnostic inspection and debugging, we intend to make our tools be directly compatible with the Chrome DevTools Protocol.
Probot Github apps you can install with a single click.
Every time Git/Github/continuous integration/etc causes me to need to push a vacuous commit to trigger something I do a doc update instead.
This is rapidly producing the best, most consistent documentation progress of my career.
Dmitri Sotnikov "deploying Docker Compose to production"
Dan Abramov Summary of reasons not to use React. React is a great, but also not a fit for every project, the thing is the hype is so strong right now, lists like this need to be made and shared:
It has a larger runtime than some libs so if you’re building something sensitive to that (e.g. embed widgets), may want to look elsewhere.
Lines of Code
Sarah Mei "What if we design the test code, and let the code code fall out from there?"
I want some way to explicitly apply software design to tests, so we can let changes there drive parallel changes in code to make them green.
It's sort of like Conway's Law for testing. Your code recapitulates the structure of your tests.
Therefore, to make changes, you want to manipulate the source - the tests - and let that recapitulation happen to make them pass again.
Never Give Up, Retry: How Software Should Deal with Failures An introduction to retry logic.
The art of destroying software Going to watch this again today.
YOU ARE IN A LEGACY CODEBASE
> RUN TESTS
YOU HAVE NO TESTS
> READ SPEC
YOU HAVE NO SPEC
> WRITE FIX
YOU ARE EATEN BY AN ELDER CODE HACK.
Multiple Perspectives On Technical Problems and Solutions Why and how Etsy runs an architecture review process:
In other words, engineering (as an activity) does not have “correct” solutions to problems. As an aside, if you’re looking for correct solutions to problems, I’d suggest that you go work in a different field (like mathematics); engineering will likely frustrate you.
Breaking Up the Behemoth Does your codebase has that one piece of logic that no developer dare touch? What are you doing to fix that?
A 5,000 line class exerts a gravitational pull that makes makes it hard to imagine creating a set of 10 line helper classes to meet a new requirement. Make new classes anyway. The way to get the outliers back on the green line where they belong is to resist putting more code in objects that are already too large. Make small objects, and over time, the big ones will disappear.
When a feature is very hard to implement, do something else make the feature easier, then do it. This tactic have saved me countless hours
Security Researchers Lose Faith in HTTP Public Key Pinning In retrospect, a bad idea and browser vendors should remove this feature:
It turns out that certificate pinning can cause more harm than good because it’s hard to configure and getting it wrong can leave websites inaccessible. On top of that, hackers can also potentially abuse it for ransomware-like attacks.
None of the Above
Apple blocking ads that follow users around web is 'sabotage', says industry Of course advertisers feel that way. Also, fantastic new feature, may Chrome follow soon.
Octlantis: the underwater city built by octopuses "In Australia, the species has been seen to congregate, communicate and even evict one another at a site marine biologists call Octlantis."
Scientists Can Now Repaint Butterfly Wings Wow CRISPR:
By deleting the optix gene in a wide variety of butterflies, team member Linlin Zhang showed that red parts of the wing consistently turn black. The Gulf fritillary transforms from a vivid orange insect into a dark inky one. The small postman loses the vivid red streaks on its hind wings.
Magic Sudoku This app takes the fun out of solving Sudoku, but wow AR. Watch the video:
Anatomy of a Moral Panic Why is Channel 4 frightening us about high-school science projects?
The real story in this mess is not the threat that algorithms pose to Amazon shoppers, but the threat that algorithms pose to journalism. By forcing reporters to optimize every story for clicks, not giving them time to check or contextualize their reporting, and requiring them to race to publish follow-on articles on every topic, the clickbait economics of online media encourage carelessness and drama. This is particularly true for technical topics outside the reporter’s area of expertise.
ICOs are where the frauds will take place TL;DR "Anyone can promise anything and no one is overseeing it."
Alex Chaffee, 늙다리 미치 "Twitter is fun sometimes."