RSSAmplifier

Blog

Wilcox Development Solution's Blog

A Blog for Wilcox Development Solutions

blog.wilcoxd.comRSS feed ↗208 posts

Latest posts

Career Paths For Developers

The trend, to the great benefit of the software industry, is to have separate career paths for management and non-management people…

Writing Apps Should Not Be Difficult

My early history with Rapid Application Development Tools As a teenager I played with Hypercard, Userland Frontier - with MacBird of course…

Org Mode As Architecture Notebook

An Architecture Notebook Sometimes changes in a codebase are straight forward, sometimes they require a bit of research and investigation…

Org Mode and Hurl

The quest for request makers As a backend developer I’m often looking to make some one-off requests to test new API endpoints, or to explore…

Error And Exit Code Handling in Rash

Rash and Unix Exit Codes I continue to play with Rash as a language for small shell scripts I know I’ll have to enhance over time. Through…

Software Analysis with GToolkit: Finding Impact of Removing A Library

GToolkit provides AST analysis tools for Javascript & others! Let’s see how much we really use a dependency! The problem with any package…

BDD Redux

A long while ago I - Ryan Wilcox - wrote an article for Toptal on Behavior Driven Development (or BDD). I’ve learned a lot in the years…

Artifacts and look towards Software Logistics

The term “software artifact” is often seen as being about only the runnable bits of a program: what’s the steps to getting ideas to bits…

Rapid System Level Development in Bun the JS Runtime

Intro In a long standing blog patterns start to emerge. I’m interested in what I call ”Systems Level Programming“. By “Systems Level…

Scraping Websites with Racket

My Personal History with Early Blogging Tools: From Jan 15, 2002 until Feb 18, 2009 I kept a personal blog with Radio Userland. Radio…

DuckDB and GToolkit

DuckDB Explorations: Approaching data persistence in exploratory situations In software, I believe exploration and experimentation means a…

Deprecation and Adoption Across Teams

Leading Technical Change across the Herd. Software has evolved from a team activity to teams activity: multiple teams, each with their own…

Remarkable Handwriting with Vertex AI

Some Background: The Remarkable tablet The Remarkable is an e-ink powered device that leans into writing as an experience. I often refer to…

A Step Beyond Intermediate Functional Programming Patterns: Investigating Lenses with Ramda

Intro In June 2023 I explored intermediate functional programming patterns in JavaScript. That article gave the following kinds of…

Developing better than npm link

How to quickly iterate on your private Node libraries You’re fixing a bug and turns out the problem is in some private library of yours! You…

Foreman Foreman

Intro A mid-2010s style MERN stack separates out backend and frontend concerns into separate deployable units (which we’ll call “projects…

Intermediate Functional Programming Patterns in Javascript

Intro Functional programming means different things to different people. Personally I’ve come to the - somewhat incremental but somewhat not…

GToolkit Notebooks and Javascript: Diving In

Playing with GToolkit’s Lepiter Notebook and its support for Node.js cells One of the components of GToolkit is Lepiter, a knowledge base…

Review of the CircleCI VSC Extension

Introduction CircleCI recently announced an extension for Visual Studio Code, allowing you to view the status of your CircleCI pipelines. I…

GraphQL in Smalltalk

These days most of my analysis - or even short scripts! - start in GToolkit. GToolkit’s paradigm of executable notebooks - with human…

Scaling Specialized Expertise

Scaling Specialized Expertise Modern software engineering is very enabling to an individual engineer, but with that enablement comes…

Rapid Systems Programming in Racket

Introduction: Setting the stage Years ago I explored writing system level tools in Groovy. The idea here was to create OS independent…

Functional Programming Patterns In Smalltalk

Introduction What is functional programming?, you may ask: In computer science, functional programming is a programming paradigm where…

Creating Diagrams appropriate to contexts with PlantUML

In this DevOps world deployment diagrams help document not just how a system relates to other components, but how the underlaying…

Job Search 2021

Note: previously I tried to keep personal stuff off this blog, and have that be on another site. I decided to revisit that decision, and now…

My 2021 Reading List

My 2021 Year In Books 2021 saw a lot of reading and thinking and - mostly, except towards the end - not a lot of new tech. However, like…

Interrupt Based Developer Weekly Bujo

Some senior+ developer roles have a lot going on. In my work I had many inputs happening concurrently: meetings, Slack messages, email, and…

Backstage And Microservice Dependency Graphing With GToolkit

Intro For a good sized microservice herd it’s important to know how these services relate to each other. How much internal traffic does X…

GToolkit and Wardley Maps Video

I made a video about how gtoolkit’s Wardley Map functionality works. Check it out, on Youtube: Link

Project Specific Ansible Overrides Via Preprocessor

Intro Ansible is a configuration management, multi-machine task running, DevOps automating declarative devops tool. I’ve used it for things…

The Stable Growth Plane and Stability

Intro In my earlier software projects and planes of growth I posited that software projects have five steps of growth: foundations, testing…

My diagramming tools

I draw a lot of diagrams at work. What makes it kind of worse is that now a days I’m very cross-platform: while I still enjoy the power duo…

Planning The Layer Cake

In grooming and backlog refinement in software we find ourselves breaking functionality into epics, which then have many stories, and - from…

GToolkit and Pillar external documents

A few days of vacation for me usually means a time to relax, recharge a bit, do things with the family, catch up on TODO items, and play…

Technical Earned Interest

Introduction We’re all familiar with the idea of technical debt in software, where the velocity of development is hampered by code not being…

Software projects and planes of growth

Introduction In my previous blog article I said: This is the topic of a future blog post: roads and feature capacity of microservice herds…

Herds Of Microservices Flocks Of People

Herds of microservices, flocks of people, and those that take care of them I’ve been in big enterprises, as a day job, for almost 6 years…

Emacs as a supplemental editor

The Problem In 2020 I realized I had a problem. I was in four different OSes: Windows, Linux, iOS and some Mac OS X. This wasn’t so much a…

Moving the blog to Gatsby

I finally did it: I moved this blog to Gatsby This blog has made its second transition: first, from MovableType to Wordpress, then from…

Testing Docker Containers, images and services

Introduction Containers give us a way to package software and ensure that the software etc we expect installed is, in, fact, installed. We…

Jenkins, Groovy init scripts and custom Tools

I’ve been working with Jenkins quite a bit lately. When I set up a system I want it to be as reproducable as possible: you can never trust…

Gatsby.js: in his house and in my house

Introduction I’ve been playing with Gatsby.js. Gatsby is a static site render that uses React and GraphQL to make neat sites that a modern…

Sending Heroku logs to CloudWatch Logs

For early stage experiments I like deploying to Heroku. Heroku’s free model will spin down servers that haven’t gotten traffic in a while…

Bitbucket Pipelines, Heroku and Rails

This weekend I took the time to play with Bitbucket Pipelines, a new feature from Bitbucket. Often, my goal with my setup is “get something…

Installing and exploring SpaceVim

Introduction Posted on this blog as comments may be insightful. My other - more personal - blog doesn’t have comments, so this one will have…

Single file web components on legacy projects

I’m constantly looking for new innovations that I can use on brown-field projects. You know the ones: you come in and there’s a large…

Migrating Vagrant setup from Puppet 3 to Puppet 4 (manifestdir)

I like Puppet with Vagrant. Puppet 4 removed an option I really liked: You see, often when I’d start a greenfield project, I’d include a…

Rapid System Level Development in Groovy

Introduction: Setting the stage Lately I’ve found myself turning to Groovy for — oddly enough — system level development tasks. This is an…

A Deep Dive Into Vagrant, Puppet, and Hiera

A Vagrant setup that supports my blog entry on “Vagrant / Puppet and Hiera Deep Dive”. Below is a reproduction of that article. Introduction…

Using the CSV NPM Module

Today I had to use the CSV Node Module. It looked like the best and most mature of the alternatives. The disadvantage about it is that the…