Localizing Go to JavaScript

While working a Go backend for a side-project, I implemented a custom templating system among other things. For my project, I needed to be able to pass nonce values down to my JavaScript. I realized that keeping the data in the front-end up-to-date with the backend would require a lot of leg work. In order to save time and effort, I built the localize package.

This package takes a pre-defined Go data structure and recursively translates it to JavaScript primitives. The JavaScript that is spit back out can be used in just about any fashion, but it is designed to work best with the html/template package. Since the html/template package provides support for calling functions assigned to data passed to the template.Template.Execute() function, templates can fire off the localization process themselves. Once you have a template setup to utilize the localize package, it’s a fire and forget situation. The best kind, in my opinion.

Read on! “Localizing Go to JavaScript”

Running WordPress PHPUnit Tests With Docker

I recently moved my web development workspace from MAMP to LAMP with Docker. The transition was difficult, due to issues with Ruby and RVM on my host machine. Now that it is working, all is well!

When I started tinkering with Docker, my goal was just to see if I could replicate my WordPress development environment. After I did that, I improved it a bit. Now, i’ve suitably compartmentalized each project. Each WordPress project has its own WordPress installation, MySQL server, error logs, plugin and theme directories.

The only thing missing was being able to run unit tests!

Read on! “Running WordPress PHPUnit Tests With Docker”

Basic WordPress Theme

An example of the theme's front page.
The front page!

The Basic theme is exactly what it sounds like. It’s a barebones starter theme built on top of the fantastic Underscores theme (_s). With support for Sass and some build tools that I pieced together, modification is reasonably easy.

Now, I’ve got a launch pad project for simple WordPress site development! Actually, we have a launch pad project for simple WordPress development. I’ve hosted the source code and build tools on Github. You can build the project yourself!

Read on! “Basic WordPress Theme”

Necessary Tools

The Necessary Tools plugin logo.

The Necessary Tools plugin is a WordPress plugin that builds on the default functionality of WordPress. Its purpose is to provide quality-of-life features to all users. Features include post cloning, and exporting posts individually or in bulk. Of course, custom post types are supported by both features.

Read on! “Necessary Tools”

Word Search Solver

A screenshot of the word search solver on a desktop.

This JavaScript based word search solver matches the first occurrence of each word on a word grid. It searches horizontally, vertically, diagonally, and of course backwards! The solver is intelligent, so it doesn’t waste time starting searches on characters that couldn’t possibly contain words on the word list. Another time-saving measure that the solver takes is that it will remove (internally) any words it successfully matches from the word list. The result being that the program speeds up as it successfully matches words.

Read on! “Word Search Solver”

Game On

The Mac Lab's logo.

[Edit]: As of September 9th, 2017, I am no longer working on Game On. I’ve learned quite a lot while working on the it, but the time had come to move on. I have left the plugin in the hands of it’s new maintainer(s). I am hopeful that they will gain as much from it as I did.

Game On is a gameful education WordPress plugin. It provides a suite of tools for teachers to take advantage of. Game On is the brain child of Mike Skocko, a New Media Arts Teacher and Adobe Education Leader at the Valhalla High Mac Lab. The plugin was originally developed for internal use in the Mac Lab. However, in 2012 the plugin was released for other teachers to use. In 2015, the user base reached 80+ educators. Over the 2+ years that i’ve been working on it, Game On has come a long way and still has much further to go. Regardless, Game On and the Mac Lab still have the same mission, to innovate education by breaking the box.

Read on! “Game On”