"Life is all about sharing. If we are good at something, pass it on." - Mary Berry

launchctl: Bootstrap failed: 5: Input/output error

2025-09-26

Initial symtoms

We have an internal service that needs to start a boot. The responsible team wrote a simple launchd script, like this:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>com.example.watchdog</string>

    <key>ProgramArguments</key>
    <array>
        <string>/usr/local/bin/watchdog</string>
    </array>

    <key>RunAtLoad</key>
    <true/>

    <key>KeepAlive</key>
    <true/>

    <key>SessionCreate</key>
    <true/>

    <key>StandardOutPath</key>
    <string>/var/log/watchdog.out</string>

    <key>StandardErrorPath</key>
    <string>/var/log/watchdog.err</string>
</dict>
</plist>

Read More...


Helix returns "No definition found" when going to a definition

2025-08-14

If you follow this blog regularly, you know that I’m so happy with the combo WezTerm (terminal emulator) and Helix (editor). Since I recently switched to a project that uses Java, I’m trying to configure Helix as my Java editor.

The default language server for Java is jdtls which can be installed easily on macOS by running:

brew install jdtls
hx --health java
Configured language servers:
  ✓ jdtls: /opt/homebrew/bin/jdtls
Configured debug adapter: None
Configured formatter: None
Tree-sitter parser: ✓
Highlight queries: ✓
Textobject queries: ✓
Indent queries: ✓
Tags queries: ✓
Rainbow queries: ✓

Read More...


What I'm doing now

2025-03-28

After taking some time to refresh myself and going on a road trip through Vietnam, I returned to the office to work as a Platform Engineer for a company in Hanoi. I’m learning to write an OS in Rust while continuing to read OSTEP. I’m building an all-in-one troubleshooting tool named diagtree, where I turn nearly any command into a tree, helping me quickly debug multiple services across different environments, from local to testing, and production.

Read More...