Sometimes I consider myself a fisherman. Computer programs and ideas are the hooks, rods, and reels. Computer pictures are the trophies and delicious meals. A fisherman does not always know what the waters will yield… Often the specific catch is a surprise.
2nd Grade Logo Workbook
In 2nd grade, I participated in an after school mentoring program and learned some Logo. I found this gem recently, a workbook that I filled out as I wrote code. I really like the mix of printed page, code, and hand-drawn… a lot like my work now, actually.
Here’s the full workbook, if you’re interested.
“Float Forever” Neon
Three New Twitter Bots
Yesterday I released three Twitter bots into the world:
- @wouldratherbot posts randomized “would you rather” questions, such as “Would you rather etch a hat or edit an acceptance?” and “Would you rather standardize an appellate or reject a counter?” – code for the bot here
- @randomchordbot generates all 40,920 chords in the first 5 frets of the guitar, one per hour (see an example at the top) – code for the bot here
- @artassignbot creates randomized art assignments and due dates anywhere between 10 seconds and 10 years from today, for example “Create a flipbook examining your relationship to food, due on Sat, Nov 22, 2014” and “Construct an etching examining the history of memory, due in 36 seconds” – code for the bot here
Punch Card Stacks
Punch cards, divided into sections (via Wikipedia user Mehul Panchal).
Dark Theme For Processing 2.0
A dark Processing theme for 2.0, available for download on Github.
Building Your Own Tools
“We write all of our own tools, no matter what project we’re building. Pretty much anything that we’re doing requires some sort of design tool that didn’t exist before. In fact, the design tools that we write to do the projects that we’re doing are a sort of product in and of themselves. I think in reality, today, if you use the same tools as everyone else, you kind of build the same products. If you write your own tools, you can sort of see new things, design new things.”
Saul Griffith, Wired magazine
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(); } |
Programmer’s Switch
Following an interesting comment on the NYC Resistor blog, the above is a “programmer’s switch” for a 1984 Macintosh. The plastic piece is inserted into the air vents in the side of the computer to make hitting the interrupt and reset switches easier, both used for debugging code.
Via: eBay