"Fix My Code" uses the eponymous 2021 book as a launching off point to talk about internet history, the allocation of capital, and the artificial barriers created by traditional notions of intellectual property.
In 2004, Axe/Lynx (the deodorant brand) released an interactive advertisement that used then-new video features of the Flash platform. This was a year before YouTube, and the Internet went crazy about their new found ability to virtually tickle a woman lying on a bed. It fell off the Internet in 2009 and with the death of Flash you can't even (easily) see it on archive.org any more... so I recreated it for the modern web. [more inside]
I've been teaching and writing about data analysis and visualization using Python for a few years now, and an absence of teaching work during the events of this year has finally given me the time to put together a book. There are also articles about various aspects of data processing with the scientific Python stack (pandas/numpy/matplotlib/seaborn) and more to come.
GNU Autoconf is "a tool for producing configure scripts for building, installing and packaging software on computer systems". It's been around since 1991 and it's been neglected -- eight years since the last release. I've helped Zack Weinberg make a new beta release, 2.69b, on the way to a proper release of 2.70 in a few months. If you care about things like Makefiles, check this out and test it.
I wanted to better understand the COVID-19 situation, so I found some open data, wrote some programs to create bar charts and choropleth maps, open-sourced the code, and blogged about it. [more inside]
A Slovenian Memoir is a twitter bot that randomly generates bits of a travel memoir set in one of the loveliest places in the world. It's up and running, but I am always adding to it or tinkering with it (source code here} and if anyone has feedback or suggestions, I welcome them.
"The Art of Python" was a miniature arts festival on Friday, May 3rd, at PyCon North America 2019, focusing on narrative, performance, and visual art "that helps us share our emotionally charged experiences of programming (particularly in Python)." It featured 4 short plays, a song, and a video remix. I started and chaired the festival. Then I wrote up a retrospective with photos, discussing why I started "The Art of Python", what led up to it, and how I feel about its future. Since I cannot be one of the co-organizers for "The Art of Python" at PyCon North America in 2020, I’ve also prepared a HOWTO guide for people who want to do this sort of thing in the future. [more inside]
Publishes GitHub gists in a friendly article format, with a little help from Tufte CSS. Accepts Markdown, syntax-highlights code, renders math symbols beautifully. [more inside]
I used thousands of New Yorker cartoon contest caption submissions to classify about 100 cartoons into nineteen categories, and trained a neural network to generate new captions for each category. Some of them are kind of funny. [more inside]
At the PyGotham 2018 tech conference, Jason Owen and I presented "Python Grab Bag: A Set of Short Plays", inspired by the Neo-Futurists' show "The Infinite Wrench". The 40-minute video is up on YouTube and my blog post links to the script and slides, credits the crew and cast, deep-links to the specific timecodes for individual plays, and gives citations for the references we made. [more inside]
Good Spirits is a drink tracker for iOS. Ever since learning about the correlation between drinking and various kinds of cancer, I've been meticulous about logging and tracking every drink I consume. Good Spirits makes this process easy: just set a weekly limit, check in your drinks, and the app will let you know when you're in the danger zone. For the craft beer drinkers, you can automatically pull new check-ins from Untappd. Free and soon-to-be open source!
What does one do with a blog in 2018? If you're me you export the text, do a little cleanup, ingest it with NLP (Natural Language Processing) tool Markovify, and create random sentences based on your own writing. It's a little eerie to read words that seem like me but clearly were not assembled by me. It was fun to make. You can follow it on twitter @BloggingBot.
The side buttons on generic mice work really well for navigation in Windows... but not so much in macOS. By default they basically do nothing, and most software that claims to fix this problem (USB Overdrive, etc.) only binds the buttons to keyboard shortcuts with mixed results. While testing the Logitech MX Master, I noticed that unlike every other mouse I'd come across, its side buttons were acting in a suspiciously Windows-like manner on my Mac. (No blinking menu bars. No occasional destructive behavior. No mis-targeted navigation commands.) I decided to investigate this phenomenon in hopes of porting the behavior to all my other mice, and to make a long story short: it works! Really well! (Under GPL!)
A curated weekly newsletter/blog of mostly-tech links that are interesting, strange, surprising or funny. From the BGP Bitcoin theft in 2014 that started it to Kugelblitzes, hashmaps in Rust and licking Nintendo cartridges, the Weekly Weird is me dumping my browser tabs into an email just in time for lunchtime on Friday (EST). No politics unless the underlying story is really compelling. Subscribe here.
A free (GPL) real-time-strategy/programming game where you must escape from a hostile computer system. A screenshot; the trailer (youtube); some more gameplay (also youtube). For Windows (the executable is available from the github release page at the main link) and can also be built on any system supported by Allegro (Linux etc.). [more inside]
I don't have much of a background in programming, but I do have a bit of one in libraries. This was my final paper for a graduate course from last semester. I'm curious to hear from other people in the library and programming fields about the viability of the idea. Is it useful, feasible, doable? The basic idea is to automatically attach search terms to library items that end up being used because of those search terms. I'd love to hear what you think!
Monolog is an interactive diary bot that prompts you with interesting questions, which it chooses based on the topics you write about. [more inside]
Wired thought they would rile people up by ranking Star Trek characters. But, they just provided a list. No links with context or further info. So I've done that. Mainly I wanted to fiddle with a heroku app and learn Bootstrap. Please enjoy my really cruddy looking "app." I want to continue to work on it until it looks nice. Most of the links work. I may have missed one or two. It's an ongoing journey.
I code up lots of odd and questionably useful computer programs, and I decided to start a blog to document some of my favorites as I put them up on github. In the month that I've been working on the site, I've posted around 14,000 words and five repositories. [more inside]
An update on what we've been up to at The Media Show, including an interview with the head of punk label Kill Rock Stars and arguing with a puppet version of Richard Stallman. [more inside]
a student-made painting app in the tradition of Kid Pix: one that embraces chaos, randomness and amateurism instead of pixel perfection. All brushes in this app were created by students at the School of the Art Institute of Chicago in the 'New Media Crash Course', Spring 2016 (don't worry, not really NSFW) [more inside]
A twitter bot that uses machine learning to define invented words, posting truncated definitions on Twitter and complete ones on Tumblr. Tweet @lexiconjure a made-up word, and it'll define it for you. [more inside]
Neuralsnap generates an image caption using a model I trained (convolutional and recurrent neural networks), then uses another character-level recurrent neural net that I trained on ~40 MB of poetry to expand the caption into a poem. (In this example, generated from a Rothko painting, the red text is the direct image caption, and the rest is the poetic expansion.) [more inside]
In a deplorable lapse of judgement, I decided that I would be the person to fix the sorry state of online content writing, where sites currently either use crude HTML or Markdown input fields, or infuriating WYSIWYG components. Seven months later, there is ProseMirror, an alpha-stage piece of software that might just grow into the editor I want the web to use. It even does collaborative editing because some problems are just hard to resist. [more inside]
I did a talk at the Develop Denver 2015 conference on developers building automation systems (robots) to replace themselves. This is a video of the talk, minus the intro. [more inside]
Calvin and Markov digests Calvin and Hobbes strips and generates endless new comics with random, semi-coherent dialogue using Markov chains. Here's some details about how I built it. [more inside]
My own humble contribution to the learn-to-program literature.
Play an 80s synth in your browser with 106.js, a MIDI-enabled emulation of the Roland Juno-106 synthesizer. Chrome/Desktop only. Github repo here.
A sampling of log statements as they get pushed to Github (a site that hosts open source code). Logs usually contain human-readable messages that are used by programmers to give themselves an idea of what's going on in the case that their software is having problems or behaving unexpectedly.
As part of Open Data Day DC, I began the Books for DC (aka 'booksfordc') project with the goal of increasing user engagement with the DC Public Library's many wonderful resources. Last month, I wrote a web scraper that publishes a Twitter feed of new additions to the DCPL book catalog. And I just released a Chrome browser extension that lets you know what books and ebooks are available at the DCPL when browsing Amazon, Goodreads, or Barnes & Noble. [more inside]
esoteric.codes is my blog about esolangs (esoteric programming languages), aimed at a less technical audience. Esolangs are created by programmers at play, challenging conventions of coding, looking at how we communicate with the machine, and indulging the strangest what-if scenarios in code. The blog looks at the ideas behind these languages and explores connections to code art and conceptual practices -- but it is also a fanzine to my favorite languages. It features interviews with the original designers (recently: Ben Olmsead of Malbolge, coming up soon David Morgan-Mar of Piet and Whenever) alongside posts about common themes between languages (e.g. languages that produce no output). It was recently awarded the 2014 Arts Writers Grant.
Endless Jingling: an elf singing randomly generated holiday music, forever and ever. Reload for a new combination of carols. Spiff up and/or ruin holiday parties as needed. [more inside]
Tweeting MetaFilter post deletion reasons at @mefideleted to celebrate the wise and gentle hand of moderation reaching from the heart to the edge of our community. [more inside]
Opinion polls are all well and good, but they don't give you much of an idea of what might actually happen in an election (particularly in a multi-party democracy like the UK). Electobot aims to solve that by running thousands of simulated elections in order to work out what might happen if the election were run tomorrow with the polls as they are. In addition to running the simulations, I've also been blogging the results at Electobot: The Blog. [more inside]
I'm organizing a code poetry slam in New York City on November 14. Submissions are now open. Judges, special guests, etc. to be announced. Stay tuned. [more inside]
Clojure demonstration of authenticating and batch uploading to Amazon Web Services' Simple Storage Service. [more inside]
I work for Mozilla as a web browser developer. I've found that it's hard to learn the inner workings of a browser, so I started building a “toy” HTML/CSS rendering engine designed to be easy to understand and modify. This is the first in a series of articles that will explain the code I wrote, and also walk you through the process of writing your own toy rendering engine from scratch.
SliderBuilder is an interactive web-based WYSIWYG editor for creating slideshows, content sliders, and carousels for a website or blog. You manipulate slides, layers, images, and text through a web interface, then either generate HTML code to paste into your site or publish your slider at sliderbuilder.com. [more inside]
Avail is a new and ambitious programming language - which, for the record, I did not build. I did, however, help with the extensive and impressive documentation on the website. I also ported a text-adventure-style game, "The Ship of Stories" to Avail, and it is included with the standard download as an example program to play with! Considering that I'm not a programmer, this is one of the most interesting things about Avail, to me. It was trivial for me to do this, and I find that the code itself is amazingly readable.
Data visualizations ported from Processing to Clojure. [more inside]
Before you start programming, you might only know you're supposed to learn CODING!, but you don't even know what that means. You don't know there's HTML and Ruby and C++ and D3 and a million other things, just that there's a big black box called CODING! and you're supposed to break into it somehow. How Do You Code? asks people from all walks of life to explain how they code and share the tools they use, so maybe everyone else can get a leg up.
A course in programming in Python for literate non-programmers, offered in Brooklyn, NY. [more inside]
A searchable list of Boston-area startup companies, sortable by if hiring, industry, neighborhood, and more. [more inside]
A quick weekend project intended to stretch my design/marketing skills. A printable quick reference sheet for the Grails web framework.
ManyLittleApps aggregates seven (and counting) web apps for website design, graphics design, and wordplay. [more inside]
I was introduced to Oblique Strategies here on MeFi, and the cryptic collection of aphorisms by Peter Schmidt and Brian Eno has been one of my favorite creative tools ever since. Lately, I've done most of my creating with a text editor and terminal, so I made a similar tool skewed towards programmers (but hopefully useful to problem solvers of all sorts). It includes a tiny JSON API and a command line interface. [more inside]
A general-purpose dataflow programming language based on Python, written in Python [more inside]
Page: 1 2