Published

All published posts

2493 posts latest post 2026-05-11
Publishing rhythm
Apr 2026 | 47 posts
The work on coveragepy [1] by nedbat [2]. The code coverage tool for Python References: [1]: https://github.com/nedbat/coveragepy [2]: https://github.com/nedbat
I like coveragepy’s [1] project coveragepy [2]. The code coverage tool for Python References: [1]: https://github.com/coveragepy [2]: https://github.com/coveragepy/coveragepy
I like pytest-dev’s [1] project pytest-cov [2]. Coverage plugin for pytest. References: [1]: https://github.com/pytest-dev [2]: https://github.com/pytest-dev/pytest-cov

Just Ask Ipython for help

It happens to the best of us # [1] We can’t all remember every single function signature out there, it’s just not possible. If you want to stay productive while coding without the temptation to hit YouTube or Twitter. Use the built in help. Here are 5 ways to get help without leaving your terminal. https://youtu.be/TZrRAP-9UMk Docstrings # [2] In any python repl you can access the docstring of a function by calling for help. help(df.rolling) In Ipython we can even get some syntax highlighting with the ?. df.rolling? Source Code # [3] Sometimes the docstrings are not good enough, and don’t give us the content we need, and we just need to look at the source. Without leaving your terminal there are two ways I often use to get to the source of a function I am trying to use. import inspect inspect.getsource(df.rolling) The more common way I do it is with the ipython ??. df.rolling?? Bonus rich.inspect # [4] You thought the syntax highlighting was good with ipython, check out w...
2 min read

Hacktoberfest 2021?

Are you participating in Hacktoberfest 2021? I got my start with open source with Hacktoberfest 2018. I remember being so nervous for those first pr’s. I have continued to participate every year, and it feels good to give back. It made a big change on me # [1] Something that it really did for me was to lower the hurdle to contribute regularly. I am not a huge contributor to open source. I am not necessarily a regular maintainer of any large project, but I do often raise issues when I see things as a user that would make things easier or more clear. After participating it does not feel like such a big deal to go through the motions of making my own fork, making a small change, and submitting it for review. What can you do? # [2] As a user, you might be in a unique position to see a library from the perspective of other users rather than from the eyes of a maintainer. You can help bring the user perspective to your favorite library. https://twitter.com/_WaylonWalker/status/1446...

I made a neovim plugin

I’ve slowly adding more and more lua functions into my neovim configuration, and recently I noticed a pattern for a class of functions that reach out to run shell commands that can be abstracted away. https://youtu.be/8m5ipBuopPU Telegraph.nvim # [1] Check out the project readme [2] for the most up to date details on the plugin itself. Motivation # [3] I want a simple way to make remaps into shell commands that can open new tmux windows, popups, or just run a command with context from the editor. For example I want to make remaps to do things like open the current file in lookatme. # vim :terminal nnoremap <leader>s <cmd>Telegraph pipx run lookatme {filepath} --live-reload --style gruvbox-dark<cmd> # tmux session nnoremap <leader><leader>s <cmd>lua require'telegraph'.telegraph({cmd='pipx run lookatme {filepath} --live-reload --style gruvbox-dark', how='tmux'})<CR> # tmux popup nnoremap <leader><leader>S <cmd>lua require'telegraph'.telegraph({cmd='pipx run lookatme {filepath...
The work on ansible [1] by ThePrimeagen [2]. No description available. References: [1]: https://github.com/ThePrimeagen/ansible [2]: https://github.com/ThePrimeagen

Setting Parameters in kedro

Parameters are a place for you to store variables for your pipeline that can be accessed by any node that needs it, and can be easily changed by changing your environment. Parameters are stored in the repository in yaml files. https://youtu.be/Jj5cQ5bqcjg What is Kedro [1] 👆 Unsure what kedro is? Check out this post. parameters files # [2] You can have multiple parameters files and choose which ones to load by setting your environment. By default kedro will give you a base and local parameters file. - conf/base/parameters.yml - conf/local/parameters.yml base # [3] The base environment should contain all of the default values you want to run. # /conf/base/parameters.yml test_size: 0.2 random_state: 3 features: - engines - passenger_capacity - crew - d_check_complete - moon_clearance_complete - iata_approved - company_rating - review_scores_rating NOTE base will always be loaded first. accessing parameters # [4] Parameters can be accessed through context or throug...

Writing your first kedro Nodes

https://youtu.be/-gEwU-MrPuA Before we jump in with anything crazy, let’s make some nodes with some vanilla data structures. import node # [1] You will need to import node from kedro.pipeline to start creating nodes. from kedro.pipeline import node func # [2] The func is a callable that will take the inputs and create the outputs. inputs / outputs # [3] Inputs and outputs can be None, a single catalog entry as a string, mutiple catalog entries as a List of strings, or a dictionary of strings where the key is the keyword argument of the func and the value is the catalog entry to use for that keyword. our first node # [4] Sometimes in our pipelines our data is coming from an api where we already have python functions built to pull with. Thats ok, kedro supposrts that with inputs=None. def create_range(): return range(100) make_range = node( func=create_range, inputs=None, outputs='range' ) second node # [5] Now we have some data to work from, lets use that as our inpu...
I’m impressed by Telegraph.nvim [1] from WaylonWalker [2]. Send commands system commands in an elegant way References: [1]: https://github.com/WaylonWalker/Telegraph.nvim [2]: https://github.com/WaylonWalker
I came across nvim-example-lua-plugin [1] from jacobsimpson [2], and it’s packed with great features and ideas. A simple Neovim Lua plugin using the Lua embedded in Neovim, suitable as a template. References: [1]: https://github.com/jacobsimpson/nvim-example-lua-plugin [2]: https://github.com/jacobsimpson
I’m impressed by skimpy [1] from aeturrell [2]. skimpy is a light weight tool that provides summary statistics about variables in data frames within the console. References: [1]: https://github.com/aeturrell/skimpy [2]: https://github.com/aeturrell
I like mobilemancer’s [1] project windows-terminal-aurelia [2]. Aurelia inspired Windows Terminal theme References: [1]: https://github.com/mobilemancer [2]: https://github.com/mobilemancer/windows-terminal-aurelia
I’m really excited about vim-startuptime [1], an amazing project by dstein64 [2]. It’s worth exploring! A plugin for viewing Vim and Neovim startup event timing information. References: [1]: https://github.com/dstein64/vim-startuptime [2]: https://github.com/dstein64
I like wbthomason’s [1] project packer.nvim [2]. A use-package inspired plugin manager for Neovim. Uses native packages, supports Luarocks dependencies, written in Lua, allows for expressive config References: [1]: https://github.com/wbthomason [2]: https://github.com/wbthomason/packer.nvim
Just starred nvim-lspconfig [1] by neovim [2]. It’s an exciting project with a lot to offer. Quickstart configs for Nvim LSP References: [1]: https://github.com/neovim/nvim-lspconfig [2]: https://github.com/neovim
If you’re into interesting projects, don’t miss out on nvim-treesitter [1], created by nvim-treesitter [2]. Nvim Treesitter configurations and abstraction layer References: [1]: https://github.com/nvim-treesitter/nvim-treesitter [2]: https://github.com/nvim-treesitter
Looking for inspiration? vim-matchup [1] by andymass [2]. vim match-up: even better % 👊 navigate and highlight matching words 👊 modern matchit and matchparen. Supports both vim and neovim + tree-sitter. References: [1]: https://github.com/andymass/vim-matchup [2]: https://github.com/andymass
treesitter-unit [1] by David-Kunz [2] is a game-changer in its space. Excited to see how it evolves. A Neovim plugin to deal with treesitter units References: [1]: https://github.com/David-Kunz/treesitter-unit [2]: https://github.com/David-Kunz

Running your Kedro Pipeline from the command line

Running your kedro pipeline from the command line could not be any easier to get started. This is a concept that you may or may not do often depending on your workflow, but its good to have under your belt. I personally do this half the time and run from ipython half the time. In production, I mostly use docker and that is all done with this cli. https://youtu.be/ZmccpLy-OEI What is Kedro [1] 👆 Unsure what kedro is? Check out this post. Kedro run # [2] To run the whole darn project all we need to do is fire up a terminal, activate our environment, and tell kedro to run. kedro run Specific Pipelines # [3] Running a sub pipeline that we have created is as easy as telling kedro which one we want to run. kedro run --pipeline dp Single Nodes # [4] While developing a node or a small list of nodes in a larger pipeline its handy to be able to run them one at a time. Besides the use case of developing a single node I would not reccomend leaning very heavy on running single nodes, le...