Archive

All published posts

2469 posts latest post 2026-05-08
Publishing rhythm
Apr 2026 | 47 posts
Check out coolify [1] by coollabsio [2]. It’s a well-crafted project with great potential. An open-source & self-hostable Heroku / Netlify / Vercel alternative. References: [1]: https://github.com/coollabsio/coolify [2]: https://github.com/coollabsio
The next version of markata will be around a full second faster at building it’s docs, that’s a 30% bump in performance at the current state. This performance will come when virtual environments are stored in the same directory as the source code. [1] What happened?? # [2] I was looking through my profiler for some unexpected performance hits, and noticed that the docs plugin was taking nearly a full second (sometimes more), just to run glob. | |- 1.068 glob markata/plugins/docs.py:40 | | |- 0.838 <listcomp> markata/plugins/docs.py:82 | | | `- 0.817 PathSpec.match_file pathspec/pathspec.py:165 | | | [14 frames hidden] pathspec, <built-in>, <string> Python scandir ignores hidden directories # [3] I started looking for different solutions and what I found was that I was hitting pathspec with way more files than I needed to. len(list(Path().glob("**/*.py"))) # 6444 len([Path(f) for f in glob.glob("**/*.py", recursive=True)]) # 110 After digging into the docs I found that glob.glob uses os.scandir which ignores ‘.’ and ‘..’ directories while Path.glob does not. https://docs.python.org/3/library/os.html#os.scandir results? # [4] Now glob.py from the docs plugin does not...
I’m impressed by minijinja [1] from mitsuhiko [2]. MiniJinja is a powerful but minimal dependency template engine for Rust compatible with Jinja/Jinja2 References: [1]: https://github.com/mitsuhiko/minijinja [2]: https://github.com/mitsuhiko
I’m really excited about gpt-engineer [1], an amazing project by AntonOsika [2]. It’s worth exploring! Platform to experiment with the AI Software Engineer. Terminal based. NOTE: Very different from https://gptengineer.app References: [1]: https://github.com/AntonOsika/gpt-engineer [2]: https://github.com/AntonOsika
I like s0md3v’s [1] project roop [2]. one-click face swap References: [1]: https://github.com/s0md3v [2]: https://github.com/s0md3v/roop
tidwall [1] has done a fantastic job with jj [2]. Highly recommend taking a look. JSON Stream Editor (command line utility) References: [1]: https://github.com/tidwall [2]: https://github.com/tidwall/jj
I recently discovered elia [1] by darrenburns [2], and it’s truly impressive. A snappy, keyboard-centric terminal user interface for interacting with large language models. Chat with ChatGPT, Claude, Llama 3, Phi 3, Mistral, Gemma and more. References: [1]: https://github.com/darrenburns/elia [2]: https://github.com/darrenburns
The work on cal.com [1] by calcom [2]. Scheduling infrastructure for absolutely everyone. References: [1]: https://github.com/calcom/cal.com [2]: https://github.com/calcom
AUR [1].">paru is an aur helper that allows you to use a package manager to install packages from the aur. What’s the Aur # [2] The Aur is a set of community managed packages that can be installed on arch based distros. Why a helper? # [3] paru just makes it easy, no clone and run makepkg. You can do everything paru can do using the built in pacman installer. Manual Install from the Aur # [4] You will need to manually instal pacman from the aur in order to get started. sudo pacman -S --needed base-devel git clone https://aur.archlinux.org/paru.git cd paru makepkg -si Installing packages with paru # [5] Once setup you are ready to install packages from the AUR just like the core repos. # you can update your system using paru paru -Syu # you can install packages from the AUR paru -S tailscale paru -S prismlauncher # even core repo packages can be installed paru -S docker Paru in Docker # [6] Here is a snippet from my devtainer dockerfile [7]. Where I use paru to install packages from the AUR inside of a dockerfile. FROM archlinux RUN echo '[multilib]' >> /etc/pacman.conf && \ echo 'Include = /etc/pacman.d/mirrorlist' >> /etc/pacman.conf && \ pacman --noconfirm -Sy...

I took a break

Life comes in waves, and sometimes you need to set down some of your projects to focus on others. For the first part of 2023 I’ve really had a lot of family stuff to focus on, we also are pretty new homeowners and are still trying to get our new to us house cleaned up and modernized. Side Projects # [1] You can see in my growing list of repos [2] that I have poked around on quite a few side projects over the past few months. This has been quite relaxng to me, mostly things that I use to learn from, but also a lot that are tools and things I use that bring me joy. Pydantic # [3] I haven’t wrote about it at all yet, but I have really been starting to lean into pydantic on all of these side projects. I have really been enjoying the type system. A good friend @pypeaday [4] got me hooked and we have been throwing around this phrase that he learned from a math professor “Make it So”. The idea boils down to leveraging pydantic to make all the values you want to exist up front, or fail ...
The work on hardtime.nvim [1] by m4xshen [2]. Establish good command workflow and quit bad habit References: [1]: https://github.com/m4xshen/hardtime.nvim [2]: https://github.com/m4xshen
I’m impressed by trogon [1] from Textualize [2]. Easily turn your Click CLI into a powerful terminal application References: [1]: https://github.com/Textualize/trogon [2]: https://github.com/Textualize
I’m impressed by swenv.nvim [1] from AckslD [2]. Tiny plugin to quickly switch python virtual environments from within neovim without restarting. References: [1]: https://github.com/AckslD/swenv.nvim [2]: https://github.com/AckslD

Playing Star Wars Text Adventure with a 10 yr old

article.blog-post { max-width: 1200px; } The following is a playthrough of Star Wars Text Adventure with a 10 yr old.The following is a playthrough of StarThe following is a playthrough of Star ❯ sw-adventure game run [05/15/23 18:47:42] INFO marvin.marvin: Using OpenAI model "gpt-3.5-turbo" logging.py:50 18:47:42.699 | INFO | marvin.marvin - [default on default]Using OpenAI model "gpt-3.5-turbo"[/] [18:47:42] Starting game game.py:30 generating your character ╭─ Zorin Kreez's Mission Card ─────────────────────────────────────────────────────────────────────────────────────╮ │ Zorin Kreez │ Zorin Kreez was born on Tatooine and grew up in a small farming community. He │ │ health │ 100 │ always dreamed of adventure and excitement. As soon as he was old enough, he │ │ imperial credits │ 5000 │ joined the Imperial Navy and quickly rose through the ranks. He is now a skilled │ │ fuel level │ 100 │ pilot and loyal member of the Empire. │ │ │ │ │ Imperial │ A nimble and deadly starfight...
1 min read
I’m really excited about pylyzer [1], an amazing project by mtshiba [2]. It’s worth exploring! A fast, feature-rich static code analyzer & language server for Python References: [1]: https://github.com/mtshiba/pylyzer [2]: https://github.com/mtshiba

Pydantic and singledispatch

I was reading about pydantic-singledispatch [1] from Giddeon’s blog and found it very intersting. I’m getting ready to implement pydantic on my static site generator markata [2], and I think there are so uses for this idea, so I want to try it out. The Idea # [3] Let’s set up some pydantic settings. We will need separate Models for each environment that we want to support for this to work. The whole idea is to use functools.singledispatch and type hints to provide unique execution for each environment. We might want something like a path_prefix in prod for environments like GithubPages that deploy to /<name-of-repo> while keeping the root at / in dev. Settings Model # [4] Here is our model for our settings. We will create a CommonSettings model that will be used by all environments. We will also create a DevSettings model that will be used in dev and ProdSettings that will be used in prod. We will use env as the discriminator so pydantic knows which model to use. from typing im...
2 min read
I’m impressed by pandas-ai [1] from sinaptik-ai [2]. Chat with your database or your datalake (SQL, CSV, parquet). PandasAI makes data analysis conversational using LLMs and RAG. References: [1]: https://github.com/sinaptik-ai/pandas-ai [2]: https://github.com/sinaptik-ai
If you’re into interesting projects, don’t miss out on frogmouth [1], created by Textualize [2]. A Markdown browser for your terminal References: [1]: https://github.com/Textualize/frogmouth [2]: https://github.com/Textualize
Check out forge [1] by dfee [2]. It’s a well-crafted project with great potential. forge (python signatures) for fun and profit References: [1]: https://github.com/dfee/forge [2]: https://github.com/dfee
I like Slackadays’s [1] project Clipboard [2]. 😎🏖️🐬 Your new, 𝙧𝙞𝙙𝙤𝙣𝙠𝙪𝙡𝙞𝙘𝙞𝙤𝙪𝙨𝙡𝙮 smart clipboard manager References: [1]: https://github.com/Slackadays [2]: https://github.com/Slackadays/Clipboard
I like madox2’s [1] project vim-ai [2]. AI-powered code assistant for Vim. OpenAI and ChatGPT plugin for Vim and Neovim. References: [1]: https://github.com/madox2 [2]: https://github.com/madox2/vim-ai
tabby [1] by TabbyML [2] is a game-changer in its space. Excited to see how it evolves. Self-hosted [3] AI coding assistant References: [1]: https://github.com/TabbyML/tabby [2]: https://github.com/TabbyML [3]: /self-host/
If you’re into interesting projects, don’t miss out on wolverine [1], created by biobootloader [2]. No description available. References: [1]: https://github.com/biobootloader/wolverine [2]: https://github.com/biobootloader
I’m impressed by chroma [1] from chroma-core [2]. the AI-native open-source embedding database References: [1]: https://github.com/chroma-core/chroma [2]: https://github.com/chroma-core
Looking for inspiration? langchain [1] by langchain-ai [2]. 🦜🔗 Build context-aware reasoning applications References: [1]: https://github.com/langchain-ai/langchain [2]: https://github.com/langchain-ai
Check out lm-sys [1] and their project FastChat [2]. An open platform for training, serving, and evaluating large language models. Release repo for Vicuna and Chatbot Arena. References: [1]: https://github.com/lm-sys [2]: https://github.com/lm-sys/FastChat
I came across hatch-aws [1] from trash-panda-v91-beta [2], and it’s packed with great features and ideas. Hatch plugin for building AWS Lambda functions with SAM References: [1]: https://github.com/trash-panda-v91-beta/hatch-aws [2]: https://github.com/trash-panda-v91-beta
I’m impressed by hatch-aws [1] from aka-raccoon [2]. Hatch plugin for building AWS Lambda functions with SAM References: [1]: https://github.com/aka-raccoon/hatch-aws [2]: https://github.com/aka-raccoon
Looking for inspiration? hatch-jupyter-builder [1] by jupyterlab [2]. A hatch plugin to help build Jupyter packages References: [1]: https://github.com/jupyterlab/hatch-jupyter-builder [2]: https://github.com/jupyterlab
Check out topiary [1] by tweag [2]. It’s a well-crafted project with great potential. No description available. References: [1]: https://github.com/tweag/topiary [2]: https://github.com/tweag
Check out topiary [1] by topiary [2]. It’s a well-crafted project with great potential. No description available. References: [1]: https://github.com/topiary/topiary [2]: https://github.com/topiary
nvim-FeMaco.lua [1] by AckslD [2] is a game-changer in its space. Excited to see how it evolves. Catalyze your Fenced Markdown Code-block editing! References: [1]: https://github.com/AckslD/nvim-FeMaco.lua [2]: https://github.com/AckslD
Check out whisper.cpp [1] by ggml-org [2]. It’s a well-crafted project with great potential. Port of OpenAI’s Whisper model in C/C++ References: [1]: https://github.com/ggml-org/whisper.cpp [2]: https://github.com/ggml-org
I’m impressed by whisper.cpp [1] from ggerganov [2]. Port of OpenAI’s Whisper model in C/C++ References: [1]: https://github.com/ggerganov/whisper.cpp [2]: https://github.com/ggerganov
Check out fabulously-optimized [1] by Fabulously-Optimized [2]. It’s a well-crafted project with great potential. A simple Minecraft modpack focusing on performance and graphics enhancements. References: [1]: https://github.com/Fabulously-Optimized/fabulously-optimized [2]: https://github.com/Fabulously-Optimized
reeses-sodium-options [1] by FlashyReese [2] is a game-changer in its space. Excited to see how it evolves. Replaces Sodium’s Options Screen References: [1]: https://github.com/FlashyReese/reeses-sodium-options [2]: https://github.com/FlashyReese
Looking for inspiration? chatgpt_commit_message_hook [1] by tom-doerr [2]. Enhance your git [3] workflow using AI-generated commit messages from ChatGPT. Seamless integration for a well-documented commit log. References: [1]: https://github.com/tom-doerr/chatgpt_commit_message_hook [2]: https://github.com/tom-doerr [3]: /glossary/git/
The work on LazyVim [1] by LazyVim [2]. Neovim config for the lazy References: [1]: https://github.com/LazyVim/LazyVim [2]: https://github.com/LazyVim
If you’re into interesting projects, don’t miss out on oxen-release [1], created by Oxen-AI [2]. Lightning fast data version control system for structured and unstructured machine learning datasets. We aim to make versioning datasets as easy as versioning code. References: [1]: https://github.com/Oxen-AI/oxen-release [2]: https://github.com/Oxen-AI
Oxen [1] by Oxen-AI [2] is a game-changer in its space. Excited to see how it evolves. Lightning fast data version control system for structured and unstructured machine learning datasets. We aim to make versioning datasets as easy as versioning code. References: [1]: https://github.com/Oxen-AI/Oxen [2]: https://github.com/Oxen-AI
Check out Kanaries [1] and their project pygwalker [2]. PyGWalker: Turn your pandas dataframe into an interactive UI for visual analysis References: [1]: https://github.com/Kanaries [2]: https://github.com/Kanaries/pygwalker
Check out Kanaries [1] and their project graphic-walker [2]. An open source alternative to Tableau. Embeddable visual analytic References: [1]: https://github.com/Kanaries [2]: https://github.com/Kanaries/graphic-walker
The work on kedro-light [1] by ellwise [2]. No description available. References: [1]: https://github.com/ellwise/kedro-light [2]: https://github.com/ellwise
flake8-eradicate [1] by wemake-services [2] is a game-changer in its space. Excited to see how it evolves. Flake8 plugin to find commented out or dead code References: [1]: https://github.com/wemake-services/flake8-eradicate [2]: https://github.com/wemake-services
tamton-aquib [1] has done a fantastic job with flirt.nvim [2]. Highly recommend taking a look. A neovim plugin to work with floating windows. References: [1]: https://github.com/tamton-aquib [2]: https://github.com/tamton-aquib/flirt.nvim
I like mrparoxysms’s [1] project my-blog [2]. No description available. References: [1]: https://github.com/mrparoxysms [2]: https://github.com/mrparoxysms/my-blog
I recently discovered coreutils [1] by uutils [2], and it’s truly impressive. Cross-platform Rust rewrite of the GNU coreutils References: [1]: https://github.com/uutils/coreutils [2]: https://github.com/uutils
The work on pytest [1] by pytest-dev [2]. The pytest framework makes it easy to write small tests, yet scales to support complex functional testing References: [1]: https://github.com/pytest-dev/pytest [2]: https://github.com/pytest-dev
Looking for inspiration? projections.nvim [1] by GnikDroy [2]. A map to your filesystem References: [1]: https://github.com/GnikDroy/projections.nvim [2]: https://github.com/GnikDroy
I came across reflex [1] from reflex-dev [2], and it’s packed with great features and ideas. 🕸️ Web apps in pure Python 🐍 References: [1]: https://github.com/reflex-dev/reflex [2]: https://github.com/reflex-dev