In the mid-80s, the British TV show “Database” would broadcast software via audio over their end credits. Viewers could hold a mic up to the TV to capture it.
Random Walk Through A Novel
A test for #NaNoGenMo, or National Novel Generation Month, initiated by Darius Kazemi.
An existing text is loaded word-by-word, then organized into a 2d grid. Using a random start position in the grid, the “cursor” is moved up, down, left, or right and that word is added. The process is repeated up to 50k words. Random commas, periods, and paragraph breaks are also added along the way.
An excerpt, using “Tale of Two Cities” as a source text (the random walk is visualized above):
Jurys upon pay thousand one and one. Thousand were I than tried He tried than I were thousand seven, now were and than. I, were and than and were, thousand one. November before and were now turned now were now turned done to explain to. Tried than tried than better. Than and, before better before and were I to the to explain to when time.
More. Remarkable more remarkable of remarkable of lawwork no lawwork to do Dont. Do too Lord too Lord inquired of living in London in London in London, arisen to arisen and do to how. Known not known where up did seventyfive, stood seventyfive stood seventyfive did seventyfive stood up did up where business did seventyfive. Stood seventyfive stood had, not that not had stood again and Was, all unless the prisoners that had it had passing arts and thought of powers of thought been more knew was knew they knew. More slowly the slowly. The slowly nothing about the and the about nothing taken off about off taken, prisoner in off taken off That the. That. The about nothing about nothing taken off about the about nothing slowly. Nothing knew they been. They. That had it Some it had passing thought and powers of the slowly the infamy the of selfdeceit infamy selfdeceit of.
Another example, with repetition allowed (LOTR as source):
Help would help would help would judgement For help for help help for them, for who would judgement For For help For even even even even, the even it at looked and and, and again death death friends who who who in death out pocket out death out death death friends friends friends task easy easy an first an fine, deal his pocket his of his of of chosen and his deal his deal fine fine his first first his were him him were There There tracked tracked that find is. Begins to grip But as as far far as as But too too clear Making far far far as to as as out as task friends task friends who who for who who for them them for for Gollums out as.
Source code and texts here: https://github.com/jeffThompson/NaNoGenMo
“Dimension Assignment Panel”
Screenshot of “Dimension Assignment Panel” software – contains red/yellow skull at the top left.
Via: VCS Example
Gradient Compression
An experimental image compression: pixel blocks converted to gradients between darkest and lightest pixels in block.
Spiral Sorting
Sorting an image’s pixels spirally from left to right, outside to inside.
Seam Sorting
Sorting pixels along a middle “energy seam”, similar to how Photoshop’s “content-aware scaling” works, with additional glitchy goodness. Source images (top to bottom) are: an idyllic mountainscape, a crowd of people, the face of a weird looking man, a missile launch, and sheep on a mountain hill.
Custom Filters in Photoshop
Discovered today, quite by accident, that Photoshop has a “custom” filter module (Filters > Other > Custom…) – using kernel processing one can make edge detection, blur, and other simple image filters. Above is a directional blur that works similar to an all-over Gaussian blur but in just side-to-side.
For some details and examples, see Ian Albert’s “Custom Filters” post.
All The Words In Music
All possible words in the English language that can be formed by Western musical notes (A-G):
A: aa, ab, aba, abaca, abba, abbe, abed, accede, acceded, ace, aced, ad, adage, add, added, ae, aga, age, aged, agee
B: ba, baa, baaed, baba, babe, bacca, bad, bade, badge, baff, baffed, bag, baggage, bagged, be, bead, beaded, bed, bedad, bedded, bede, bee, beef, beefed, beg, begad, begged
C: cab, cabbage, cad, cade, cadee, cadge, cadged, caeca, cafe, caff, cage, caged, ceca, cede, ceded, cee
D: da, dab, dabbed, dace, dad, dae, daff, dag, dagaba, dagga, dagged, dead, deaf, deb, debag, debagged, decad, decade, decaff, dee, deed, deeded, def, deface, defaced, degage
E: ebb, ebbed, ecad, ecce, edge, edged, ef, eff, efface, effaced, effed, egad, egg, egged
F: fa, fab, facade, face, faced, fad, fade, faded, fadge, fadged, faff, faffed, fag, fagged, fed, fee, feed
G: gab, gabbed, gad, gadded, gade, gadge, gae, gaed, gaff, gaffe, gaffed, gag, gaga, gage, gaged, gagged, ged, gee, geed
Created using this word list (not comprehensive, but easy to find and free):
http://dreamsteep.com/projects/the-english-open-word-list.html
And with a rather simple Processing sketch:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 |
/* EVERY WORD FROM MUSICAL NOTES Jeff Thompson | 2012 | www.jeffreythompson.org A list of every word that contains letters from the musical notes (A,B,C,D,E,F,G) and not any of the others. Repeats allowed, as are ommissions. Source file is the English Open Word List: http://dreamsteep.com/projects/the-english-open-word-list.html */ boolean printWords = false; void setup() { String[] ignore = { "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z" }; boolean store; // read each file one by one // capital A (65) to capital G (72) in ASCII - no point in reading the other letters! for (int i=65; i<72; i++) { try { // variables to read the file String filename = char(i) + " Words.csv"; BufferedReader reader = createReader(filename); println(filename + "..."); PrintWriter writer = createWriter("words_" + char(i) + ".txt"); String word; // go through all lines while ( (word = reader.readLine ()) != null) { // reset variable for next word store = true; // check against blacklist of letters to ignore for (String s : ignore) { if (word.contains(s)) { store = false; } continue; // stop looking (faster though not necessary) } // if we've passed unscathed, store the word and continue if (store) { if (printWords) { println(word); } writer.println(word); } } // end read file while loop // close PrintWriter writer.flush(); writer.close(); } // end read file try catch (Exception e) { println("Error reading file: " + e); } } // end letter-file loop exit(); } |
Further Blobs > Drawing
Further version of the blob-tracking drawing software for my Digital Drawing class – goes into use tomorrow!
Image Tracking/Drawing
A few (not quite working) screenshots of a image tracking/drawing software I’m writing in Processing today for my Digital Drawing class.