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


They make a surface with a printed circuit board beneath it which generates locallyvarying magnetic fields. Then they have little bots, smaller than a penny, on top of that surface, being moved by the changing magnetic field. http://www.urbit.org/2013/08/22/Chapter2nock.html 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 lambdacalculusish 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 alphaconversion 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 GETTHENTHLISTELEMENT 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 ‘fullfeatured’ 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: http://bayleshanks.com/notescomputerprogrammingprogrammingLanguageDesignprosAndConsnock ISS commander Chris Hadfield filmed this shortly before he went back to Earth: 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 Turinguniversal but also “universal for chemical kinetics” meaning that they can “in principle mimic the http://dna.caltech.edu/~davids/talks/Foresight_Institute_Talk.pdf http://dna.caltech.edu/Papers/DNA_stack_machines2010_DNA16.pdf http://www.hpl.hp.com/research/idl/papers/coordination/coordination.pdf 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 preagree 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 scifi novel, The Quantum Thief. 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: 

Copyright © 2015 Bayle Shanks  All Rights Reserved 
Recent Comments