-
How to send long text input to ChatGPT using the OpenAI API
A straightforward guide to sending large input to ChatGPT using Python.
-
Optimizing text for ChatGPT: NLP and text pre-processing techniques
Mastering text preprocessing to send more input to ChatGPT.
-
Leading with a cybersecurity mindset
Systems for considering software development from a security standpoint.
-
Do I raise or return errors in Python?
Raise, return, and how to never fail silently in Python.
-
Add search to Hugo static sites with Lunr
Make your static site searchable with a client-side search index.
-
How to get hired as a software developer
What to know before applying for a software developer job.
-
How to become a software developer
The article I wish I had read when I started coding.
-
Responsive pages and color themes with minimal CSS
Building a responsive website with color themes? Start at the root.
-
Build your own serverless subscriber list with Go and AWS
How to build your own newsletter list with DynamoDB and SES email sign up confirmations.
-
Increase developer confidence with a great Django test suite
How to write tests for your Django applications that are painless and productive.
-
Django project best practices to keep your developers happy
Using Makefiles, pre-commit, and GitHub Actions to help create a happy development team.
-
Manipulating data with Django migrations
How to update Django models and manipulate existing data using migrations.
-
How GitHub Codespaces increases productivity and lowers barriers
A look at how GitHub Codespaces can increase productivity and help new teammates and contributors start developing fast.
-
How to create a self-documenting Makefile
Accelerate your workflow and DevOps with command-line aliases you can check in
-
Writing efficient Django
How to use Django's views, models, and queries to build a better application.
-
Look mom, I'm a GitHub Action Hero
The GitHub blog interviews me for their GitHub Action Hero series.
-
Technical ergonomics for the efficient developer
If you knew these tools existed, you'd probably be using them by now.
-
If you want to build a treehouse, start at the bottom
How threat modeling and pushing left help create a stable foundation for secure software.
-
Hugo vs Jekyll: an epic battle of static site generator themes
A comparison of nuances of creating themes for the top two static site generators.
-
Breaking bottlenecks 🍾
A talk on the benefits of non-blocking functions for programs, developers, and organizations.
-
The past ten years, or, how to get better at anything
Thoughts on learning software development, technical blogging, and what the past ten years have taught me.
-
Secure web forms for the front-end developer
How to design secure web forms: validate, sanitize, and control.
-
Secure application architecture basics: separation, configuration, and access
A starting point for building secure application architecture, for busy developers.
-
Migrating to the cloud but without screwing it up, or how to move house
A practical guide to moving to cloud services with minimal downtime, using AWS examples.
-
Git commit practices your future self will thank you for
Learn how to easily create a clean and readable Git commit history with git squash, message templates, git stash, and tags.
-
An automatic interactive pre-commit checklist, in the style of infomercials
How to set up an interactive checklist using a Git pre-commit hook script.
-
How to set up a short feedback loop as a solo coder
Strategies for continuous improvement when you're a freelance developer.
-
How to code a satellite algorithm and cook paella from scratch
A guide to expertly tackling seemingly complicated problems that you'd rather never tackle in the first place.
-
Making sandwiches with closures in JavaScript
An explanation of closures and how they can emulate private methods in JavaScript.
-
Understanding Array.prototype.reduce() and recursion using apple pie
An explanation of JavaScript reduce() method and recursive functions using delicious, attention-retaining apples.
-
Iterating over objects and arrays: frequent errors
A quick reference to why your code isn't working, or some errors I frequently make with iteration when the coffee wears off.
-
Iteration in Python: for, list, and map
The basics of writing iterations in Python using for loops, list comprehensions, and map.