Weekend Reading — Extreme Bagpiping
This week we fit an iPhone in the space between two icons on the iPad Pro; we play it wrong and call it jazz! don't write code that's too clever to grep; we're ready to defend against manager in the middle attacks; and we take our bagpiping to the extreme.
The Past and Future of Product Management Product is the harder problem in computer science:
The problem, though, is that the skill sets needed to ship the right software are much harder to pin down. Hiring developers is by no means easy, but mastery of technical systems is ultimately easier to display and quantify than mastery of human systems (if the latter is even possible).
Designing More Efficient Forms So this is coming from Salesforce, but I do like what they're doing with Lightning Experience. Precisely because it's a later comer, conservative, UI framework, it gets to choose the best mix of solid design principles.
Is Usability on Mobile Getting Worse? I disagree. 3D Touch are not primary UI, they're shortcuts to existing actions. These are power-user features, they don't need to be mixed with the easily discoverable:
I really think this can’t be overstated: Apple has added a hardware feature to the iPhone whose sole purpose is to help developers add hidden features to their apps.1
@dmunsie This is how far mobile screens advanced in eight years:
The spacing between apps on the iPad pro (324px) is wider than the original iPhone display (320px).
Design Is Capitalism. Fantastic talk that hits a few nerves:
The first step is getting over yourself, just try to be a good citizen, be a good helper, just do the basic things, and in that way, you’re in the service of a good message.
Tools of the Trade
jamesob/desk A lightweight workspace manager for the shell.
YoussefKababe/serender Insanely fast server side rendering middleware for Express. Pre-rendering for Express in mere 15 lines of code! (It uses Zombie.js, so bit of self promoting here)
Freeze OS X app for using Amazon Glacier.
C is Manly, Python is for “n00bs”: How False Stereotypes Turn Into Technical “Truths” This applies to programming languages, database servers, even choice of text editor:
The community seems to have closed the loop on the recursive arguments “X and Y are the best languages because the smartest people use them” and “These are the smartest people because they use languages X and Y”–where “smartest” seems to have replaced “highest-status” without our noticing.
@kytrinyx Jazz hands!
Trying to explain the phrase "it's not a bug it's a feature" to a musician. Them: "Oh! It's playing it wrong and calling it jazz!"
chrisabrams/dragon Hypothesis: What if Backbone were created today, with ES 6&7, Virtual DOM, etc? I wonder how it will evolve, given that
Object.observe is deprecated, but proxies exist.
Any JS Promise can optionally be wrapped in a JS Regret which resolves to "Look, can we just pretend this never happened?" #es2017
Lines of Code
@jackdied This sums up so many of my code review comments:
"This is clever. Please don't be clever because it is hard to grep for." #codereview
@frankdejonge The only thing that doesn't change is:
Given enough time, every technical decision will turn out to be the wrong one. Code for change.
It's easier to change 5 lines of highly coupled code than 5 layers of indirection written in anticipation of the future.
@alexey_am_i The first thing you need to learn to be better at debugging:
Understanding that computers are very rarely wrong dramatically reduces the search space when something goes sideways
@philandstuff This is why, after years of building on AWS, I switched back to Heroku:
every sufficiently large ops team contains a poorly-specified, bug-ridden implementation of half of heroku
@briancavalier This applies to UI design, code, software architecture, etc:
simple + simple + simple = simple … easy + easy + easy = complex
Security bugs seek worst-case scenarios: if any combination of inputs can reach it, someone will discover and supply them
chrisdickinson This comment:
+1 for replacing. Asking for people to step up and say "I am the one getting offended by this," with a tacit, unstated "so we can talk you out of it", is not productive. If it's being broached here the person broaching it probably has a good reason in mind, and it's a sensitive topic so they may not want to share it.
This is the blind spot. We trust graphs. We trust measurements. We only think to question them when there’s a conflict too large to explain away. If there are graphs and charts showing that white guys dominate tech, well, that just means white guys are the best at tech, right? That’s what such a graph would seem to measure, and graphs can’t be wrong.
Hybrid and our civic life Why hybridity trumps diversity:
America makes Chinese-Americans. China does not make American-Chinese.
@ftp_alun Haha. But so true:
Developers should be prepared to defend against a Manager in the Middle attack.
None of the Above
"I accidentally made a cake. It's in the fridge for you to eat." Some people have much better accidents than me.
The Mac App Store is supposed to make things easier, but it’s also a single point of failure. Not only is it neglected, but sometimes even the existing functionality stops working. … In short, the system is broken on multiple levels, and there is no evidence to suggest that things will get better.
How to Write a “Political Correctness Run Amok” Article Uncovering the politics behind "PC run amok" articles:
This is Pandora’s Box #1 — whatever you do, do not open it! Because if both the protesters and the Person of Stature are seen as having free speech, then this becomes a “marketplace of ideas” issue, and your readers will then feel entitled to make up their own minds as to who is in the right and who is in the wrong. And you can’t let this happen, because you have already decided this for them!