Netflix and the Conservation of Attractive Profits (Stratechery) — Note the common element to all three of these companies: all have managed to modularize the production/delivery of their service which has allowed them to move closer to the customer. To put it another way, all of this new value is being created by specialized CRM companies: Airbnb for travelers, Uber for commuters, and Netflix for the bored.
Go as Open Source — keynote from this year’s Gophercon. I’ve been pondering lately how successful open source projects go beyond “anyone can scratch their itch,” and instead actively manage the tendency for scope creep. We’d rather have a small number of features that enable, say, 90% of the target use cases, and avoid the orders of magnitude more features necessary to reach 99% or 100%.
The Universal Data Structure — Given the abysmal state of of today’s software engineering, I believe that a full embrace of the universal hash will result in better, simpler programs. Your weekly dose of snark.
GM: That Car You Bought, We’re Really the Ones Who Own It — GM’s claim is all about copyright and software code, and it’s the same claim John Deere is making about their tractors. The TL;DR version of the argument goes something like this: cars work because software tells all the parts how to operate; the software that tells all the parts to operate is customized code; that code is subject to copyright; GM owns the copyright on that code and that software; a modern car cannot run without that software; it is integral to all systems; therefore, the purchase or use of that car is a licensing agreement; and since it is subject to a licensing agreement, GM is the owner and can allow/disallow certain uses or access. In the future, manufacturers own the secondary market.
Architectural Robots (Robohub) — The concept is named ‘Minibuilders.’ This is a group of robots each performing a specific task. The first robot layers a 15 cm (6 in) footprint or foundation, while a second and a third robot print the rest of the building by climbing over the structures they already printed and laying more material over them. This design is only possible at construction scale where printed layers are solid enough to support a robotic print head.
gigo — Fetching packages in golang can be difficult, especially when juggling multiple packages and private repositories. GIGO (Gigo Installer for Go) tries to solve that problem, effectively being the golang equivalent of Python’s pip.
On Font Design (Kris Sowersby) — The many pairs of hands and eyes involved have made this typeface special for me. For the first time I don’t feel I have ownership of a typeface I have ostensibly “created.” Lovely to read about the design journey for a font.
Why We Use Go — We use Go because it’s boring. Previously, we worked almost exclusively with Python, and after a certain point, it becomes a nightmare. You can bend Python to your will. You can hack it, you can monkey patch it, and you can write remarkably expressive, terse code. It’s also remarkably difficult to maintain and slow.
Unfortunately We Have Renewed Our ICANN Accreditation — You can thank ICANN for this policy, because if it were up to us, and you tasked us with coming up with the most idiotic, damaging, phish-friendly, disaster-prone policy that accomplishes less than nothing and is utterly pointless, I question whether we would have been able to pull it off at this level. We’re simply out of our league here.
Shadow Robot’s Dextrous Hand (Robohub) — The now infamous crab bisque recipe was prepared copying the exact movements of 2011 BBC MasterChef winner Tim Anderson. The robot switches on a hob, scrapes butter into the pan and adds prepared and measured ingredients – from a specific place on the worktop. But, it doesn’t do the chopping… That, says Rich, is an AI problem.
Go By Example — a chance to replicate the experience of learning Perl or PHP, whereby you know nothing but copy and adapt other people’s code until it works and you’ve empirically acquired an intuition for what will trigger the compiler’s deathray and eventually someone points you to the docs that were opaque and suddenly a lightbulb goes off in your head and you shout “omigod I finally get it!” and the Real Engineer beside you rolls their eyes and gets back to genericising their containers for consensus or whatever it is that Real Engineers do now.
Chinese Shopping for Robotic Ventures — Amazon has drones, Facebook has VR, Google and China are fighting it out for Robots. Meanwhile, Apple is curled up in a mountain filled with gold, their paws twitching and stroking their watches as they dream of battles to come.
Robot Arm Brings Humanity Back to the Stone Age (IEEE) — Using robots to build a massive database of scrape/wear patterns for different stone-age tools. Currently, Iovita is experiencing some opposition from within his own profession. Some believe that manual experiments are closer to the past reality; others find that use-wear analysis in general does not advance archaeological theory. Iovita thinks this is mainly due to the fact that most archaeologists have a humanities background and are not familiar with the world of engineers. OH SNAP.
On Code Review (Glen D Sanford) — Pending code reviews represent blocked threads of execution.
Four Days of Go (Evan Miller) — Reading Go’s mailing list and documentation, I get a similar sense of refusal-to-engage — the authors are communicative, to be sure, but in a didactic way. They seem tired of hearing people’s ideas, as if they’ve already thought of everything, and the relative success of Go at Google and elsewhere has only led them to turn the volume knob down. Which is a shame, because they’ll probably miss out on some good ideas (including my highly compelling, backwards-incompatible, double-triple-colon-assignment proposal mentioned above). Under this theory, more of the language choices start to make sense. There is no ternary operator because the language designers were tired of dealing with other people’s use of ternary operators. There is One True Way To Format Code — embodied in gofmt — because the designers were tired of how other people formatted their code. Rather than debate or engage, it was easier to make a new language and shove the new rules onto everyone by coupling it with Very Fast Build Times, a kind of veto-proof Defense Spending Bill in the Congress of computer programming. In this telling, the story of Go is really a tale of revenge, not just against slow builds, but against all kinds of sloppy programming.
Tempescope — Ambient weather display for your home. In my home, that’s a window. (via Matt Webb)
3rd Person Driving (IEEE) — A Taiwan company called SPTek has figured out a way to use an array of cameras to generate a 3-D “Around View Monitor” that can show you multiple different views of the outside of your car. Use a top-down view for tight parking spaces, a front view looking backward for highway lane changes, or a see-through rear view for pulling out into traffic. It’s not a video game; it’s the next step in safety.
Cross-Platform Debugger for Go — take the source code of a target program, insert debugging code between every line, then compile and run that instead. The result is a fully-functional debugger that is extremely portable. In fact, thanks to gopherjs, you can run it right here in your browser!
The Crazy-Tiny Next Generation of Computers — 1 cubic millimeter-sized sensors are coming. The only sound you might hear is a prolonged groan. That’s because these computers are just one cubic millimeter in size, and once they hit the floor, they’re gone. “We just lose them,” Dutta says. “It’s worse than jewelry.”
The New Science of Building Great Teams (Sandy Pentland) — fascinating discussion of MIT’s Human Dynamics lab’s research into how great teams function. The data also reveal, at a higher level, that successful teams share several defining characteristics: 1. Everyone on the team talks and listens in roughly equal measure, keeping contributions short and sweet. 2. Members face one another, and their conversations and gestures are energetic. 3. Members connect directly with one another—not just with the team leader. 4. Members carry on back-channel or side conversations within the team. 5. Members periodically break, go exploring outside the team, and bring information back.
The Trolley and the Psychopath — Not only does a “utilitarian” response (“just kill the fat guy”) not actually reflect a utilitarian outlook, it may actually be driven by broad antisocial tendencies, such as lowered empathy and a reduced aversion to causing someone harm. Questionably expanding scope of claims in the behavioural philosophy research. (via Ed Yong)
Exploit Exercises — a variety of virtual machines, documentation, and challenges that can be used to learn about a variety of computer security issues, such as privilege escalation, vulnerability analysis, exploit development, debugging, reverse engineering, and general cyber security issues.
Microservices in Go — tale of rewriting a Ruby monolith as Go microservices. Interesting, though being delivered at Gophercon India suggests the ending is probably not unhappy.
Watch & Wear (John Cross Neumann) — Android watch as predictor of the value and experience of an Apple Watch. I believe this is the true sweet spot for meaningful wearable experiences. Information that matters to you in the moment, but requires no intervention. Wear actually does this extremely well through Google Now. Traffic, Time to Home, Reminders, Friend’s Birthdays, and Travel Information all work beautifully. […] After some real experience with Wear, I think what is more important is to consider what Apple Watch is missing: Google Services. Google Services are a big component of what can make wearing a tiny screen on your wrist meaningful and personal. I wouldn’t be surprised after the initial wave of apps through the app store if Google Now ends up being the killer app for Apple Watch.
Solving 11 Likely Problems In Your Multithreaded Code (Joe Duffy) — a good breakdown of concurrency problems, including lower-level ones than high-level languages expose. But beware. If you try this [accessing variables with synchronisation] on a misaligned memory location, or a location that isn’t naturally sized, you can encounter a read or write tearing. Tearing occurs because reading or writing such locations actually involves multiple physical memory operations. Concurrent updates can happen in between these, potentially causing the resultant value to be some blend of the before and after values.
Obama Sharply Criticizes China’s Plans for New Technology Rules (Reuters) — In an interview with Reuters, Obama said he was concerned about Beijing’s plans for a far-reaching counterterrorism law that would require technology firms to hand over encryption keys, the passcodes that help protect data, and install security “backdoors” in their systems to give Chinese authorities surveillance access. Goose sauce is NOT gander sauce! NOT! Mmm, delicious spook sauce.
The Internet of Things That Do What You Tell Them: Cory Doctorow passionately explains how computers are already entwined in our lives, which means laws that support lock-in are much more than inconveniences.