Published

All published posts

2717 posts latest post 2026-11-11
Publishing rhythm
Oct 2026 | 30 posts
🛠️ Installation | LazyVim You can find a starter template for LazyVim here lazyvim.org Lately in 2023 I have been leaning on lazyvim for my new setups where I am not necessarily ready to drop my full config. It’s been pretty solid, and comes with a very nice setup out of the box, the docs are pretty fantastic as well.
@changelog) on X — 🗣️ @kelseyhightower on his demos: That happy path gets people out of their chairs. They’re going back to the computer, like: “Yo, I’m gonna try it right now.” Come on… I’d rather have that. And I’ll take the bit of criticism that comes with it." loading=“lazy”> Changelog ( @changelog) on X 🗣️ @kelseyhightower on his demos: That happy path gets people out of their chairs. They’re going back to the computer, like: “Yo, I’m gonna try it right now.” Come on… I’d rat… X (formerly Twitter) · twitter.com Such an inspiring clip from Kelsey Heightower. Make good shit that inspires people rather than fake ppts of how things could be.
@chriscoyier) on X — I was unaware of `text-wrap: pretty;` I knew about the (new/cool) — but sometimes that's a bit… too much. I feel like it's nice on headers but not smaller type. Here's what I mean." loading=“lazy”> Chris Coyier ( @chriscoyier) on X I was unaware of I knew about the (new/cool) — but sometimes that's a bit… too much. I feel like it's nice on headers but not smaller type. Here's w… X (formerly Twitter) · twitter.com Next time I’m working with large headers on small screens I need to try this. I always truggle to get them to look good for most text and overflow ridiculously long words correctly or at all.
sqlite-utils command-line tool - sqlite-utils sqlite-utils.datasette.io I want to like jq, but I think Simon is selling me on sqlite, maybe its just me but this looks readable, hackable, editable, memorizable. Everytime I try jq, and its 5 minutes fussing with it just to get the most basic thing to work. I know enough sql out of the gate to make this work off the top of my head
LZone LZone - Cheat Sheets for Sysadmin / DevOps / System Architecture lzone.de A nice cheat sheet for jq. jq looks so nice, but it so quickly gets overwhelming on how to select what you want. I was able to make a jq contains query.
Check out wsrepl by doyensec. It’s a well-crafted project with great potential. WebSocket REPL for pentesters
If you’re into interesting projects, don’t miss out on llm.nvim, created by huggingface. LLM powered development for Neovim

Underground Bases with Wyatt

Playing minecraft with Wyatt today he started a server all on his own and had me join. All vanilla, only one rule, underground bases. I spawned into the server and it was already night time. I gathered up some wood on my way down a tree, and was attacked by zombies before I could get any tools, so I ran up another tree and crafted a crafting table. Now to follow the rules, it’s time to head underground to build my base. I made a mistake and died, but look at this view from my respawn point.
Check out coolify by coollabsio. It’s a well-crafted project with great potential. An open-source & self-hostable Heroku / Netlify / Vercel alternative.

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.

“One lone jedi stands in Glowing chains of interconnected network of technological cubes, in the middle of a futuristic cyberpunk dubai city, in the art style of dan mumford and marc simonetti, atmospheric lighting, intricate, volumetric lighting, beautiful, sharp focus, ultra detailed” -s50 -W800 -H350 -C7.5 -Ak_lms -S1657735302

What happened?? #

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 #

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? #

Now glob.py from the docs plugin does not even show up in the profiler.

I opened up ipython and saw the following results. For some reason as I hit docs.glob it was only hitting 488 ms from ipython, but it was still a massive improvement over the original.

%timeit docs.glob(m)
# 488 ms ± 3.05 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)

%timeit docs.glob(m)
# 9.37 ms ± 90.9 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)
I’m impressed by minijinja from mitsuhiko. MiniJinja is a powerful but minimal dependency template engine for Rust compatible with Jinja/Jinja2
I’m really excited about gpt-engineer, an amazing project by AntonOsika. It’s worth exploring! Platform to experiment with the AI Software Engineer. Terminal based. NOTE: Very different from https://gptengineer.app