RSSAmplifier

Blog

Colin McMillen's Blog

mcmillen.devRSS feed ↗11 posts

Latest posts

Japan 2023 Photos

Japan 2023 Photos Posted 2023-11-08. I took a trip to Japan in September & October 2023 along with 7 friends. The trip was over a month long and I walked over a half-million steps. Here’s some links to all the photos I took on that trip! More details (and probably a longer blog post) to come later… Tokyo September 23 : arrival in Narita & Okubo. September 24 : Shinjuku, Yoyogi Park,…

Goodbye Twitter, Hello Blog!

Goodbye Twitter, Hello Blog! Posted 2022-11-07. It’s quickly become clear that the acquisition of Twitter by Elon Musk means the end of the site as I’ve known it since 2008. Instead I’m going to collect all the stuff I would have tweeted about & post it to this blog roughly once a week. If you have an RSS reader you can follow along there . I’ve also created a subreddit…

Downvotes & Dislikes Considered Harmful

Downvotes & Dislikes Considered Harmful Posted 2021-07-21. If you’re letting users rank content, you probably don’t need and don’t want downvotes . Here’s why. (This post inspired by news that Twitter is considering adding “Dislikes” to Tweets .) Background In my past life at Google, I was responsible for co-creating Memegen , a large & influential…

A new year & a sneaky new project

A new year & a sneaky new project Posted 2020-02-09. I can’t believe it’s here so quickly, but: today marks a year since my last day at Google. That seemed like a good occasion to dust off this newsletter & let you know what I’ve been up to: making a videogame! I’m working on a stealth-based 2D platformer where you don’t have to kill anyone unless you want to.…

My first paper in 10 years?!

My first paper in 10 years?! Posted 2019-04-03. It’s been nearly two months since my last day at Google, so I guess I should finally make use of this newsletter :) I wrote a paper which was published on April 1st as part of SIGBOVIK 2019: “93% of Paint Splatters are Valid Perl Programs”. In this paper, I answer a long-standing open problem in the programming languages community:…

93% of Paint Splatters are Valid Perl Programs

93% of Paint Splatters are Valid Perl Programs Posted 2019-04-01. TLDR: read the paper and view the gallery of pretty Perl programs . In this paper, we aim to answer a long-standing open problem in the programming languages community: is it possible to smear paint on the wall without creating valid Perl? We answer this question in the affirmative: it is possible to smear paint on the wall without…

Vim Tips

Vim Tips Posted 2007-08-07. Here’s some links about learning/mastering vim. Why use vim? The vi input model - laptop keyboards suck Why, oh WHY, do those nutheads use vi? Tutorials Graphical vim cheat sheet and tutorial — PDF version

Emacs Tips

Emacs Tips Posted 2007-05-22, updated 2021-07-01. These are some emacs keybindings (and other functions) that I once found useful. I’ve mostly used Sublime Text for the last few years, however. Editing C-[SPC] : set mark C-x C-x : exchange point and mark C-w : kill (AKA “cut”) M-w : kill-ring-save (AKA “copy”) C-y : yank (AKA “paste”) M-h : Put region…

Gnokii Tips

Gnokii Tips Posted 2007-05-22, updated 2021-07-01. I own a Nokia 6102i phone (provided by Cingular). gnokii is a Linux program that lets me interface with the phone. Here are some recipes: File I/O gnokii --getfilelist "A:\\predefgallery\\predeftones\\predefringtones\\*" gnokii --putfile WiiSports.mp3 "A:\\predefgallery\\predeftones\\predefringtones\\WiiSports.mp3" Ring Tones Voice mail picks up…

LaTeX Tips

LaTeX Tips Posted 2007-05-22; updated 2021-07-01. Note that these instructions are over a decade old. Some documentation may be out of date. :) Embedding fonts in PDFs To check whether fonts are embedded, use pdffonts , which is included with xpdf . pdffonts gives output that looks like this: $ pdffonts paper.pdf name type emb sub uni object ID ------------------------------------ ------------ ---…

Creating robot behaviors with Python generators

Creating robot behaviors with Python generators Posted 2007-05-02. Generators are a powerful feature of the Python programming language. In a nutshell, generators let you write a function that behaves like an iterator. The standard approach to programming robot behaviors is based on state machines. However, robotics code is full of special cases, so a complex behavior will typically end up with a…