My Code, demos and ideas.

Capturing Work Git History for your github activity graph

Monday, Jul 24, 2023

A quick tip on how to capture work git history for your github activity graph

Read Article →

Recreating this blog with static generation

Thursday, Jun 15, 2023

Join me on my journey of recreating my blog using a custom static generation solution. Discover the challenges I faced with platforms like WordPress and Gatsby, and my desire for a simpler approach. I explain the code structure, including markdown parsing and metadata extraction, as well as additional parsing for code blocks and gists. Templating with EJS and hosting on GitHub Pages are also covered.

Read Article →

Demos and Deviations Project

Monday, Aug 22, 2022

Explore a personal archiving project that showcases a collection of small coding projects and demos created over the years. Discover the motivation behind the project, its current state, and the plans for future development. Take a nostalgic journey through my coding evolution.

Read Article →

Deep copying in JavaScript

Wednesday, Apr 27, 2022

Gain insights into the intricacies of deep copying or cloning in JavaScript. Learn about the differences between copying by value and copying by reference, and discover the limitations of JavaScript's natural deep copying. Explore various methods for achieving deep copying, such as spread operators and JSON.stringify, and delve into the drawbacks of each approach. Finally, uncover a recommended solution for deep copying in JavaScript

Read Article →

Floating text from cursor generative demo

Thursday, Mar 31, 2022

Be inspired by a generative demo that combines JavaScript and CSS to create a mesmerizing effect of floating text following the cursor. Discover the origin of the idea and witness how a random paragraph from Nostradamus was transformed into an engaging visual experience.

Read Article →

Simple One Element Toggle

Saturday, Oct 23, 2021

Dive into a quick toggle implementation using pure CSS and a single HTML element. Witness the magic of CSS as it brings the toggle to life with smooth transitions and dynamic styling. Explore the simplicity and versatility of this toggle design, making it a convenient choice for projects where minimalism and efficiency are paramount.

Read Article →

Extracting the subdomain with node.js

Friday, Jul 25, 2014

Discover a simple method for extracting subdomains using Node.js and Express. Follow a step-by-step guide to handle subdomains in server requests, splitting and formatting them for further use. Witness how this technique can be applied to customize user experiences based on their subdomains and gain a deeper understanding of the code implementation.

Read Article →

Rift Enabled Canvas Demo

Tuesday, Mar 18, 2014

Experience the fusion of the Oculus Rift and CSS shaders in a captivating demo. Explore the process of porting a tunnel demo to be compatible with the Oculus Rift using the Oculus Bridge project. Discover the challenges faced and the workaround used to achieve a Rift-enabled effect in the browser.

Read Article →

Game Dev Movement cheatsheet with examples

Wednesday, Nov 13, 2013

Unlock a treasure trove of helpful code snippets and examples related to movement, angles, and directions in game development. Whether you're looking for collision checks, inertia-based mouse movement, following behavior, or object rotation, this cheatsheet provides practical code solutions. Discover various techniques and gain insights into the world of game development movement.

Read Article →

Simple 2d Terrain With Midpoint Displacement

Tuesday, Nov 12, 2013

Dive into the realm of 2D terrain generation using the Diamond Square algorithm, also known as Midpoint Displacement. Explore the simplicity and versatility of this algorithm in creating realistic 2D terrain with rolling hills or jagged mountains. Learn the step-by-step process of implementing midpoint displacement, reducing the random range for terrain roughness, and achieving visually stunning terrain using JavaScript and the canvas element.

Read Article →

Burn Away Effect Explanation

Thursday, Nov 7, 2013

Uncover the secrets behind a captivating burn away effect commonly used in loading screens and visual effects. Dive into the concept of representing pixels as fuel and learn how to create a 2D array to determine the burn duration of each pixel. Explore the decrementing process of pixel values and the importance of flagging elements to ensure a controlled and visually appealing burn effect. Witness the mesmerizing animation of the burn away effect and discover how to add additional visual effects for an enhanced experience.

Read Article →

Working on a new JS game

Thursday, Oct 10, 2013

Embark on an exciting journey into game development with me being furloughed from my job dives into creating a full-fledged HTML5/canvas game. Get a sneak peek of the work-in-progress screenshots of Grapple Hero and explore the unique gameplay mechanics that revolve around grappling. Play the demo build and witness the thrilling escape from lava. Discover the platforms on which the game will be released and follow its progress on IndieDB.

Read Article →

Recreating gifs for the jsBin Compo

Monday, Aug 19, 2013

There's a really interesting [competition the creator of jsbin is running](http

Read Article →

3d Shading with Points

Saturday, Aug 17, 2013

Unearth the secrets of creating mesmerizing 3D shading effects using points in JavaScript and the canvas element. Inspired by an old book, I showcase the reproduction of shaded spheres made entirely of points. Delve into the code and discover how each pixel is meticulously calculated to achieve a spherical shading effect. Witness the beauty of planets and moons crafted with this unique approach and explore the potential for your own creative endeavors.

Read Article →

Atari Rom Reader, and color picker

Thursday, Jun 20, 2013

Step into the world of Atari 7800 roms as the I share an intriguing project that dumps and displays the data of these roms using the canvas element. Discover the simplicity and efficiency of extracting graphics from Atari games through this application. Dive into the technical aspects of decoding roms, understanding graphic modes, and extracting color information. Explore the results and gain insights into the my journey in creating this tool.

Read Article →

Creating a canvas platformer tutorial part two

Wednesday, Apr 17, 2013

Learn how to add objects for collision detection and create boundaries in your canvas platformer game. Watch as your player interacts with the environment and avoids falling off the screen. Get ready to take your game to the next level!

Read Article →

Creating a canvas platformer tutorial part one

Wednesday, Jan 9, 2013

Discover how to create a canvas game using JavaScript. Follow along as you draw and move a player object on the screen. Learn about the game loop, handling user input, and making the player move smoothly. Start building your own game today!

Read Article →

Rainbow bright bookmarklet

Thursday, Jan 3, 2013

Inject a burst of color into your browsing experience with the Rainbow Bright Bookmarklet. Discover how this nifty tool randomly changes the colors of all elements on a webpage. Click to add some vibrancy to your browsing!

Read Article →

Snowfall 1.6

Saturday, Dec 8, 2012

Let it snow! Experience the magic of winter with Snowfall 1.6. Learn how to add snowfall effects to your website using jQuery or pure JavaScript. Get ready to create a winter wonderland!

Read Article →

Monday, Oct 1, 2012

Embark on a nostalgic journey to retro gaming with Dive into the world of 2D ship generation using Node.js and Unleash your creativity and explore the possibilities of procedural graphic generation.

Read Article →

Super Simple Wave Simulators

Monday, Sep 10, 2012

Ride the wave of creativity! Immerse yourself in mesmerizing wave simulations. Discover two unique approaches—one using JavaScript and canvas, and another with pure HTML/CSS. Picked and featured on Codepen!

Read Article →

My sons first game Dark Slayer

Friday, Jun 22, 2012

Witness the birth of a young programmer's talent. Join Jacob on his programming journey as he develops his first game, Dark Slayer. Experience the thrill of enemies, player health, and an epic quest. Support the next generation of game developers!

Read Article →

2d Metaballs with canvas!

Thursday, Jun 7, 2012

Enter the captivating world of 2D metaballs. Uncover the secrets behind their mesmerizing fluid-like behavior. Delve into JavaScript and canvas to create stunning metaball effects. Experience the magic of visual artistry!

Read Article →

Turning canvas games into executables

Thursday, Mar 29, 2012

Take your canvas games to the next level. Discover how to turn your HTML5 creations into self-contained executables. Explore the possibilities of monetization and even screen savers. Unleash your games beyond the browser

Read Article →

JEST another HTML5 Game Framework

Monday, Mar 19, 2012

Level up your game development with JEST, a compact and feature-rich HTML5 game framework. Explore its capabilities through demos like the SOPA game and my SHMUP. Start creating your own gaming masterpieces!

Read Article →

HTML5 Canvas Flood Fill

Wednesday, Mar 7, 2012

Discover the power of flood filling in HTML5 Canvas with a step-by-step guide. Learn how to implement a workhorse function that recursively checks neighboring points to fill areas with a new value. Try the code yourself and explore the possibilities of this essential gameplay mechanic.

Read Article →

HTML5 Canvas Particle engine

Friday, Feb 24, 2012

Take a closer look at a basic particle engine built using HTML5 Canvas. Explore the integration with a custom game framework and its potential for creating stunning visual effects. Get a glimpse of the upcoming editor and see how you can easily incorporate this particle engine into your own projects.

Read Article →

Procedural Canvas Shmup now has a boss and sounds!

Tuesday, Feb 14, 2012

Experience the impact of music and sounds in game development as my shmup project progresses. Witness the addition of a boss character and learn about upcoming features like player ship upgrades and a consistent enemy design. Follow the development journey and explore the possibilities of this exciting shoot 'em up game.

Read Article →

Glow Roids

Tuesday, Feb 7, 2012

Revisit a classic game project, Glow Roids, created with C# and OpenGL. Take a trip down memory lane as you explore the challenges of early game development. Download the game for an immersive experience, although be aware that it may have compatibility issues on different machines.

Read Article →

Current Project Canvas Shmup

Thursday, Jan 26, 2012

Get a sneak peek at the latest canvas shoot 'em up project. Discover the unique features of this game, including procedural graphics and level generation based on seeds. Explore the potential for creating personalized challenges and enjoy the visually stunning work in progress. Make sure to try it in a modern browser for the best experience.

Read Article →

My SOPA/PIPA Ludum Dare entry

Thursday, Jan 19, 2012

Step into the world of game development under tight time constraints. Learn about the creation of a Ludum Dare entry inspired by World Infectonator. Experience the challenge of converting the unaware and spreading awareness through gameplay. Play the game and support the fight against SOPA/PIPA.

Read Article →

Installing Alpha Centauri Alien Crossfire on Windows 7

Sunday, Jan 1, 2012

Follow this detailed guide to install Alpha Centauri with the Alien Crossfire expansion pack on Windows 7. Overcome installation issues and ensure smooth gameplay with step-by-step instructions. Learn how to set up the game outside of restricted folders, adjust the resolution, and apply unofficial patches for an optimal experience.

Read Article →

Fake 2d Lighting with javascript

Wednesday, Nov 16, 2011

Explore the concept of fake 2D lighting in JavaScript through realtime 2D raycasting. Delve into a code example and experiment with a JavaScript version of the technique. Discover its potential applications in creating vision cones for AI and consider its optimization possibilities.

Read Article →

Meat Boy Pumpkin!

Monday, Oct 31, 2011

Celebrate Halloween with a creative twist by grinding out a pumpkin carving inspired by the popular game character Super Meat Boy. Marvel at the first attempt to capture the iconic face of Meat Boy on a pumpkin and anticipate further improvement in future carving endeavors.

Read Article →

Another Android live wallpaper, Forest Scene

Sunday, Oct 30, 2011

Experience the beauty of a forest scene inspired by a JS1K demo submission. Discover an Android live wallpaper that captures the essence of nature with plans for future enhancements like clouds and different seasons. Explore the GitHub source code and find the app on the Android market for a captivating home screen experience.

Read Article →

Gaming Gaming Gaming

Sunday, Oct 30, 2011

Get a glimpse into the gaming habits and collection of a dedicated PC gamer. Dive into a vast collection of PC games, both physical copies and digital downloads, while exploring thoughts on current gaming trends. Discover what games the author is currently playing and their excitement for Halloween-themed events in popular titles.

Read Article →

Android Live Wallpaper Guts and Goo

Tuesday, Oct 11, 2011

Explore the creation process of an Android live wallpaper called Guts and Goo. Learn about the technologies used, including libgdx and the libgdx live wallpaper backend. Discover the challenges faced, such as handling Android preferences, and look forward to future updates and the release of a lite version with additional features.

Read Article →

jQuery Snowfall 1.5 update now with snow buildup!

Thursday, Oct 6, 2011

Stay up-to-date with the latest version of the jQuery Snowfall plugin. Experience the added feature of snow buildup, allowing snowflakes to accumulate on specified elements. Learn how to enable this feature and explore other options and methods available. Download the plugin, view it in action, and enhance your website's winter atmosphere.

Read Article →

My entry for js1k #3

Sunday, Apr 24, 2011

Check out my journey of creating an entry for the JS1k competition. Follow the development process from initial ideas of rainbow roads and 3D tombstones to a final submission combining terrain and wave generation. Explore the compact JavaScript code and see the resulting graphical creation in action.

Read Article →

CSS3 Animations are Fun!

Monday, Mar 14, 2011

Dive into the world of CSS3 animations and discover their capabilities. Explore a timed rotary counter example created with CSS, without the need for images or JavaScript. Witness the elegance of CSS3 animations in action and anticipate their widespread adoption for creating dynamic and visually appealing web experiences.

Read Article →

JS1k XMAS submission

Thursday, Dec 9, 2010

Embrace the holiday spirit with a 3D Christmas Tree created for the JS1k competition. Experience the challenges of fitting a 3D engine with depth sorting and lighting into a small package. Compare the submission with other entries and appreciate the diversity of artistic expression within the competition.

Read Article →

Jquery Snowfall Plugin 1.4

Thursday, Dec 9, 2010

Access an updated version of the jQuery Snowfall plugin, offering new features like rounded flakes and shadows. Learn how to invoke the snowfall effect, clear the snow, and customize various options. Download the plugin and enhance your website with a touch of winter magic.

Read Article →

Jquery Snowfall script updated

Thursday, Nov 25, 2010


Read Article →

Use built in jQuery UI icon with datepicker

Wednesday, Oct 6, 2010

Discover a solution for integrating jQuery UI icons with the datepicker plugin. Utilize the showOn and next functions to create a fully themed calendar button without relying on an input field. Simplify the implementation of date pickers and enhance the visual appeal of your user interface.

Read Article →

Got a kindle

Tuesday, Sep 28, 2010

Well I got a Kindle 3 for my birthday today, I had one last year for a little bit but had to give it back to work, since then I've found myself wanting another. First thing I tried (besides a web IRC) were some of my canvas demos on the experimental browser that ships with the Kindle. They all seemed to work, just VERY slowly...

Read Article →

A New look

Monday, Sep 27, 2010

Was a bit sick of the older design, it had some weird issues plus honestly I really began to hate it. I am liking this one a lot more, kept the whole light bulb concept from the old design, but other than that pretty much everything else is different. Wanted to incorporate text shadows too, I think they look slick in modern browsers...

Read Article →

jCrumb Instant Breadcrumb plugin

Friday, Sep 24, 2010

Just finished up a new plugin for jQuery. I wanted some breadcrumbs for some pages but wanted to do it all client side, so I came up with jCrumb. jCrumb saves the link and title of the most recent page and adds it to a session cookie, creating a dynamic bread crumb navigation bar on the page. It uses jQuery...

Read Article →

JavaScript time between dates

Tuesday, Sep 21, 2010

A person asked a question in my post about sorting dates in Javascript, basically on how to return a measurement of time between dates, such as days, hours, minutes, seconds. I haven't really ever had to do something like this so I figured I would see if it was as easy as I assumed it would be in JS...

Read Article →

New js1k Submission JSGrapple

Wednesday, Sep 8, 2010

Update Submission for the js1k competition. My 3rd, and final one only the last one you enter is judged and I think this is going to be as good as it gets from me that is. I ended up settling on a clone of a cool game I used to play when I was a network admin in the Air Force called Wire Hang Redux...

Read Article →

JS1k Submission

Sunday, Aug 29, 2010

Theres a javascript 1k competition going on here the rules are simple make something using only javascript in under 1k. It can be minified, whatever just as long as its 1024 bytes or smaller. This is what I submitted (Caution could cause seizures, and vomiting!). You can only submit one thing which kind of sucks...

Read Article →

JSLander completed

Sunday, Jul 4, 2010

Finally sat down this weekend and completed my Javascript Lunar Lander clone, JSLander. Decided to make it after messing around with midpoint displacement towards the end of last year. The development of JSLander overall wasn't too bad, the trickiest thing was making everything work exactly the same when you were zoomed in...

Read Article →

Cellular Texture Generation with JavaScript and Canvas

Friday, Jul 2, 2010

Been messing with canvas again, and put together a little demo that creates procedural cell looking textures, based off of the Worley algorithm. You can achieve some pretty amazing results, also added the option to animate, but since the algorithm has not been optimized yet you have to keep the dimensions and number of points low...

Read Article → Site Design

Friday, Jun 25, 2010

Just finished up another site for a client, http

Read Article →

DSx86 is awesome!

Tuesday, Jun 8, 2010

DSx86 is awesome! I don't know what it is but something about old dos games on handheld systems excites me, I think its because even those old games seem to have more depth and content than many of the current games in the handheld market...

Read Article →

JavaScript Canvas Lightning Effect

Tuesday, May 25, 2010

Like always still messing around creating random things using JavaScript and the Canvas element. My most recent side project was implementing some Action Script lightning code posted by Rybar over on the Flixel forums. Here is what I came up with...

Read Article →

New Design for Mio Ausable Schools

Tuesday, May 25, 2010

Just finished up a design for a client Mio Ausable Schools. I think it turned out pretty well. One of the funny things is this is the High School I actually went to oh so many years ago, a place where I flexed my brain technology wise...

Read Article →

MySQL Stored Procedures IF NOT EXISTS()

Thursday, May 6, 2010

I have been using MSSQL with ASP.NET a lot lately, and I really wanted to get some of the benefits of stored procedures into a PHP application I'm writing. I've known MySQL has supported them for a while but I guess I was always a bit too lazy...

Read Article →

Minecraft fun and editing

Sunday, May 2, 2010

Recently came across this awesome java game Minecraft basically the whole goal of the game (multiplayer that is) is to create and destroy things. At first I was pretty skeptical, the concept is so simple.. until I found myself spending hours recreating Mario...

Read Article →

Jquery Snowfall Plugin 1.3

Friday, Apr 30, 2010

Plugin has been updated to 1.4 please go here for more up to date information. Updated fixed a bug, and added an example file to show how to use the plugin. Added a few new things to the Jquery snowfall plugin, you now have the ability to clear the snow from elements..

Read Article →

Game Related Snippets I always Forget

Monday, Apr 26, 2010

When I sit down to prototype something new I always find myself looking up the same snippets to do the same types of things. I figured I might as well record them somewhere so I know an easy place to look when I do forget. All the samples will be in Javascript and should be able to be easily converted to any other language...

Read Article →

Quick Sort algorithm comparison

Wednesday, Apr 21, 2010

I've been trying to do regular programming exercises lately just to stay sharp and recently I decided to take on sorting algorithms. I used my current language of choice (javascript) and set out to implement the quick sort algorithm. Below is the portion of my code that completes this...

Read Article →

How to get the week in a month for a date with Javascript

Wednesday, Apr 14, 2010

Working on my calendar application and I needed to get what week in the current month a day occurs on. Unfortunately I couldn't find anything like this in the JavaScript Date object so this is the function I came up with...

Read Article →

Canvas Lunar Lander update

Monday, Apr 12, 2010

Game is still coming along, it now supports zooming, which was actually a little bit tricky to figure out. Only a few more things left to add before its a full fledged game.. or clone of a game that is. Check out the progress of JSLander. Now supported in any browser that supports the canvas element...

Read Article →

Javascript Sorting by date time

Monday, Apr 12, 2010

Im currently working on a web based calendar and I needed to sort my event object by date real quick. So the first thing I did was a quick search on sorting an object by date time. Google becomes such second nature I immediately think of doing that first sometimes before fleshing out a whole solution in my mind...

Read Article →

Lunar Lander Canvas Game

Thursday, Apr 8, 2010

Working on a lot of things lately but noticed I haven't made a post in quite a while. Heres a quick look at one of the random games I'm making using JavaScript and the Canvas element. Its essentially a clone of Lunar Lander. As it is right now you can't actually crash, and if you successfully land on one of the pads, your drops from the top again...

Read Article →

Dynamic rotated sprite sheets with JavaScript

Sunday, Feb 7, 2010

Been working on the single player canvas game this week and got a few cool things accomplished in terms of performance. The main thing I was working on was trying to reduce the slowdown on real time image rotation. What I ended up coming up with was creating rotated sprite sheets on the fly in memory...

Read Article →

New Canvas game im working on

Tuesday, Feb 2, 2010

A while back I posted a link to a Flash game I was working on, it was going to be multiplayer using Nanoba. Unfortunately I gave up on it pretty quickly, I'm not a big fan of Flash and I wanted to learn something totally different, so I decided to try and remake the game using Canvas...

Read Article →

Snowfall Plugin Updated

Monday, Dec 21, 2009

Updated the snowfall plugin that was released yesterday with a few more features. The primary new feature allows you to specify which elements you want the snow to appear in. An example of this can be seen below. View a full page demonstration. In addition to snowing within elements there are some more options available, properties available are...

Read Article →

Jquery Snowfall plugin

Saturday, Dec 19, 2009

Plugin has been updated to 1.4 please go here for more up to date information. Got bored today and decided to put together a quick snow plugin for Jquery. On my site the members look forward to the snow every year. I decided to replace the older one we were using, it was nice overall...

Read Article →

Terrain Generation with Canvas and JavaScript

Monday, Dec 7, 2009

The idea of creating height maps with JS and canvas came from an idea I started for a different website I'm developing. This small project has taught me many things (some of the unfortunate things I learned is I still suck at math, and I have many JS skills to brush up on). I just couldn't bring myself to give it up so I also implemented a very slow very light voxel engine...

Read Article →

Quick Canvas Game

Saturday, Mar 14, 2009

I've been hearing things about this canvas element lately and I found some really cool uses. Mostly I found examples of charts that use it, which makes sense because in some browsers its not very fast rendering real time elements onto it, and IE browsers do not natively support it. After doing some more research and seeing as its in the HTML 5 specification I figured I would try my hand at making something quick with it...

Read Article →

OpenGL Screensaver

Wednesday, Feb 25, 2009

Well I have finished my mess around project with OpenGL. I decided to make a screensaver BIG SURPRISE

Read Article →

Messing around with OpenGL

Monday, Feb 23, 2009

Wasn't in the mood this weekend to work on my current flash project, or any other web projects, so I decided to mess around with the TAO framework. I made a game about a year ago called Glow Roids (the name is pretty comical when you think about it) using CsGL. I had a bunch of problems with it on different machines, mostly involving ATI cards, and Vista...

Read Article →

My Current Flash Project

Monday, Feb 16, 2009

Nonoba if you haven't heard of this site your missing out. It's a pretty big Flash portal similar to Kongregate, the main difference is they offer a multiplayer API. The API is great, its pretty easy to use, and if you've ever done anything with socket programming and sending messages back and forth you'll find no trouble using it at all.

Read Article →

Aviary Raven

Thursday, Feb 12, 2009

This site is awesome. I found this a while back when they created Phoenix, basically an online Photoshop. Today I was on Digg and I found an article related to Raven. It's a fantastic application very similar to Adobe Illustrator. The great thing (besides the fact that I can access it anywhere in the world) is that it's totally cross-browser, even

Read Article →

Hello everyone.. or just me

Thursday, Feb 5, 2009

Hello everyone.. or just me

Read Article →