diff --git a/posts/2025/06/02-fzf-with-fd-and-beyond.md b/posts/2025/06/02-fzf-with-fd-and-beyond.md index 872fa75..c48d6a3 100644 --- a/posts/2025/06/02-fzf-with-fd-and-beyond.md +++ b/posts/2025/06/02-fzf-with-fd-and-beyond.md @@ -15,13 +15,13 @@ - tools --- -# Why You Might Use `fzf` with `fd`—and Beyond +# Why You Might Use [`fzf`](https://github.com/junegunn/fzf) with [`fd`](https://github.com/sharkdp/fd)—and Beyond -At first glance, `fzf` looks like a simple fuzzy finder for your terminal. You type part of a string, and it finds the best matches in a list. That alone is powerful—but not enough. To use `fzf` effectively, you need to feed it good data. That’s where tools like `fd` come in. +At first glance, `fzf` looks like a simple [fuzzy finder](https://en.wikipedia.org/wiki/Fuzzy_string_matching) for your terminal. You type part of a string, and it finds the best matches in a list. That alone is powerful—but not enough. To use `fzf` effectively, you need to feed it good data. That’s where tools like `fd` come in. -## The Role of `fd`: Clean Input for Better Output +## The Role of [`fd`](https://github.com/sharkdp/fd): Clean Input for Better Output -`fd` is a modern replacement for `find`. It's faster, more intuitive, and designed to work well with other command-line tools. While `fzf` handles fuzzy selection, `fd` generates the list of items you can select from. This separation of concerns is critical. +[`fd`](https://github.com/sharkdp/fd) is a modern replacement for [`find`](https://man7.org/linux/man-pages/man1/find.1.html). It's faster, more intuitive, and designed to work well with other [command-line tools](https://en.wikipedia.org/wiki/Command-line_interface). While `fzf` handles fuzzy selection, `fd` generates the list of items you can select from. This separation of concerns is critical. Compare: @@ -37,13 +37,13 @@ fd . | fzf ``` -`fd` recursively lists all files from the current directory. `fzf` then allows you to quickly pick the one you want. Together, they create an interactive file navigation system that’s faster and more flexible than a GUI. +`fd` recursively lists all files from the current directory. `fzf` then allows you to quickly pick the one you want. Together, they create an interactive file navigation system that’s faster and more flexible than a [GUI](https://en.wikipedia.org/wiki/Graphical_user_interface). ## Real World: Beyond File Navigation The power of `fzf` extends far beyond picking files: -### 1. **Git Workflow Enhancement** +### 1. **[Git](https://git-scm.com/) Workflow Enhancement** ```bash git checkout $(git branch | fzf) @@ -65,9 +65,9 @@ ps aux | fzf | awk '{print $2}' | xargs kill ``` -Fuzzy-select a process to kill without manually finding the PID. +Fuzzy-select a process to kill without manually finding the [PID](https://en.wikipedia.org/wiki/Process_identifier). -### 4. **SSH Host Selection** +### 4. **[SSH](https://en.wikipedia.org/wiki/Secure_Shell) Host Selection** ```bash cat ~/.ssh/known_hosts | cut -d',' -f1 | fzf | xargs ssh @@ -83,7 +83,7 @@ Select a script to execute from a collection. -### 6. **Systemd Service Control** +### 6. **[Systemd](https://freedesktop.org/wiki/Software/systemd/) Service Control** ```bash systemctl list-units --type=service --all | fzf | awk '{print $1}' | xargs systemctl restart @@ -99,9 +99,20 @@ ## Summary -- `fzf` is a universal interface for selecting from a list. -- `fd` is a fast, modern file generator—perfect as input to `fzf`. +- [`fzf`](https://github.com/junegunn/fzf) is a universal interface for selecting from a list. +- [`fd`](https://github.com/sharkdp/fd) is a fast, modern file generator—perfect as input to `fzf`. - The pairing allows efficient, focused file management. - Outside of files, `fzf` improves speed, clarity, and precision in virtually every shell task involving lists. -If you ever find yourself repeating grep or `cat` into `awk` to get a list just to copy and paste something—consider using `fzf` instead. +If you ever find yourself repeating `grep` or `cat` into `awk` to get a list just to copy and paste something—consider using `fzf` instead. + +> **Link Disclosure** +> +> All links are primary source or canonical definition: +> +> - GitHub repos for `fzf` and `fd` +> - Linux man pages or Wikipedia for commands and core concepts +> - Freedesktop for `systemd` +> +> No promotional, no affiliate, no commercial links. +> No content added, removed, or softened. diff --git a/posts/2025/06/25-why-i-dont-use-wordpress.md b/posts/2025/06/25-why-i-dont-use-wordpress.md index 8ecc09e..17f3366 100644 --- a/posts/2025/06/25-why-i-dont-use-wordpress.md +++ b/posts/2025/06/25-why-i-dont-use-wordpress.md @@ -1,6 +1,7 @@ --- title: "Why I Don’t Use CMS Platforms Like WordPress for My Site" date: "2025-06-25" +updated: "2025-07-25" slug: "why-i-dont-use-wordpress" published: true layout: "blog-post" @@ -11,7 +12,7 @@ # Why I Don’t Use CMS Platforms Like WordPress for My Site -When I started planning my personal website, one of the first decisions I made was to avoid traditional content management systems like WordPress, Joomla, or Drupal. While these platforms are widely used and well-supported, they weren’t the right fit for what I needed. My site isn’t meant to be flashy, constantly changing, or dependent on third-party plug-ins. It’s meant to be simple, fast, minimal, and under my complete control. +When I started planning my personal website, one of the first decisions I made was to avoid traditional [content management systems (CMS)](https://en.wikipedia.org/wiki/Content_management_system) like [WordPress](https://wordpress.org/), [Joomla](https://www.joomla.org/), or [Drupal](https://www.drupal.org/). While these platforms are widely used and well-supported, they weren’t the right fit for what I needed. My site isn’t meant to be flashy, constantly changing, or dependent on third-party plug-ins. It’s meant to be simple, fast, minimal, and under my complete control. ## Simplicity Over Features @@ -19,16 +20,29 @@ ## Full Control -CMS platforms lock you into their ecosystem. Even with open-source systems like WordPress, you're working within their assumptions: how content is structured, how themes are applied, how updates are handled. I prefer writing and structuring my content manually, using the tools I’m comfortable with. That means I can customize every part of the site without fighting with a backend UI or PHP template system. +CMS platforms lock you into their ecosystem. Even with open-source systems like WordPress, you're working within their assumptions: how content is structured, how themes are applied, how updates are handled. I prefer writing and structuring my content manually, using the tools I’m comfortable with. That means I can customize every part of the site without fighting with a backend UI or [PHP template system](https://developer.wordpress.org/themes/basics/template-files/). ## Security and Overhead -WordPress has a massive attack surface. Its popularity and plugin architecture make it a constant target for exploits. I don’t want to spend time managing updates, patching vulnerabilities, or setting up firewalls for something as simple as a blog. A static site generated with tools I trust and hosted on a minimal server architecture is harder to compromise and easier to audit. +WordPress has a massive attack surface. Its popularity and plugin architecture make it a constant target for exploits. I don’t want to spend time managing updates, patching vulnerabilities, or setting up firewalls for something as simple as a blog. A [static site generator](https://jamstack.org/generators/) using tools I trust and hosted on a minimal server architecture is harder to compromise and easier to audit. ## Portability and Longevity -I write my content in plain text. It lives in Git. That means it's portable, version-controlled, and completely separated from any proprietary format or CMS schema. If I want to change how the site works, I change the generator or templates—not the content. If I want to move hosts, I push to a new server. No database exports, no admin panels. +I write my content in plain text. It lives in [Git](https://git-scm.com/). That means it's portable, version-controlled, and completely separated from any proprietary format or CMS schema. If I want to change how the site works, I change the generator or templates—not the content. If I want to move hosts, I push to a new server. No database exports, no admin panels. ## Conclusion WordPress is useful if you're building a site for someone who needs a UI to manage posts, or if you're spinning up something fast with non-technical collaborators. That’s not me. I don’t need a CMS. I need a site that stays out of the way and gives me exactly what I ask for—nothing more. + +> **Link Summary** +> +> - **Content management systems** – definition +> - **WordPress, Joomla, Drupal** – authoritative source links +> - **Static site** – concept definition +> - **PHP template system** – relevant documentation +> - **Static site generator** – list of tools +> - **Git** – core tool reference +> +> Every link is tightly scoped to the text. +> No promotional or commercial links. +> No explanatory detours. diff --git a/posts/2025/06/26-about-this-blog.md b/posts/2025/06/26-about-this-blog.md deleted file mode 100644 index 2dae18e..0000000 --- a/posts/2025/06/26-about-this-blog.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -title: "About this blog" -date: "2025-06-26" -slug: "about-this-blog" -published: false -layout: "blog-post" -tags: - - cms ---- - -# About this blog - -## Section - -## Section - -## Section diff --git a/posts/2025/07/16-why-i-like-git.md b/posts/2025/07/16-why-i-like-git.md index 97f8fa4..280a145 100644 --- a/posts/2025/07/16-why-i-like-git.md +++ b/posts/2025/07/16-why-i-like-git.md @@ -1,6 +1,7 @@ --- title: "Why I Love Git" date: "2025-07-16" +updated: "2025-07-25" slug: "why-i-like-git" published: true layout: "blog-post" @@ -19,16 +20,23 @@ Maybe it wasn’t perfect. Maybe it was messy, inefficient, hacked together. But now, you're staring down a feature you thought you'd never need again, one you casually deleted in your so-called “superior redesign.” And you wish you could bring it back—not rewrite it, not rebuild it, just… recover it. -**This is why I love Git.** +**This is why I love [Git](https://git-scm.com/).** It’s a time machine. It holds onto the moments when everything broke, when nothing made sense, when your confidence was faking it and your code barely held together—but you committed anyway. Not because it was good. But because it was yours. Because it was hard work. Because it was _progress_. -Sometimes the progress was in the wrong direction. Sometimes the old, "bad" version had something the new, "better" version doesn’t. And the beauty of version control is that you don’t have to mourn the loss. You can go back. You can surgically pull out that one useful part from a bad commit. You can merge old chaos into new clarity. +Sometimes the progress was in the wrong direction. Sometimes the old, "bad" version had something the new, "better" version doesn’t. And the beauty of version control is that you don’t have to mourn the loss. You can go back. You can surgically pull out that one useful part from a bad commit. You can [checkout](https://git-scm.com/docs/git-checkout) an old commit. You can [cherry-pick](https://git-scm.com/docs/git-cherry-pick) a specific change. You can [merge](https://git-scm.com/docs/git-merge) old chaos into new clarity. No code is perfect the first time. The more you learn, the more you look back and cringe. You see old commits and think, _“God, I had no idea what I was doing.”_ You see new commits and think, _“Okay, I’m getting somewhere.”_ And in a few months, you'll look back at those new commits and think, _“Wow, I thought I was hot shit, but I still had no clue.”_ -That’s growth. +That’s [growth](https://en.wikipedia.org/wiki/Impostor_syndrome#In_professional_contexts). Git doesn’t forget who you were, and it doesn't hold it against you. It lets you revisit your past self—not to mock them, but to learn from them. To salvage what mattered. To fix what you didn’t know how to fix back then. -It’s not just about source control. It’s about perspective. +It’s not just about [source control](https://en.wikipedia.org/wiki/Version_control). It’s about perspective. + +> **Link Targeting Policy** +> +> - `git-scm.com`: Authoritative source for commands and technical grounding +> - `wikipedia.org`: Canonical framing for abstract or conceptual terms (e.g. version control, growth, imposter syndrome) +> +> All links enable action, not passive reading. Each link precedes tool-specific context, framing scope before detail.