"cs" entries

Four short links: 22 July 2015

Four short links: 22 July 2015

Smart Headlights, Habitual Speed, AI Authors, and Programming Language Evolution

  1. Ford’s Smart Headlights — spotlights targeted by infra-red, and accumulating knowledge of fixed features to illuminate. Wonder what an attacker can do to it?
  2. Speed as a HabitYou don’t have to be militant about it, just consistently respond that today is better than tomorrow, that right now is better than six hours from now. This is chock full of good advice, and the occasional good story.
  3. Coding Creativity: Copyright and the Artificially Intelligent Author (PDF) — if AI creates cultural works (e.g., DeepDream images), who owns those works? Suggests that “work for hire” doctrine may be the way to answer that in the future. (via Andreas Schou)
  4. Punctuated Equilibrium in the Large-Scale Evolution of Programming Languages (PDF) — Here we study the large-scale historical development of programming languages, which have deeply marked social and technological advances in the last half century. We analyse their historical connections using network theory and reconstructed phylogenetic networks. Using both data analysis and network modeling, it is shown that their evolution is highly uneven, marked by innovation events where new languages are created out of improved combinations of different structural components belonging to previous languages. These radiation events occur in a bursty pattern and are tied to novel technological and social niches. The method can be extrapolated to other systems and consistently captures the major classes of languages and the widespread horizontal design exchanges, revealing a punctuated evolutionary path. (via Jarkko Hietaniemi)
Comment
Four short links: 30 June 2015

Four short links: 30 June 2015

Ductile Systems, Accessibility Testing, Load Testing, and CRAP Data

  1. Brittle SystemsMore than two decades ago at Sun, I was convinced that making systems ductile (the opposite of brittle) was the hardest and most important problem in system engineering.
  2. tota11y — accessibility testing toolkit from Khan.
  3. Locustan open source load testing tool.
  4. Impala: a Modern, Open-source SQL Engine for Hadoop (PDF) — CRAP, aka Create, Read, and APpend, as coined by an ex-colleague at VMware, Charles Fan (note the absence of update and delete capabilities). (via A Paper a Day)
Comment
Four short links: 11 June 2015

Four short links: 11 June 2015

Jeff Han, Google Closure, Software Verification, and Sapir-Whorf Software

  1. The Untold Story of Microsoft’s Surface Hub (FastCo) — great press placement from Microsoft, but good to hear what Jeff Han has been working on. And interesting comment on the value of manufacturing in the US: “I don’t have to send my folks over to China, so they’re happier,” Han says. “It’s faster. There’s no language, time, or culture barrier to deal with. To have my engineers go down the hallway to talk to the guys in the manufacturing line and tune the recipe? That’s just incredible.”
  2. Five Years of Google Closure (Derek Slager) — Despite the lack of popularity, a number of companies have successfully used Google Closure for their production applications. Medium, Yelp, CloudKick (acquired by Rackspace), Cue (acquired by Apple), and IMS Health (my company) all use (or have used) Google Closure to power their production applications. And, importantly, the majority of Google’s flagship applications continue to be powered by Google Closure.
  3. Moving Fast with Software Verification (Facebook) — This paper describes our experience in integrating a verification tool based on static analysis into the software development cycle at Facebook. Contains a brief description of dev and release processes at Facebook: no QA …
  4. The Death of the von Neumann ArchitectureA computer program is the direct execution of any idea. If you restrict the execution, you restrict the idea. The Sapir-Whorf hypothesis for software.

Comment
Four short links: 2 June 2015

Four short links: 2 June 2015

Toyota Code, Sapir-Wharf-Emoji, Crowdsourcing Formal Proof, and Safety-Critical Code

  1. Toyota’s Spaghetti CodeToyota had more than 10,000 global variables. And he was critical of Toyota watchdog supervisor — software to detect the death of a task — design. He testified that Toyota’s watchdog supervisor ‘is incapable of ever detecting the death of a major task. That’s its whole job. It doesn’t do it. It’s not designed to do it.’ (via @qrush)
  2. Google’s Design Icons (Kevin Marks) — Google’s design icons distinguish eight kinds of airline seats but has none for trains or buses.
  3. Verigames — DARPA-funded game to crowdsource elements of formal proofs. (via Network World)
  4. 10 Rules for Writing Safety-Critical Code — which I can loosely summarize as “simple = safer, use the built-in checks, don’t play with fire.”
Comment: 1
Four short links: 20 May 2015

Four short links: 20 May 2015

Robots and Shadow Work, Time Lapse Mining, CS Papers, and Software for Reproducibility

  1. Rise of the Robots and Shadow Work (NY Times) — In “Rise of the Robots,” Ford argues that a society based on luxury consumption by a tiny elite is not economically viable. More to the point, it is not biologically viable. Humans, unlike robots, need food, health care and the sense of usefulness often supplied by jobs or other forms of work. Two thought-provoking and related books about the potential futures as a result of technology-driven change.
  2. Time Lapse Mining from Internet Photos (PDF) — First, we cluster 86 million photos into landmarks and popular viewpoints. Then, we sort the photos by date and warp each photo onto a common viewpoint. Finally, we stabilize the appearance of the sequence to compensate for lighting effects and minimize flicker. Our resulting time-lapses show diverse changes in the world’s most popular sites, like glaciers shrinking, skyscrapers being constructed, and waterfalls changing course.
  3. Git Repository of CS PapersThe intention here is to both provide myself with backups and easy access to papers, while also collecting a repository of links so that people can always find the paper they are looking for. Pull the repo and you’ll never be short of airplane/bedtime reading.
  4. Software For Reproducible ScienceThis quality is indeed central to doing science with code. What good is a data analysis pipeline if it crashes when I fiddle with the data? How can I draw conclusions from simulations if I cannot change their parameters? As soon as I need trust in code supporting a scientific finding, I find myself tinkering with its input, and often breaking it. Good scientific code is code that can be reused, that can lead to large-scale experiments validating its underlying assumptions.
Comment
Four short links: 27 April 2015

Four short links: 27 April 2015

Living Figures, Design vs Architecture, Faceted Browsing, and Byzantine Comedy

  1. ‘Living Figures’ Make Their Debut (Nature) — In July last year, neurobiologist Björn Brembs published a paper about how fruit flies walk. Nine months on, his paper looks different: another group has fed its data into the article, altering one of the figures. The update — to figure 4 — marks the debut of what the paper’s London-based publisher, Faculty of 1000 (F1000), is calling a living figure, a concept that it hopes will catch on in other articles. Brembs, at the University of Regensburg in Germany, says that three other groups have so far agreed to add their data, using software he wrote that automatically redraws the figure as new data come in.
  2. Strategies Against Architecture (Seb Chan and Aaron Straup Cope) — the story of the design of the Cooper Hewitt’s clever “pen,” which visitors to the design museum use to collect the info from their favourite exhibits. (Visit the Cooper Hewitt when you’re next in NYC; it’s magnificent.)
  3. Two Way Streetan independent explorer for The British Museum collection, letting you browse by year acquired, year created, type of object, etc. I note there are more things from a place called “Brak” than there are from USA. Facets are awesome. (via Courtney Johnston)
  4. The Saddest Moment (PDF) — “How can you make a reliable computer service?” the presenter will ask in an innocent voice before continuing, “It may be difficult if you can’t trust anything and the entire concept of happiness is a lie designed by unseen overlords of endless deceptive power.” The presenter never explicitly says that last part, but everybody understands what’s happening. Making distributed systems reliable is inherently impossible; we cling to Byzantine fault tolerance like Charlton Heston clings to his guns, hoping that a series of complex software protocols will somehow protect us from the oncoming storm of furious apes who have somehow learned how to wear pants and maliciously tamper with our network packets. Hilarious. (via Tracy Chou)
Comment
Four short links: 30 March 2015

Four short links: 30 March 2015

Philosophical Research, Reading Turing, Security Exercises, and Golang Madness

  1. The Trolley and the PsychopathNot 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)
  2. Summary of Computing Machinery and Intelligence (1950) by Alan Turing (Jack Hoy) — still interesting and relevant today. cf Why Aren’t We Reading Turing
  3. Exploit Exercisesa 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.
  4. GopherJS — golang to Javascript compiler so you can experience the ease of typed compiled languages in the security and stability of the browser platform.
Comment
Four short links: 20 March 2015

Four short links: 20 March 2015

USA Hire, AR Game, CS Cheatsheet, and 3D Printing Cured Resin

  1. David Recordon Joins US GovtThis afternoon, President Barack Obama will announce a newly created position for David Recordon, who has worked as one of Facebook’s engineering directors since 2009. Recordon will join the White House as the director of information technology. Obama building an A team from Foo Campers.
  2. MagicLeap/Weta Workshop FPS in AR (YouTube) — fun!
  3. Theoretical Computer Science Cheat Sheet (PDF) — how to appear smart.
  4. Carbon3DTraditional 3D printing requires a number of mechanical steps, repeated over and over again in a layer-by-layer approach. CLIP is a chemical process that carefully balances light and oxygen to eliminate the mechanical steps and the layers. It works by projecting light through an oxygen-permeable window into a reservoir of UV curable resin. The build platform lifts continuously as the object is grown.
Comment
Four short links: 12 March 2015

Four short links: 12 March 2015

Billion Node Graphs, Asynchronous Systems, Deep Learning Hardware, and Vision Resources

  1. Mining Billion Node Graphs: Patterns and Scalable Algorithms (PDF) — slides from a CMU academic’s talk at C-BIG 2012.
  2. There Is No NowOne of the most important results in the theory of distributed systems is an impossibility result, showing one of the limits of the ability to build systems that work in a world where things can fail. This is generally referred to as the FLP result, named for its authors, Fischer, Lynch, and Paterson. Their work, which won the 2001 Dijkstra Prize for the most influential paper in distributed computing, showed conclusively that some computational problems that are achievable in a “synchronous” model in which hosts have identical or shared clocks are impossible under a weaker, asynchronous system model.
  3. Deep Learning Hardware GuideOne of the worst things you can do when building a deep learning system is to waste money on hardware that is unnecessary. Here I will guide you step by step through the hardware you will need for a cheap high performance system.
  4. Awesome Computer Vision — curated list of computer vision resources.
Comment
Four short links: 9 March 2015

Four short links: 9 March 2015

Shareable Audio, Designing Robot Relationships, Machine Learning for Programming, and Geospatial Databases

  1. Four Types of Audio That People Share (Nieman Lab) — Audio Explainers, Whoa! Sounds, Storytellers, and Snappy Reviews, the results of experiments with NPR stations.
  2. Designing the Human-Robot Relationship (O’Reilly) — We can use those same principles [Jakob Nielsen’s usability heuristics] and look for implications of robots serving our higher ordered needs, as we move from serving needs related to convenience or performance to actually supporting our decision making to emerging technologies, moving from being able to do anything or be magic in terms of the user interface to being more human in the user interface.
  3. Machine Learning for General Programming — Peter Norvig talk. What more do you need to know?
  4. Why Are Geospatial Databases So Hard To Build?Algorithms in computer science, with rare exception, leverage properties unique to one-dimensional scalar data models. In other words, data types you can abstractly represent as an integer. Even when scalar data types are multidimensional, they can often be mapped to one dimension. This works well, as the majority of [what] data people care about can be represented with scalar types. If your data model is inherently non-scalar, you enter an algorithm wasteland in the computer science literature.
Comment