"programming" entries

Four short links: 21 May 2015

Four short links: 21 May 2015

Font Design, Pro Go, ICANN Foolishness, and Bad Organisations

  1. 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.
  2. Why We Use GoWe 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.
  3. Unfortunately We Have Renewed Our ICANN AccreditationYou 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.
  4. Why Good Developers Write Bad Code (PDF) — trigger warning: software development pathologies from the real world.
Four short links: 8 May 2015

Four short links: 8 May 2015

Robot Hands, Top Robots, Dependency Management, Unix Utility

  1. 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.
  2. Top 10 Most Innovative Companies Of 2015 In Robotics (Fast Company) — from exoskeletons to limbs to inflatables and toys.
  3. go get Considered Harmful — because it’s 2015 and we’re still trying to figure out dependency management and versioning. If you want me, I’ll be in a corner waiting for the rest of CPAN to install.
  4. Pathpicker — nifty utility. I can’t believe it’s 2015 and we’re still able to find useful Unix utilities to create.
Four short links: 4 May 2015

Four short links: 4 May 2015

Silicon Valley Primer, GraphQL Intro, Quantum Steps, and Complex Systems

  1. Silicon Valley Primer — a short but interesting precis of what made the Valley great, with stories of the nobility. From a historian. All these new people pouring into what had been an agricultural region meant that it was possible to create a business environment around the needs of new companies coming up, rather than adapting an existing business culture to accommodate the new industries. In what would become a self-perpetuating cycle, everything from specialized law firms, recruiting operations and prototyping facilities; to liberal stock option plans; to zoning laws; to community college course offerings developed to support a tech-based business infrastructure.
  2. Introduction to GraphQLWe believe that GraphQL represents a novel way of structuring the client-server contract. Servers publish a type system specific to their application, and GraphQL provides a unified language to query data within the constraints of that type system. That language allows product developers to express data requirements in a form natural to them: a declarative and hierarchal one. The nightmare of the ad hoc API morass is a familiar one …
  3. Critical Steps to Building First Quantum ComputerThe IBM breakthroughs, described in the April 29 issue of the journal Nature Communications, show for the first time the ability to detect and measure the two types of quantum errors (bit-flip and phase-flip) that will occur in any real quantum computer. Until now, it was only possible to address one type of quantum error or the other, but never both at the same time. This is a necessary step toward quantum error correction, which is a critical requirement for building a practical and reliable large-scale quantum computer.
  4. Five Short Stories About the Life and Times of Ideas (Nautilus) — In the following five short chapters, David Krakauer, an evolutionary theorist, and president elect of the Santa Fe Institute, haven of complex systems research, examines five facets of chain reactions, each typifying how ideas spread through science and culture. Together they tell a story of how the ideas that define humanity arise, when and why they die or are abandoned, the surprising possibilities for continued evolution, and our responsibility to nurture thought that might enlighten our future.
Four short links: 1 May 2015

Four short links: 1 May 2015

Go Examples, Penrose Map Hacks, Robotics Industry, and Archaeological Robotics

  1. 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.
  2. Penrose Binning — entrancing visual hack for maps.
  3. 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.
  4. 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.
Four short links: 23 April 2015

Four short links: 23 April 2015

Medical Robots, Code Review, Go Lang, and Ambient Weather

  1. 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)
  2. On Code Review (Glen D Sanford) — Pending code reviews represent blocked threads of execution.
  3. 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.
  4. TempescopeAmbient weather display for your home. In my home, that’s a window. (via Matt Webb)
Four short links: 22 April 2015

Four short links: 22 April 2015

Perfect Security, Distributing Secrets, Stale Reads, and Digital Conversions

  1. Perfect Security (99% Invisible) — Since we lost perfect security in the 1850s, it has has remained elusive. Despite tremendous leaps forward in security technology, we have never been able to get perfect security back. History of physical security, relevant to digital security today.
  2. keywhiz a system for managing and distributing secrets. It can fit well with a service oriented architecture (SOA).
  3. Call Me Maybe: MongoDB Stale Reads — a master class in understanding modern distributed systems. Kyle’s blog is consistently some of the best technical writing around today.
  4. Users Convert to Digital Subscribers at a Rate of 1% (Julie Starr) — and other highlights of Jeff Jarvis’s new book, Geeks Bearing Gifts.
Four short links: 21 April 2015

Four short links: 21 April 2015

Chromebooks and Arduinos, 3rd Person Driving, Software Development, and Go Debugging

  1. Chromebooks and Arduino — two great edtech tastes that taste great together.
  2. 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.
  3. Lessons Learned in Software Development — omg every word of this.
  4. Cross-Platform Debugger for Gotake 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!
Four short links: 20 April 2015

Four short links: 20 April 2015

Edtech Advice, MEMS Sensors, Security in Go, and Building Teams

  1. Ed Tech Developer’s Guide (PDF) — U.S. government’s largely reasonable advice for educational technology startups. Nonetheless, take with a healthy dose of The Audrey Test.
  2. 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.”
  3. Looking for Security Trouble Spots in Go — brief summary of the known security issues in and around Go code.
  4. 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.
Four short links: 15 April 2015

Four short links: 15 April 2015

Facebook as Biometrics, Time Series Sequences, Programming Languages, and Oceanic Robots

  1. Facebook Biometrics Cache (Business Insider) — Facebook has been accused of violating the privacy of its users by collecting their facial data, according to a class-action lawsuit filed last week. This data-collection program led to its well-known automatic face-tagging service. But it also helped Facebook create “the largest privately held stash of biometric face-recognition data in the world,” the Courthouse News Service reports.
  2. The Clustering of Time Series Sequences is Meaningless (PDF) — Clustering of time series subsequences is meaningless. More concretely, clusters extracted from these time series are forced to obey a certain constraint that is pathologically unlikely to be satisfied by any data set, and because of this, the clusters extracted by any clustering algorithm are essentially random. While this constraint can be intuitively demonstrated with a simple illustration and is simple to prove, it has never appeared in the literature. We can justify calling our claim surprising since it invalidates the contribution of dozens of previously published papers. We will justify our claim with a theorem, illustrative examples, and a comprehensive set of experiments on reimplementations of previous work. From 2003, warning against sliding window techniques.
  3. Toolkits for the Mind (MIT TR) — Programming–language designer Guido van Rossum, who spent seven years at Google and now works at Dropbox, says that once a software company gets to be a certain size, the only way to stave off chaos is to use a language that requires more from the programmer up front. “It feels like it’s slowing you down because you have to say everything three times,” van Rossum says. Amen!
  4. Robots Roam Earth’s Imperiled Oceans (Wired) — It’s six feet long and shaped like an airliner, with two wings and a tail fin, and bears the message, “OCEANOGRAPHIC INSTRUMENT PLEASE DO NOT DISTURB.” All caps considered, though, it’s a more innocuous epigram than the one on a drone I saw back at the dock: “Not a weapon — Science Instrument.”
Four short links: 10 April 2015

Four short links: 10 April 2015

Graph Algorithm, Touchy Robots, Python Bolt-Ons, and Building Data Products

  1. Exact Maximum Clique for Large or Massive Real Graphs — explanation of how BBMCSP works.
  2. Giving Robots and Prostheses the Human Touchthe team, led by mechanical engineer Veronica J. Santos, is constructing a language of touch that both a computer and a human can understand. The researchers are quantifying this with mechanical touch sensors that interact with objects of various shapes, sizes, and textures. Using an array of instrumentation, Santos’ team is able to translate that interaction into data a computer can understand. The data is used to create a formula or algorithm that gives the computer the ability to identify patterns among the items it has in its library of experiences and something it has never felt before. This research will help the team develop artificial haptic intelligence, which is, essentially, giving robots, as well as prostheses, the “human touch.”
  3. boltons — things in Python that should have been builtins.
  4. Everything We Wish We’d Known About Building Data Products (DJ Patil and RusJan Belkin) — Data is super messy, and data cleanup will always be literally 80% of the work. In other words, data is the problem. […] “If you’re not thinking about how to keep your data clean from the very beginning, you’re fucked. I guarantee it.” […] “Every single company I’ve worked at and talked to has the same problem without a single exception so far — poor data quality, especially tracking data,” he says.“Either there’s incomplete data, missing tracking data, duplicative tracking data.” To solve this problem, you must invest a ton of time and energy monitoring data quality. You need to monitor and alert as carefully as you monitor site SLAs. You need to treat data quality bugs as more than a first priority. Don’t be afraid to fail a deploy if you detect data quality issues.