www lispmeister.com

About

A life with Lisp blog

index | rss2.0 | atom

Author

Products

Order Succesful Lisp directly from bookfix.com


Order Successful Lisp by David B. Lamkins at amazon.de
German Shop: Lisp t-shirt
US Shop: JohnMcCarthy Lisp tshirt

Categories

Links

del.icio.us/lispmeister
bookfix.com
medigist.de
Successful Lisp
lemonodor.com
Foresight Institute
Lawrence Lessig
nanobot
Bill Clementson
FuturePundit
Planet Lisp
Nanotechnology Now
Nanodot.org
Unvollstaendigkeit

Archives

Calendar

Creative Commons License
hacker emblem blosxom

2007/11/02

Updates on the Truth Machine

Coming back to a posting from 2004, I'm happy to report that fiction is now science. The Science Blog has an article on the first official use of MRI to "investigate the potential innocence of a woman convicted of poisoning a child in her care."

Link to the source article in European Psychiatry.

2007/11/01

Extreme Self Modification

Alexia Massalin - copyright Dan Krauss

During lunch Paul Dale and I talked about self modifying code and how it might apply to real world systems. Later that same day I did a quick check on Wikipedia to read up on the current state of the art. I was surprised to find a link to a paper about self modifying kernel code by Henry Massalin. Reading his PhD thesis about the Synthesis kernel, like learning Lisp, is a mind altering experience. This guy is a genius! My first thought after reading the introduction was: This has to be added to the Movitz kernel!

The Synthesis paper lists four new ideas:

  • Run-time code synthesis — a systematic way of creating executable machine code at runtime to optimize frequently-used kernel routines — queues, buffers, context switchers, interrupt handlers, and system call dispatchers — for specific situations, greatly reducing their execution time.
  • Fine-grained scheduling — a new process-scheduling technique based on the idea of feedback that performs frequent scheduling actions and policy adjustments (at sub-millisecond intervals) resulting in an adaptive, self-tuning system that can support real-time data streams.
  • Lock-free optimistic synchronization is shown to be a practical, efficient alternative to lock-based synchronization methods for the implementation of multiprocessor operating system kernels.
  • An extensible kernel design that provides for simple expansion to support new kernel services and hardware devices while allowing a tight coupling between the kernel and the application, blurring the distinction between user and kernel services.

I was curious what a guy like Henry had been doing since finishing his PhD in 1992. Some googling showed that he's working for MicroUnity, a startup that somehow never got any serious traction, filing one patent after another. He is famous for giving people piggyback rides (the inventors of UNIX among them) and he is now known as Ms. Alexia Massalin. Talk about self modification!

Links:

Wowza... - posted by Perry E. Metzger - 10/08/2007 12:51:52
I knew (as Dr. Massalin was then named) Henry at the Columbia CS department twenty years ago. Lots of cool ideas -- superoptimizer, real time kernel code generation, etc -- but not a lot of people have taken them up. Henry used to work a lot with hardware he'd built himself, and would sometimes rewire breadboards while machines were running without crashing them. It was pretty amazing to watch. BTW, your email is bouncing, or at least was when I last tried sending you a note.
patents + takeup - posted by anonymouse moocow - 10/08/2007 19:25:43
Uhm. "not a lot of people have taken them up" and "filing one patent after another" just might be related. Patent monopolies have long been known to slow innovation, contrary to the patentist propaganda. If the patent-restricted ideas (in practice, software patents cover ideas, whatever the theory) are any use, expect greater takeup when the monopolies expire, much like with public key crypto (once-RSA) or decent virtualisation (once-IBM).
- posted by Marijn Haverbeke - 10/10/2007 22:48:45
It is interesting how nicely the partial evaluation could be mapped to closures. It should be possible for a Lisp implementation to re-compile the code inside a closure, substituting known values for the closed-over variables. You wouldn't want to do this for *every* closure, I suppose, so either the compiler would have to be clever enough to figure out when it is worthwhile (hard to do -- after a closure has been called X times?), or the programmer could somehow specify it in his program text.
- posted by Marijn Haverbeke - 10/13/2007 18:50:19
(that is, if the closed-over variables are not mutated, which could be checked statically)
Comments on Henry Massalin - posted by Tim Josling - 01/21/2008 21:10:41
I came across Henry's paper at 10:30 the other night and stayed up to 2am reading it. There are some really powerful ideas in there. When I finished reading it though, there is a lot more I would have liked to know eg how exactly did he manage the tradeoffs involved? About 10 years ago I actually implemented a similar design to Henry's. In our case it was a complex table lookup routine which had been rewritten twice already for performance (it was being called over 2X10**8 times per day). We took a high level description of the tables and generated templates for the lookup routines. When the lookups arrived, we used the templates to generate custom code for that set of keys and values. This sped up the routines by a factor of 6 (similar to what Henry achieved). So I know this stuff works. Interestingly the total number of lines of code was reduced with our approach due to the generated templates etc. It was also robust - there was more validation and every one of the ~10**11 calls since then has worked correctly. This sort of thing could be used for dynamic languages to make them as or more efficient than statically types languages. One key to success with this approach is keeping the high level description of the problem space. You generate machine code right from the high level description, which allows a lot of powerful optimisations. Going through layers messes things up.

2007/01/21

Trust Metrics and Reputation Markets

Trust Metrics Wiki

I've been doing some research into trust metrics and reputation markets. Electronic markets need a way to create trust between market participants. Of course, as John R. Allen pointed out in his keynote alt ILC05, we need to fix the way we build software first. No cryptographic algorithm will save you, if an attacker can just subvert your platform. First you have to design a trust metric, prove it's correctness, implement it, prove the correctness of the implementation and then you might be able to create reputations and maybe reputation markets. Reputations should be transferable between markets and maybe even tradeable (Charles Stross mentions reputation futures).

Links:

2006/12/13

Proofs are Programs

Frege's Begriffschrift

Lately I've been asked to name a paper that could serve as an introduction to type systems and program proofs. I mentioned Proofs are Programs: 19th Century Logic and 21st Century Computing by Philip Wadler (he gave a similar paper at ILC03 in New York). To my delight Wadler's paper was mentioned at Lambda the Ultimate in a list of Natural Deduction Reading for Beginners .

BTW lispmeister.com has been offline for a couple of days due to a denial of service attack. Seems like that's the kind of risk you have to take, if you do botnet research.

Writebacks - posted by Lispmeister - 01/05/2007 12:11:36
Comments are enabled again. I'm now using Aksimet for SPAM protection.

2006/02/25

The Root Of All Evil

Root of All Evil

The TV production hosted by Richard Dawkins titled The Root of all Evil is a "one man against human stupidity" kind of show. Hearing people say the things they say in conversation with Dawkins is scary and hilarious at the same time. It's like the last 350 years of scientific progress never happened. I'm paraphrasing W.S. Burroughs here: "Religion is a virus of the mind". Looks like human civilization is in dire need of some heavy duty anti-viral software.

Torrent links to the show:

(via BoingBoing)
</strong> - posted by <a href="http://www.romania.org/community/profile.php?mode=viewprofile&u=2741">Raaj</a> <span class="meta">- 11/11/2007 08:04:11</span><br /> penis enlargement pill http://www.romania.org/community/profile.php?mode=viewprofile&u=2741 </div> </div> <div class="entry"></div> <p class="date">2006/02/09</p> <div class="entry"> <h3 class="title"><a id="zookos-triangle">Zooko's Triangle: An Introduction to Petname Systems</a></h3> <div class="story"> <img width="486" height="375" src="http://lispmeister.com/images/zookos-triangle.jpg" alt="Zooko's Triangle" /> <p> <a href="http://www.skyhunter.com/" title="Marc Stiegler's homepage">Marc Stiegler</a>, author of <a href="http://www.amazon.com/exec/obidos/ASIN/067157809X/bookfixcom-20" title="Eearthweb by Marc Stiegler">Earthweb</a>, just published <a href="http://www.skyhunter.com/marcs/petnames/IntroPetNames.html" title="An Introduction to Petname Systems">An Introduction to Petname Systems</a> which discusses Zooko's Triangle: <blockquote> Zooko's Triangle [Zooko] argues that names cannot be global, secure, and memorable, all at the same time. Domain names are an example: they are global, and memorable, but as the rapid rise of phishing demonstrates, they are not secure. Though no single name can have all three properties, the petname system does indeed embody all three properties. Informal experiments with petname-like systems suggest that petnames can be both intuitive and effective. Experimental implementations already exist for simple extensions to existing browsers that could alleviate (possibly dramatically) the problems with phishing. As phishers gain sophistication, it seems compelling to experiment with petname systems as part of the solution. </blockquote> </p> <p> I first met <a href="http://zooko.com/zooko_introduction.html" title="Zooko's Homepage">Zooko</a> a long time ago. I was working on a demo project for Deutsche Bank using Digicash's ecash system. The setting was one of these very German, very stiff business meetings, where you didn't expect anything interesting to happen. He was clearly uncomfortable wearing a suit and I was wearing jeans and a faded blue D.E.A. jacket. Ignoring the bankers we had some meaty geek talk about cryptography and crypto anarchy. At that time he had just joined Digicash and was enjoying his time in Amsterdam. I visited him there once hoping to walk into the company founder David Chaum, who holds a bundle of patents on cryptographically secure and anonymous cash systems. Unfortunately Chaum was out of town. Zooko later worked for <a href="http://sourceforge.net/projects/mojonation" title="Mojo Nation on SourceForge">MojoNation</a> and after they shut down, he initiated the <a href="http://mnetproject.org/" title="Mnet project">Mnet</a> project. </p> <p> Further reading: <ul> <li>Zooko's original paper: <a href="http://zooko.com/distnames.html" title="Names: Decentralized, Secure, Human-Meaningful: Choose Two">Names: Decentralized, Secure, Human-Meaningful: Choose Two</a></li> <li>Zooko on <a href="http://lispmeister.com/blog/citations/zooko.html" title="Death to Multithreading: E">multithreading and E</a></li> <li>The <a href="http://www.erights.org/" title="The E programming language">E</a> programming language</li> <li><a href="http://www.capros.org/" title="CapROS: The Capability-based Reliable Operating System">CapROS</a>: The Capability-based Reliable Operating System</li> </ul> </p> </div> <p class="postinfo"> <a href="http://lispmeister.com/blog/citations" title="category: /citations">/citations</a> | <a href="http://lispmeister.com/blog/citations/zookos-triangle.html" title="permanent link: zookos-triangle">permanent link</a> (<a href="http://lispmeister.com/blog/citations/zookos-triangle.html#writeback" title="writeback: zookos-triangle">0 writeback</a>) </p> <!-- <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/"> <rdf:Description rdf:about="http://lispmeister.com/blog/citations/zookos-triangle.html" dc:identifier="http://lispmeister.com/blog/citations/zookos-triangle.html" dc:title="Zooko's Triangle: An Introduction to Petname Systems" trackback:ping="http://lispmeister.com/blog/citations/zookos-triangle.trackback" /> </rdf:RDF> --> </div> <div class="entryend"></div> <div class="entry"></div> <p class="date">2006/01/07</p> <div class="entry"> <h3 class="title"><a id="vc-top-ten-lies">Top Ten Lies of Venture Capitalists</a></h3> <div class="story"> <img width="150" height="195" src="http://lispmeister.com/images/guykawasaki3.jpg" alt="Guy Kawasaki" class="right"/> Guy gives a list of various phrases venture capitalists use to signal "no": <ol> <li>“I liked your company, but my partners didn't.”</li> <li>“If you get a lead, we will follow.”</li> <li>“Show us some traction, and we'll invest.”</li> <li>“We love to co-invest with other venture capitalists.”</li> <li>“We're investing in your team.”</li> <li>“I have lots of bandwidth to dedicate to your company.”</li> <li>“This is a vanilla term sheet.”</li> <li>“We can open up doors for you at our client companies.”</li> <li>“We like early-stage investing.”</li> </ol> Yeah, I've heard them all. [<a href="http://blog.guykawasaki.com/2006/01/the_top_ten_lie.html" title="Guy Kawasaki Blog">link</a>] </div> <p class="postinfo"> <a href="http://lispmeister.com/blog/citations" title="category: /citations">/citations</a> | <a href="http://lispmeister.com/blog/citations/vc-top-ten-lies.html" title="permanent link: vc-top-ten-lies">permanent link</a> (<a href="http://lispmeister.com/blog/citations/vc-top-ten-lies.html#writeback" title="writeback: vc-top-ten-lies">0 writeback</a>) </p> <!-- <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/"> <rdf:Description rdf:about="http://lispmeister.com/blog/citations/vc-top-ten-lies.html" dc:identifier="http://lispmeister.com/blog/citations/vc-top-ten-lies.html" dc:title="Top Ten Lies of Venture Capitalists" trackback:ping="http://lispmeister.com/blog/citations/vc-top-ten-lies.trackback" /> </rdf:RDF> --> </div> <div class="entryend"></div> <div class="entry"></div> <p class="date">2005/12/20</p> <div class="entry"> <h3 class="title"><a id="big-brother">Bush and NSA vs. Freedom</a></h3> <div class="story"> <a href="http://www.nytimes.com/2005/12/16/politics/16program.html?ex=1292389200&en=e32072d786623ac1&ei=5090&partner=rssuserland&emc=rss" title="Bush Lets U.S. Spy on Callers Without Courts"> <img width="270" height="240" src="http://lispmeister.com/images/1984-movie-bb2_a.jpg" alt="Big Brother Movie 1984" class="right"/></a> Xeni Jardin from boingboing.net <a href="http://www.boingboing.net/2005/12/19/nsa_domestic_spying_.html" title="BoingBoing">quotes</a> my friend <a href="http://www.piermont.com/blog/" title="Perry E. Metzger's blog">Perry E. Metzger</a>: <blockquote> ...Ours is a government of laws, not of men. That means if the President disagrees with a law or feels that it is insufficient, he still must obey it. Ignoring the law is illegal, even for the President. The President may ask Congress to change the law, but meanwhile he must follow it. <p> Our President has chosen to declare himself above the law, a dangerous precedent that could do great harm to our country. However, without substantial effort on the part of you, and I mean you, every person reading this, nothing much is going to happen. The rule of law will continue to decay in our country. Future Presidents will claim even greater extralegal authority, and our nation will fall into despotism. I mean that sincerely. For the sake of yourself, your children and your children's children, you cannot allow this to stand. </blockquote> Links: [<a href="http://www.nytimes.com/2005/12/16/politics/16program.html?ex=1292389200&en=e32072d786623ac1&ei=5090&partner=rssuserland&emc=rss" title="Bush Lets U.S. Spy on Callers Without Courts">New York Times article</a>] [<a href="http://cryptome.org/small-call.htm" title="A small editorial about recent events.">Perry's editorial</a>] <p> Reader Robert Uhl writes: <blockquote> Unfortunately for your position, the Bush-authorised wiretaps were quite likely legal; <a href="http://caselaw.lp.findlaw.com/casecode/uscodes/50/chapters/36/subchapters/i/toc.html" title="the Foreign Intelligence Surveillance Act">the Foreign Intelligence Surveillance Act</a> explicitly allows the President or Attorney General to authorise a wiretap without a court order for up to one year. There are conditions, and the whole thing is explained at <a href="http://www.nationalreview.com/robbins/robbins200512190859.asp" title="conditions on the Foreign Intelligence Surveillance Act">http://www.nationalreview.com/robbins/robbins200512190859.asp</a>. </blockquote> </div> <p class="postinfo"> <a href="http://lispmeister.com/blog/citations" title="category: /citations">/citations</a> | <a href="http://lispmeister.com/blog/citations/big-brother.html" title="permanent link: big-brother">permanent link</a> (<a href="http://lispmeister.com/blog/citations/big-brother.html#writeback" title="writeback: big-brother">1 writeback</a>) </p> <!-- <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/"> <rdf:Description rdf:about="http://lispmeister.com/blog/citations/big-brother.html" dc:identifier="http://lispmeister.com/blog/citations/big-brother.html" dc:title="Bush and NSA vs. Freedom" trackback:ping="http://lispmeister.com/blog/citations/big-brother.trackback" /> </rdf:RDF> --> </div> <div class="entryend"><div class="writeback"> <strong>very hot chicks</strong> - posted by <a href="http://www.ocf.berkeley.edu/~history/forum/viewtopic.php?p=60617">very hot chicks</a> <span class="meta">- 04/24/2007 19:25:13</span><br /> very hot chicks </div> </div> <div class="entry"></div> <p class="date">2005/09/08</p> <div class="entry"> <h3 class="title"><a id="remote-fingerprinting">Remote physical device fingerprinting</a></h3> <div class="story"> <a href="http://www.cse.ucsd.edu/users/tkohno/papers/PDF/" title="Remote physical device fingerprinting"><img width="320" height="226" src="http://lispmeister.com/images/remote-physical-device-profiling.png" title="Remote physical device fingerprinting" /></a> <p /> <a href="http://www.heise.de/ct/05/19/urls/" title="Heise c't Link list" />Heise.de</a> had a very interesting article about <a href="http://www.cse.ucsd.edu/users/tkohno/papers/PDF/" title="Remote physical device fingerprinting">Remote physical device fingerprinting</a>. It even works through NAT firewalls. They can even distinguish VMWare based honeynets. Amazing. </div> <p class="postinfo"> <a href="http://lispmeister.com/blog/citations" title="category: /citations">/citations</a> | <a href="http://lispmeister.com/blog/citations/remote-fingerprinting.html" title="permanent link: remote-fingerprinting">permanent link</a> (<a href="http://lispmeister.com/blog/citations/remote-fingerprinting.html#writeback" title="writeback: remote-fingerprinting">0 writeback</a>) </p> <!-- <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/"> <rdf:Description rdf:about="http://lispmeister.com/blog/citations/remote-fingerprinting.html" dc:identifier="http://lispmeister.com/blog/citations/remote-fingerprinting.html" dc:title="Remote physical device fingerprinting" trackback:ping="http://lispmeister.com/blog/citations/remote-fingerprinting.trackback" /> </rdf:RDF> --> </div> <div class="entryend"></div> <div class="entry"></div> <p class="date">2005/08/12</p> <div class="entry"> <h3 class="title"><a id="c-e-shannon-paper">A Mathematical Theory of Communication</a></h3> <div class="story"> <a href="http://en.wikipedia.org/wiki/Claude_Shannon" title="Claude Elwood Shannon"><img width="264" height="246" src="http://lispmeister.com/images/claude_shannon.jpg" alt="C. E. Shannon" class="left" /></a> After some googling I found the <a href="/downloads/shannon1948.tar.gz" title="Shannon's 1948 paper">TeX source</a> for C. E. Shannon's 1948 paper <a href="/downloads/shannon1948.pdf" title="C. E. Shannon's 1948 paper">A Mathematical Theory of Communication</a>. </div> <p class="postinfo"> <a href="http://lispmeister.com/blog/citations" title="category: /citations">/citations</a> | <a href="http://lispmeister.com/blog/citations/c-e-shannon-paper.html" title="permanent link: c-e-shannon-paper">permanent link</a> (<a href="http://lispmeister.com/blog/citations/c-e-shannon-paper.html#writeback" title="writeback: c-e-shannon-paper">1 writeback</a>) </p> <!-- <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/"> <rdf:Description rdf:about="http://lispmeister.com/blog/citations/c-e-shannon-paper.html" dc:identifier="http://lispmeister.com/blog/citations/c-e-shannon-paper.html" dc:title="A Mathematical Theory of Communication" trackback:ping="http://lispmeister.com/blog/citations/c-e-shannon-paper.trackback" /> </rdf:RDF> --> </div> <div class="entryend"><div class="writeback"> <strong><Title></strong> - posted by <a href="http://www.romania.org/community/profile.php?mode=viewprofile&u=2741">Ahmed</a> <span class="meta">- 11/11/2007 08:04:14</span><br /> penis enlargement pill http://www.romania.org/community/profile.php?mode=viewprofile&u=2741 </div> </div> <div class="entry"></div> </div> <p id="footer"> <a href="http://lispmeister.com/blog/citations/index.html?page=2">Next »</a> <script language="JavaScript" src="http://www.gvisit.com/record.php?sid=147d645c978ab2bfc9bce312b99418bb" type="text/javascript"></script> </p> </body> </html>