I spent some time this week moving this site from WordPress.com to a self-hosted WordPress instance. As part of that process I ended up reviewing this blog which has content going back from 2011.
The older content is a lot of code snippets, and plugin releases which has me thinking about how the internet has changed so much over the past 15ish years. We have moved to systems like GitHub and Reddit and that long form blogging is mostly a thing of the past. I understand the appeal of having all the content in one place, but it brings back the age old question of who owns and controls our data.
For me, I remain a fan of open technologies (like git itself) and plan to bring back this blog. In fact, the process revealed I have lots of posts in draft form here, so more to come, stay tuned!
Note: This post refers to code and a project from many years ago 😱. The content was edited in March of 2025 to remove dead links, improve clarity, or fix formatting, but no other edits were made. Enjoy this time capsule into the past.
Update: this plugin was originally called Ackee WP but has been renamed to Soapberry to comply with the WordPress.org trademark policy for plugins. The plugin can now be found on WordPress.org under the slug Soapberry.
As part of my desire to own my data, I haven’t used Google Analytics for the past few years. In that time I’ve been curious about my site statistics but knew when I resumed collecting data I wanted to do so in a way that respected the privacy of my visitors.
This year I started a search for self-hosted tracking solutions and came across a lightweight node application, Ackee. After looking at a few other options I decided on Ackee for its care in anonymizing user data. Through hashing the user’s IP, a unique domain ID, and a salt which changes daily, site visits can be tracked without tracking the individual visitors.
For my needs, I want to know how many visits my sites are getting, where visitors are coming from, and how long they stay on the site. However, I do not have a need or desire to track individual visitors.
Using Ackee with WordPress
After setting up an Ackee instance and adding the tracking script to a few static sites I wanted to bring the functionality to my WordPress sites. At first, I just edited the theme’s footer.php file which worked well enough as a quick way to insert the script. Next, I hooked into wp_footer() so it would be easier to exclude logged in visits from the analytics.
While both of these methods work they do require a bit of WordPress know-how and do not carry over when switching themes. Wanting a better solution, I got to work writing Soapberry a WordPress plugin that adds the Ackee tracking script and data attributes to the site’s footer based on settings saved on a WP Admin page.
Keeping things simple at first, this first version of the plugin only has the ability to exclude all logged-in visitors and does not take into account the personal data options provided by Ackee. In the future, you may be able to exclude visits by role and enable opt-in tracking for personal information.
Exploring Ackee Alternatives
If after looking at Ackee you don’t think its right for you that’s okay. Ackee won’t be right for everyone. The good news is there are other options when looking to move away from Google Analytics, Facebook Pixel, or other third-party tools.
This weekend I have the pleasure of speaking at WordCamp Seattle offering some advice from all parts of support. Here are the slides from my #wcsea talk, Help Us Help You, things you should know before contacting support. Once the video is on WordPress.tv that will be posted here as well.
Note: This post refers to code and a project from many years ago 😱. The content was edited in March of 2025 to remove dead links, improve clarity, or fix formatting, but no other edits were made. Enjoy this time capsule into the past.
I recently added a WRGB LED strip to the top of my bookshelf using WS2811 LEDs or as my friends at Adafruit call them NeoPixels. I chose RGBW LEDs so I could get a nicer white and use less power than a traditional RGB strip.
Last year while making popcorn and cranberry chains the only thing missing from the tree was a star. One was made posthaste. However, it was missing a very important feature, lighting up. We couldn’t let that happen two years in a row so this year we added a color changing light to our homemade star.
Once I started to wire the bike light into my 3D Box I quickly learned that while I learned a lot my box was clunky and would have too many wires. That’s around the same time I learned about custom circuit boards.
Now that I had working code I started thinking about waterproofing. I decided to order a waterproof cable and print a 3D Box. As this was my first time 3D Printing I had no idea what I was doing. I designed a box in AutoDesk 3D and headed to my local maker space to have it printed. Over all I’m pretty happy with how the box turned out. My original idea was to solder everything into the box. However, I learned this was not as easily done as I was hoping so I’ll be going another route in terms of enclosures.
Note: This post refers to code and a project from many years ago 😱. The content was edited in March of 2025 to remove dead links, improve clarity, or fix formatting, but no other edits were made. Enjoy this time capsule into the past.
Monkeylight m204 spoke light from Monkeylectric
About 10 months ago I had a friend who got hit by a car while on a bike. This lead to stepping up the visibility game. One of the improvements were bike spoke lights. They serve to increase side visibility while riding.
I recently bought a set of Flic buttons for my home. At my house these are mostly used to control my music or easy turn on/off my lights. Another great feature was being able to place one outside to be used as a doorbell.
I have been holding off on posting this because it just seems too good to be true. This October I joined the amazing staff at Automattic full time. This is the bunch of people who are behind WordPress and WordPress.com. I’ve joined as a Happiness Engineer on the Store team. I hope this means that I’ll have a little more time to work on my plugins and attend WordCamps.