Magnetically Actuated Micro-Robots for Advanced Manipulation Applications

They make a surface with a printed circuit board beneath it which generates locally-varying magnetic fields. Then they have little bots, smaller than a penny, on top of that surface, being moved by the changing magnetic field.

Nock: a fun, minimalist programming language

Why is Nock interesting? Just as another member of the menagerie of minimalist languages, with Turing machines and lambda calculus and SKI combinatory calculus and Graham’s Roots of Lisp lisp and Shen’s KL and asm.js and Haskell GHC Core and various other small languages and VMs (i don’t claim to know anything about most of those).

With Turing machines, you feel like the big thing is changing the state of memory locations; but with lambda calculus and SKI combinator and Nock, you are reducing expressions.

With lambda calculus, you feel like the big thing is substitution; but with Nock (and presumably with SKI combinators, i don’t know them that well), it doesn’t feel quite like substitution is the main thing.

Although Nock is functional, the first argument in the main Nock expressions (e.g. the ‘a’ in the expressions of the form (a SMALL_INTEGER b)) can be interpreted as a state, providing an intuitive bridge between the lambda-calculus-ish world of expression reduction and the Turing machine world of state mutation.

Unlike both lambda calculus and SKI combinators, there is a sort of ‘assembly language programming’ feel to Nock. It’s not quite as minimal as lambda calculus or SKI combinators but for the price of a little bit of extra initial complexity, you get a lot of bang for your buck in terms of more intuitive programming. And you might even think it’s more minimal than lambda calculus if you count the complexity of rules like alpha-conversion against lambda calculus.

Unlike both lambda calculus and SKI combinators, Nock gives you integers and lists (trees) as primitive data types, and HEAD and TAIL and GET-THE-NTH-LIST-ELEMENT and SUCCESSOR and ISEQUAL as primitive operations. Compare to e.g. lambda calculus where you don’t have the complexity cost of having to include integers in the language definition, but then when you want to program arithmetic you have to use Church numerals. Similarly, with the simpler Turing machine models, you just get a bunch of basic commands for moving a machine head on a tape and making and erasing binary marks, and you have to build arithmetic and lists out of that.

So, it’s more ‘full-featured’ than lambda calculus, SKI combinators, or Turing machines. But it’s much simpler than most VMs and programming languages, and is based on expression reduction, rather than variable or memory mutation.

Further notes:

First music video in space

ISS commander Chris Hadfield filmed this shortly before he went back to Earth:

DNA strand displacement cascades are Turing-universal

The ‘Turing universal’ part means that this is a computer that can run any computer program. Beyond that, i don’t understand the chemistry of this, but i can tell that it’s cool.

According to the talk, strand displacement cascades are not only Turing-universal but also “universal for chemical kinetics” meaning that they can “in principle mimic the
temporal dynamics of any other chemical system”. This won a 2012 nanotech theory prize from the Foresight institute.

Google App Engine introduces support option ($150/mo)

Google App Engine is a web development framework.

How quantum physics could help people coordinate

Summary: Using quantum physics, multiple parties can arrange to be fed the same string of random bits.

This could be useful if there are allies who can meet together beforehand but later on will be unable to communicate with each other, and need some way to coordinate their choices. Note that the allies are unable to send information to each other; they are only able to receive random bits, it’s just that they’ll all get the same random bits.

A classical analog is for the allies to pre-agree on the seed value for a pseudorandom number generator. I don’t understand yet what the quantum solution can do that this classical solution cannot.

Guess: perhaps using other quantum engineering, there could be a way for the allies to ‘cut off’ the receiver of one ally if it becomes generally known that that ally has been compromised by an enemy?

This reminds me of the zoku people in Hannu Rajaniemi’s sci-fi novel, The Quantum Thief.

Benford’s Law

Studies in Everyday Life: Benford’s Law and the Decreasing Reliability of Accounting Data for US Firms


the musical structure of t*((t>>12|t>>8)&63&t>>4)

From countercomplex: Algorithmic symphonies from one line of code — how and why?.

Bots Excel at Pushing Humans to Interact Online | Online Communities | Web Ecology Project | Social Robots | Tech News Daily

“The winning “socialbot,” JamesMTitus, kept interchanges going for a record of 12 consecutive tweets and garnered close to 200 overall responses from targeted Twitter users in less than a week. Humans who had created new Twitter accounts in a similar experiment garnered at most 60 responses, Hwang said.

To achieve this, Titus, a bot with a “very promiscuous, yet lovable persona” and who is “obsessed with his pet cat,” according to the blog of one of its creators, tweeted a generic question to one of the Twitter users being targeted about every seven minutes.

If the human responded, the robot replied with its own generic response. For example, when Titus asked one user what his favorite Dr. Seuss book was, the person responded, “the older cartoon of the Grinch, but not the Jim Carrey version.” “Rock on,” replied the robot.

…Not only did Titus’s tweets elicit responses, they also served as a bridge between individuals and communities. Twitter users unknown to one another began to interact because of the robot’s tweets…”

Bots Excel at Pushing Humans to Interact Online | Online Communities | Web Ecology Project | Social Robots | Tech News Daily.

Favorite Ubuntu desktop preferences and applications configuration HOWTO

as i installed Ubuntu GNU/Linux onto my new computer, i made notes on which desktop preferences i configured, which applications i installed, and how i configured them, including, among other things, general speed optimizations, Compiz preferences, making programs appear automatically upon startup, keyboard preferences, how to sync files and Firefox bookmarks and email between multiple computers, favorite programs, .muttrc and .emacs and .bashrc configurations: