Carter Sande @__cartr__ |

Co-author of Hello World! 2nd Edition

Things I've made

I converted the pixel fonts from #Undertale so you can use them on your website or PC:…

Originally posted on

The publishers of the German edition of the book put an amazingly accurate copy of my 2011 blog design on the CD:

Originally posted on

My new favorite Python module: run CSS-like queries on HTML documents in Python. Perfect for web scraping!

Originally posted on

How can I display the push notification user permission dialog only when it is needed?

I have implemented registering push notification in my AppDelegate file. As soon as my app launches, it will popup a dialog immediately asking the user to allow permission.

Problem is, user may not understand why it is needed at this time. In order to prevent the user from selecting “Don’t Allow”, I want to show this popup later in a specific ViewController and possibly explain why this is needed to the user.

Is there a way to do so?

The reason the dialog appears immediately is because you’re telling it to appear immediately!

To avoid having the dialog displayed as soon as the app is launched, take your call to registerUserNotificationSettings: and put it somewhere where it isn’t called the first time the app launches.

Originally posted on

Fun fact: writing a UTF-8-encoded U+FEFF character at the start of a CSV file is the only way to convince Excel to read the file as UTF-8.

Originally posted on

I made a 3D raytraced sphere in @Desmos :… #MathMonday #graphingcalculatorabuse

Originally posted on

My #AppleTV app is slightly more popular than the official Care Bears video game!

Originally posted on

Angry Baskets

Shoot mad hoops using the touchpad on your Apple TV Remote! How many baskets can you get in a row? (Answer: probably not very many.)

Originally posted on



PokéScript lets you learn code by playing Pokémon Red Version. It’s like those Hour of Code “guide the character down the path” puzzles, only cooler! You can also cheat and give yourself Ꝑ99999, see your opponents’ Pokémon’s stats, and change your name!


  • Make the computer press buttons for you!
  • API bindings to game features (push buttons, read signs, check Pokémon stats)
  • Full interactive tutorial (learn how to write loops and functions!)
  • Entirely client-side JavaScript
Originally posted on


Minibowl is a simplified 3D bowling game. Can you get three strikes in a row?

Originally posted on

Newer Posts