My goal this year was to add Android and libGDX tutorials, and to put together a few Android games that have been bouncing around my head for a while. The tutorials took a bit longer than expected, but now that they’re (mostly) done, this finishes up everything I set out to do with the site.
It seems appropriate that just the other day when I was cleaning, I pulled this out of a stack of old comic books:
Happy new year! I like to use this milestone as an
excuse opportunity to look back at what got done over the past year, and to look forward to what I want to get done in the next 365 days.
Last year at this time I had just finished up the first batch of tutorials and was working pretty steadily on adding Processing examples:
Happy Coding now has server tutorials!
This is a pretty cool milestone for me, because back when I first started the site, I said things like “one day I might get to stuff like server tutorials…” - so it’s awesome to see how much the tutorials have grown since then.
It’s a slow process though. I started writing the server tutorials back in May, and it’s September now, so writing the 16 (so far) server tutorials took about 4 months. I try to work a little bit each day: couple of hours on weekday nights, few hours on...... (read more)
I’m going to keep this one short and sweet: I’ve been playing around with a new nav font!
Oh no, look how terrible and boring it is!
Oh wow! Look how beautiful it is!
Okay yeah it’s not the most innovative change in history. But I do think it’s an improvement. I wanted to go with a font that felt “computer-y” so I ended up going with a monospaced, blocky font. Something you might see in a console or a code editor....... (read more)
Happy Coding now has Java tutorials!
I love Processing. Processing makes it easy to get something visual and interactive up and running without worrying about a ton of boilerplate code. However, that easiness comes with a downside: Processing also hides a ton of stuff from you.
Normally that’s a good thing, but it can also make it harder to learn about the more advanced stuff that’s going on behind the scenes. It’s hard to talk about inheritance if Processing hides the fact that your sketch is a subclass. It’s hard to talk about stuff like the classpath and...... (read more)
Happy Coding now has teaching resources!
That being said, I’m not a teacher. I’m not going to pretend to know what’s best for your students. I’m approaching it from the...... (read more)
(That’s pretty much it, you can stop reading now if you want to.)
I got up and wrote this on my whiteboard:
The “official” version of the challenge is to spend at least an hour coding for 100 days in a row, and to post about your progress on places like Twitter and GitHub. The idea is to motivate yourself to practice, to actually sit down and do the work. The best way to learn how...... (read more)
I just moved to California (more on that in a different blog post). I flew out, and my stuff was shipped separately. So there was a two week period where I didn’t have a computer, or internet, or… anything.
Right in the middle of that two weeks was Ludum Dare. Ludum Dare is a programming competition (but a little more relaxed, more of a “game jam” then a competition) where you have 48 hours to make a game around a theme that’s announced Friday night.
But I didn’t have a computer or even a reliable internet connection, so surely...... (read more)
I know a lot of people are sad, frustrated, ashamed, and angry today. I know a lot of people feel alone or divided, caught up in the “us vs them” frenzy that got us here. I know a lot of people are having conversations with scared kids who don’t understand. And I don’t have a lot to add to any of that, other than I empathize with you.
I don’t have anything smart or comforting to say, but this seemed like the right time to reflect on why I’m putting together this site. It might be a little pretentious to...... (read more)
The site now has random background images that were generated using Processing code, and you can view the source code that generated the background by scrolling to the bottom of the page and looking in the footer!
The random backgrounds aren’t new. I’ve been using backgrounds from Subtle Patterns, and they’ve been great.
But I wanted something a little more codey. Something that was a little bit fun and encouraged people to play around and learn more.
I thought about using a Processing sketch as a background by having it run behind everything else. That opens up a lot...... (read more)
Thinking in Jekyll
I use Jekyll to generate the site. Jekyll doesn’t allow me to write any interactive server-side logic, which for the most part is great because it makes my job easier. I don’t need any interactive server-side logic to just serve up the tutorials, examples, and blog posts. Keep it simple, and all that.
However, a tag system would normally be implemented using interactive server-side logic....... (read more)
When you share a link to Twitter or Facebook, do you ever wonder how it knows what thumbnail and description to use? How does it know whether the page contains a video? Have you ever noticed that some websites seem to have better-looking links when you share them?
For example, this is what it looked like when I shared last week’s blog:
And this is what it looks like when I share this blog:
Where are those images coming from?...... (read more)
Blog posts now contain a comment section! Just scroll to the bottom to check it out!
The comment section uses the forum to store and display comments. To leave a comment, just click the
Start Discussion or
Continue Discussion at the bottom of a blog post (like this one!). This will take you to the corresponding forum post, and any replies you post there will automagically show up in the comment section of the blog post. Neat!
This does require registering for a (free) forum account, or you can just use Facebook, Twitter, or GitHub to login....... (read more)
All of the tutorials and examples now have a code editor embedded directly in them. This means that as you’re reading a tutorial or example, you can play with the code right in the website! It looks like this:
Run Pen button, then click around in the gray area. Then try changing the
mousePressed() function...... (read more)
This is pretty much my “vision” for the site: a bunch of tutorials, a bunch of examples for each tutorial, a place to ask questions, and the ability for other people to get involved if they want to.
I love coding.
I’ve been coding since high school (so, uh, over ten years now). Coding opened up new worlds to me. Not (just) worlds of ones and zeroes, but worlds of creativity, beauty, art, and just plain fun.
Learning how to program took me down a path that allowed me to express myself, to better understand the world around me, to explore stuff I otherwise wouldn’t be able to explore. (Not to mention get a job that pays the bills.)
That might sound a bit lofty, but my point is that programming is much more than the ones-and-zeroes that...... (read more)