- The 11 Deadly Sins of Product Development (O’Reilly Radar) — they’re traps that are easy to fall into.
- It’s the Future — satire, but like all good satire it’s built on a rich vein of truth. Genuine guffaw funny, but Caution: Contains Rude Words.
- Difficulty of Dong Detection — accessible piece about how automated “inappropriate” detection remains elusive. (via Mind Hacks)
- Evolution of Code Design at Facebook — you may not have Facebook-scale scale problems, but if you’re having scale problems then Facebook’s evolution (not just their solutions) will interest you.
Four short links: 10 June 2015
Product Sins, Container Satire, Dong Detection, and Evolving Code Designs
Four short links: 8 June 2015
Software Psychology, Virus ID, Mobile Ads, and Complex Coupling
- Psychology of Software Architecture — a wonderful piece of writing, but this stood out: It comes down to behavioral economics and game theory. The license we choose modifies the economics of those who use our work.
- Single Blood Test to ID Every Virus You’ve Ever Had — As Elledge notes, “in this paper alone we identified more antibody/peptide interactions to viral proteins than had been identified in the previous history of all viral exploration.”
- Internet Users Increasingly Blocking Ads, Including on Mobiles (The Economist) — mobile networks working on ad blockers for their customers, If lots of mobile subscribers did switch it on, it would give European carriers what they have long sought: some way of charging giant American online firms for the strain those firms put on their mobile networks. Google and Facebook, say, might have to pay the likes of Deutsche Telekom and Telefónica to get on to their whitelists.
- Connasence (Wikipedia) — a taxonomy of (systems) coupling. Two components are connascent if a change in one would require the other to be modified in order to maintain the overall correctness of the system. (Via Ben Gracewood.)
Four short links: 23 April 2015
Medical Robots, Code Review, Go Lang, and Ambient Weather
- Future of Working: Real World Robotics, Medical & Health Robotics (YouTube) — interesting talk by Kiwi Foo alum, Jonathan Roberts, given to a Future of Working event. New class of tools, where the human uses them but they won’t let the human do the wrong thing. (via RoboHub)
- 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)
Four short links: 13 April 2015
Occupation Changes, Country Data, Cultural Analytics, and Dysfunctional Software Engineering Organisations
- The Great Reversal in the Demand for Skill and Cognitive Tasks (PDF) — The only difference with more conventional models of skill-biased technological change is our modelling of the fruits of cognitive employment as creating a stock instead of a pure flow. This slight change causes technological change to generate a boom and bust cycle, as is common in most investment models. We also incorporated into this model a standard selection process whereby individuals sort into occupations based on their comparative advantage. The selection process is the key mechanism that explains why a reduction in the demand for cognitive tasks, which are predominantly filled by higher educated workers, can result in a loss of employment concentrated among lower educated workers. While we do not claim that our model is the only structure that can explain the observations we present, we believe it gives a very simple and intuitive explanation to the changes pre- and post-2000.
- provinces — state and province lists for (some) countries.
- Cultural Analytics — the use of computational and visualization methods for the analysis of massive cultural data sets and flows. Interesting visualisations as well as automated understandings.
- The Code is Just the Symptom — The engineering culture was a three-layer cake of dysfunction, where everyone down the chain had to execute what they knew to be an impossible task, at impossible speeds, perfectly. It was like the games of Simon Says and Telephone combined to bad effect. Most engineers will have flashbacks at these descriptions. Trigger warning: candid descriptions of real immature software organisations.
A bigger and different way of looking at the IoT
Tim O’Reilly’s Solid Conference keynote highlights the capabilities that will let us shape the physical world.
O’Reilly’s keynote address at the Solid Conference in 2014 explored the human-IoT link. The talk expanded the scope of the IoT, making it clear this isn’t just about individual devices and software — we’re creating “networks of intelligence” that will shape how people work and live.
The talk has become an essential resource for us as we’ve investigated the blurring of the physical and virtual worlds. That’s why we decided to put together a text-friendly version of the presentation that’s easy to scan and reference. And since we think it’s so useful, we’ve made the text version publicly available.
You can download your free copy of “Software Above the Level of a Single Device: The Implications” here. Read more…
Four short links: 26 December 2014
Science Software, Better Bitmaps, Pushy Internet, and Graphical Perception
- How Bad Software Leads to Bad Science — 21% of scientists who write software have never received training in software development.
- Roaring Bitmaps — compressed bitmaps which tend to outperform conventional compressed bitmaps such as WAH, EWAH or Concise. In some instances, they can be hundreds of times faster and they often offer significantly better compression.
- Two Eras of the Internet: From Pull to Push (Chris Dixon) — in which the consumer becomes the infinite sink for an unending and constant stream of updates, media, and social mobile local offers to swipe right on brands near you.
- Graphical Perception: Theory, Experimentation, and Application to the Development of Graphical Methods (PDF) — research on how well people decode visual cues. In order: Position along a common scale e.g. scatter plot; Position on identical but nonaligned scales e.g. multiple scatter plots; Length e.g. bar chart; Angle & Slope (tie) e.g. pie chart; Area e.g. bubbles; Volume, density, and color saturation (tie) e.g. heatmap; Color hue e.g. newsmap. (via Flowing Data)
Driving demand for full-stack developers
A closer look at the forces causing demand
Buzzwords in the software industry arise and then die off with startling frequency. Ambiguous terms such as “growth hacker”, “sales engineer” and “rockstar developer” trip a developer’s spidey sense that the person saying them is just handwaving. However, occasionally a new term is created to articulate a programming skill set based on demand due to changes in the software development industry.
In 2013 the search term “full stack developer” took off on Google Trends and began appearing in numerous tech startup job postings. In this term’s case there are several real trends driving developers to invest in learning and identifying as full stack developers.
The usage of the full stack developer term is driven by several larger trends in software development. Read more…
Software, hardware, everywhere
Software and hardware are moving together, and the combined result is a new medium.
An updated version of this essay was published in December 2014.
The result is an entirely new medium that’s just beginning to emerge. We can see it in Ars Electronica Futurelab’s Spaxels, which use drones to render a three-dimensional pixel field; in Baxter, which layers emotive software onto an industrial robot so that anyone can operate it safely and efficiently; in OpenXC, which gives even hobbyist-level programmers access to the software in their cars; in SmartThings, which ties Web services to light switches.
The new medium is something broader than terms like “Internet of Things,” “Industrial Internet,” or “connected devices” suggest. It’s an entirely new discipline that’s being built by software developers, roboticists, manufacturers, hardware engineers, artists, and designers. Read more…
Let Decisions Be Your Guide
Business analytics projects: Using decisions as a basis to prioritize and identify requirements
Most normal people don’t look at data sets just for fun. They study views of the data to make decisions about what to do, be it a decision to take some specific action or a decision to do nothing at all. The main purpose of business analytics projects is to develop systems that turn large and often highly complex data sets into meaningful information from which decisions can be made.
The decisions that people make using business analytics systems can be strategic, operational, or tactical. For example, an executive might look at his sales team’s global performance dashboard to decide who to promote (tactical), which products need different marketing strategies (operational), or which products to target by markets (strategic). Generally speaking, all software systems that include an analytics component should enable users to make decisions that improve organizational performance in some dimension.