Syllabus & Calendar (Surge XT, Dexed, Ardour/LMMS, Stochas)
| Phase | Goal | Success criterion | Open‑source toolchain |
|---|
| #!/usr/bin/perl | |
| while (<>) { | |
| s/'/''/g; | |
| /^([^\s]+)\s*([^\s]+)\s*(.+)\s+\.\s*$/; | |
| my $s = $1; | |
| my $p = $2; | |
| my $o = $3; | |
| $s=~s/[<>]//g; | |
| $p=~s/[<>]//g; |
| import argparse | |
| from math import ceil | |
| from more_itertools import powerset | |
| from ordered_set import OrderedSet | |
| """ | |
| $ pip install more_itertools ordered_set | |
| $ python spellingbee.py RACFKOT -h | |
| usage: spellingbee.py [-h] [--words WORDS] CHARACTERS |
I hereby claim:
To claim this, I am signing this object:
| #!/bin/bash | |
| # | |
| # A script that takes a Twitter data archive, which is produced as a | |
| # set of JavaScript files (different from the regular archive, which | |
| # is CSV and HTML), and converts the `tweet.js` file, which contains | |
| # all of the tweets, into tractable JSON, one tweet per line. It then | |
| # inserts /that/ into a SQLite3 database, and extracts a simple | |
| # relational table of tweets from the JSON. Finally, it runs datasette | |
| # on the resulting database to allow you to explore. |
| Sometimes there's a terrible penalty for telling the truth. | |
| —The Great Lie (1941) | |
| Sometimes even Cupid needs a little help! | |
| —The Model and the Marriage Broker (1951) | |
| Sometimes any man can be a giant . . . | |
| —Giant (1956) | |
| Sometimes murder is just a way to pass the time. |
| #!/usr/bin/perl | |
| # Copyright (c) 2015, Paul Ford, [email protected] | |
| # All rights reserved. | |
| # | |
| # Redistribution and use in source and binary forms, with or without | |
| # modification, are permitted provided that the following conditions | |
| # are met: | |
| # | |
| # 1. Redistributions of source code must retain the above copyright |
| #!/bin/bash | |
| # | |
| # _ _ __ | |
| # __ _ __ _ _ __| |__ (_)/ _|_ _ | |
| # / _` |/ _` | '__| '_ \| | |_| | | | | |
| #| (_| | (_| | | | |_) | | _| |_| | | |
| # \__, |\__,_|_| |_.__/|_|_| \__, | | |
| # |___/ |___/ | |
| # | |
| # |
| /* | |
| actually.js | |
| _ _ _ | |
| __ _ __ _ __ _ __ _ ___| |_ _ _ __ _| | |_ _ | |
| / _` |/ _` |/ _` |/ _` |/ __| __| | | |/ _` | | | | | | | |
| | (_| | (_| | (_| | (_| | (__| |_| |_| | (_| | | | |_| |_ | |
| \__,_|\__,_|\__,_|\__,_|\___|\__|\__,_|\__,_|_|_|\__, ( ) | |
| |___/|/ | |
| */ |
| ;; simplest fold definition | |
| (define (fold f init l) | |
| (if (null? l) init (fold f (f init (car l)) (cdr l)))) | |
| ;; by this time you are almost certainly comfortable with signatures like: | |
| ;; Int -> Int | |
| (fold + 0 '[1 2 3 4 5]) | |
| ;; => 15 |