Happy Blogging


Teaching Resources - February 20, 2017

Happy Coding now has teaching resources!

This has been one of my primary goals for the site. I think Processing is a great way to teach an introductory programming course: it makes it easy to create animated and interactive (read: fun) programs without a ton of boilerplate code, and it leads naturally to both Java and JavaScript, which then lead to more advanced topics. And I’d love to help teachers with all of the above.

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)


JavaScript Tutorials - January 29, 2017

Happy Coding now has JavaScript tutorials!

(That’s pretty much it, you can stop reading now if you want to.)

This is a pretty big step for the site, and for me in general. It wasn’t too long ago that I would have told you I was scared of JavaScript. But I eventually came out of my Java shell, and I’m hoping these new tutorials help other people do the same thing.

javascript code

I ain’t afrad of no JavaScript :ghost:

I think one of the things that makes JavaScript scary is that you have to...... (read more)


100 Days of Code - January 1, 2017

I spent my New Year’s Eve watching the Free Code Camp #Open2017 LiveStream, and one of the presenters, Alexander Kallaway, talked about his 100 Days of Code challenge.

I got up and wrote this on my whiteboard:

100 on 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)


Ludum Dare and Programming Without a Computer - December 24, 2016

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)


Code Can Bring Us Together - November 9, 2016

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)


Background Info - November 1, 2016

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)


Tricks and Treats and Tags - October 23, 2016

I’ve added a tag system that lets you group similar tutorials and examples together!

For example, check out the procedural-generation tag, or the emergence tag.

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)


Twitter Cards and Open Graph - October 17, 2016

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:

twitter before

facebook before

And this is what it looks like when I share this blog:

twitter after

facebook after

Where are those images coming from?...... (read more)


Happy Commenting - October 12, 2016

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)

The CodePen is Mightier than the Sword - October 3, 2016

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:

Code Editor

See the Pen by Happy Coding (@KevinWorkman) on CodePen.

(Click the Run Pen button, then click around in the gray area. Then try changing the mousePressed() function...... (read more)


Por Ejemplo - September 30, 2016

Happy Coding now has examples! And a forum! And a guide on how to contribute to open source (even if you aren’t a programmer)!

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.

In other words, this site is now at the minimum viable product stage. It has all of the core features, and now it’s “just” a matter of building on top of what’s here. I’ve...... (read more)


Hello World - July 28, 2016

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)