Published

All published posts

2493 posts latest post 2026-05-11
Publishing rhythm
Apr 2026 | 47 posts

My first eight years as a working professional.

This day 8 years ago I started my first day as a Mechanical Engineer. I am so grateful for this journey that I have been able to have. There is no way that I could have planned this journey from the beginning. Keep Learning # [1] My initial career plans were down a completely different path. I have been very flexible in taking on a new career path. I have been eager to learn new things and respond to life changes that I never would have imagined. Life Changes # [2] Very severe chronic health issues from my family restricted my ability to travel to the facilities I served as a Mechanical Engineer. I was able to stay strong and make it work. But in the meantime, I was learning new skills that enabled me to be more effective remotely. I was scared. # [3] It was in these times that I found a love for data, and taking action from insights I found with data. I learned how to use python to enable me to be more effective. I did this primarily from hospital waiting rooms and many overn...
2 min read

How Kedro handles your inputs

Passing inputs into kedro is a key concept. Understanding how it accepts a single catalog key as input is quite trivial that easily makes sense, but passing a list or dictionary of catalog entries can be a bit confusing. *args/**args review # [1] Check out this post for a review of how *args **kwargs work in python. understanding python *args and **kwargs [2] python args and kwargs [3] article by @_waylonwalker [4] All Kedro inputs are catalog Entries # [5] When kedro runs your pipeline it uses the catalog to imperatively load your data, meaning that you don’t tell kedro how to load your data, you tell it where your data is and what type it is. These catalog entries are like a key-value store. You just need to give the key when setting up a node. Single Inputs # [6] These are fairly straightforward to understand. In the example below when kedro runs the pipeline it will load the input from the catalog, then pass that input to the func, then save the returned value to the out...
visit1985 [1] has done a fantastic job with mdp [2]. Highly recommend taking a look. A command-line based markdown presentation tool. References: [1]: https://github.com/visit1985 [2]: https://github.com/visit1985/mdp
Check out hotreload [1] by say4n [2]. It’s a well-crafted project with great potential. hot reload your python code! References: [1]: https://github.com/say4n/hotreload [2]: https://github.com/say4n
I came across kedro-great [1] from tamsanh [2], and it’s packed with great features and ideas. The easiest way to integrate Kedro and Great Expectations References: [1]: https://github.com/tamsanh/kedro-great [2]: https://github.com/tamsanh
I came across awesome-public-datasets [1] from awesomedata [2], and it’s packed with great features and ideas. A topic-centric list of HQ open datasets. References: [1]: https://github.com/awesomedata/awesome-public-datasets [2]: https://github.com/awesomedata

Master No More

It’s been a long time coming. We use some very harsh language within tech so much sometimes that we become numb to it. It’s time to do my very small part in this movement and purge this language from my active repos starting with this blog right here. Large Refactor At The Command Line [1] this post follows my method of refactoring code bases from the command line, read more about that in this article. c-s-f # [2] First off browsing through the content of my blog I found many references to master. I cannot completely whole-sale find and replace each one of them, because some of them are links that I do not own. Any set of instructions got upgraded from master to main - git checkout master + git checkout main There were countless cases of examples like this to comb through, but it feels good to have them purged of old language. rename routes # [3] Following yesterdays post, I am going to rename my markdown files /static/_redirects shorteners # [4] - /gdfm /blog/today-i-lear...
2 min read 💬 4

Refactoring your blog urls

I just did a quick refactoring of my JAMStack blog urls. Some didn’t fit with my style, some had _ that I wanted to switch to -, and others were ridiculously long. I’ve been using forestry as my CMS, I write many of my posts there, and sometimes it picks some crazy file names (based on my titles). It was time to refactor. Large Refactor At The Command Line [1] When refactorings similar to this get really big I often need to do some project wide find an replace, I usually do this right from the command line. 🖊 Rename posts change the filename # [2] My post urls are based on the file name of my markdown file, so I can simply go through my filesystem and rename anything I want. From here its probably best to only commit the addition of the new file name, until the redirects clear, but these are all low traffic posts for me so I just commited both at once. Safely redirect without breaking links _redirects ⤴ /redirects # [3] I am hosted on netlify, which automatically puts very ⚡ ...

understanding python \*args and \*\*kwargs

Python *args and **kwargs are super useful tools, that when used properly can make you code much simpler and easier to maintain. Large manual conversions from a dataset to function arguments can be packed and unpacked into lists or dictionaries. Beware though, this power can lead to some really unreadable/unusable code if done wrong. /* h2 {display: block;} */ h2>img { margin: auto; width: 100%;} Python *args and **kwargs are super useful tools, that when used properly can make you code much simpler and easier to maintain. Large manual conversions from a dataset to function arguments can be packed and unpacked into lists or dictionaries. Beware though, this power can lead to some really unreadable/unusable code if done wrong. *args are for lists # [1] *args are some magical syntax that will collect function arguments into a list, or unpack a list into individual arguments. recieving *args # [2] When recieving variables as a *<varname>, commonly *args, the arguments get packed ...
3 min read ↺ 11 💬 3
I recently discovered pytest-sugar [1] by Teemu [2], and it’s truly impressive. a plugin for py.test that changes the default look and feel of py.test (e.g. progressbar, show tests that fail instantly) References: [1]: https://github.com/Teemu/pytest-sugar [2]: https://github.com/Teemu
the-hub [1] by ari-hacks [2] is a game-changer in its space. Excited to see how it evolves. 📈📊 A hub where users can experiment with graphing and Python in the browser (https://pyodide-experiment.herokuapp.com/) References: [1]: https://github.com/ari-hacks/the-hub [2]: https://github.com/ari-hacks

pre-commit is awesome

I recently discovered the ✨ awesomeness that is pre-commit. I steered away from it for so long because it seemed like a big daunting thing to set up, but really it’s easy. It will automatically run checks for you. In some cases, it will even automatically fix them for you. Out of the box, it will do things like automatically trim extra whitespace, fix file endings, and ensure file sizes are not too large for git [1]. I recently discovered the ✨ awesomeness that is pre-commit. I steered away from it for so long because it seemed like a big daunting thing to set up, but really it’s easy. It will automatically run checks for you. In some cases, it will even automatically fix them for you. Out of the box, it will do things like automatically trim extra whitespace, fix file endings, and ensure file sizes are not too large for git. Quickstart # [2] It comes with a sample-config that is pretty general purpose and use for just about any project in git. pip instal pre-commit pre-commit s...
4 min read ↺ 6

Building kedro.dev

Follow along the Journey as I build out kedro.dev [1]. Building a Community # [2] I have really enjoyed my own personal journey as I have started to build all of my data pipeline projects with the kedro framework. I want to start building a place to share resources with the community. I want to see this community grow and flourish. They say in front end web development if you are not using a framework you end up building one. That’s exactly what I was doing before I started using kedro. I want to build out a set of resources that this community can learn from and start to use the framework at their own pace without needing to develop their own from scratch. research # [3] Looking into the front end frameworks to see how they welcome their community. Much of my inspiration is from them, bringing lessons learned to data. pages # [4] - banner - nav - docs -> readthedocs - tutorial -> kedro-examples - blog -> medium - community - support - team - courses - examples - mee...
1 min read
The work on desert [1] by python-desert [2]. Deserialize to objects while staying DRY References: [1]: https://github.com/python-desert/desert [2]: https://github.com/python-desert
I recently discovered kedro-wings [1] by tamsanh [2], and it’s truly impressive. Kedro Wings automatically creates catalog entries to simplify Kedro pipeline writing. See the video here: https://www.youtube.com/watch?v=p4ELo1tqbYY References: [1]: https://github.com/tamsanh/kedro-wings [2]: https://github.com/tamsanh
Check out kedro-streaming-twitter-pipeline [1] by dataengineerone [2]. It’s a well-crafted project with great potential. No description available. References: [1]: https://github.com/dataengineerone/kedro-streaming-twitter-pipeline [2]: https://github.com/dataengineerone
junegunn [1] has done a fantastic job with fzf.vim [2]. Highly recommend taking a look. fzf ❤️ vim References: [1]: https://github.com/junegunn [2]: https://github.com/junegunn/fzf.vim

Kedro Static Viz 0.3.0 is out with Hooks Support

kedro-static-viz [1] is out with support for the newly released hooks feature. This means that you can have kedro-static-viz automatically deploy a full gatsby site before_pipeline_run keeping your visualization always up to date. Even though it is a static site there is no functionality lost. The only thing that’s missing is the flask server. With kedro-static-viz [1] you can deploy your visualization to a number of static hosting providers such as GitHub pages free of charge with wicked fast performance ⚡ It’s Fast # [2] Even though it’s built on gatsbyjs the full site builds in under 2s even on slower hardware. This is because the site is already pre-rendered and stripped of any excess. It’s zipped up right into the python package and is typically used with the cli, but now can be used with python, or as a hook as well. What is kedro-viz [3] 🤔 # [4] Kedro viz is a fantastic kedro plugin that allows you to visualize your data pipeline. Kedro allows you to quickly build produc...
I’m really excited about pytest-watch [1], an amazing project by joeyespo [2]. It’s worth exploring! Local continuous test runner with pytest and watchdog. References: [1]: https://github.com/joeyespo/pytest-watch [2]: https://github.com/joeyespo
Check out aws [1] and their project aws-cli [2]. Universal Command Line Interface for Amazon Web Services References: [1]: https://github.com/aws [2]: https://github.com/aws/aws-cli