Building a Split Keyboard part 2
In part 1 I covered the physical/mechanical design of my keyboard project. In this post we’ll dive into the electrical design and touch on firmware development.
View ArticleBuilding a Split Keyboard Part 3
In part 2 I covered the electrial design, and component selections I made for my keyboard project. In this post we’ll dive into the finishing, and assembly process.
View ArticleSwitching to NeoVim Native LSP
I do all of my day to day work in vim, specifically NeoVim . One of my favorite plugins as of late has been the CoC plugin. CoC provides language server integrations, autocompletion, linting, and...
View ArticleImproved CASE expression in CakePHP 4.3
CakePHP 4.3 was recently released, and it contains a greatly improved way to build CASE expressions. CASE expressions are great when you want to do conditional aggregation or add computed fields to...
View ArticleDesigning my first Keyboard PCB
In 2021, I designed and built a custom split keyboard . I quite enjoy that keyboard, and it has been my daily driver for the past eight months. After completing the hand wired board, I wanted to learn...
View ArticleNew in CakePHP - Improved Error and Exception Handling
CakePHP 4.4.0RC1 was released recently and I wanted to go over the new error subsystem that is being added for 4.4. I haven’t ever really loved the interface that CakePHP provided for error and...
View ArticleContent-Type Negotiation in CakePHP 4.4
During my workshop at Cakefest 2022 I covered the new content-type negotiation features shipped in CakePHP 4.4. I wanted to share that information here so it is more easily found in the future.
View ArticleFlutter MVVM Application Architecture
Each year I try to learn a new language, framework or technology. This practice encourages me to continuously learn new skills and be a newbie again. This year, I’ve spent the past few months working...
View ArticleMaintaining an active open source schedule for 15 years
A few weeks back I came across a site that can generate all of your GitHub activity into a single chart. Looking at mine, I noticed that I have been fairly consistent in my activity over the past 15...
View ArticleUsing phive to install PHP tools
Modern PHP development generally means using a suite of tools to perform code formatting and static analysis. For a long time, I have been using composer to install theses developement tools. While...
View ArticleArticle 0
I recently decided to go down a rabbit hole of wanting to learn a new client side library. I was interested in learning more about libraries that aimed to have a minimal footprint even at the cost of...
View ArticleWebauthn in CakePHP
I have been following the Webauthn standards and browser support since the early days of FIDO compatible keys. I strongly believe that hardware keys are our best path forward to provide phishing...
View ArticleSudo Mode with CakePHP Authorization Plugin
I’ve been working on content for my CakeFest workshop this year, and thought it would be interesting to see a commonly used authorization pattern implemented as an extension to CakePHP’s authorization...
View ArticleMy Upgrades to CakePHP 4.5.0
A few months back I upgraded docket and this site to CakePHP 4.5 from an earlier 4.x release. I wanted to share my notes from the upgrade process so that if you’re considering an upgrade you have a...
View ArticleBitfields are a trap
I recently came across this video on Youtube and while the author makes some convincing arguments for using bitfields. I’d like to share my experiences having worked with them in a few applications. A...
View ArticleWebcomponents and CakePHP FormHelper
Webcomponents are starting to get more traction now that they are fully supported across browsers. I have recently been rebuilding my personal todo list software Docket with HTMX and Webcomponents.
View ArticleBuilding my first htmx application
After updating docket to use htmx, I wanted to share my experience. First and most important, HTMX is more than just a client side framework. Instead of using a JavaScript library to render your...
View ArticleBuilding a responsive sidebar application layout
I wanted to share a CSS and webcomponent layout that I’ve been pretty happy with in a few projects. With webcomponents now widely supported, I was able to remove one of the last bit of inline scripts I...
View ArticleBuilding a confirm dialog flow with htmx
When re-building docket with htmx, I wanted to retain the confirm dialog experience I had with react. Instead of taking on a dependency for this, I chose to build my own combining HTMX and...
View ArticleServer rendered components with template fragments and webcomponents
As I use webcomponents more, I found myself wanting a way to define the HTML for webcomponents with a non-trivial amount of light DOM contents in a more reusable programatic way. So far, I’ve found...
View Article