For side project #4323194 (implement a chrome extension that looks like this: 👂 and turns red when someone mentions you on GitHub), I needed to implement oauth from AppEngine to GitHub. As I’ve mentioned before, oauth is my nemesis, but for this project there didn’t seem to be a great way around it. It actuallyContinue reading “Using secrets with Google AppEngine”
Category Archives: Programming
That’s senior programmer to you, buddy
After about a decade of professional programming, I have finally gotten promoted. For the first time. This is a weird industry. Regardless, I am now a “Senior Software Engineer.” Woo! Thinking about it, this has been a goal of mine for a long time. Now that I’ve achieved it, I’m not sure what’s next. “…andContinue reading “That’s senior programmer to you, buddy”
Pain-free OAuth with AppEngine
I do a lot of side projects (or at least start them) and implementing authentication is always like chewing on razor blades. I started another project recently using AppEngine and, bracing myself with a lot of caffeine and “suck it up, princess” attitude, I started doing “oauth appengine” searches. After digging through some documentation, IContinue reading “Pain-free OAuth with AppEngine”
Makin’ Mazes
After my previous post on the subtleties of CSS subpixel rendering, Andrew pointed out that readers might be more interested in how to dynamically generate mazes. It sounded crazy, but here we are. First of all, if you’re interested in this stuff, there’s a great slideshow on maze generation here and more resources on theContinue reading “Makin’ Mazes”
Fixing CSS antialiasing on Chrome
I’ve been working on creating mazes with LimeJs and I ran into a problem: As you can see, this maze looks like it was rendered by a dying printer: there are horizontal white lines all over the place. I was going crazy trying to track down the cause: the squares were perfectly sized/placed and theContinue reading “Fixing CSS antialiasing on Chrome”
Smart Pointers and Heirloom Underpants
I’ve seen a lot of descriptions of scoped_ptr and unique_ptr, but often they don’t give clear examples of when to use one vs. the other. Hopefully this will clear things up. unique_ptr is like an heirloom ring: you might purchase it, have it all your life, and end up being buried with it. For example,Continue reading “Smart Pointers and Heirloom Underpants”
Upcoming Hackathons
A couple of interesting hackathons are coming up: October 4-7th: Ludum Dare October Challenge – The challenge is to monetize a game. Win the challenge by earning $1. You can monetize a game you’ve already made (or make a new one). October 11-12th: Tizen Hack, an in-person jam in NYC for making an app forContinue reading “Upcoming Hackathons”
Hello, Lumpy World!
Overview: how to generate 3D terrain for iOS. This assumes basic knowledge of iOS programming (how to create a project and add files to it.) I’ve been working on an iOS app that uses cocos3d and Robert’s hill-generating algorithm, which make nice hills that remind me of early Mario levels. For example: You can downloadContinue reading “Hello, Lumpy World!”
Programming a State Machine
My attempts at game programming usually turn into impenetrable spaghetti code: “If the player walks through this door, then have him talk to the princess, unless he’s killed a guard, in which case the guards attack, or if he comes out of the secret passage…” The game I’m working on now is pretty simple, butContinue reading “Programming a State Machine”
––thursday #7: git-new-workdir
Often I’ll fix a bug (call it “bug A”), kick off some tests, and then get stuck. I’d like to start working on bug B, but I can’t because the tests are running and I don’t want to change the repo while they’re going. Luckily, there’s a git tool for that: git-new-workdir. It basically createsContinue reading “––thursday #7: git-new-workdir”