Weekend Reading — Mr. Robot
skip this ad from the hilarious marketoonist
This week we've got a fantastic presentation about Web Design, the first 100 years, or so; a Verge clickbait article backfires; we turn you into a C++ rockstar programmer in just 2 minutes; we debate clear vs clever and find out where code smell comes from; we explore the relationship between programming languages and diversity; we hack a jeep into a ditch; we watch the incredible Mr. Robot; and we find out why SF has no good bagels.
Web Design: The First 100 Years Wow. Fantastic presentation about airplanes, Moore's law, software design, and an answer to the vexing question "What is the web actually for?"
The web we have right now is beautiful. It shatters the tyranny of distance. It opens the libraries of the world to you. It gives you a way to bear witness to people half a world away, in your own words. It is full of cats. We built it by accident, yet already we're taking it for granted. We should fight to keep it!
Facebook’s Four Business Design Principles for Crafting Elegant Tools In short:
- Help people learn and grow. Teach people to make the best choices, increasing their confidence and success.
- Balance efficiency and effectiveness. Improve how people work so they achieve their objectives with the least amount of effort.
- Bring clarity to complexity. Create intuitive ways for people to tackle complicated topics and workflows.
- Be accurate and predictable. Provide reliable controls and relevant feedback that build trust in our products.
The mobile web sucks "But man, the web browsers on phones are terrible", says the Verge article that, on a MacBook with fast WiFi, loads in 12 seconds, pulling in 3.3 MB from 345 HTTP requests. You were saying?
Stop Gratuitous UI Animation Please.
The current state of motion design can be compared to the Drop Shadow Era of visual design.
Redesigning the Apple Watch UI I hope Apple is reading this and paying attention.
Google+: A case study on App Download Interstitials Maybe this will finally tamper some of the growth hacking hostilities we experience on the web:
- 9% of the visits to our interstitial page resulted in the ‘Get App’ button being pressed. (Note that some percentage of these users already have the app installed or may never follow through with the app store download.)
- 69% of the visits abandoned our page. These users neither went to the app store nor continued to our mobile website.
Tools of the Trade
GIT tip : Keep your branch clean with fixup and autosquash
git commit --fixup is pretty sweet, I just need to remember to use it.
mojibar Emoji search from the menubar.
BeardedSpice Cool little app for using the Mac media keys to control web-based players (Spotify, Pandora, YouTube, etc).
rockstar Makes you a C++ rockstar in 2 minutes by creating a fake repo with pretend 300 days of code commits. Or be a rockstar Swift programmer with 5 years of experience.
What do ES6 modules export? TL;DR while CommonJS modules export values, ES6 modules export bindings, subtle but important difference.
Essential Steps: Long Term Support for Node.js
Once we have a new Node.js from the converged work and the streams have been crossed, the current plan is targeting October for the first LTS release, making October the LTS release month every year.
Mind Looks like a fun way to experiment with and learn how neural networks work (code looks very approachable).
Lines of Code
By my definition, clear code lets its concepts shine through the syntax, such that a reader can, without undue effort, learn the concepts of the code, and thus recreate code from scratch with those concepts — not just copy-n-paste.
You may notice something about most of these tricks — yes I’ve actually seen all of these in real, authored code — they all save characters, and as such many of them are actually used by minifiers like Uglify, etc.
When and Why Your Code Starts to Smell Bad PDF. Also, an actual research paper. With sample size and methodology and reference and other good things. One of the conclusions:
Newcomers are not necessary responsible for introducing bad smalls, while developers with high workloads and release pressure are more prone to introducing smell instances.
Feature Toggles are one of the worst kinds of Technical Debt
Feature toggles start off simple and easy. They provide you with new options to get changes out faster, and can help reduce the risk of deployment in the short term. But the costs and risks of relying on them too much can add up, especially over the longer term.
The 'false peak' of software development: you get the obvious pieces finished and your todo list explodes with all the little broken things
The Life Cycle of Programming Languages I never thought about it that way: chasing the next shiny language is also a way of escaping legacy technologies. Sure, legacy includes dated design decisions and mounting technical debt, but legacy also means a diverse community of people with different skills and experiences.
New programming language communities are “graded” in the public eye based on how cutting-edge they are: our pattern-matching capabilities associate white men with the cutting edge, especially if they’re talking about monads.
“Where’s My Cut?”: On Unpaid Emotional Labor TL;DR "if they want it so fucking much, they can buy it."
Why does Microsoft not have free food like Google and Facebook?
When I was at Microsoft, I lost weight. When I was at Google, I gained 15 pounds. I liked my work just the same. I suppose this means a thin capitalist and a fat socialist live within me.
Just once I want to receive an email with the subject "Super long and complicated question" to balance out all the "Quick questions"
Hackers Remotely Kill a Jeep on the Highway—With Me in It TL;DR someone designed a car that lets you kill the breaks over the Internet!
Miller and Valasek’s full arsenal includes functions that at lower speeds fully kill the engine, abruptly engage the brakes, or disable them altogether. The most disturbing maneuver came when they cut the Jeep’s brakes, leaving me frantically pumping the pedal as the 2-ton SUV slid uncontrollably into a ditch.
Your affairs were never discreet – Ashley Madison always disclosed customer identities A simple design mistake leaks whether someone has an account, based on their email address. So remember:
If you want a presence on sites that you don’t want anyone else knowing about, use an email alias not traceable back to yourself or an entirely different account altogether.
@jessysaurusrex And also don't forget:
Protip: If you’re deleting an account, replace your personal information with dummy info and then go through account deletion steps.
Bug in widely used OpenSSH opens servers to password cracking Just a reminder that SSH is for private/public keys, not passwords.
How the Secretive Market for Zero-Day Exploits Works A bit more about how the exploits market operates, another episode in the Hacking Team Annals.
Mr. Robot What if someone made a TV show that was rooted in hacker culture? What if said show has no cyber bullshit plot devices? What if it tackled drug use as self-therapy? So, yes. Go watch Mr. Robot.
Does anyone know if after you buy a Mac do you have to do all your work in a coffee shop or is that optional.
Spot the unsubscribe! When email marketing met Where’s Waldo?
When I explained Twitter to my Mom she said, "Sounds like group therapy where no one's getting better." Well played, Mom. Well played.
None of the Above
Don't feel like making choices today? Easy. Setup your vacation responder like this:
Why Is It So Hard to Get a Great Bagel in California? The NYT goes full smug on Californian bagels, but also captures the essense of San Francisco tech rush:
But the glory didn’t last. Before Schmendricks opened a storefront, its bagel disappeared. "We were never going to grow the way a top-tier tech company is going to grow," Scholnick told me, stating the obvious. Besides, after months of hand-rolling, Schmendricks’ primary baker discovered she had a gluten intolerance.
@BoredElonMusk I need this!
Shazam for telling you what that noise is in the middle of the night.
In Iraq, I raided insurgents. In Virginia, the police raided me. We need to stop the war on us:
I understood the risks of war when I enlisted as an infantryman. Police officers should understand the risks in their jobs when they enroll in the academy, as well. That means knowing that personal safety can’t always come first. That is why it’s service. That’s why it’s sacrifice.
OH: Occam's Taser: the most painful explanation is usually the correct one.
Silicon Valley’s Political End Game (In 15 Charts) Interesting.
Why Some People Respond to Stress by Falling Asleep One of the many ways in which people respond to stress, and a reminder, to stop judging people by how they respond to emotional situations.
Up in the Air: Meet the Man Who Flies Around the World for Free Pretty incredible. Flying around the world, non-stop, on the airline's dime.
I entered my cards, all six were clean. Guess I didn't need that ID protection after all.