teaching machines

Eclipse Shortcuts

Eclipse has a lot of keyboard shortcuts and I know hardly any of them. But my students still think I’m an ace. These are the ones I do use on a regular basis, shared so that my students can be aces: Automatically add import statements to classes that live in faraway packages with Control-Shift-O or […]

Formatting Java in Eclipse

The style that the Eclipse auto-formatter imposes on my Java code is 99% excellent. However, whenever I set up a new workspace, that 1% of style I disagree with eats away at my soul. I document the few things that I do change here because it’s easier to set them anew then try to migrate […]

Checking Slack Participation with Ruby and OAuth2

A couple of years ago, a student asked me if I thought MOOCs were going to make universities obsolete. I said no, because in my experience of taking MOOCs, one thing that didn’t scale was the number of people answering questions in the forums. No matter the class size, there seemed to be about 5-10 […]

Fitting by Rotating

Last spring I was talking about media queries with some students, and we joked around about just rotating any structures that were too wide to fit in the viewport. As silly as this idea is, I wondered how easy it would be to do with just CSS. First, here’s a div with some text that […]


Every school year I forward to The Summer of Really Learning 3D Modeling. Unfortunately, it keeps getting canceled—usually by equally good things. But I really can’t let September come around again and not have made any 3D models in a traditional modeling program. So, I watched an old video that I had saved and made […]

Hosting a Git Repository

When I first started learning Git, I was unimpressed by the notion of distributed version control. I felt and still feel that a central server hosting a project is important for the projects I work on, and I think the popularity of GitHub, Bitbucket, and Gitlab confirms my belief. With these great services around acting […]

Unity + Git + GitHub Desktop

In this class I ask you to host your games on GitHub. This will allow you to share files and minimize damage when something breaks in your project. Follow the setup instructions below to create a remote repository on GitHub and tie it to your local Unity project. Remote Repository on GitHub We first need […]

Making a Bitbucket Repository Private

Students in my classes submit their work using a private Bitbucket repository. Usually the repository is made private during the forking process, but sometimes folks miss this step. Following are the steps to make a repository private after it has been forked. Visit your repository’s page on Bitbucket’s website. Go to Settings / Repository details. […]

Picturing Git

It took me a few years of using Git before I started to understand what I was doing. In the hopes that I can shorten that time for you, I share here a description of the mental model that I’ve developed of how it works in the classes that I teach. One-time Setup Before the […]

Vim Autotemplates

When I create a brand new file in Vim, I automatically insert template text into it. For Java, the template looks like this: public class CLASS { CURSOR } The C template looks like this: #include <stdio.h> #include <stdlib.h> int main(int argc, char **argv) { CURSOR return 0; } The HTML template looks like this: […]

1 2 3