Labnotes

Weekend Reading — Resistence is futile

Published on

How to download and print NASA’s 14 brilliant travel posters at home

This week we remove the center line; we find a way to blame others; we struggle to name things; we pick on locking algorithms; we kill some dependencies; the Fitbit pregnancy test; we hack a toilet; the myth of meritocracy; and resistence is futile.


Design Objective

White centre lines are being removed from roads in the UK—for safety No idea why it works, but it does:

The TfL white paper found that drivers tend to slow their driving by up to 4mph on roads with no center lines.

...

The white paper’s authors admitted that they did not know for sure the exact cause of the slowing traffic, but they suggested that "center lines and hatching can provide a psychological sense of confidence to drivers that no vehicles will encroach on ‘their’ side of the road.”

@redheadjessica

"Our interface is cluttered and confusing.. Let’s turn labeled buttons into icons for extra confusion!"


Tools of the Trade

jayphelps/git-blame-someone-else "Blame someone else for your bad code." Haha. Totally want to use this next:

.bzvol is missing TL;DR Adobe Creative Cloud will delete the first hidden folder at the root of your drive. What a creative feature!

htop htop goes 2.0 and is now cross-platform with native support for OS X.

Yes, you can rely on Amazon’s new game engine during the zombie apocalypse TIL Amazon's new game engine is not a safety-critical system, but may still be used in the event of a Zombie apocalypse:

However, this restriction will not apply in the event of the occurrence (certified by the United States Centers for Disease Control or successor body) of a widespread viral infection transmitted via bites or contact with bodily fluids that causes human corpses to reanimate and seek to consume living human flesh, blood, brain or nerve tissue and is likely to result in the fall of organized civilization.

@tmcw So true:

years after our deaths strangers will find our open github issues and casually ask any progress here


Lingua Scripta

Developing inside a node_modules folder If you ever need to develop/test/fix a Node module as it's being used by another project.

Squeeze the juice out of Node An exploration of how Node.js handles HTTP connections.

A New Day for Express! TL;DR StrongLoop promises to stop being a dick, hands Express over to the Node.js Foundation.


Lines of Code

@ayende Maybe naming variables "i" and "j", not such a good idea after all:

These types of bugs are really freaking hard to figure out

@drmabuese #lesscode

The good programmer's most important skill: avoid programming. Massage the problem until there's not much left to do. Keep code base small.

@archiloque "When coding, naming things is a hard problem"

@assaf "Code comments"


All at Once

The Deadlock Empire An interactive game that will teach you about the trappings of concurrency: race conditions, deadlocks, and other evils. Also, how to use critical sections, locks, semaphors and friends.

Redlock discussion A rebuttal to the rebuttal to an article picking on Redlock, a naive implementation of distributed locks for Redis. You may pick a few things about distributed systems and clocks from this thread.


Architectural

How to build stable systems "An incomplete opinionated guide". My favorite opinion:

Optimize for sleep. The system must avoid waking people up in the middle of the night at all costs. Operations as well as developers.

Kill Your Dependencies Though written for Ruby, it's relevant to :

Some software engineering rules:

  • No code runs faster than no code.
  • No code has fewer bugs than no code.
  • No code uses less memory than no code.
  • No code is easier to understand than no code.

@jaz303 Apropos:

You are in dependency hell

> north

You can't go that way. Exits: north-v0.9, north-v1.0

> north-v0.9

CONFLICT: north-v0.9 requires feet-v1.2

JavaScript fatigue fatigue We call it "bleeding edge" for a reason. Newer technologies are never mature, you'll spend a lot more time with little progress -- working hard with nothing to show for leads to burn-out -- "JavaScript fatigue" is a choice, and you can easily avoid it:

  • Wait for the critical mass. You can often afford to get started by reading the opinions of people you trust and wait it out until new ideas prove themselves.
  • Stick to things you understand: don’t use more than 1–2 new technologies per project.
  • Do exploratory toy projects: I like creating small projects that explore technologies or aspects of technologies.

@coreyhaines Absolutely:

I like to say that a big part of a startup CTO’s job is to keep software from being built.


Techtopia

How this company tracked 16,000 Iowa caucus-goers via their phones What you buy, where you live, and who you're likely to vote for:

So on the night of the Iowa caucus, Dstillery flagged all the auctions that took place on phones in latitudes and longitudes near caucus locations. It wound up spotting 16,000 devices on caucus night ... It captured those mobile ID’s and then looked up the characteristics associated with those IDs in order to make observations about the kind of people that went to Republican caucus locations (young parents) versus Democrat caucus locations. It drilled down farther (e.g., ‘people who like NASCAR voted for Trump and Clinton’) by looking at which candidate won at a particular caucus location.

Man Finds Out Wife Is Pregnant Via Reddit's Analysis of Her FitBit Data Speaking of things you can do with data online:

reek/anti-adblock-killer Ads -> ad blockers -> anti ad-blockers -> anti ad-blocker killer.

@lukeman Hopefully not down the toilet:

POÄNG is a Swedish word that loosely describes the sound of an iPhone falling out of your pocket every time you sit down.


Locked Doors

Hackers take control of a TOILET using bog-standard computer skills The Internet of Shit is upon us. I'm not laughing. Ok, maybe a little.

This meant they could take control of the toilet, allowing them to flush it at an awkward moment or even surprise people by unexpectedly aiming a jet of water at their nether regions.

@Duncrow

/S/imple

/M/alware

/T/ransfer

/P/rotocol


Culturally Speaking

The One Video Every Silicon Valley Investor Should Watch The money quote:

“We really don’t need the charity of anybody in this country. This country needs the insights of our cultures to make money, to be successful.”

Gender bias in open source: Pull request acceptance of women versus men If you've been paying attention, there's nothing surprising about this:

Surprisingly, our results show that women's contributions tend to be accepted more often than men's. However, when a woman's gender is identifiable, they are rejected more often. Our results suggest that although women on GitHub may be more competent overall, bias against them exists nonetheless.

Against “Don’t Read the Comments” We were right, but now we're wrong:

We’ve made a habit out of telling people not to read the comments online. But what started as a cynical in-joke has become a bad habit, and an excuse for enabling abuse across the web.


None of the Above

@grahamfarmelo This sums up the state of education in the US:

"Those who can teach, teach. Those who can't teach.... "

Gravitational Waves Detected, Confirming Einstein’s Theory Major news for science geeks, that have been looking forward to this day for 100 years now. This video explains what gravitational waves are, and why it took 1.2 billion and 99 years to detect them.

OK Go - Upside Down & Inside Out Making its own waves, OK Go's latest video, shot in zero G.

ShprAlex/SproutLife Sprout Life adds reproduction, mutation, and evolution to Conway’s Game of Life:

Organisms collide with each other and disrupt each other's ability to produce seeds. The pressures of producing seeds and competing with other organisms can lead them to evolve to an unlimited complexity. As it turns out, managing collisions with both friends and foes has a greater impact on an organism's success than simply being faster to create offspring.

@skepchicks "Resistance is futile."