Published

All published posts

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

tmux resize-panes

https://youtu.be/hpFYE2LU7xc Resizing panes in tmux can be quite difficult in default tmux, I use a set of keybingings to help resize panes in the rare occasions that I do need just a bit more space. I set the keybinding to the same as my split navigation bindings but shifted. They are very vim like (h,j,k,l). # resize panes #――――――――――――――――――――――――――――― bind -n M-H resize-pane -L 2 bind -n M-L resize-pane -R 2 bind -n M-K resize-pane -U 2 bind -n M-J resize-pane -D 2 Most often when I need to resize panes I just grab the edge of the pane with my mouse. Yes the mouse, its not that often that I actually need to change the size of a pane. # Enable mouse control (clickable windows, panes, resizable panes) set -g mouse on How I navigate tmux in 2021 [1] for more information on how I navigate tmux, check out this full post References: [1]: /tmux-nav-2021/
ThePrimeagen [1] has done a fantastic job with refactoring.nvim [2]. Highly recommend taking a look. The Refactoring library based off the Refactoring book by Martin Fowler References: [1]: https://github.com/ThePrimeagen [2]: https://github.com/ThePrimeagen/refactoring.nvim

tmux choose-tree

https://youtu.be/79Y-kqAiMpw Choose tree is a powerful tmux utility that provides a graphical interface to preview all sessions, windows, and panes, move between them kill them, move them and much more. The default keybinding bind-key -T prefix s choose-tree -s my preferred keybinding to open sessions and windows collapsed and Zoomed in. bind-key j choose-tree -swZ From the man page. choose-tree [-GNrswZ] [-F format] [-f filter] [-K key-format] [-O sort-order] [-t target-pane] [template] Put a pane into tree mode, where a session, window or pane may be chosen interactively from a tree. Each session, window or pane is shown on one line. A shortcut key is shown on the left in brackets allowing for immediate choice, or the tree may be navigated and an item chosen or otherwise manipulated using the keys below. -s starts with sessions collapsed and -w with windows collapsed. -Z zooms the pane. The follow‐ ing keys may be used in tree mode: Key Function Enter Choose selected i...

tmux prefix

https://youtu.be/BMkpbfhbkKM The prefix key is an essential part of tmux, by default all of tmux’s key-bindings sit behind a prefix. This prefix is very similar to vim’s leader key. It is common for folks to change the default C-b (control b) to C-a or if they are a vim user something to match their vim leader key. set -g prefix C-Space bind Space send-prefix A few of the essential default key-bindings. % vertical split " horizontal split d detach up select up one pane down select down one pane right select right one pane left select left one pane t clock o swap panes c create window n next window p previous window A more complete list of key-bindings can be found in this gist https://gist.github.com/mzmonsour/8791835. How I navigate tmux in 2021 [1] for more information on how I navigate tmux, check out this full post References: [1]: /tmux-nav-2021/

tmux splitting panes

https://youtu.be/kzgyiHap1nQ splitting panes is a core feature of tmux. It allows us to split the terminal vertically or horizontally into new panes. bind -n M-s split-window -c '#{pane_current_path}' bind -n M-v split-window -h -c '#{pane_current_path}' bind -n M-X kill-pane 🗒️ note that ‘#{pane_current_path}‘will keep the split in the same directory as it’s parent, without this it will default to your home directory. How I navigate tmux in 2021 [1] for more information on how I navigate tmux, check out this full post References: [1]: /tmux-nav-2021/
I like laktak’s [1] project extrakto [2]. extrakto for tmux - quickly select, copy/insert/complete text without a mouse References: [1]: https://github.com/laktak [2]: https://github.com/laktak/extrakto
Check out kedro-toolkit [1] by Mar1cX [2]. It’s a well-crafted project with great potential. Kedro Toolkit is a VSCode Extension for the Kedro Framework References: [1]: https://github.com/Mar1cX/kedro-toolkit [2]: https://github.com/Mar1cX

tmux last session

https://youtu.be/RB87EEnnMnU An ultimate productivity key-binding in tmux is one to switch to the last session. I use this to quickly get between sessions really quick. Often I am working and need to lookup a quick note, or copy something into my notes, then get back to where I was quickly. bind -n M-b switch-client -l I think of this hub and spoke model, and use last-session to quickly drive it. [1] How I navigate tmux in 2021 [2] for more information on how I navigate tmux, check out this full post References: [1]: https://images.waylonwalker.com/tmux-nav-hub-spoke.png [2]: /tmux-nav-2021/

tmux floating popups

https://youtu.be/2ZqFDsJywt8 Tmux popups are actually floating windows that you can drag around the screen. They always open in the middle (by default) when you open them, no matter where you leave them. Here are a couple of keybindings I use to open up popup windows. bind C-g display-popup -E "ta ~/git" bind -n M-g display-popup -E "tmux new-session -A -s scratch" How I navigate tmux in 2021 [1] for more information on how I navigate tmux, check out this full post References: [1]: /tmux-nav-2021/

tmux popups

https://youtu.be/2I8fB28zfB4 Tmux-popups are a great feature that is relatively new to tmux, many repos such as the standard ubuntu repos do not have it. Popups came in 3.2a, if your package manager does not have it, you can follow the tmux’s install instructions [1] to build from source. # open a popup scratchpad bind -n M-g display-popup -E "tmux new-session -A -s scratch" How I navigate tmux in 2021 [2] for more information on how I navigate tmux, check out this full post I use popups quite a bit in my workflow to ssh into another machine for a short period, or make a new project with a template. References: [1]: https://github.com/tmux/tmux#installation [2]: /tmux-nav-2021/
Check out pysonDB [1] by pysonDB [2]. It’s a well-crafted project with great potential. A Simple , ☁️ Lightweight , 💪 Efficent JSON based database for 🐍 Python. PysonDB-V2 has been released ⬇️ References: [1]: https://github.com/pysonDB/pysonDB [2]: https://github.com/pysonDB
I came across nvim-spectre [1] from nvim-pack [2], and it’s packed with great features and ideas. Find the enemy and replace them with dark power. References: [1]: https://github.com/nvim-pack/nvim-spectre [2]: https://github.com/nvim-pack

Incremental Versioned Datasets in Kedro

Kedro versioned datasets can be mixed with incremental and partitioned datasets to do some timeseries analysis on how our dataset changes over time. Kedro is a very extensible and composible framework, that allows us to build solutions from the individual components that it provides. This article is a great example of how you can combine these components in unique ways to achieve some powerful results with very little work. What is Kedro [1] 👆 Unsure what kedro is? Check out this post. How does our dataset change over time?? # [2] This was a question presented to me at work. We had some plots being produces as the output of our pipeline and the user wanted the ability to compare results over time. Luckily this was asked early in the project so we were able to proactively setup versioning on the right datasets. To enable this all we needed to do now was to add versioned: true and we will be able to compare results over time. Yes kedro makes it that easy to setup. set up a proje...
Just starred qmk_firmware [1] by markstos [2]. It’s an exciting project with a lot to offer. Open-source keyboard firmware for Atmel AVR and Arm USB families References: [1]: https://github.com/markstos/qmk_firmware [2]: https://github.com/markstos
Check out studioswong [1] and their project kedro-viz-glitch [2]. No description available. References: [1]: https://github.com/studioswong [2]: https://github.com/studioswong/kedro-viz-glitch
I’m impressed by dolt [1] from dolthub [2]. Dolt – Git [3] for Data References: [1]: https://github.com/dolthub/dolt [2]: https://github.com/dolthub [3]: /glossary/git/
I’m really excited about pyupgrade [1], an amazing project by asottile [2]. It’s worth exploring! A tool (and pre-commit hook) to automatically upgrade syntax for newer versions of the language. References: [1]: https://github.com/asottile/pyupgrade [2]: https://github.com/asottile

I Started Streaming on Twitch

I recently started streaming on twitch.tv/waylonwalker [1] and it’s been a blast so far. - python - kedro - Data Science - Data Engineering - webdev - digital gardening Kedro Spaceflights # [2] It all started with kedro/issues/606 [3], Yetu called out for users of kedro to record themselves doing a walk through of their tutorials. I wanted to do this, but was really stuck at the fact that recording or editing somewhat polished vide is quite time consuming for me. [4] Inspiration # [5] My introduction to twitch came from twitch.tv/theprimeagen [6]. I watched him on YouTube, and then decided to drop into a stream. It was so fun to watch him live that I started following others in the science and tech category. - twitch.tv/teej_dv [7] Brilliant neovim core dev, I learn a bunch about nvim every time I watch. - twitch.tv/cmgriffing [8] Super Chill and engaging chat. - twitch.tv/cassidoo [9] Fantastic discussion/chat. - twitch.tv/anthonywritescode [10] Building the python ...
I recently discovered LuaSnip [1] by L3MON4D3 [2], and it’s truly impressive. Snippet Engine for Neovim written in Lua. References: [1]: https://github.com/L3MON4D3/LuaSnip [2]: https://github.com/L3MON4D3
The work on NearBeach [1] by nearbeach [2]. NearBeach is an open sourced project management tool, helping you keep track of your project. You can track requirements, projects and tasks References: [1]: https://github.com/nearbeach/NearBeach [2]: https://github.com/nearbeach