_    _             ____       _ _                      
    / \  | | _____  __ / ___|  ___| (_)_ __ ___   _____   __
   / _ \ | |/ _ \ \/ / \___ \ / _ \ | | '_ ` _ \ / _ \ \ / /
  / ___ \| |  __/>  <   ___) |  __/ | | | | | | | (_) \ V /
 /_/   \_\_|\___/_/\_\ |____/ \___|_|_|_| |_| |_|\___/ \_/

I am a materials scientist and software developer proficient in Rust, Fortran, C++, Java, and Python. I have extensive experience with Unix operating systems on both high performance computing resources and on my personal computer (check out Void Linux). I currently work at UKG as a Java Backend Engineer.

Checkout recent posts below or posts organized by topic here

Thanks for stopping by!

Say goodbye to st and say hello to ghostty

I’ve been a suckless software user for a long time because the software was superior to a lot of other options out there. If you have never experienced the blazing fast speed of st opening, you are definitely missing out. Sadly it was time for me to leave st behind and move on to a new terminal that I think offers a lot of benefits.

Why I Liked st

  • Speed. st launches instantly
  • Config as code is cool. That combined with the patching culture really provides some fun puzzles. Who knew reading your terminal source code to fix a broken patch could be so fun.
  • DWM swallow patch compatibility. If you use the swallow patch, st works flawlessly.

Why I Switched to ghostty

  • Time constraints. Two kids means no time to debug patches and code when I want modern features like ligatures.
  • Modern niceties. Ligatures and images in terminal are supported out of the box. I spent way too long trying to unsuccessfully get sixel support in st.
  • Cross-platform config. Same configuration file on both Linux and work Mac. Reduces burden of swapping dev environments.
  • Swallowing compatibility. Unlike WezTerm and others, ghostty plays nice with DWM’s swallow patch. Since WezTerm uses existing terminals to create new terminals, the process tree for the swallow patch gets messed up. This leads to the wrong terminal windows getting swallowed which is very frustrating.
  • Fast enough. Noticeably slower to start than st but faster than everything else I’ve tried.

I definitely think I’m losing cool points by swapping from my handcrafted st build, but priorities change and the ghostty guy is pretty cool. Hopefully this doesn’t commence my slide down the slippery slope straight into an Apple Store shudder.

[Read more]

Mac style copy/paste on Void Linux

Another quick post that may be useful to somebody else. I’ve been working at UKG for about 4 months now. In my work I use a Mac laptop. I’ve tried my best to unify my configurations between my personal Linux system and the Mac dev machine provided by UKG to reduce headaches when having to switch from professional to personal projects. This even went as far as trying to configure OpenBox to be more like the MacOS desktop environment (HA a big failed endeavour). While I ultimately found peace with differences in desktop environments, there was another thing I found very hard to deal with.

[Read more]

NVIDIA graphics card faulting after sleep/wake cycle on Void Linux

I run Void Linux on a Thinkpad T480 with Integrated Intel graphics and a discrete Nvidia MX150. I’ve decided to start working with more CUDA development and was running into an issue where my Nvidia GPU would suddenly stop being detected by CUDA applications. The only way I could figure out to get it back online was by rebooting my computer. Eventually I became so frustrated that I decided to dive in and find a solution.

[Read more]
[Go to all posts]