~/blogthings I've written
Notes on backend systems, AI/ML as I learn it, occasional rants about tooling.
Aliases streamline your workflow, special parameters make scripts adaptable to different inputs, and good security habits ensure your shell environment stays safe and reliable.
Variables and expansions give your shell scripts the ability to work with dynamic data, perform calculations, and capture command output, making them far more flexible and powerful.
Init files configure your shell environment every time you open a terminal, and environment variables store the key information your shell and programs rely on to function correctly.
Pipes let you chain commands together to process data in one go, and understanding special characters and text manipulation tools gives you precise control over how that data is handled.
Shell redirection lets you control where your data comes from and where it goes, and filters give you the ability to process and extract exactly what you need from that data.
Knowing how to navigate your file system and manage files from the command line is a core skill that makes everything else in software engineering faster and more efficient.
The shell is your direct line of communication with your operating system, and getting comfortable with it early is one of the most valuable things you can do as a software engineer.
Git errors can be frustrating but most have simple fixes once you understand what they mean. Knowing how to read and resolve them is a skill that will save you a lot of time as a developer.
SSH is a simpler and more secure alternative to personal access tokens that lets your machine authenticate with GitHub automatically once it is set up.
Git and GitHub are essential tools for every developer: Git tracks your code history locally, and GitHub makes collaboration seamless by hosting your repositories and enabling structured code review through pull requests.
Version control is an essential tool for tracking changes to your code over time, and Git is the industry standard that every software engineer should get comfortable with early.
Pseudocode is a simple but powerful tool that helps you think through your logic clearly before writing any actual code.
Embracing grit and a growth mindset are essential tools for navigating the challenges of the software engineering journey.