Happy Blogging

Android and LibGDX Tutorials - August 10, 2018

Happy Coding now has Android and libGDX tutorials!

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.

HappyCoding.io tutorial roadmap

It seems appropriate that just the other day when I was cleaning, I pulled this out of a stack of old comic books:

bar notesread more)

Happy New Year - January 1, 2018

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 I planned on doing the 100 days of code challenge. My goal was to create 100 new examples. I ended up only creating 25 examples.

Last year at this time I had just finished up the first batch of tutorials and was working pretty steadily on adding Processing examples:

total posts in 2016read more)

Server Tutorials - September 19, 2017

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)

New Nav Font - May 28, 2017

I’m going to keep this one short and sweet: I’ve been playing around with a new nav font! :tada:


old nav font

Oh no, look how terrible and boring it is! :crying_cat_face:


new nav font

Oh wow! Look how beautiful it is! :scream_cat: :heart_eyes_cat:

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)

Java Tutorials - May 13, 2017

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)

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)