Labnotes

Published

Weekend Reading — Why are we doing this?

* How we designed Foursquare Swarm 5.0 * Why I Still Use Vim * A Brief History of Women in Computing * Charging Rhinos, and more …

Fluff Society "Dog: This is NOT funny"


Design Objective

How we designed Foursquare Swarm 5.0 Designs needs to be implemented:

Get engineers involved at the beginning. … Sometimes a tiny design decision can have a large technical impact. It’s on me to continue to get engineers involved earlier to figure it out.

Coherent, Not Consistent TL;DR

Coherence means making sure every part of your product feels like it belongs there, instead of trying to make them exactly the same.

Stopwords in the user interface Words that usually signal problems with the user interface, like "click here", "operation", "success!"


Tools of the Trade

Why I Still Use Vim As a Vim user, I had no idea Atom is such a resource hog!

Opening a 6 megabyte XML file in Vim consumes around 12 megabytes. Nano is pretty much neck-and-neck with Vim. Code needs 392 megabytes, and Atom needs a whopping 845 megabytes.

JPNG.svg JPEG compresses better than PNG, but doesn't have alpha transparency. This tool gets around it, by converting your PNG into an SVG-wrapped JPEG (see Using SVG to Shrink Your PNGs).

Surfacing Hidden Change to Pull Requests That's smart! From looking at the code, you can't always tell the side effects of a Pull Request, so why not have CI explain it to you:

In every CI build, we calculate interesting pieces of data like the binary size and method count (an important metric for Android apps) and write them to shared storage. When a CI build runs for a pull request, we figure out the difference of these values from the ancestor commit on master. The numbers are sent back to the pull request in the form of a comment to ensure the author and any reviewers are notified.

Linux Load Averages: Solving the Mystery Digs through the archive to find the original commit that changed how Linux calculates load averages, and explains how to interpret these numbers.

Kitze "Start."


Lingua Scripta

Node v8.3.0 (Current) "The V8 engine has been upgraded to version 6.0, which has a significantly changed performance profile."

Passing data between Promise callbacks For when you can't use async/await.

Anonymous Recursion in JavaScript Getting clever with function composition. Can you decipher this?

(
  (
    (f) => f(f)
  )
  (
    (f) =>
      (l) => {
        console.log(l)
        if (l.length) f(f)(l.slice(1))
        console.log(l)
      }
  )
)
(
  [1, 2, 3]
)

Lines of Code

What my bathroom window taught me about code quality Pragmatic always wins:

Usually, bad code is expensive. Bad code is hard to understand. Bad code is hard to debug. Bad code is hard to extend. Because of all of these reasons, bad code also decreases the value that can be delivered in the future.

But sometimes, just sometimes, you know you are writing code that will never again be read, and will never be modified. You know it will be used, maybe just once or twice, and then it will be thrown away. That is when bad code is cheap.


Architectural

Corey Quinn It gets easier with experience:

“We sell sweaters, why are we building a bespoke container orchestration system?” is sometimes the hard question to ask.

In response to Matt Olson:

What makes a sr dev to me is someone who says "that sounds hard, why are we doing it?" instead of "that sounds hard, I better get started!"

Subbu Allamaraju I think so too:

Serverless patterns are pulling the rug from underneath container cluster managers faster than the latter becoming industrial grade


Devoops

Josh Aas Every warning label has a story:

Internet people - do not email your private key to @LetsEncrypt. We never want it. Like, ever.

nixCraft 🚨

Three things are certain:

Death, taxes, and lost data.

Guess which has occurred.


Peopleware

A Brief History of Women in Computing TL;DR first they invented programming, and now people are debating whether women belong in the industry they helped create.

How the Imagined “Rationality” of Engineering Is Hurting Diversity — and Engineering For context, in case you missed the Google memo kerfuffle.

So, about this Googler’s manifesto 💯

Essentially, engineering is all about cooperation, collaboration, and empathy for both your colleagues and your customers. If someone told you that engineering was a field where you could get away with not dealing with people or feelings, then I’m very sorry to tell you that you have been lied to. Solitary work is something that only happens at the most junior levels, and even then it’s only possible because someone senior to you — most likely your manager — has been putting in long hours to build up the social structures in your group that let you focus on code.

Dr. NerdLove The Google memo doesn't affect all people equally, to some it's just a point they can afford to debate:

But hey. It’s easy to pretend everything is neutral when it doesn’t touch you AND you strip away all context and history AND consequence.

Phil 🍕 "Anyone who ever schedules meetings with developers, please burn this image into your brain, thanks"


Techtopia

How Silicon Valley rediscovered LSD Jury still out, whether LSD is better than SaaS:

Paul, a start-up founder in New York, says he and his employees are less stressed since they started microdosing. But he couldn’t be absolutely sure about the cause and effect: he thinks it may have also been the project-management app Asana, which they started using at the same time, to keep organised.

x0rz "1960's vs. now"


Locked Doors

Biohackers Encoded Malware In A Strand Of DNA How's that for cyberpunk?

a group of researchers from the University of Washington has shown for the first time that it’s possible to encode malicious software into physical strands of DNA, so that when a gene sequencer analyzes it the resulting data becomes a program that corrupts gene-sequencing software and takes control of the underlying computer.

CryptoAUSTRALIA "When you pick the wrong anti-malware product"

Shawn Wildermuth "Grocery Store SQL injection attack"


None of the Above

Ste.A "Just a rhino charging at traffic, while an Indian couple commentate with Hank Marvin on the radio. That's all."

And God Created Millennial Earth Genesi$ 1:

And there was evening, and there was morning. And God was like, for heaven’s sake! This place is cray, I’m OUTTTT! ✌🌎 And he requested an Uber, and it was so.

Computers vs Humans 🤔

Böb Speed King Jänke 🐴

A horse walks into a bar and the bartender says why the long face and he says it's so when I'm eating prairie grasses I can see predators

Laura J. Nelson "A summer Friday in California: The transit agencies for Los Angeles and San Francisco are having a limerick battle about weed."

Maybe We’ve Been Thinking About the Productivity Slump All Wrong Does low productivity cause slow growth, or does slow growth cause low productivity?

Fluff Society "Foxes are just cat software running on dog hardware."

🔥 Looking for more? Subscribe to Weekend Reading.

Or grab the RSS feed