Symbolic files/directories and gitignore

I have seen numerous people, including myself use incorrect gitignore[1] patterns when referencing symbolic files and directories. So in this article I investigate how gitignore’s pattern matching is affected by symbolic links. TLDR The quick synopsis for files is that the gitignore’s pattern matching is not affected by symbolic links. The summary for directories is that symbolic directories match like files, because a symbolic link is a ‘special kind of file that points to another file’[2].
Read more →

AWS Lambda Language Benchmarking

I have seen several articles from years prior detailing the performance for various languages on AWS Lambda. Frankly, I did not believe the results the articles were reporting. With no source code, infrastructure as code, or any details on conducting the performance testing, I could not reproduce and verify the results myself. Therefore I set out to create an open-source repository containing all the source code, infrastructure, etc. So anyone can reproduce my findings, even in years to come as the performance characteristics may change.
Read more →

Git Hooks and Rust!

I have started writing a lot of Rust recently, but that is a story for another time. Like with all my open source projects my Rust repositories have CI pipelines. These CI pipelines run for every pull request; enforcing basic code quality by checking the code is properly formatted etc. As part of my development workflow, I usually have formatting and other basic code quality issues automatically fixed or flagged. However, sometimes issues slip through.
Read more →

Linux Foundation Certified SysAdmin

I recently took and passed my Linux Foundation Certified SysAdmin certification. The certification examination consists of SSHing into a remote machine and performing a set of tasks. The tasks cover all the basic operations you would be expected to perform while working as a system administrator; creating and configuring file systems, using SELinux/AppArmor, adding users/groups, setting up RAID, etc. I believe practical examinations are an improvement over written examinations at demonstrating the holder’s knowledge of Linux.
Read more →

Using isync

Isync is a command-line utility used for synchronising (downloading) remote and local mailboxes. Isync can be used as part of a tool-chain to be able to retrieve, store and send mail all from the command line. Benefits Installation Setting up isync IMAP setup Local & Remote storage setup Setting up the channels to synchronise Global/Local Channel Configurations Grouping channels Multiple Email’s TIP: How to find out remote IMAP folder names TIP: Documentation References Benefits The benefits of using isync combined with neomutt(a command-line mail client) over just neomutt is that isync stores a local cache, so when offline, you can still view your emails.
Read more →