All Posts

Shakespeare and Large Language Models

Published: December 17, 2025

I have, from time to time, joked that I stopped enjoying Shakespeare when asked to compare characters from disparate works and brocolli. My most recent was in September, when I made the joke in Shakespeare in Planning. In the meantime, a coworker gave a presentation on Google's NotebookLM. I decided to test it out for helping me study for a…

Read more...

Now Using Astro

Published: December 15, 2025

In 2023, GatsbyJS was purchased by Netlify. I think this was a great acquisition by Netlify; however, most of the Gatsby updates since the have been automated patches from gatsbybot. Looking at the GatsbyJS pull requests, it appears that there is some movement from meat bots, but not much has been updated by a human in the main branch for…

Read more...

A Month of Hamlet

Published: October 05, 2025

I have been studying Hamlet for almost a month and have enjoyed the experience. In total, I have been studying for nearly 21 hours (1,243 minutes), not counting the time spent writing about it. When I was a student, I remember calculating how many pages I would have to read each day just to study the works I was simultaneously…

Read more...

Studying Hamlet and Remembering

Published: September 11, 2025

Damn. Damn. Damn. ("Good Times", Season 4, ep 1) Studying Hamlet made me think of my old professor, who wasn't that old when he was mine. I wanted to reach out to him to say, "I'm finally studying Hamlet lol" only to find that he had shuffled off this mortal coil (Hamlet 3.1.75) a mere 7 years ago. Professor Stephen…

Read more...

Shakespeare in Planning

Published: September 07, 2025

Background I am a recovering English Lit major. I graduated with a degree in information technology, not with a liberal arts degree in English literature. However, one of the classes that just killed me as an English major was Shakespeare. We had to read a thousand plays and sonnets and write papers about them -- papers like "compare and contrast…

Read more...

Announcing the Return of the Half-Wit

Published: November 11, 2024

After a break of ... (checks notes... that can't be right...) ... a long time, I am returning to updating this thing. Really, it's not my fault. Well, it is. But not really. Being a relative neophyte to journaling, OK, a failed practitioner, but you see, while reaching for my coffee, I grabbed a cactus instead and it took a…

Read more...

Keeping Open-Source Branches in Sync

Published: July 23, 2019

When working with contributing to open-source software, one typically works from a forked repository of the original repository. Depending on the frequency of updates to the original repository, it is very easy for both repositories to become out-of-sync very quickly. A strategy that I learned is use inform the local git repository of two different repositories and to manually keep…

Read more...

Docker and Selenium

Published: October 23, 2018

Yesterday, we started our second "hackathon" at work. We divided up into teams of 3 of various skill sets with the goal of building something that would benefit the organization, the overall project, and/or the team. My team wants to create automated acceptance tests. We are two devs and our QA person. At first, our QA was concerned that we…

Read more...

Hacktoberfest Prep

Published: October 02, 2018

The time of Hacktoberfest is upon us! For the entire month of October, every pull request against an open-source repository on Github will count towards one's Hactoberfest rank. Submit at least 5 pull requests and you are eligible to earn a cool t-shirt and, more importantly, you get the experience of helping out an open-source project! Just register your github…

Read more...

Rails Girls KC

Published: October 01, 2018

I'm very excited. I will be mentoring now- and future- lady devs at Rails Girls KC in early November. My 14-year old daughter will be one of the participants, too! In 1.5 days, the participants will build a simple application using Ruby on Rails. Although my primary programming languages are PHP and JavaScript, I feel confident that I can mentor…

Read more...

Learning JSX: React-Fragment

Published: September 17, 2018

As I build this site using gatsbyjs, I find myself learning new things every day. Today, I learned that, much like siblings on a road-trip, React components hate sitting next to each other. When placing components next to each other, it's best to use a special JSX tag to tell those components that everything is going to be OK, that…

Read more...

Git-Stash Magic

Published: September 09, 2018

On July 2nd of this year, I discovered an amazing git-stash option that lets me see the git-diff between what I currently have and what is in the stash: git stash show -p. Shortly thereafter, Brian Fenton directed me to a great article on git stash, Useful tricks you might not know about Git stash. From this article, I also…

Read more...

Seeing Something I Created Get Used

Published: September 06, 2018

A coworker sent me a screen-grab of a forum post where someone stated that they used an experimental Docker image that I had built to help them with their local dev work. I don't even remember how to make that Docker image work for local dev and the build is currently broken; but now I want to fix the build…

Read more...

Gatsbyjs: Using a New Static Site-Builder

Published: September 03, 2018

I had been searching for a new static-site generator for some time. I was delving into Grav, which is more of a flat-file CMS than a static-site generator and is pretty awesome. Unfortunately, I couldn't make Grav work for my needs. One of the things that I'd like to do is provide my source-code and source-documents in the same git…

Read more...

Last Month in PHP: 2016 March

Published: April 04, 2016

From a KCPUG lightning talk being given on 06 Apr 2016. BASH COMING TO WINDOWS! Yes, Microsoft is adding the linux Bash shell to Windows. - Uses Ubuntu user mode binaries - So, (maybe?) in the Windows Command Line: apt-get install nginx php7-fpm mysql-server php7-mysql PHP development on Windows is about to get much better! See: MSDN: BASH Running in…

Read more...

Last Month in PHP: 2016 February

Published: March 19, 2016

From a KCPUG lightning talk given on 02 Mar 2016 PHP Updates Security and bugfix updates to PHP were released in February. Upgrade if you have a version less than: - 7.0.3 - Added HTTP 451 - 5.6.18 - Added HTTP 451 - 5.5.32 CMSes Drupal released security updates. Upgrade! WordPress released a security update. Upgrade! - Drupal 8.0.4 -…

Read more...

Last Month in PHP: 2016 January

Published: February 06, 2016

From a KCPUG lightning talk given on 03 Feb 2016 January was a relatively light month in PHP. Yet, we saw an exciting new microframework get its first non-beta release. PHP Updates Security and bugfix updates to PHP were released in January. Upgrade if you have a version less than: - 7.0.2 - 5.6.17 - 5.5.31 CMSes Drupal and WordPress…

Read more...

Playing with Docker and Linked Containers

Published: January 26, 2016

In my current job, I am starting the process to upgrade our PHP 5.4 application to a PHP 5.6 application (PHP 7 is not yet support by the majority of the 3rd party libraries we use). I have been tasked with building the staging server for use in testing our legacy application as well as our newer Symfony-based application. We…

Read more...

Last Month in PHP: 2015 December

Published: January 06, 2016

From a KCPUG lightning talk given on 06 Jan 2016 December was a busy month in PHP. A major update to PHP was released, PHP-FIG approved a new PSR, major CMSes had major releases and/or were patched, and frameworks had major, minor, and patch releases. PHP 7.0.1 PHP 7.0 was released on 3 December and was patched to 7.0.1 two…

Read more...

Expectation vs Reality: My First 1.5 Years of Professional Programming

Published: November 29, 2015

I have been a professional developer for over a year and a half now. About a year ago, my friend and mentor, John Kary, asked me how the job measured up to my expectations. I replied, honestly, that my expectations were met. However, I hadn't given it much thought since I was busy trying to learn so many new things.…

Read more...

My Year of Code

Published: November 13, 2015

2015 was my year to really dive into PHP. Up until this year, PHP was hobby language for me -- much as Python, Haskell, C++, Dart, JavaScript, and Java have been hobby languages. Granted, last year I finally took a job where PHP is where I spend half of my time. This year, I took up intensive study of PHP.…

Read more...

Don Quijote - a Brief Synopsis

Published: November 01, 2015

My 6th grader asked me this evening about the classic novel, Don Quixote. "Like, what's it about, Dad?" I gave her a synopsis she could identify: Miguel Cervantes wrote Don Quixote in Spanish at the same time Shakespeare was writing his plays in English. Have you ever loved a series of books so much that you could identify with the…

Read more...

Bite of PHP: Switch Statement

Published: August 13, 2015

The "switch" statement within various languages, contains a similar structure. This makes the PHP switch statement familiar. A failing example of PHP's switch statement was brought up yesterday at work. Someone asked why the expected responses to this were not received. php <?php $convertQ = function ($str) { switch ($str) { case 0: return 'no'; case 'No': return 'no'; case…

Read more...

Number System: Time for a Change?

Published: July 16, 2015

Introduction I have been thinking about numbers for most of my life. It wasn't until I helped my oldest child learn to count to 20 that I thought that the way we count in the English language is silly. There is no logic in our base-10 counting system until we get to 17: "fif teen" (what's a "fif?") is followed…

Read more...

Php's Array_filter Oddity

Published: July 08, 2015

I was studying the arrayfilter in PHP and was enjoying coming up with a test that could help me learn better arrayfilter magic. For instance, to filter all words whose first letter is a vowel, I created this PHPUnit test: php public function testFilterVowelWords() { $vowel = function ($word) { $vowels = ["a", "e", "i", "o", "u"]; return inarray($word[0], $vowels);…

Read more...

Leveled up: PHP Certified

Published: May 08, 2015

On Wednesday, I took an extended lunch break in order to take the Zend PHP Certification test at a local Pearson VUE Testing Center. After a few years of using PHP and studying for a few months, I am a Zend Certified PHP Engineer! Books that have helped me: - Programming PHP, 3rd Ed by Kevin Tatroe, Peter MacIntyre, &…

Read more...

Revenge of the Fifth

Published: May 05, 2015

Today is the unofficial Star-Wars-fan holiday known as the Revenge of the Fifth. Last year, I noticed that 5/5 (numerical representation of 5 May, or is that May 5?) can be written in binary as 101 101. Or more artistically as: |o| |o|

Read more...

Lone Star PHP 2015

Published: April 28, 2015

I attended Lone Star PHP last year with much hope and even more trepidation as to my abilities to hold my own with other members of the PHP community. I was the recipient of the Lone Star PHP scholarship, so my attendance and stay were taken care of by the conference sponsors (thank you! thank you! thank you!). I spent…

Read more...

Lone Star PHP 2015: Day 0

Published: April 27, 2015

The first day of Lone Star 2015 was devoted to training. The workshop track I took was geared towards unit testing. Getting Started with PHPUnit - Matt Frost - Twitter: @shrtwhitebldguy - Slides One reason I took this workshop was so that I could become more familiar with mocks. I had a mental block when it comes to mocks and…

Read more...

Bite of PHP: Heredoc vs. Nowdoc

Published: April 23, 2015

Heredoc Heredoc will define a string of text in a what-you-see-is-what-you-mean type of format. So, if you want to echo out structured text, like so: text I think that I Shall never pay As much as I Have for 2015-04-23 You would put it in a heredoc like this: php $today = date('Y-m-d'); $poem = <<<HTML I think that…

Read more...

Bite of PHP: Double vs Single Quote Echo

Published: March 04, 2015

In PHP, we have two ways of formatting an echo statement: we can choose to use single-quotes or double-quotes. The choice is less dependent upon which side of the Atlantic we learned to read and more dependent upon what we hope to accomplish with echoing that string. If you want to echo the string without parsing it, use single-quotes. If…

Read more...

Now with Sculpin

Published: December 28, 2014

I have moved my site from one domain to another. I was using Wordpress on my old site and was happy. Adding pages was a thing of beauty. Configuring was a dream. Then I wanted to modify my theme. Then I wanted to use some fun HTML5 tags. Then I wanted to minimize hacking vectors. Then I realized that I…

Read more...

A TDD Fizzbuzz Kata

Published: December 22, 2014

Kata Kata are a series of movements which, when repeated, migrate mindful action into muscle memory. An example kata is performed by Rika Usami of Japan during the 2012 World Karate Championship in Paris. Kata can be thought of in terms of playing an instrument or a craft. During the warmup before a concert, listen to the musicians. They are…

Read more...

Programming as Story-Telling

Published: August 15, 2014

I was recently talking with a non-programmer friend of mine about teaching our kids how to code. I told him about my long and winding road to loving programming. He told me that he just doesn’t get how anything so tedious as programming can hold anyone’s interest for more than 5 minutes. Visual design, on the other hand, he finds…

Read more...

Power of RDD

Published: July 28, 2014

We hired a new guy at work. I was officially the new guy for 2 months, now we have someone new. I was given the task to get him up and running since the experience was still fresh for me. Once he got his dev environment going, he would look over my shoulder to watch what I was doing. At…

Read more...

New Job

Published: May 28, 2014

I recently had the opportunity to take my love of programming from being a hobby to being a career. I jumped at the chance. I am now in my 3rd week of the new job and have yet to go to work. Instead, I meet up with fellow nerds and geek out on programming. I have survived my first agile…

Read more...

Lone Star PHP Conference 2014

Published: May 06, 2014

I was fortunate to receive a scholarship to attend the 2014 Lone Star PHP Conference in Addison, TX (Dallas metro area) over the April last weekend in April. I just had to get myself there. Thank you, Lone Star PHP and NomadPHP! I enjoyed meeting some of the luminaries of the PHP Renaissance, meeting some of the local PHP aficionados,…

Read more...

Atom.io - a PHP-Oriented Review

Published: April 08, 2014

Last week, I gave a short demo of the Atom.io text editor to the Kansas City PHP User Group. I realized after-the-fact that I had presented the early-release as an IDE, when I should have presented it as a fancy text-editor. Coming from using PHPStorm as my primary PHP IDE, Atom seems like a cute, yet unintelligent cousin. I tried…

Read more...

LEMP Noob, No More!

Published: April 08, 2014

For years, I have prided myself on knowing how to set up a LAMP (Linux, Apache, MySQL, PHP/Perl/Python) server in linux OSes based on Debian, RedHat, and SuSE. Today, I needed to set up an internal-use survey server using LimeSurvey. I decided to build as modern of a server as possible using CentOS, nginx, MySQL, and PHP 5.5 with Zend…

Read more...

A Fresh Look at Javascript

Published: April 07, 2014

After studying Dart for a month, I wondered which problems Dart was attempting to resolve. I then realized that my knowledge of JavaScript was not good enough to know why Google had created Dart as a JavaScript alternative. As much as I enjoyed Dart, I decided to dive back in to JavaScript with a fresh look. A programmer I respect,…

Read more...

Decisions, Decisions

Published: March 03, 2014

I am currently feeling a bit of push and pull between at least two different decisions. I have a “when you have time for it” project that I am thinking of building in Laravel. I am also interested in learning more about the Dart language with Dart’s implementation of Angular.js. Ach! Decisions, decisions. For my study of Laravel, I am…

Read more...

Dart Flight School

Published: February 20, 2014

This evening, I attended the Dart Flight School at the Google Fiber Space in Kansas City. Dart Flight School is a global event occurring throughout February. I treated this event as an introduction to the Dart programming language. I walked in to the event knowing only that Dart was created by Google to be like javascript. What I learned is…

Read more...

Code Like You Need Protection

Published: February 14, 2014

Background I was recently tasked with programming a connecty-bit between a Google Drive Form and our instance of SolarWinds Web Help Desk. Both are great products. Both offer fabulous APIs. My overall plan was to periodically grab all information from the default worksheet of the Google Drive Form, translate it to JSON, and submit it to Web Help Desk to…

Read more...

Python Timing Comparison

Published: October 01, 2011

On page 7 of Learning Python (4th ed), Mark Lutz briefly discusses the speed differences between Python and compiled languages like C++. I was curious as to how much slower an interpreted language is than a compiled language. To illustrate this, I whipped up a quick and simple program that exercises the CPU so I can see the difference —…

Read more...