March 15th, 2008
I co-chaired the group that organized J. Arthur Random’s 10th Birthday Party, for the 40th anniversary of the initial opening of my dorm, Random Hall, on February 29, 2008. The easiest contributions I have to show are my artistic attempts:
Shirt Designs: First Text (GIF and Visio); Second Text (GIF and Visio)
Map for Pins: GIF and Visio (and pin tags Visio)
Posted in Paper, Historical Resource, Communities, Other Group | No Comments »
July 15th, 2007
A blog meme system which can take an arbitrary corpus of questions and answer documents. It uses googling and word frequency comparisons to determine a result.
The system randomly selects a question, displaying it to the user. When the user clicks on an answer, the system googles the words in the chosen answer and in all other answers, collecting the google result pages. It then generates word histograms for each of the answer documents and compares these to word histograms for the google result pages. For each google-answer document-answer pair, each word gets an error value, calculated is the difference of the histograms counts for that word, divided by the maximum of the two counts (or 1 if the word only appears in one histogram). These error values are summed and divided by the total number of unique words, giving a “histogram match” value between 0 and 1. A running score for each answer document is then updated by adding the match value for the answer the user chose, and subtracting the average match value for the other answers.
As questions are answered, the user can see a “percent determined” value, which is a kind of geometric average of the fraction of questions answered (completion) and the fraction that the maximum-scored answer is over the total scores (confidence). The percent determined value is calculated as 1 - sqrt((1 - completion) * (1 - confidence)).
Each quiz (a wrapper on the meme system engine) specifies a number of display constants, a file of questions, a directory of answer documents, and the result page function. The result page function should display the results of the quiz (often performing some processing on the answer page to get out information), and usually includes an image and a certain number of Nth-place answers.
You can try out the book quiz, the rocky quiz, and the fetish quiz. Download the meme engine, and any of the books, rocky, and fetish wrappers for example usage (you’ll have to save the page to a file). Also grab the html generation functions for basic tags, form elements, and my curl wrappers.
Posted in Source Code, Project, Communities, Projecteers | No Comments »
May 31st, 2007
The following are my notes and exercises from various 6.001 classes I’ve taught:
Posted in Paper, General Resource, General Public, Education | No Comments »
April 27th, 2007
The idea is to use Paul Viola’s pattern-recognition pyramids with arbitrary metrics to form the data for a Markov chainer which could automatically generate music with different features and a coherent fluid structure.
Posted in Artificial Intelligence, Idea or Proposal, Unformed, Projecteers | No Comments »
April 25th, 2007
Fractal formed by successive infinite applications of Apollonius’s Circle problem (forming “kissing” circles within circles). Written as a Scheme procedure that returns parameterized function, taking an independent variable and returning a point (cons x y). See an image of the result.
Posted in Source Code, Mathematical Modeling, General Resource, General Public | No Comments »
April 19th, 2007
I have lots of scheme code for exemplifying different ideas for 6.001, Structure and Interpretation of Computer Programs. Here’re some.
- Data Abstraction examples (prep. notes): dataabs1.scm (2002-02-07)
- Decompiler examples: long and short (2002-04-10)
- Environment model exercises: envxpl.scm (2007-04-18)
- A simple example of continuations: cccexpl.scm (2007-04-20)
- Final Review Worksheet, Adding Macros to the Compiler: questions and answers (2002-05-15)
Posted in Source Code, General Public, Education, Catalogue | No Comments »
April 7th, 2007
I started making a generalized Sudoku puzzle creator, capable of generating puzzles of arbitrary (given) difficulty levels. The project isn’t complete, but it’s far enough along that someone more motivated could do interesting things with it.
Background: 6.001 had a Sudoku game helper project. Their initial code represents cells as lists of possible values, where “setting” a cell corresponds to giving it only one possible value. There are two “immediate” logical constraining conditions on the possible values in a cell: cells may not have values uniquely specified by other cells in their row, column, or region; and every value must be possible in each row, column, and region. These two conditions, applied repeatedly, will solve most Sudoku puzzles. My conception of “difficulty level” is exactly how many choices must be made that are not so constrained (where a value must be guessed, and then applying these methods recursively can determine if the value solves the puzzle or leads to a contradictory situation.
My code implements these two logical methods, generates Sudoku squares (it takes about 10 seconds), and can almost solve arbitrary-complexity Sudoku puzzles, returning the average difficulty rating (there’s some debugging needed, but the constituent functions could be useful without fixing my bugs). Download the base code (from the project), my “game” extensions, and the generation code.
Posted in Source Code, Mathematical Modeling, Project, Projecteers | No Comments »
January 16th, 2007
After seeing http://obby.wordpress.com/, I decided that blogs were a beautiful way to maintain my ever-changing collection of projects, resources, and interests. This is a rebirth of my http://www.mit.edu/~jrising/resources/ page, intended as a permanent repository of things that I’ve worked on that someone else might find useful, interesting, or inspiring.
Posted in Webpages, Life and Times, Project, General Public | No Comments »
January 2nd, 2007
A backup creator which randomly collects a specified amount of data from your hard drive, so that you can create a full backup in pieces, with several copies of a file over time, without ever needing to create many CD’s worth at once.
Currently generates a random CD worth of data, and an index file. A single java file.
Posted in Source Code, Project, General Public, Organization | No Comments »
September 8th, 2006
- Amelie: FIG, JPEG 1, JPEG 2
- Arsenic and Old Lace: FIG, JPEG 1, JPEG 2
- Dogma: HTML
- Dead Poets Society: HTML
- History of the World, Part I: FIG or HTML, JPEG 1, JPEG 2, GIF 1
- Labyrinth: FIG, GIF 1, GIF 2
- Mulholland Drive: FIG, JPEG 1, JPEG 2, JPEG 3, JPEG 4, JPEG 5, JPEG 6, JPEG 7, JPEG 8, JPEG 9, JPEG 10, JPEG 11, JPEG 12, JPEG 13, JPEG 14, JPEG 15
- Princess Bride: HTML
- Planet of the Apes: HTML
- Pleasantville: FIG, JPEG
- Real Genius: HTML
- Rocky Horror Picture Show: FIG, JPEG 1, JPEG 2, JPEG 3
- The Meaning of Life: FIG, JPEG
- Willow: HTML
Posted in Experimental Study Group, Paper, Communication, General Resource | No Comments »