"languages" 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)

Open source won, so what’s next?

What to expect at OSCON 2015.

OSCON 2014 show floor

Twenty years ago, open source was a cause. Ten years ago, it was the underdog. Today, it sits upon the Iron Throne ruling all it surveys. Software engineers now use open source frameworks, languages, and tools in almost all projects.

When I was putting together the program for OSCON with the other program chairs, it occurred to me that by covering “just” open source, we weren’t really leaving out all that much of the software landscape. It seems open source has indeed won, but let’s not gloat; let’s make things even better. Open source has made many great changes to software possible, but the spirit of the founding community goes well beyond code. Read more…

Four short links: 19 December 2014

Four short links: 19 December 2014

Statistical Causality, Clustering Bitcoin, Hardware Security, and A Language for Scripts

  1. Distinguishing Cause and Effect using Observational Data — research paper evaluating effectiveness of the “additive noise” test, a nifty statistical trick to identify causal relationships from observational data. (via Slashdot)
  2. Clustering Bitcoin Accounts Using Heuristics (O’Reilly Radar) — In theory, a user can go by many different pseudonyms. If that user is careful and keeps the activity of those different pseudonyms separate, completely distinct from one another, then they can really maintain a level of, maybe not anonymity, but again, cryptographically it’s called pseudo-anonymity. […] It turns out in reality, though, the way most users and services are using bitcoin, was really not following any of the guidelines that you would need to follow in order to achieve this notion of pseudo-anonymity. So, basically, what we were able to do is develop certain heuristics for clustering together different public keys, or different pseudonyms.
  3. A Primer on Hardware Security: Models, Methods, and Metrics (PDF) — Camouflaging: This is a layout-level technique to hamper image-processing-based extraction of gate-level netlist. In one embodiment of camouflaging, the layouts of standard cells are designed to look alike, resulting in incorrect extraction of the netlist. The layout of nand cell and the layout of nor cell look different and hence their functionality can be extracted. However, the layout of a camouflaged nand cell and the layout of camouflaged nor cell can be made to look identical and hence an attacker cannot unambiguously extract their functionality.
  4. Prompter: A Domain-Specific Language for Versu (PDF) — literally a scripting language (you write theatrical-style scripts, characters, dialogues, and events) for an inference engine that lets you talk to characters and have a different story play out each time.
Four short links: 15 August 2014

Four short links: 15 August 2014

Illustrated Delivery, Self-Assembling Swarm, Language Analysis, and Design for Failure

  1. Continuous Integration and Delivery Illustrated — worth many thousands of words.
  2. Thousand Robot Swarm Self-Assembles into Arbitrary Shapes — you won’t sleep. If they only chittered, it would be perfect.
  3. srclibopen source language analysis toolchains (currently for Go, Python, JavaScript, and Ruby) with a common output format, and developer tools that consume this format.
  4. How to Architect with a Design for Failure Approach (Cloud Academy) — “design for failure” is what the rest of us call “design for the real world.”
Four short links: 4 June 2014

Four short links: 4 June 2014

Swift on GitHub, HTTP APIs, PGP in Gmail, and Comments vs Community

  1. Swift on GitHub — watch a thousand projects launch.
  2. HTTP API Design Guideextracted from work on the Heroku Platform API.
  3. End-to-End PGP in Gmail — Google releases an open source Chrome extension to enable end-to-end OpenPGP on top of gmail. This is a good thing. As noted FSF developer Ben Franklin wrote: Those who would give up awkward key signing parties to purchase temporary convenience deserve neither.
  4. Close Your Comments; Build Your Community (Annemarie Dooling) — I am rarely sad when a commenting platform collapses, because it usually means the community dissolved long before.
Four short links: 16 July 2013

Four short links: 16 July 2013

Sensor Networks, Programming Silliness, Higher Order C, and Meeting Silliness

  1. Pete Warden on SensorsWe’re all carrying little networked laboratories in our pockets. You see a photo. I see millions of light-sensor readings at an exact coordinate on the earth’s surface with a time resolution down to the millisecond. The future is combining all these signals into new ways of understanding the world, like this real-time stream of atmospheric measurements.
  2. Quine RelayThis is a Ruby program that generates Scala program that generates Scheme program that generates …(through 50 languages)… REXX program that generates the original Ruby code again.
  3. Celloa GNU99 C library which brings higher level programming to C. Interfaces allow for structured design, Duck Typing allows for generic functions, Exceptions control error handling, Constructors/Destructors aid memory management, Syntactic Sugar increases readability.
  4. The Meeting (John Birmingham) — satirising the Wall Street Journal’s meeting checklist advice.

State of the Computer Book Market, part 4: The Languages

A deep look at the market for books on programming languages.

In this fourth post of "State of the Computer Book Market," we look at programming languages and drill in on each language area.

JavaScript spread to the edges and became permanent in the process

Node.js expert James Duncan on JavaScript's rise and what lies ahead.

James Duncan, the chief architect at Joyent, is one of the people using JavaScript in surprising ways. In this interview he shares his thoughts on how we came to depend so heavily on the language and where it might be headed.

Why a JavaScript hater thinks everyone needs to learn JavaScript in the next year

JavaScript is now a necessity.

JavaScript is everywhere: servers, rich web client libraries, HTML5, databases, even JavaScript-based languages. If you've avoided JavaScript, this is the year to learn it. And if you don't, you risk being left behind.

Four short links: 6 January 2011

Four short links: 6 January 2011

Q&A, Phone Numbers, CoffeeScript 1.0, and Open Source Community Building

  1. Wikipedia of Long Tail Programming Questions (Joel Spolsky) — StackOverflow has mechanisms to remove the need to reask common questions. The editing feature is there so that old question/answer pairs can get better and better. For every person who asks a question and gets an answer on Stack Overflow, hundreds or thousands of people will come read that conversation later. […] This is fundamentally different from Usenet or any of the web-based forums. […] it’s actually a community-edited wiki of narrow, “long-tail” questions. Joel then goes on to plead, When you see a question that seems like it might reflect a common problem, don’t just answer it to get a few points. That doesn’t make the Internet any better, which sounds like a broken incentive system (get points for reanswering common questions, not for merging). The Wikipedia reference reminded me of Benjamin Mako Hill’s comment to me at dinner several years ago, that Wikipedia’s invisible advantage is the naming system where each concept has a single name. Stack Overflow’s content-matching smarts will have to substitute for the naming scheme, and that could be tricky.
  2. libphonenumber — Google’s Java and Javascript libraries for parsing, formatting, storing, and validating international phone numbers. (via Hacker News)
  3. CoffeeScript — a little language that compiles to Javascript. Just went to v1.0.
  4. Open Source Community Building: A Guide to Getting it Right (Dave Neary) — The history of free & open source software development is filled with stories of companies who are disappointed with their first experiences in community development. The technical director who does not understand why community projects do not accept features his team has spent months developing, or the management team that expects substantial contributions from outside the company to arrive overnight when they release software they’ve developed. Chris Grams once described the Tom Sawyer model of community engagement – companies who expect other people to do their job for them. Make sure you don’t fall into that trap. (via Glyn Moody on Twitter)