Carter Sande @__cartr__ |

Co-author of Hello World! 2nd Edition

Things I've made



HexaGBA is a game similar to Super Hexagon, written to run on the Game Boy Advance. While modern computers and cell phones have special polygon-drawing hardware, the GBA does not, so I needed to do a lot of tricks to get it to look good and run at 60 FPS.

You can download the game here. See the README file for information on how to run it. You can also check out the prod on

LiveH2H-to-Slack Bridge

My team’s project for the LiveH2H Collaboration Hackathon was a LiveH2H-to-Slack bridge. It allows users to participate in LiveH2H video calls using a text-only interface by writing a live transcript of the call into the Slack channel and speaking chat messages with text-to-speech.

My main contribution to the project was grabbing the transcript by starting a headless Chrome instance, using the LiveH2H API to get a link to the call, and using the Chrome Remote Debugging API to connect to the call and intercept LiveH2H’s Web Socket messages. I worked with Sang Han, who handled the text-to-speech feature and helped with the Slack integration.

The project ended up winning the first prize. You can see a video of our pitch in 360 degrees on YouTube, but the first part of it is unfortunately cut off.

Originally posted on

A scholarship I'm applying to wants me to write about the way I see the world. I don't blame them -- optics is really interesting!

Originally posted on


This Homebrew tap allows you to install Qt4 (and various packages that depend on it) on macOS Sierra. You can install it like this:

brew tap cartr/qt4
brew tap-pin cartr/qt4
brew install qt

Feel free to submit an issue or pull request if you run into any problems or have any suggestions for improvements to the packages.

Please note: Qt4 is unsupported by its creators, so there are likely security/usability problems with it that will never be resolved. If you can, please consider migrating your projects to Qt5.

Originally posted on

Star Trek GO


This iOS game was created for my little sister’s birthday party. In it, you walk around a real-world location using your phone to look for items. (It’s not officially licensed or endorsed by the real Star Trek or anything.)

Since Location Services isn’t always accurate enough to do small-scale location, we fake it by using the device’s accelerometer to detect when the user is walking/running. Combined with a hard-coded timer, this ensures everyone takes roughly the same amount of time to collect each item and finish the game.

Originally posted on

Why did iOS 9 remove the ability to change checkmark colors with CSS?

In iOS 9, U+2714 HEAVY CHECK MARK is included in Apple’s set of emoji characters. Just like the other emojis, it’s drawn as a full-color bitmap instead of a single-color vector glyph, so you can’t change its color with CSS. (In fact, there’s no guarantee that the check mark will even be black. Other platforms draw it in a variety of different colors!)

To get iOS to draw the check mark as regular text that you can recolor, you need to use a U+FE0E VARIATION SELECTOR-15 character. If you put that variation selector character right after a ✔, iOS will use the regular text version (✔︎) instead of the emoji version (✔). OS X doesn’t have an emoji variant, so these look the same, but on iOS the variants look slightly different:

The regular text version and emoji version on iOS.

In HTML, you can add the character by putting a ︎ directly following your check marks.

Originally posted on

Fun fact: Canada has a national font! The Canadian government downloaded it for free off the Internet.… #CanadaDay

Originally posted on

Got a third-row seat to the keynote at #WWDC2016!

Originally posted on

Fun fact: Google Drive has a URL that runs SQL queries on spreadsheets. Here's all US states with O in name: #gafe…

Originally posted on

My team won the @AppLovin Apple TV Hackathon!

Originally posted on