Labnotes

Weekend Reading — Slow programming

Published on

Code comments

Design Objective

What I Learned From Building An App For Low-Income Americans A perspective you don't see much of in the tech circles:

Living on a low income translates into other forms of scarcity: of power, information, respect, opportunity, time, health, security, and even of sleep. Our job was to build a piece of technology which could increase our users’ stock of at least one of those resources.

LEGO’s letter to parents, and how not to tell a fake when you don’t see one Fascinating tour of typography forensics.


Tools of the Trade

transfer.sh Easy file sharing from the command line. Free, encrypted storage for 14 days, or roll your own, it's open source.

Quiver A programmer's notebook: lets you mix text, code, Markdown and LaTex. Looks like a powerful tools that does everything you need: tagging, full-text search, presentation mode, cloud sync, version control, storing your data as JSON files.

git-extras A collection of Git command line extras: feature branches, contributor summary, changelog creation, fork, release, undo and much more.

MacGap Like PhoneGap but for using HTML/JS/CSS to build native OS X apps.

What is the Web? TL;DR it's complicated

Viewing the Web as being browser-centric is either a power grab of monstrous proportions or merely recognising the reality of the Web since its very beginning. Either way, the nature of consensus is changing.

The Doom that Came to Puppet Posts generated by a Markov chain trained on the Puppet documentation and the assorted works of H. P. Lovecraft:

Puppet Enterprise does not rely on the judgment and standing of the few windowless, round-topped towers in the haunting city.

@andrewfnewman:

Grace Hopper would sort out the issues with Angular 2.0


Lingua Scripta

io.js - what you need to know Summary of what io.js is, in relation to Node.js. That whole "totally compatible" thing is a non-starter, given than io.js "will be taking new v8 releases as fast as possible", while Node.js has a practice of lagging behind. Let's just accept the reality that is Python 2.7 and 3.

Before the Drama However, if you're worried about the future Node/io, I'm not, and neither is Eran:

It might be called something else in the future, and there is probably going to be more than one server-side JavaScript platform (which is a good thing), but the foundation of running node-style code to build powerful server solutions is not going away.

Getting Started with JavaScript for Automation on Yosemite Starting with OS X 10.10 you can write automating scripts and workflows using JavaScript. You can even write command line scripts that run with osacript. And using Objective-C bridge, you can write full-fledged OS X applications. Check the JavaScript for Automation talk from WWDC 2014 for more info.

Duktape Embeddable JavaScript engine for C/C++ projects.

@benontherun:

The ultimate popularity proof of #JavaScript


Lines of Code

Seven Ineffective Coding Habits of Many Programmers Set aside an hour to watch this talk, I guarantee you'll pick up a few new ideas. In fact, I'm going to go watch it a second time.

24 Pull Requests Get involved in open source and give back to the community.

The Case for Slow Programming I'm a fan of Slow Programming, so enjoyed reading this piece. Might have something to do with age and learning to make haste slowly. Also, this:

Software sucks because of navel-gazing. Fast programmers build hacky tools to get around the hacky tools that they built to get around the hacky tools that they built to help them code.

@markbates:

A lot of programming is knowing when to walk away from the keyboard and do pretty much anything else while you work on a problem’s solution.

Thinking before programming The lost art of thinking a bit before hitting the keycaps.

@hhariri:

New plugin I’ve been working on…Still in prototype stages...

@chronum:

Multithreaded programming - theory and practice.


Locked Doors

iPhone’s new kill switch cuts thefts dramatically:

Thieves in San Francisco are reportedly passing up on the iPhone now that users have a kill switch, leading to a 38% decline in iPhone robberies.

The No CAPTCHA problem Breaks down how Google's No CAPTCHA actually works, and why it might not make much of a difference:

So what Google is trying to sell us as a comprehensive bot detecting algorithm is simply a whitelist based on your previous online behavior, CAPTCHAs you solved. Essentially - your cookies. … The legacy flow is still available and old OCR bots can keep recognizing.

The Four Laws of Privacy This is an excellent framework for reasoning about privacy, and the right balance between the needs of all parties involved. I wish we could build privacy laws on this foundation:

  1. Always opt-in (you cannot force the sharing of data)
  2. When you opt-in, the communication is two-ways where both parties have equal right to remember.
  3. You can only use, analyze, or store data within the sphere of your service. Similarly, you can only ask for or retrieve data pertinent to what you have to offer.
  4. No data may be shared in usable form with third parties.

None of the Above

Pyro Day 1 of becoming a superhero: get this thingy that shoots flames from your wrists.

You can’t detox your body. It’s a myth. So how do you get healthy? In case you were considering one of those "detox treatments":

Detoxing foot pads turn brown overnight with what manufacturers claim is toxic sludge drawn from your body. This sludge is nothing of the sort – a substance in the pads turns brown when it mixes with water from your sweat.

Is The Food Babe A Fearmonger? What happens when we can't trust federal agencies to reign in on the processed food industry? The charlatans make a killing with pseudoscience.

Uber.gov The perfect blend of tongue-in-cheek writing and complete government inaptitude.

Yule Log 2.014 Yule log, reimagined by illustrators, animators, directors, and creative coders.

@peeterskris:

These sets all have the same mean, median and variance. Lesson: Always Visualise. #StrataHadoop @statistiekcbs