mit page 6 - Dave's Blog

Search
My timeline on Mastodon

Richard Feynman and the Connection Machine

2008 May 30, 10:52'"Richard Feynman reporting for duty. OK, boss, what's my assignment?" The assembled group of not-quite-graduated MIT students was astounded.... So we sent him out to buy some office supplies.'PermalinkCommentshistory richard-feynman programming computer article essay technology physics science via:swannman

Smithsonian Magazine | Arts & Culture | Showcasing Shams

2008 May 19, 11:46Museum of fraudulent art. "Instead of being destroyed, as they were in the past, the fraudulent pieces will live to see another day in the Museum of Fakes, established in 1991 as part of the University of Salerno's Center for the Study of Forgery."PermalinkCommentsart museum fraud via:boingboing

5 Cats that Look Like Wilford Brimley | Gato Island

2008 May 2, 10:52Remind me of my post on a cat that looks like Thom Yorke.PermalinkCommentscat humor photo lolcat via:boingboing wilford-brimley diabetes

GPS Jamming Circumvention Scheme

2008 Apr 22, 4:34Anti-anti GPS. Wait, they need a second positioning scheme to make this work? Lame. "A first signal is transmitted from a portable unit including the receiver to a component of a second positioning system that is different from the GPS. A second signal isPermalinkCommentsgps gps-jamming patent

Gmail: Google's approach to email

2008 Apr 1, 1:50New customtime feature of gmail allows you to change the mail timestamp: "Is there a limit to how far back I can send email? Yes. You'll only be able to send email back until April 1, 2004, the day we launched Gmail."PermalinkCommentshumor gmail google email aprilfools

Jamendo : Home

2008 Mar 5, 3:42Jamendo has tons of Creative Commons music. "On jamendo, artists allow everyone to download and share their music. It's free, legal and unlimited."PermalinkCommentsjamendo music cc download

URI Addressable Text Adventure Games

2008 Mar 2, 9:18

This post is about creating a server side z-code interpreter that represents game progress in the URI. Try it with the game Lost Pig.

I enjoy working on URIs and have the mug to prove it. Along those lines I've combined thoughts on URIs with interactive fiction. I have a limited amount of experience with Inform which generates Z-Code so I'll focus on pieces written in that. Of course we can already have URIs identifying the Z-Code files themselves, but I want URIs to identify my place in a piece of interactive fiction. The proper way to do this would be to give Z-Code its own mimetype and associate with that mimetype the format of a fragment that would contain the save state of user's interactive fiction session. A user would install a browser plugin that would generate URIs containing the appropriate fragment while you play the IF piece and be able to load URIs identifying Z-Code files and load the save state that appears in the fragment.

But all of that would be a lot of work, so I made a server side version that approximates this. On the Web Frotz Interpreter page, enter the URI of a Z-Code file to start a game. Enter your commands into the input text box at the bottom and you get a new URI after every command. For example, here's the beginning of Zork. I'm running a slightly modified version of the Unix version of Frotz. Baf's Guide to the IF Archive has lists of IF games to try out.

There are two issues with this thought, the first being the security issues with running arbitrary z-code and the second is the practical URI length limit of about 2K in IE. From the Z-Code standard and the Frotz source it looks like 'save' and 'restore' are the only commands that could do anything interesting outside of the Z-Code virtual machine. As for the length-limit on URIs I'm not sure that much can be done about that. I'm using a base64 encoded copy of the compressed input stream in the URI now. Switching to the actual save state might be smaller after enough user input.

PermalinkCommentszork frotz interactive-fiction zcode if technical uri fragment

The Anonymity Experiment | Popular Science

2008 Feb 26, 11:28An article about a fellows attempt to be anonymous in his daily life.PermalinkCommentsprivacy article read popular-science

Cute Things Unknowingly Imitating Real Things

2008 Jan 22, 11:24

I saw this odd looking cute cat and it reminded me of Thom Yorke. On a related note also see the myth buster lol-cat.


Also I think the whistling puppy (~0:05) and hungry lumas transforming on Super Mario Galaxy (~0:15) sound very similar.

PermalinkCommentsluma super-mario-galaxy cute puppy cat lolcat humor

IPv6 Roundup: Address Syntax on Windows

2008 Jan 9, 11:34

IPv6 address syntax consists of 8 groupings of colon delimited 16-bit hex values making up the 128-bit address. An optional double colon can replace any consecutive sequence of 0 valued hex values. For example the following is a valid IPv6 address: fe80::2c02:db79

Some IPv6 addresses aren't global and in those cases need a scope ID to describe their context. These get a '%' followed by the scope ID. For example the previous example with a scope ID of '8' would be: fe80::2c02:db79%8

IPv6 addresses in URIs may appear in the host section of a URI as long as they're enclosed by square brackets. For example: http://[fe80::2c02:db79]/. The RFC explicitly notes that there isn't a way to add a scope ID to the IPv6 address in a URI. However a draft document describes adding scope IDs to IPv6 addresses in URIs. The draft document uses the IPvFuture production from the URI RFC with a 'v1' to add a new hostname syntax and a '+' instead of a '%' for delimiting the scope id. For example: http://[v1.fe80::2c02:db79+8]/. However, this is still a draft document, not a final standard, and I don't know of any system that works this way.

In Windows XPSP2 the IPv6 stack is available but disabled by default. To enable the IPv6 stack, at a command prompt run 'netsh interface ipv6 install'. In Vista IPv6 is the on by default and cannot be turned off, while the IPv4 stack is optional and may be turned off by a command similar to the previous.

Once you have IPv6 on in your OS you can turn on IPv6 for IIS6 or just use IIS7. The address ::1 refers to the local machine.

In some places in Windows like UNC paths, IPv6 addresses aren't allowed. In those cases you can use a Vista DNS IPv6 hack that lives in the OS name resolution stack that transforms particularly crafted names into IPv6 addresses. Take your IPv6 address, replace the ':'s with '-'s and the '%' with an 's' and then append '.ipv6-literal.net' to the end. For example: fe80--2c02-db79s8.ipv6-literal.net. That name will resolve to the same example I've been using in Vista. This transformation occurs inside the system's local name resolution stack so no DNS servers are involved, although Microsoft does own the ipv6-literal.net domain name.

MSDN describes IPv6 addresses in URIs in Windows and I've described IPv6 addresses in URIs in IE7. File URIs in IE7 don't support IPv6 addresses. If you want to put a scope ID in a URI in IE7 you use a '%25' to delimit the scope ID and due to a bug you must have at least two digits in your scope ID. So, to take the previous example: http://[fe80::2c02:db79%2508]/. Note that its 08 rather than just 8.

PermalinkCommentsroundup ip windows ipv6 technical microsoft boring syntax

Language Log: The unkindness of strangers

2007 Dec 27, 3:36Mark Liberman suggests the paper on which recent articles like "Humor Develops From Aggression Caused By Male Hormones, Professor Says" was a joke. The paper is based on determitologist's notes on reactions to his unicycle riding.PermalinkCommentsarticle blog language language-log mark-liberman sam-shuster science unicycle humor bad-science

Main Page - SIMILE

2007 Dec 4, 8:20Various interesting semantic web related projects.PermalinkCommentsajax semanticweb simile rdf mit

SIMILE | Timeplot

2007 Dec 3, 10:41An AJAX library for plotting timepoints on a graph.PermalinkCommentsajax graph javascript mit open-source opensource html datetime timeline time api chart

Undercover restorers fix Paris landmark's clock | Art, Architecture & Design | Guardian Unlimited Arts

2007 Nov 26, 12:32Guerrilla clockmakers fix famous Paris clock. Andrew says: "It seems a team of clockmakers broke into the Pantheon in Paris in September 2005 and spent a year fixing the historic and neglected clock, which had been abandoned by the authorities. They werePermalinkCommentsclock culture history humor paris france via:boingboing cultural-disobediance

RFC 2550 Y10K and Beyond

2007 Nov 21, 3:54An April Fools RFC about the Y10K problem. FTA: "Y10K compliant programs MAY choose to limit the range of dates they support to those consistent with the expected life of the universe. Y10K compliant systems MUST accept Y10K dates from 10 ** 12 years inPermalinkCommentshumor date reference rfc time y2k y10k future internet

Encrypted E-Mail Company Hushmail Spills to Feds

2007 Nov 15, 12:27Article on encrypted email company Hushmail giving email up to The Man. Includes interview with Hushmail CTO Brian Smith.PermalinkCommentsencryption article cryptography crypto anonymity anonymous email government privacy webmail mail legal security

SMBlog -- 12 November 2007

2007 Nov 14, 2:56News on recent privacy related matters with social websites and Donald Kerr's redefinition of privacy. Lots of good links.PermalinkCommentsprivacy anonymity blog post article government politics donald-kerr steven-bellovin

Tiny Showcase

2007 Sep 4, 1:30Tiny showcase features very limited run art.PermalinkCommentsart shopping purchase blog archive design via:swannman

Video Woes

2007 Aug 15, 3:30I've been experimenting with adding video to my webpage. I tried to embed video in my livejournal blog posts previously however ran into some issues with that. When creating the LJ post I added an tag but when I submit that tags turned into an PermalinkCommentstechnical youtube video personal livejournal homepage

Which which - Batch File Hackiness

2007 Aug 9, 5:41To satisfy my hands which have already learned to type *nix commands I like to install Win32 versions of common GNU utilities. Unfortunately, the which command is a rather literal port and requires you to enter the entire name of the command for which you're looking. That is 'which which' won't find itself but 'which which.exe' will. This makes this almost useless for me so I thought to write my own as a batch file. I had learned about a few goodies available in cmd.exe that I thought would make this an easy task. It turned out to be more difficult than I thought.

for /F "usebackq tokens=*" %%a in ( `"echo %PATH:;=& echo %"` ) do (
    for /F "usebackq tokens=*" %%b in ( `"echo %PATHEXT:;=& echo %"` ) do (
        if exist "%%a"\%1%%b (
            for  %%c in ( "%%a"\%1%%b ) do (
                echo %%~fc
            )
        )
    )
)
The environment variables PATH and PATHEXT hold the list of paths to search through to find commands, and the extensions of files that should be run as commands respectively. The 'for /F "usebackq tokens=*" %%a in (...) do (...)' runs the 'do' portion with %%a sequentially taking on the value of every line in the 'in' portion. That's nice, but PATH and PATHEXT don't have their elements on different lines and I don't know of a way to escape a newline character to appear in a batch file. In order to get the PATH and PATHEXT's elements onto different lines I used the %ENV:a=b% syntax which replaces occurrences of a with b in the value of ENV. I replaced the ';' delimiter with the text '& echo ' which means %PATHEXT:;=& echo% evaluates to something like "echo .COM& echo .EXE& echo .BAT& ...". I have to put the whole expression in double quotes in order to escape the '&' for appearing in the batch file. The usebackq and the backwards quotes means that the backquoted string should be replaced with the output of the execution of its content. So in that fashion I'm able to get each element of the env. variable onto new lines. The rest is pretty straight forward.

Also, it supports wildcards:
C:\Users\davris>which.cmd *hi*
C:\Windows\System32\GRAPHICS.COM
C:\Windows\System32\SearchIndexer.exe
D:\bin\which.exe
D:\bin\which.cmd
PermalinkCommentswhich cmd technical batch for
Older EntriesNewer Entries Creative Commons License Some rights reserved.