Happy Coding
Tutorials Blog Forum twitter
  • p5.js Tutorials
  • HTML Tutorials
  • JavaScript Tutorials
  • Processing Tutorials
  • Java Tutorials
  • Server Tutorials
  • Google Cloud
  • Android Tutorials
  • LibGDX Tutorials
  • How-To Guides
  • Interviewing

  • Gallery

  • Blog

  • Teaching

  • Forum

  • Mastodon github
    etsy youtube RSS
/
All Posts

Happy New Year 2025 Happy New Year 2025

2025? More like 2020 5, amiright?

Machine Learning Machine Learning

Demystifying ML

APIs APIs

Interact with data from API endpoints.

GitHub Desktop GitHub Desktop

Work with GitHub files on your computer.

Website Builders Website Builders

Build a website without code.

Intro to the Internet Intro to the Internet

Inter-what?

The Fault in Our Defaults The Fault in Our Defaults

This post started as a devlog about removing Google Analytics, and turned into a rant about the evils of big tech defaults.

Contribute a Background Contribute a Background

Contribute your own background image to Happy Coding!

Homepage Update Homepage Update

Don't judge a website by its homepage.

Vera Molnár Squares Vera Molnár Squares

Code a design inspired by Vera Molnár.

Happy New Year 2024 Happy New Year 2024

2024? More like 2020 4, amiright?

Technical Interviewing (Fall 2023) Technical Interviewing (Fall 2023)

What to expect and how to approach tech interviews.

System Design System Design

Break the system down.

Matrices Matrices

Enter the matrix.

Graphs Graphs

It's all connected.

Trees Trees

Make like a tree node.

Linked Lists Linked Lists

One thing leads to another.

Taylor Swift Markov Model Taylor Swift Markov Model

Teach an AI to write Taylor Swift lyrics.

Behavioral Interviews Behavioral Interviews

Where do you see yourself in five years?

Resumes Resumes

Your first chance to make a first impression.

Dynamic Programming Dynamic Programming

Remember calculations to improve efficiency.

Merge Sort Merge Sort

Use recursion to sort an array.

Stacks Stacks

Last in first out.

Recursion Recursion

To understand recursion, first understand recursion.

Queues Queues

First in first out.

Sets Sets

There can be only one.

Maps Maps

When in doubt, put it in a HashMap.

Valid Palindrome Valid Palindrome

Return whether a string is the same forward and backward.

Search Insert Position Search Insert Position

Return the index of an item, even if it's not in the array.

Remove Element Remove Element

Remove an element from an array in-place.

Resources Resources

Links and other resources for interview practice.

Picking a Language Picking a Language

What programming language should I use in a job interview?

Motivation Motivation

Some disclaimers and opinions before we dive into interviewing.

History History

A Brief History of Data Structures, Algorithms, and Tech Interviews

Fundamentals Fundamentals

Your interviews might include a linked list, but they'll definitely include a for loop.

Complexity Complexity

How to measure time and space complexity.

Arrays and Strings Arrays and Strings

The most common data structures in interview questions.

Square Lines Square Lines

Fill a square with lines.

Distance Comparison Map Distance Comparison Map

Compare distances on multiple maps.

Pixel Spinner Pixel Spinner

Move pixels around the center.

What's Next? What's Next?

How to keep going after class ends.

Extra Topics - Week 14 Extra Topics - Week 14

Other web dev topics that didn't fit in other weeks.

Final Project Final Project

Practice everything you learned by making your own webpage from scratch!

GitHub Pages - Week 13 GitHub Pages - Week 13

Create your own webpage using GitHub Pages.

Bootstrap - Week 12 Bootstrap - Week 12

Design a webpage using Bootstrap.

JavaScript Libraries - Week 11 JavaScript Libraries - Week 11

Use code written by other people.

If Statements - Week 10 If Statements - Week 10

Make decisions in your code.

JavaScript - Week 09 JavaScript - Week 09

Use JavaScript to make your page interactive.

Creating Variables - Week 07 Creating Variables - Week 07

Store information and make p5.js do math for you.

Using Variables - Week 06 Using Variables - Week 06

Learn how to get information from the computer.

Mastodon Bot Mastodon Bot

Create a Mastodon bot using Mastodon4j

p5.js - Week 05 p5.js - Week 05

Use p5.js to draw a sketch.

Layout - Week 04 Layout - Week 04

Use CSS to lay out your page.

CSS - Week 03 CSS - Week 03

Style your webpage.

Arc Scribbler Arc Scribbler

Turn left, turn right, repeat.

Online Code Editors Online Code Editors

Write HTML directly in your browser.

Nesting HTML Tags Nesting HTML Tags

Put HTML tags inside other HTML tags.

Local Files Local Files

Write HTML on your own computer.

Nesting HTML Tags - Week 02 Nesting HTML Tags - Week 02

Put HTML tags inside other HTML tags.

HTML - Week 01 HTML - Week 01

Build your own webpage.

Truchet Tiles Truchet Tiles

Rotate interlocking images to create a pattern.

Glitch Lines Glitch Lines

Make glitch art from your images.

Earth Moon Emoji Orbit Earth Moon Emoji Orbit

Use arrays of emojis to show the moon orbiting the earth.

Happy New Year 2023 Happy New Year 2023

2023 and Me

Coding and Coping with ChatGPT Coding and Coping with ChatGPT

Exploring the power, limitations, and ethics of ChatGPT and machine learning.

What's Next? What's Next?

How to keep going after class ends.

Redesigning Happy Coding Part 2 Redesigning Happy Coding Part 2

Announcing a redesign of Happy Coding!

Subscribe to Happy Coding Subscribe to Happy Coding

Don't miss new posts from Happy Coding.

Add Your Own Example Add Your Own Example

Add your own example to Happy Coding.

Final Project Final Project

Practice everything you learned by making your own webpage!

JavaScript Libraries - Week 13 JavaScript Libraries - Week 13

Take your code to the next level with JavaScript libraries.

If Statements in JavaScript - Week 12 If Statements in JavaScript - Week 12

Make decisions in your JavaScript code.

Redesigning Happy Coding Redesigning Happy Coding

Brainstorming about a potential redesign.

From p5.js to JavaScript From p5.js to JavaScript

Build on your p5.js knowledge to learn JavaScript.

JavaScript - Week 11 JavaScript - Week 11

Use JavaScript to make your page interactive.

Circle Packing Circle Packing

Fill the screen with circles without overlapping.

Layout - Week 10 Layout - Week 10

Use CSS to lay out your page.

CSS - Week 09 CSS - Week 09

Style your webpage.

HTML - Week 07 HTML - Week 07

Build your own webpage.

From p5.js to HTML From p5.js to HTML

Build on your p5.js skills to learn HTML.

Input - Week 06 Input - Week 06

Make interactive sketches.

Animation - Week 05 Animation - Week 05

Create animated visualizations.

If Statements - Week 04 If Statements - Week 04

Make decisions in your code.

Creating Variables - Week 03 Creating Variables - Week 03

Store information and make p5.js do math for you.

Using Variables - Week 02 Using Variables - Week 02

Learn how to get information from the computer.

Poorly Coded Cats Poorly Coded Cats

Make a stamp out of a cat picture.

Intro to p5.js - Week 01 Intro to p5.js - Week 01

Set up your environment and use p5.js to draw a sketch.

Fetching Data Fetching Data

Fetch data from a server in React.

CSS in React CSS in React

Use CSS to style your React apps.

Loops Loops

Use loops and iterate over arrays.

Keys Keys

How (and Why) to use Keys in React.

Lifting State Lifting State

Share state between components.

React State React State

Add data to your components.

React Components React Components

Build your webpage out of components.

React JSX React JSX

Reactify your syntax with JSX.

React React

Use React to build an interactive web app.

Outro to Intro to Web Dev Outro to Intro to Web Dev

A retrospective on my first real teaching job.

What's Next? What's Next?

How to keep going after class ends.

Final Project Final Project

Practice everything you learned by making your own webpage!

Accessibility - Week 12 Accessibility - Week 12

Make sure everyone can use your website.

Accessibility Accessibility

Make sure everyone can use your website.

Bootstrap - Week 10 Bootstrap - Week 10

Design a webpage using Bootstrap.

Fetch - Week 09 Fetch - Week 09

Fetch content from other URLs.

JavaScript Objects - Week 08 JavaScript Objects - Week 08

Group related variables together.

Objects Objects

Group related variables together.

JavaScript Libraries - Week 07 JavaScript Libraries - Week 07

Take your code to the next level with JavaScript libraries.

For Loops and Arrays - Week 06 For Loops and Arrays - Week 06

Use for loops and arrays to repeat code multiple times.

Arrays Arrays

Store multiple values.

For Loops For Loops

Repeat code multiple times.

If Statements - Week 05 If Statements - Week 05

Use if statements to make decisions in your code.

If Statements If Statements

Make decisions in your JavaScript code.

JavaScript - Week 04 JavaScript - Week 04

Use JavaScript to make your page interactive.

Variables Variables

Store information in variables.

Layout- Week 03 Layout- Week 03

Use CSS to lay out your content.

CSS Layout CSS Layout

Use CSS to lay out your page.

CSS - Week 02 CSS - Week 02

Use CSS to style your content.

Replit Setup Replit Setup

Set up your environment using Replit.

Setup and HTML - Week 01 Setup and HTML - Week 01

Set up your environment and use HTML to create a webpage.

HTML - Week 01 HTML - Week 01

Use HTML to create a webpage.

GitHub Setup GitHub Setup

Set up GitHub and get ready to code!

Desktop Setup Desktop Setup

Set up your environment and use HTML to create a webpage.

Intro to Intro to Web Development Intro to Intro to Web Development

I got a teaching job! Here are some ramblings about how the class might work. Feedback is appreciated!

Happy New Year 2022 Happy New Year 2022

I don't know about you, but I'm feeling 2022

Fizz Buzz Fizz Buzz

Fizz, Buzz, Fizz Buzz!

Planets Planets

Show planets orbiting a sun

Warmer / Colder Warmer / Colder

Play a game of warmer / colder with your computer.

Clovers Clovers

Find the 4-leaf clover 🍀

Daily Greetings Daily Greetings

Show a different message based on the time of day.

Code Rocket Code Rocket

Make a rocket from the whitespace in your code.

Pi Visualization Pi Visualization

Visualize the first million digits of pi.

Accumulating Snow Accumulating Snow

Draw snow that accumulates on the ground.

Christmas Tree Christmas Tree

Create a function that draws a Christmas tree.

Remove What's Happening Remove What's Happening

Remove clickbait from the internet.

Twelve Days of Christmas Twelve Days of Christmas

Use a for loop to sing the Twelve Days of Christmas

Feed the Ducks Feed the Ducks

Create an interactive story using if statements!

Menorah Menorah

Code your own virtual menorah!

46 Million Turkeys 46 Million Turkeys

Happy Thanksgiving!

Pixel Swapper Pixel Swapper

Rearrange the pixels in an image.

Pixel Sorter Pixel Sorter

Sort the pixels in an image.

Pixel Painter Pixel Painter

Turn an image into a digital painting.

Fading Grid Fading Grid

Use a 2D array to show a fading grid.

Oscillating Lines Oscillating Lines

Show lines that oscillate up and down.

Spider 🕷 Spider 🕷

Draw a friendly spider.

Notes Recorder Notes Recorder

Use Minim to play and record notes.

Image Tiles Image Tiles

Rearrange an image into tiles.

Image Blender Image Blender

Blend two images together.

Spooky Text Spooky Text

Use `sin()` to make spooky text.

Typography Typography

Style your text with custom fonts.

Image Filter Image Filter

Make your own image filter.

Ghosts 👻👻👻 Ghosts 👻👻👻

Boo!

Ghost 👻 Ghost 👻

Boo!

Random Skulls Random Skulls

Fill the screen with random skulls.

Random Skull Random Skull

Use the random() function to draw a random skull.

Random Pumpkin Random Pumpkin

Use the random() function to draw a random pumpkin.

Pumpkin (with Variables) Pumpkin (with Variables)

Use variables to draw a pumpkin.

Skull Skull

💀💀💀

Pumpkin Pumpkin

🎃🎃🎃

Jack-o'-Lantern Jack-o'-Lantern

🎃🎃🎃

Pumpkin Patch Pumpkin Patch

Fill the screen with random pumpkins.

Flickering Jack-o'-Lantern Flickering Jack-o'-Lantern

Animate a flickering Jack-o'-lantern.

Ten Lessons from Ten Lessons from "Senior" Software Engineering

Turns out software engineering is more than writing code.

Parallax Dots Parallax Dots

Show three layers of dots.

Deleting Facebook Deleting Facebook

I'm deleting the Happy Coding Facebook page!

Grouchy Face Grouchy Face

Make your computer mad when you click the mouse.

Unsanitized User Input Unsanitized User Input

See what happens when you don't sanitize user input.

Escaping User Input Escaping User Input

Use Apache Commons Text to escape user input.

Name Input Name Input

Use POST requests to get the user's name.

Name List Name List

Use POST requests to show a list of names.

Name List - JSP Name List - JSP

Use POST requests and JSP to show a list of names.

Name List - Fetch Name List - Fetch

Use the fetch function to show a list of names.

Servlet JSP Date Servlet JSP Date

Use servlets and JSP to show today's date.

Servlet JSP Date (Hidden JSP) Servlet JSP Date (Hidden JSP)

Use servlets and JSP to show today's date while hiding the JSP file.

JSP Zoo JSP Zoo

Use JSP to show a list of animals.

JSP Unix Time JSP Unix Time

Use JSP to show the current Unix time.

JSP Header JSP Header

Use JSP to show a header on every page.

JSP Date JSP Date

Use JSP to show today's date.

JSP Coin Flipper JSP Coin Flipper

Use JSP to flip a coin.

Stack Overflow Data Visualization Stack Overflow Data Visualization

Visualize data from the Stack Overflow API!

Hello World: Static Website Hello World: Static Website

Run a server that shows a static website.

Hello World: Maven Hello World: Maven

Use Maven to build a web app.

Hello World: Command Line Hello World: Command Line

Use the command line to run a server.

Hello World: Embedded Jetty (Maven) Hello World: Embedded Jetty (Maven)

Use Maven to run an embedded Jetty server.

Hello World: Embedded Jetty (Command Line) Hello World: Embedded Jetty (Command Line)

Use the command line to run an embedded Jetty server.

Anatomy of a Web App Anatomy of a Web App

How to structure your web app directory.

Embedded Jetty Embedded Jetty

Run a Jetty server from Java code.

Tomcat Setup Tomcat Setup

Run your own Tomcat server.

Ludum Memories Ludum Memories

10 years of Ludum Dare.

The Rabbit Hole - LD48 Retrospective The Rabbit Hole - LD48 Retrospective

Go down the rabbit hole of going down Wikipedia rabbit holes.

The Rabbit Hole The Rabbit Hole

A Wikipedia game for Ludum Dare 48

Locus of Control and Learned Helplessness in Coding Locus of Control and Learned Helplessness in Coding

Locus of control, learned helplessness, burnout, and impostor syndrome.

Etsy API Etsy API

Use the fetch function to get data from an API.

Fetch Fetch

Fetch content from other URLs.

Game of Nim Game of Nim

Play the Game of Nim against the computer!

Jekyll Jekyll

Take your GitHub Pages to the next level.

Mars Perseverance Image Colorizer Mars Perseverance Image Colorizer

Colorize images coming from Mars!

GitHub Pages GitHub Pages

Create your own webpage using GitHub Pages.

GitHub Profile README GitHub Profile README

Make your GitHub profile your own.

Rainbow Divs Rainbow Divs

Use CSS to create colored divs.

Campfire Campfire

Remember those quiet evenings.

Popping Circles Popping Circles

Fill circles with your mouse that pop if they touch.

Ant Colony Ant Colony

Create an ant colony simulation.

Arcs Arcs

Draw a circular pattern using the arc function.

Random Notes Random Notes

Use the p5.sound library to play random notes.

Isometric Cubes Isometric Cubes

Create an isometric grid of cubes.

Flower Grid Flower Grid

Draw a grid of random flowers.

Vertical Gradient Vertical Gradient

Draw a gradient from one color to another.

Image Palette Image Palette

Replace the colors in an image.

Wrong Lines Wrong Lines

Draw lines the wrong way.

Recursive Lines Recursive Lines

Draw lines that draw other lines.

Loopers Loopers

Draw lines that loop around the screen.

Genuary 19 Genuary 19

Increase the randomness of an image along the Y-axis.

Bonsai Tree Bonsai Tree

Use recursion to create a digital bonsai tree.

Bouncing Line Bouncing Line

Draw a line, pick a new color, move a bit.

Curved Grid Curved Grid

Draw a retro-futuristic curved grid.

drawTown drawTown

Create a function that draws a town.

drawCity drawCity

Use functions to draw a random city.

drawHouse drawHouse

Create a function that draws a house.

Pig Pig

Oink!

Triangle Inset Triangle Inset▶

Draw triangles inside triangles inside triangles.

Random Walker Random Walker

Show a scribble that randomly moves around.

Mouse Ripple Mouse Ripple

Show a ripple when you click the mouse.

Lines Silhouette Lines Silhouette

Use a for loop to create a silhouette of lines.

Square Fill Square Fill

Create a border of squares.

Random Lines Random Lines

Fill the screen with random lines.

Falling Line Falling Line

Show a falling line that fills the screen.

Falling Points Falling Points

Show falling points that look like snow.

Clickable Text Clickable Text

Create text that opens a link when you click it.

Circles Circles

Use circles to create an interesting pattern.

Blue Squares Blue Squares

A gradient of blue squares.

Numbers Station Numbers Station

Use text-to-speech to create a numbers station.

Asimov's Empire, Robot, and Foundation Series (CSS Tables) Asimov's Empire, Robot, and Foundation Series (CSS Tables)

Use CSS to create colored tables!

Happy New Year 2021 Happy New Year 2021

2020, amiright?

Year Percent Year Percent

How far into the year are we?

Ten Years of Coding on the Internet Ten Years of Coding on the Internet

A look back on the last ten years, from One Program per Week, through Static Void Games, to Happy Coding!

Rainbow Rainbow

🌈

How to Learn Coding How to Learn Coding

How to teach yourself to code using Happy Coding.

New and Improved p5.js and Processing Tutorials New and Improved p5.js and Processing Tutorials

Happy Coding Now Has New and Improved p5.js and Processing Tutorials

Happy Coding is Built With Happy Coding is Built With

Here's a list of everything I use to create Happy Coding.

What's Next? What's Next?

Some options to explore after learning Processing.

What's Next? What's Next?

Some options to explore after learning p5.js.

Debugging Debugging

Learn how to debug your p5.js code.

From p5.js to Web Dev From p5.js to Web Dev

Mix p5.js with HTML, CSS, and JavaScript.

Images Images

Display and manipulate image files.

Array Functions Array Functions

Take arrays to the next level.

Creating Classes Creating Classes

Create blueprints for your own objects.

Using Objects Using Objects

Group related variables together.

Google Cloud Java 11 Migration Google Cloud Java 11 Migration

Some ranting and rambling about the surprisingly painful Google Cloud Java 11 migration.

Migrating to Java 11 Migrating to Java 11

Upgrade from Java 8 to Java 11.

EmojAvoid (LD 47) EmojAvoid (LD 47)

Ludum Dare 47

Translation Web App Hello World Translation Web App Hello World

Use Google Translation in your own web app.

Translation Standalone Hello World Translation Standalone Hello World

Use Google Translate in your own code.

Natural Language Web App Hello World Natural Language Web App Hello World

Use machine learning to analyze natural language.

Natural Language Standalone Hello World Natural Language Standalone Hello World

Use machine learning to analyze natural language.

Google Maps Marker Google Maps Marker

Add marker to your Google map.

Shoutbox V1 (POST Requests) Shoutbox V1 (POST Requests)

Use POST requests to create a shoutbox.

My Quarantine My Quarantine

Two years later, welcome to the new normal.

Cloud Vision Web App Hello World Cloud Vision Web App Hello World

Use machine learning to analyze images.

Cloud Vision Standalone Hello World Cloud Vision Standalone Hello World

Use machine learning to analyze images.

Google Maps Info Windows Google Maps Info Windows

Add info windows to your Google map.

Google Maps Hello World Google Maps Hello World

Add a Google map to your page.

Google Maps Tour Google Maps Tour

Take a tour of Google's campus.

Shoutbox V2 (Datastore) Shoutbox V2 (Datastore)

Store your data.

Cloud Storage Hello World Cloud Storage Hello World

Let users upload images and other files.

App Engine Hello World App Engine Hello World

Deploy your web app.

Cloud Storage Cloud Storage

Let users upload images and other files.

OAuth 2.0 OAuth 2.0

Let users log into your site using their Google accounts.

Datastore Datastore

Store your data.

Setup Setup

Getting started with Google Cloud

App Engine App Engine

Deploy your web app.

Music Visualization Music Visualization

Visualizations of songs and albums.

Arrays Arrays

Create variables that hold multiple values.

Spirals Spirals

Computer-generated spiral art.

Black Lives Matter to Me Black Lives Matter to Me

How confirmation bias and us-vs-them mentalities have affected my understanding of #BlackLivesMatter.

For Loops For Loops

Use patterns to repeat work without repeating code.

Input Input

Use mouse and keyboard input to make interactive sketches.

Animation Animation

Create animated visualizations.

If Statements If Statements

Make decisions in your p5.js code.

Creating Functions Creating Functions

Write your own custom functions.

Creating Variables Creating Variables

Give your code a memory.

Using Variables Using Variables

Get information from the computer.

Calling Functions Calling Functions

Tell the computer what to do.

Welcome to Coding Welcome to Coding

Get ready to write some code!

Ludum Dare 46 Retrospective Ludum Dare 46 Retrospective

What happens when you combine the Game of Life with a 48-hour game jam?

The Next Generation (LD 46) The Next Generation (LD 46)

Ludum Dare 46

Run Map - About Run Map - About

🏃🌎

Map Map

Run Map Run Map

🏃🌎

Feliz Left Nav-idad Feliz Left Nav-idad

Here's a list of everything I googled while I added a left nav to the site.

My Year in Pixels 2019 My Year in Pixels 2019

Are you happy most of the time, with temporary intervals of unhappiness? Or are you unhappy most of the time, with temporary intervals of happiness?

What is Happy Coding? What is Happy Coding?

Some ramblings and reflections on the future of Happy Coding.

Happy New Year 2020 Happy New Year 2020

2019 is so last year!

The Subjective Side of Code The Subjective Side of Code

You might be surprised to hear that a lot of decisions about code come down to a subjective, opinionated question: how does this code make you feel?

About #000000 About #000000

Ludum Dare 45 Postmortem

#000000 #000000

Ludum Dare 45

The Quadrilateral of Creativity The Quadrilateral of Creativity

The 4 corners of creativity.

How to Interview How to Interview

What to expect and how to approach tech interviews.

Debootstrapification Debootstrapification

Lose 24,503 lines of code with this one weird trick!

Checking My Privilege Checking My Privilege

Me, privileged? No way! (Yes way.)

Google Cloud Tutorials Google Cloud Tutorials

Happy Coding now has Google Cloud tutorials!

Cloud Vision Cloud Vision

Use machine learning to analyze images.

Client / Server Communication Client / Server Communication

Learn about clients, servers, requests, and responses.

Translation Translation

¡Feliz codificación!

Natural Language Natural Language

Use machine learning to analyze natural language.

Blobstore (Java 8) Blobstore (Java 8)

Allow users to upload images and other files.

Google Maps Google Maps

Add an interactive map to your page.

Authentication (Java 8) Authentication (Java 8)

Allow users to login.

Datastore (Java 8) Datastore (Java 8)

Store your data.

App Engine (Java 8) App Engine (Java 8)

Deploy your web app.

Setup (Java 8) Setup (Java 8)

Getting started with Google Cloud

The Stack Overflow Culture Wars The Stack Overflow Culture Wars

Stack Overflow's identity crisis.

Happy Arting Happy Arting

Stanley has wares if you have coin.

How to Sell Digital Art Online How to Sell Digital Art Online

How to sell your art on Etsy.

The Power of Boredom The Power of Boredom

I'm very lazy. Here's how I use my boredom as a tool to trick myself into putting in the work.

Happy New Year 2019 Happy New Year 2019

Here's how 2018 went and what I plan on doing in 2019.

Unit Testing Unit Testing

JUnit and Mockito

Pathfinding Pathfinding▶

From A to B.

Random Random

The power and beauty of the random function.

When Failing isn't Failure When Failing isn't Failure

I failed at Ludum Dare, and that's okay.

Android and LibGDX Tutorials Android and LibGDX Tutorials

Happy Coding now has Android and LibGDX tutorials!

Libraries Libraries

Cross-platform code.

Sound Sound

Add music and sound effects.

Movie Colors Movie Colors

Every frame a line, every line a color.

Comic Book Colors - Interactive Visualization Comic Book Colors - Interactive Visualization

Color is very important to comic books- here's why!

Comic Book Colors Comic Book Colors

Color is very important to comic books- here's why!

Comic Book Colors - Code Comic Book Colors - Code

Color is very important to comic books- here's why!

Comic Book Colors - About Comic Book Colors - About

Color is very important to comic books- here's why!

Fireworks Fireworks

Ooh! Aah!

Images Images

Use images in your game.

Graphics Graphics

Use OpenGL to draw your game.

Simple Reference Simple Reference

Just the drawing functions.

Multiple Game Screens Multiple Game Screens

Show different screens in your game.

User Input User Input

React to user input.

Hello World Hello World

Create your first libGDX game.

Build a Social App Build a Social App

How to build a social networking app.

Setup Setup

Prepare your workspace.

Custom Drawing Custom Drawing

Create your own View.

Storage Storage

Save your app's data.

Activities Activities

Explore the Android lifecycle.

Layouts Layouts

Define your app's user interface.

Anatomy of an Android App Anatomy of an Android App

Activities and Layouts and Views, oh my!

Hello World Hello World

Create your first Android app.

Happy New Year Happy New Year

Happy New Year!

Libraries Libraries

Use libraries to expand what p5.js can do.

One Roomba One Roomba

Ludum Dare 37

Review Review

Review Processing, HTML, and JavaScript topics.

Hello World Hello World

Say hello to P5.js!

Editors Editors

Which p5.js editor should I use?

Server Tutorials Server Tutorials

Happy Coding now has server tutorials!

Which Processing should I use? Which Processing should I use?

Should I use p5.js or Processing?

Secure Password Storage Secure Password Storage

How to (not) store passwords.

Social Feed Website Part 5: Thread Safety Social Feed Website Part 5: Thread Safety

Let multiple users post messages safely.

Social Feed Website Part 4: Sessions Social Feed Website Part 4: Sessions

Let users login and create their own posts.

Sanitizing User Input Sanitizing User Input

Safely handle user input.

Social Feed Website Part 3: Post Requests Social Feed Website Part 3: Post Requests

Let users create their own posts.

Social Feed Website Part 1: Servlets Social Feed Website Part 1: Servlets

Use servlets to show user posts.

Social Feed Website Part 2: JSP Social Feed Website Part 2: JSP

Use JSP to render user posts.

Struts Struts

Use the Struts framework to make advanced web apps.

Uploading Files Uploading Files

Let users upload images and other files.

Creating a REST API Creating a REST API

Use REST to support various clients.

Databases Databases

Store your data in a database.

Libraries Libraries

Use libraries in your server code.

Hosting on Google App Engine Hosting on Google App Engine

Host your server on Google App Engine so other people can use your web app.

Hosting on AWS Hosting on AWS

Host your server on AWS so other people can use your web app.

Thread Safety Thread Safety

Safely handle multiple requests at the same time.

Sessions Sessions

Store user data between requests.

Post Requests Post Requests

Send data to your server.

Eclipse EE Eclipse EE

Use Eclipse to write server code.

Processing Showcase Processing Showcase

Create a Java program that cycles through Processing sketches.

JSP JSP

Jakarta Server Pages

Servlets Servlets

Create a dynamic web app.

New Nav Font New Nav Font

The trials and tribulations of aligning text.

Jetty Setup Jetty Setup

Run your own Jetty server.

Swing Control Window Swing Control Window

Create a Processing sketch with a Swing control window.

Java Tutorials Java Tutorials

Happy Coding now has Java tutorials!

Free Paycheck Calculator Free Paycheck Calculator

Find months that have three paychecks in them.

Processing in Java Processing in Java

Use Processing as a Java library.

Exporting Jar Files Exporting Jar Files

Package your code so other people can run it.

Eclipse Eclipse

Upgrade your code editor.

Collision Detection Collision Detection

Trigger an action when objects overlap.

Libraries Libraries

The power of other people's code.

Higher Lower Higher Lower

Guessing game gui

Circle Button Circle Button

Rectangle buttons are so last year.

Swing Swing

Create a graphical user interface.

Inheritance Inheritance

Take OOP to the next level.

Higher Lower (Random Computer Player) Higher Lower (Random Computer Player)

Think of a number and the computer will guess what it is.

Higher Lower (Human Player) Higher Lower (Human Player)

Try to guess what number the computer is thinking.

Debugging Debugging

How to fix errors in your code.

Errors Errors

Catch exceptions and debug errors in your code.

Creating Classes Creating Classes

Learn more about creating classes.

Hello World Hello World

Write, compile, and run your first Java application.

Java Setup Java Setup

Install and run Java.

Teaching Resources Teaching Resources

Happy Coding now has teaching resources!

Links Links

Links to cool projects.

Intro to Coding with p5.js and Processing Intro to Coding with p5.js and Processing

Some ideas for teaching an intro to coding course.

Multi-Year Curriculum Multi-Year Curriculum

Plan a multi-year curriculum with Happy Coding.

How to Program How to Program

Break problems down into smaller steps.

Scaling Heart Scaling Heart

Scale a heart. ❤

Random Hearts Random Hearts

Draw random hearts. ❤

Heart Heart

Draw a heart. ❤

One-Day Workshop One-Day Workshop

Teach a one-day workshop.

Simple Weather Map Simple Weather Map

View the current weather on a map.

Personal Webpage (default Bootstrap styles) Personal Webpage (default Bootstrap styles)

Use Bootstrap to style your personal webpage.

Personal Webpage (Cyborg Bootstrap theme) Personal Webpage (Cyborg Bootstrap theme)

Use Bootstrap themes to style your personal webpage.

Personal Webpage (light styles) Personal Webpage (light styles)

Add styles to your personal webpage.

Personal Webpage (dark styles) Personal Webpage (dark styles)

Add dark styles to your personal webpage.

Hour of Code Hour of Code

Only have an hour to spare? That's plenty of time!

Processing.js Processing.js

Embed your sketch in a webpage.

Exporting Applications Exporting Applications

Share your programs with other people.

Hosting Hosting

Let other people visit your page.

Hour of Code Hour of Code

Learn the basics of programming in an hour!

Personal Webpage (no styles) Personal Webpage (no styles)

Check out my basic personal webpage.

Washington DC Tour Washington DC Tour

Take a tour of my favorite Washington DC places!

JavaScript Tutorials JavaScript Tutorials

Happy Coding now has JavaScript tutorials!

AJAX and JSON AJAX and JSON

Load external content into your webpage.

Bootstrap Bootstrap

Create a website using Bootstrap.

jQuery jQuery

Learn about one of the most popular JavaScript libraries.

Libraries Libraries

Learn about using libraries in JavaScript.

Spiral Spiral

Create a colorful spiral.

Letters Letters

Show a grid of letters.

Developer Tools Developer Tools

Meet your new best friend.

Vine Vine

Procedurally generated vine animation.

100 Days of Code 100 Days of Code

Join the challenge and write code for 100 days!

Interactive HTML Interactive HTML

Learn about creating interactive HTML with JavaScript.

Creating Functions Creating Functions

Learn about creating functions in JavaScript.

Calling JavaScript Calling JavaScript

Start making interactive webpages.

Ludum Dare and Programming Without a Computer Ludum Dare and Programming Without a Computer

Here's how I entered Ludum Dare by programming a game without using a computer.

Random Synthesizer Random Synthesizer

Use the Minim library to play random synthesizer notes.

Rainbow Logo Rainbow Logo

Use CSS to create a rainbow logo!

CSS CSS

Learn how to style your HTML pages.

Draggable Circle Draggable Circle

Reposition a circle by dragging it around the screen.

Random Circles Random Circles

Random circles fill up the screen.

Radial Gradient Radial Gradient

Create a radial gradient.

Corner Gradient Corner Gradient

Create a corner gradient.

Bouncing Gradient Bouncing Gradient

Create a bouncing gradient.

2D Gradient 2D Gradient

Create a 2D gradient.

Code Can Bring Us Together Code Can Bring Us Together

This seemed like the right time to reflect on why I created this site.

Worms Worms

Your basghetti is now worms!

HTML Tags HTML Tags

Learn about some more tags you can use in HTML.

Turtle Graphics Turtle Graphics

Use functions to create a pen that you can rotate and move.

HTML HTML

Get started using HTML.

Background Info Background Info

Here's how I generate random background images. Here's how you can too!

Random Piano Random Piano

Use the Minim library to play random piano notes.

Libraries Libraries

Use libraries to expand what Processing can do.

Tricks and Treats and Tags Tricks and Treats and Tags

We now have a tag system. Check out the 🎃 tag!

Pumpkin Patch Pumpkin Patch

Click to add a pumpkin to the patch.

Glowing Jack-o'-Lantern Glowing Jack-o'-Lantern

Make a glowing Jack-o'-lantern.

Twitter Cards and Open Graph Twitter Cards and Open Graph

Ever wonder how sites like Twitter and Facebook figure out what to show when you share a link?

Jack-o'-Lantern Jack-o'-Lantern

Draw a Jack-o'-lantern.

Random Jack-o'-Lantern Random Jack-o'-Lantern

Procedurally generate a Jack-o'-lantern.

Flower Flower

Scale a flower.

Happy Commenting Happy Commenting

We now have a comment section! *gulp*

NES Filter NES Filter

Color an image using the NES palette.

Flower Flower

Draw a flower.

Images Images

Display and manipulate image files.

The CodePen is Mightier than the Sword The CodePen is Mightier than the Sword

All of the tutorials and examples now have a code editor embedded directly in them!

Random Walkers Random Walkers

Randomly colored random walkers.

Flocking Flocking

Drag to create more Flockers.

Por Ejemplo Por Ejemplo

Happy Coding now has examples!

Eyes Eyes

This example creates creepy eyes that follow your mouse.

Flyers Flyers

Create a swarm that follows the mouse.

Flocking Flocking

Simulate the behavior of a flock of birds.

Random Walkers Random Walkers

Randomly colored random walkers.

Random Walkers Random Walkers

Randomly colored random walkers.

Bouncing Balls Bouncing Balls

Make a random bouncing ball pit.

Good Morning Good Morning

Say hello based on the time of day.

Random Colors Random Colors

Make every pixel a different color.

Bouncing Balls Bouncing Balls

Make a random bouncing ball pit.

Random Walker Random Walker

aka the scribbler

Random Faces Random Faces

Procedurally generate infinite smiley faces.

Smiley Face Smiley Face

Scale a smiley face.

Random Face Random Face

Procedurally generate a smiley face.

Smiley Face Smiley Face

Draw a smiley face.

Hello World Hello World

The first blog post on the new site!

Creating Classes Creating Classes

Create blueprints for your own objects.

ArrayLists ArrayLists

Create an object that stores other objects.

Using Objects Using Objects

Group related variables together.

Input Input

Use mouse and keyboard input to make interactive sketches.

For Loops For Loops

Use patterns to repeat work without repeating code.

Arrays Arrays

Create variables that hold multiple values.

Animation Animation

Create animated visualizations.

If Statements If Statements

Make decisions in your code.

Creating Functions Creating Functions

Write your own custom functions.

Using Variables Using Variables

Get information from the computer.

Creating Variables Creating Variables

Give your code a memory.

What is Programming? What is Programming?

Get ready to write some code.

Calling Functions Calling Functions

Tell the computer what to do.

Mastodon github etsy youtube RSS

Question? Request? Just want to talk about coding? Come say hi on forum.HappyCoding.io!

HappyCoding.io is open source. - How to contribute? - View or edit this page's source on GitHub!