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
Published
All published posts
2493 posts
latest post 2026-05-11
Publishing rhythm
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...
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...
🐍 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...
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
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...
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...
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