Published

All published posts

2540 posts latest post 2026-06-16 simple view
Publishing rhythm
May 2026 | 58 posts
I’m really excited about mason.nvim [1], an amazing project by williamboman [2]. It’s worth exploring! Portable package manager for Neovim that runs everywhere Neovim runs. Easily install and manage LSP servers, DAP servers, linters, and formatters. References: [1]: https://github.com/williamboman/mason.nvim [2]: https://github.com/williamboman
I came across mason.nvim [1] from mason-org [2], and it’s packed with great features and ideas. Portable package manager for Neovim that runs everywhere Neovim runs. Easily install and manage LSP servers, DAP servers, linters, and formatters. References: [1]: https://github.com/mason-org/mason.nvim [2]: https://github.com/mason-org
Minecraft Doc Day 17
Construction of a floating base begins on Day 16.
Minecraft Doc Day 12
Farm animals gathered and penned on Day 12.
Minecraft Doc Day 12
Beet and pumpkin farm plots prepared near the main base.
Minecraft Doc Day 11
Standing on Wyatt’s freshly built dock overlooking the water.
Minecraft Doc Day 11
Wyatt joins to conquer a zombie spawner and build a dock together.
I like sbidoul’s [1] project hatch-pip-deepfreeze [2]. A hatch virtual environment [3] plugin to lock dependencies with pip-deepfreeze References: [1]: https://github.com/sbidoul [2]: https://github.com/sbidoul/hatch-pip-deepfreeze [3]: /virtual-environment/
Minecraft Doc Day 10
Secret storage area built as part of a tiny base challenge on Day 9.
Minecraft Doc Day 9
Early storage silo construction begins with terraforming and chest placement.
Minecraft Doc Day 8
After leaving the world paused, a surprise death screen leads to a survival reset.
Minecraft Doc Day 7
A newly constructed animal pen expands the farm.
Minecraft Doc Day 6
End of Day 5 shows the finished perimeter fence and first animal pen.
Minecraft Doc Day 5
Start of Day 5 with work on the perimeter fence and gathering resources.
yazgoo [1] has done a fantastic job with vmux [2]. Highly recommend taking a look. helper for multiplexing terminals with vim/neovim References: [1]: https://github.com/yazgoo [2]: https://github.com/yazgoo/vmux
Minecraft Doc Day 4
Outer perimeter fence under construction around the base during Day 4.
Minecraft Doc Day 3
The roofline of the base is complete and the tree farm is cleared for fresh oak and acacia saplings.
Minecraft Doc Day 2
Sun setting over the fresh house frame as Day 2 brings sand collection for windows.
Minecraft Doc Day 1
The wooden frame of the new house begins to take shape on Day 1.

Give github actions the -e flag in the shebang #! so they fail on any one command failure. Otherwise each line will set the exit status, but only the last one will be passed to ci.

#!/bin/bash -e

What is -e #

The -e flag to the bash command allows your script to exit immediately if any command within the script returns a non-zero exit status. This can be useful for ensuring that your script exits with an error if any of the commands it runs fail, which can help you identify and debug issues in your script. For example, if you have a script that runs several commands and one of those commands fails, the script will continue running without the -e flag, but will exit immediately if the -e flag is present. This can make it easier to troubleshoot your script and ensure that it runs correctly.

Solution for Windows #

In windows the solution is not quite as simple. You can define a function in a Windows batch script that wraps an if statement to check the exit status of a command and handle any errors that may have occurred. Here is an example of how you might define a function called “check_error” that does this:

:check_error
if errorlevel 1 (
  echo An error occurred!
  exit /b 1
)

To use this function in your script, you would simply call it after running a command, like this:

some_command
call :check_error

This would run the “some_command” and then call the “check_error” function to check the exit status and handle any errors that may have occurred. This approach allows you to reuse the error-checking logic in your script, which can make it easier to write and maintain.