Published

All published posts

2493 posts latest post 2026-05-11
Publishing rhythm
Apr 2026 | 47 posts
If you’re into interesting projects, don’t miss out on awesome-README-templates [1], created by elangosundar [2]. A collection of awesome readme templates to display on your github profile. References: [1]: https://github.com/elangosundar/awesome-README-templates [2]: https://github.com/elangosundar
I’m really excited about pandoc [1], an amazing project by jgm [2]. It’s worth exploring! Universal markup converter References: [1]: https://github.com/jgm/pandoc [2]: https://github.com/jgm
I’m really excited about github-readme-stats [1], an amazing project by anuraghazra [2]. It’s worth exploring! ⚡ Dynamically generated stats for your github readmes References: [1]: https://github.com/anuraghazra/github-readme-stats [2]: https://github.com/anuraghazra

Integration testing with Python, TestProject.io, and GitHub Actions

Caution None of the testproject.io urls resolve anymore in JAN 2025, I removed all of the broken links. As I continue to build out waylonwalker.com [1] I sometimes run into some errors that are not caught because I do not have good testing implemented. I want to explore some integration testing options using GitHub’s actions. Running integration tests will not prevent bugs from happening completely, but it will allow me to quickly spot them and rollback. --- 🤔 What to test first? # [2] The very first thing that comes to my mind is anything that is loaded or ran client-side. Two things quickly came to mind here. I run gatsby so most of my content is statically rendered, and it yells at me if something isn’t as expected. For performance reasons I lazy load cards on my blogroll, loading all of the header images gets heavy and kills lighthouse (if anyone actually cares). I am also loading some information from the top open-source libraries that I have created. To prevent the need...
8 min read
I came across nocode [1] from kelseyhightower [2], and it’s packed with great features and ideas. The best way to write secure and reliable applications. Write nothing; deploy nowhere. References: [1]: https://github.com/kelseyhightower/nocode [2]: https://github.com/kelseyhightower

New Machine for developing Tests with TestProject.io

Today I setup a new machine on Digital Ocean to use with TestProject.io, Here are my installation notes. apt update && apt upgrade -y apt install zsh chsh zsh sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" curl -fsSL https://starship.rs/install.sh | bash echo 'eval "$(starship init zsh)"' >> ~/.zshrc # python sudo apt update sudo apt install python3-pip -y echo 'alias python=python3' >> ~/.zshrc echo 'alias pip=pip3' >> ~/.zshrc # pipx apt install python3-venv pip install pipx pipx install black pipx install shell-functools pip install ipython # docker sudo apt update sudo apt install apt-transport-https ca-certificates curl gnupg-agent software-properties-common curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" sudo apt update sudo apt install docker-ce # docker-compose sudo curl -L "https://g...
1 min read

🐍 Practice Python Online

When learning a new skill it’s important to practice along the way. In order for me to show up to practice I need to make it easy to show up. An easy way to show up to practice with python is to use an online repl. With these you can try out something quick. Sometimes I see snippets from blogs or tweets and I need to try the out for myself to really understand. When learning a new skill it’s important to practice along the way. In order for me to show up to practice I need to make it easy to show up. An easy way to show up to practice with python is to use an online repl. With these, you can try out something quick. Sometimes I see snippets from blogs or tweets and I need to try them out for myself to really understand. Three online REPLS # [1] Here are three different options that I have used in the past to try out something at some various levels. I am sure there are plenty more, but these are three that I have tried. I am not covering all of them, because It’s been a while sin...
2 min read

Kedro Catalog

I am exploring a kedro catalog meta data hook, these are some notes about what I am thinking. Process # [1] - metadata will be attached to the dataset object under a .metadata attribute - metadata will be updated after_node_run - metadata will be empty until a pipeline is ran with the hook on - optionally a function to add metadata will be added - metadata will be stored in a file next to the filepath - meta Problems This Hook Should solve # [2] - what datasets have a columns with sales in the name - what datasets were updated after last tuesday - which pipeline node created this dataset - how many rows are in this dataset (without reloading all datasets) implementation details # [3] - metadata will be attached to each dataset as a dictionary - list/dict comprehensions can be used to make queries Metadata to Capture # [4] try pandas method -> try spark -> try dict/list -> none - column names - length - Null count - created_by node name Database? # [5] Is there...
I’m really excited about Thaiane [1], an amazing project by Thaiane [2]. It’s worth exploring! No description available. References: [1]: https://github.com/Thaiane/Thaiane [2]: https://github.com/Thaiane
Check out sindresorhus [1] and their project css-in-readme-like-wat [2]. Style your readme using CSS with this simple trick References: [1]: https://github.com/sindresorhus [2]: https://github.com/sindresorhus/css-in-readme-like-wat
I’m impressed by blog-post-workflow [1] from gautamkrishnar [2]. Show your latest blog posts from any sources or StackOverflow activity or Youtube Videos on your GitHub profile/project readme automatically using the RSS feed References: [1]: https://github.com/gautamkrishnar/blog-post-workflow [2]: https://github.com/gautamkrishnar
The work on commitizen [1] by commitizen-tools [2]. Create committing rules for projects 🚀 auto bump versions ⬆️ and auto changelog generation 📂 References: [1]: https://github.com/commitizen-tools/commitizen [2]: https://github.com/commitizen-tools

How python tools configure

mypy # [1] Mypy’s config parser seems to be one of the most complex. This is likely in part to it having the largest backwards compatability of all projects that I looked at. mypy/config_parser [2] flake8 # [3] options/config.py [4] black # [5] black [6] portray # [7] - only uses pyproject.toml portray/config.py [8] interrogate # [9] - only uses pyproject.toml References: [1]: #mypy [2]: https://github.com/python/mypy/blob/master/mypy/config_parser.py [3]: #flake8 [4]: https://github.com/PyCQA/flake8/blob/master/src/flake8/options/config.py [5]: #black [6]: https://github.com/psf/black/blob/master/src/black/__init__.py#L277-L331 [7]: #portray [8]: https://github.com/timothycrosley/portray/blob/main/portray/config.py [9]: #interrogate
1 min read

Edit On GitHub

I recently added a button to my blog, and subsequently my posts on DEV.to [1]. It’s the best thing that I have done for it in a while. It makes it so easy to do quick edits. finding errors # [2] I refer back to my old posts quite a bit, sometimes I find errors in them. Honestly most of the time its too much effort to load up my editor make the change and git add and git commit. It’s not much, but when I am referring to my own post generally I am just trying to get something done and don’t have time for that. The slug # [3] The slug that I am getting from gatsby is formatted as /blog/this-post/. Note the trailing slash and missing file extension, thats where the ${slug.slice(0, -1)}.md comes in. The Full Link # [4] GitHub makes it super easy to form a URL that puts you right into edit mode on the exact post you are looking for. This is format for the URL… you can always figure it out easily by clicking edit on one. https://github.com/<user>/<repo>/edit/<branch>/<filepath> The...
2 min read
Check out ChristopherBiscardi [1] and their project toast [2]. Moved! now at https://github.com/toastdotdev/toast References: [1]: https://github.com/ChristopherBiscardi [2]: https://github.com/ChristopherBiscardi/toast

Why use a cms

When first learning to code its very common to hard code everything right into the code. This happens with most folks in just about any language. Whether its HTML [1] or markdown for front end content, or even hardcoding parameters in our backend languages like python, or node.js. 🤷‍♀️ What’s wrong with hard coding everything? # [2] Hard coding everything right into your code makes it really hard for non-technical collaborators to join. It makes it nearly impossible to hand websites off to clients without needing to come back for routine updates. The cms generally come with a rich content editor that feels more like something most folks are used to. There are buttons for changing the font, font-size, adding images, bold, italics, etc. Sometimes I don’t feel technical # [3] Even when you are developing for a technical audience there is a layer of polish that comes from giving them a nice interface to edit their content in. YouTube doesn’t have you manually inserting records into...
I like rikschennink’s [1] project fitty [2]. ✨ Makes text fit perfectly References: [1]: https://github.com/rikschennink [2]: https://github.com/rikschennink/fitty

🐍 Parsing RSS feeds with Python

I am looking into a way to replace my google reader experience that I had back in 2013 before google took it from us. I am starting by learning how to parse feeds with python, and without much previous knowledge, it proved to be much easier than anticipated thanks to the feedparser library. This is how I used python to parse rss and setup my own custom feed. Install # [1] Install the feedparser library. conda create -n reader python=3.8 -y source activate reader pip install feedparser Get the content # [2] import feedparser feed = feedparser.parse('https://waylonwalker.com/rss.xml') The feed object # [3] The feed is a feedparser.FeedParserDict. For all intents and purposes this seems to just behave like a dict with the following keys(). feed.keys() ['feed', 'entries', 'bozo', 'headers', 'etag', 'href', 'status', 'encoding', 'version', 'namespaces', 'content']) feed has some general information about the rss feed, but the meat of the feed is in entries. The rest of the keys we...
2 min read
Check out awesome-github-profile-readme [1] by saturn-abhishek [2]. It’s a well-crafted project with great potential. 😎 A curated list of awesome GitHub Profile which updates in real time References: [1]: https://github.com/saturn-abhishek/awesome-github-profile-readme [2]: https://github.com/saturn-abhishek
I recently discovered awesome-github-profile-readme [1] by abhisheknaiidu [2], and it’s truly impressive. 😎 A curated list of awesome GitHub Profile which updates in real time References: [1]: https://github.com/abhisheknaiidu/awesome-github-profile-readme [2]: https://github.com/abhisheknaiidu