October 23, 2025
I added a /ai page to my site to describe how I use AI, and you might want to too.
Tags: ai ethics updateI added a /ai page to my site to describe how I use AI, and you might want to too.
Tags: ai ethics updateConfig is good, but when it gets too powerful, it often indicates a need for actual code and better underlying libraries.
Tags: legacy design-intent best-practice code-qualityI ran into a sneaky legacy-code footgun that I lost an hour to. Read this and save yourself the pain!
Tags: python legacy django painAn update on how it's going, where I've been, and what my plans are.
Tags: updateUpdating my blog after 6 months took a lot more than I initially thought it would. Oy...
Tags: jekyll bugs
I read this book and it just invaded my brain, and also you should read it too.
Tags: books
Introducing a new project. I'm building a robot table/tape measure!
Tags: robotics python mechanical woodworking
Learn to harness the more powerful multi-field data structures in C.
Tags: c structs beginner
University video element doesn't have playback speed controls? No problem! Pop open a console and do your wizard stuff.
Tags: javascript html tricksA write-up of an answer to a question somebody emailed me. Automated published posts with no manual intervention required. Write it, schedule it, and relax.
Tags: jekyll cron netlify automation
My resume wasn't great, and now it is. Devs were very helpful.
Tags: resume careerPython can return tuples from functions. Learn how to do the same in a nice, clean, and idiomatic way in Bash.
Tags: bash scriptingI needed to work through a tornado of thoughts, ideas, bad ideas, problems, and potential solutions after todays research session.
Tags: rails javascript devjournalDay 2 of the bar project. We've had ups and downs so far.
Tags: ruby rails models architectureI started a new project to make a dynamic, Rails-powered menu/assistant for our bar at home. And I got the domain name palo.bar for $2!
Tags: rails rubyDestructuring, in-place object types, implicit void returns? Let's work through this one together.
Tags: typescript beginner
I found a command that works even better than hexdump for some tasks!
Tags: bash cli steganographyUsing your own side-project as a user has some incredible benefits.
Tags: projects brainstormingIn the midst of trying to figure out how projects work in Java and how to run my darn code, I run into an error that makes me doubt everything I'd learned.
Tags: java bashCrontab, awk, grep, and getent
Tags: linux awk cron dotfilesNaming your complex types that stand for distinct concepts is a great way to simplify your Rust code.
Tags: rust readability typesWhen you have limited time, you have to do the things you can, even they're small and not the things you wish you could do.
Tags: encouragement productivityPython functions are first-class objects, which means we can stick whatever data we want on them!
Tags: python tricksBinary is not scary. It's math with light switches. And it can be used to solve a wider range of problems than you might think!
Tags: python binary
If you're feeling stuck or like you're not progressing, take a closer look.
Tags: encouragement learning
I breakdown a quick script I wrote to fix markdown output from the Ulysses writing app.
Tags: python scripting cli bash
Some cool Rust code and how I learn code the same way my dog learns things.
Tags: rust python learning iterators
Some neat tricks to help understand where in the file your match is showing up.
Tags: bash linux tricks
Getting warmed up to work on Advent of Code challenges using Julia's powerful multi-dimensional array syntax.
Tags: julia beginner practical
Sharpen up your bash scripts with one-line conditionals!
Tags: bash beginner basicsA little bit of negotiation advice about spouting off numbers.
Tags: interview soft-skills negotiating
I read some cool code that used random.choices and wanted to share it.
Tags: python tricks standard-library
Bitwise operations open up new, cool, and sometimes way more efficient ways to manipulate numbers!
Tags: computer-science basics beginner
A quick little taste of the Enum module to show how cool it is.
Tags: python standard-library
Techniques for processing more options and arguments for a more polished user experience.
Tags: bash scripting advanced
Some basic tricks using built-in variables to add some extra power to your Bash scripts.
Tags: bash scripting beginner
A tutorial on generating art using the Recaman Sequence, a surprisingly complex integer sequence built with some simple rules.
Tags: math python art generative
Learn how to supercharge your Bash branching!
Tags: bash scripting
An overview of how to use the defaultdict class that is provided by the Python standard library.
Tags: python standard-library defaultdict
How stand-up paddleboarding is an allegory for the programmer’s journey.
Tags: learning story
I scripted the renaming of a bunch of files at work and it make me feel like a wizard.
Tags: python scripting
I've had a little bit of experience with each one. Here are some pros and cons to consider when trying to decide.
Tags: learning
When you let the Ruby language work for you, it can speed up your code and save you a lot of headache.
Tags: ruby exercism challenge
A conversation about learning CSS converted into a blog post so more people could chime in!
Tags: css learning
This week at work sucked. But future me will thank present me for how I handled it.
Tags: soft-skills reflection
A quick tip about making custom settings that are language-specific in Vim.
Tags: vim tools
The second part of the binary/hexadecimal articles. Learn to convert between decimal, hex, and binary!
Tags: computer-science basics beginner
Let's learn to count like a computer!
Tags: computer-science basics beginner
I haven't written a post in a while and I need to write something to give myself a kick start.
Tags: update
Some common patterns that could use a little refactoring that I've seen with new Python learners.
Tags: python beginnerPython handles unix shebangs (lines that tell your computer how to run a program) in a way that is really nice and portable.
Tags: pythonOf course I knew that Python has a startup customization file this whole time. I didn't just learn about it. Shut up.
Tags: python tricks
I had a very productive day. I made Wall-E in my terminal!
Tags: showdev fish art
Bash has lots of brackets and this is a cheat sheet to help you remember which ones to use.
Tags: bash shell cheatsheet
Part 2 of 3. A couple of ways to beef up your Python scripts with the Standard Library.
Tags: python scripting tutorial
A neat little shell customization feature I found while reading through a Bash book.
Tags: bash shell quicktip
This week I saw a slick way of iterating through each pair of items in a list in Python and wanted to share it.
Tags: python tricks itertools
Part 1 of 3. A couple of ways to beef up your Python scripts with the Standard Library.
Tags: python scripting tutorial
A walkthrough of the ins and outs of good security practices and some neat tricks to make your new server feel like home sweet home.
Tags: linux sysadmin security
Coming from Bash, starting out with PowerShell, a modern Windows shell language, can be a bit of a shock. This guide should address the primary pain points and provide some additional context to help make sense of the differences.
Tags: powershell tutorial bash terminalI like quick, light text editors and terminals, not big IDE's. This is how I keep VS Code how I like it.
Tags: editors vscode
An indepth user's guide to Ruby Singleton Classes for newbies.
Tags: ruby singleton basics
A quick tip on how to change a dictionary in Python into a defaultdict in a slick way.
Tags: python tricks
Some guided practice doing some various data science things.
Tags: python data-science scientific tutorial
An introduction to bullet journaling and why it's awesome!
Tags: productivity bullet-journal
I can't believe I didn't know about this command at all, but it helps me publish a javascript project's dist folder to GitHub Pages.
Tags: git tricks
A neat little pattern I found for DRY-ing up your callbacks.
Tags: javascript functional front-end
Three principles to help developers free their brains of clutter and use them for getting important things done.
Tags: productivity gtd
I tried to solve a coding challenge and ended up doing science.
Tags: ruby puzzle performance
Why closures are useful, even if you don't notice that you're using them.
Tags: python functional
It's been a while since I've published a blog post, so I'm checking in to share some stuff that's coming up.
Tags: update preview
As part of the Code Newbie Challenge 2018 (Code More Track), our first pre-mission is to reflect on what we've done in the past — what worked, what didn't, and why.
Tags: codenewbie reflection
Part 4 in the learn-to-code using JavaScript and P5.js series. Learn how vectors and physics can create realistic effects and object methods can help us keep our code clean.
Tags: p5 javascript beginner tutorial
Write code using methods you wish existed, and go back and write them later.
Tags: tricks focus productivity
A quick guide for how to add Chrome Omnibar search functionality to your websites.
Tags: browser html javascript tutorial
Ruby Structs are the objects you didn't know you needed.
Tags: ruby tricks design-intent struct
The crazy solution to an interview problem
Tags: algorithms ruby big-o linked-lists
In 30 minutes or less! With no build tools!
Tags: vue jekyll static-site tutorial
Tags: git workflow best-practice oss
A quick tip to help pick up Vim faster by freeing yourself of crutches
Tags: vim editors encouragement
My solution to a coding challenge and the plot twists that ensued. "Optimize for efficiency," they said. "It'll be fun," they said.
Tags: ruby puzzle interview performance
Part 3 in the learn-to-code using JavaScript and P5.js series. Learn how collections like arrays and objects can amplify our coding power.
Tags: p5 javascript beginner tutorial
Don't have time to look up that awk/sed syntax? Too rushed to write a full script? Let these Ruby one-liners do the heavy lifting for you.
Tags: ruby bash sysadmin
I created my first (and second) screencast and it's scary and great and I'm making more.
Tags: screencast encouragement showdev
Definitely compare yourself to others -- but do it right.
Tags: soft-skills encouragement not-magic
Second part in our series. We review functions and learn about loops!
Tags: p5 javascript beginner tutorial
Going from no code experience to creating a JavaScript animation in one lesson.
Tags: p5 javascript beginner tutorial
A beginner's starting point for adding animations to your website.
Tags: html css front-end animations
Implementing Ruby's 'method_missing' method in Python
Tags: python ruby metaprogramming
Learn how to make sharing your site look awesome!
Tags: html seo social
Python's standard library makes it easy for you to use custom REPL's
Tags: python fun
A beginner's overview of git hooks to automate your process
Tags: git
Setting up a python script to run for a long time on a server
Tags: python sysadmin linux
A quick tip that might help if you find it hard to exercise
Tags: exercise tricks fitness
Vue tutorial, part 4, where we wrap it all up
Tags: vue django es6 tutorial
Vue tutorial, part 3, where we set up the Django REST API
Tags: vue django es6 tutorial
Vue tutorial, part 2, where we set up Vuex, the client data store
Tags: vue django es6 tutorial
Vue tutorial, part 1, where we set up the Vue front end
Tags: vue django es6 tutorial
Me, gushing about one of my favorite tools
Tags: python teaching tools
A more in-depth look at the more advanced capabilities of decorators
Tags: python pythonic functional
An introduction to decorators, a functional Python topic
Tags: python pythonic functional
Sometimes it's the small decisions that make all the difference
Tags: soft-skills
A discussion and physical model of a whale in space
Tags: python physics fun scientific
One trick that might help you commit more consistently
Tags: tricks git
An overview of my new project and why I chose the layout I did
Tags: python soft-skills
How I implemented tags without copy-pasting gobbledygook
Tags: ruby jekyll
Finding an intuitive way to describe why indexing starts at 0 in Python
Tags: teaching python
Generating Pi with random numbers via math trickery
Tags: math python tricks
Checking out a basic coding problem a few different ways
Tags: python puzzle
Using Python with shell pipes for extra awesomeness
Tags: python tricks bash
Learning about generators in our journey to Python enlightenment
Tags: python tricks
Wherin I cry like a little baby because the bad man was mean to me
Tags: soft-skills
Coming up with a more efficient prime factors algorithm
Tags: algorithms python puzzleVS Code is the beeeessssttt!
Tags: editors vscode vim emacs sublime
Solving tricky problems using tricky argument tricks
Tags: python algorithms tricks
Programming isn't magic. It's logical, learnable, and you can do it too.
Tags: not-magic soft-skills
An overview of the awesome Click CLI framework
Tags: python tools
Trying to get AI algorithms straight in my head.
Tags: algorithms python ai
My first impressions of Emacs and Dwarf Fortress
Tags: editors emacs
Some algorithms from the algorithms class I'm taking.
Tags: algorithms pythonLike my stuff? Have questions or feedback for me? Want to mentor me or get my help with something? Get in touch! To stay updated, subscribe via RSS