
  <rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
      <title>mehdi.cz</title>
      <link>https://www.mehdi.cz/blog</link>
      <description>Engineering work by Mehdi Akiki across startup products, financial systems, distributed infrastructure, and open-source systems including Rust, Deno, and rust-analyzer.</description>
      <language>en-us</language>
      <managingEditor>hello@mehdi.cz (Mehdi Akiki)</managingEditor>
      <webMaster>hello@mehdi.cz (Mehdi Akiki)</webMaster>
      <lastBuildDate>Tue, 16 Sep 2025 00:00:00 GMT</lastBuildDate>
      <atom:link href="https://www.mehdi.cz/notes.xml" rel="self" type="application/rss+xml"/>
      
  <item>
    <guid>https://www.mehdi.cz/blog/bash-arithmetic-eval</guid>
    <title>Today I Learnt: Arithmetic evaluation</title>
    <link>https://www.mehdi.cz/blog/bash-arithmetic-eval</link>
    <description>Perform arithmetic inside bash scripts with $(( )) or let.</description>
    <pubDate>Tue, 16 Sep 2025 00:00:00 GMT</pubDate>
    <author>hello@mehdi.cz (Mehdi Akiki)</author>
    <category>bash</category><category>til</category>
  </item>

  <item>
    <guid>https://www.mehdi.cz/blog/bash-change-directory</guid>
    <title>Change directory quickly with cd</title>
    <link>https://www.mehdi.cz/blog/bash-change-directory</link>
    <description>cd navigates the working directory; use -, ~ and pushd/popd for convenience.</description>
    <pubDate>Tue, 16 Sep 2025 00:00:00 GMT</pubDate>
    <author>hello@mehdi.cz (Mehdi Akiki)</author>
    <category>bash</category><category>til</category>
  </item>

  <item>
    <guid>https://www.mehdi.cz/blog/bash-chmod</guid>
    <title>Change permissions with chmod</title>
    <link>https://www.mehdi.cz/blog/bash-chmod</link>
    <description>Set file permissions using chmod; octal and symbolic modes available.</description>
    <pubDate>Tue, 16 Sep 2025 00:00:00 GMT</pubDate>
    <author>hello@mehdi.cz (Mehdi Akiki)</author>
    <category>bash</category><category>til</category>
  </item>

  <item>
    <guid>https://www.mehdi.cz/blog/bash-chown</guid>
    <title>Today I Learnt: Change file owner with chown</title>
    <link>https://www.mehdi.cz/blog/bash-chown</link>
    <description>Change owner and group of a file.</description>
    <pubDate>Tue, 16 Sep 2025 00:00:00 GMT</pubDate>
    <author>hello@mehdi.cz (Mehdi Akiki)</author>
    <category>bash</category><category>til</category>
  </item>

  <item>
    <guid>https://www.mehdi.cz/blog/bash-clear-screen</guid>
    <title>Clear the terminal</title>
    <link>https://www.mehdi.cz/blog/bash-clear-screen</link>
    <description>Clear the terminal with clear or control-L, and reset a terminal that is in a bad state.</description>
    <pubDate>Tue, 16 Sep 2025 00:00:00 GMT</pubDate>
    <author>hello@mehdi.cz (Mehdi Akiki)</author>
    <category>bash</category><category>til</category>
  </item>

  <item>
    <guid>https://www.mehdi.cz/blog/bash-cmp</guid>
    <title>Today I Learnt: Compare files with cmp</title>
    <link>https://www.mehdi.cz/blog/bash-cmp</link>
    <description>Use cmp to compare two files byte-by-byte.</description>
    <pubDate>Tue, 16 Sep 2025 00:00:00 GMT</pubDate>
    <author>hello@mehdi.cz (Mehdi Akiki)</author>
    <category>bash</category><category>til</category>
  </item>

  <item>
    <guid>https://www.mehdi.cz/blog/bash-coproc</guid>
    <title>Coprocess communication with coproc</title>
    <link>https://www.mehdi.cz/blog/bash-coproc</link>
    <description>Use coproc to run a process and communicate with it via file descriptors.</description>
    <pubDate>Tue, 16 Sep 2025 00:00:00 GMT</pubDate>
    <author>hello@mehdi.cz (Mehdi Akiki)</author>
    <category>bash</category><category>til</category>
  </item>

  <item>
    <guid>https://www.mehdi.cz/blog/bash-copy-file</guid>
    <title>Today I Learnt: Copy files with cp</title>
    <link>https://www.mehdi.cz/blog/bash-copy-file</link>
    <description>Use cp to copy files and directories.</description>
    <pubDate>Tue, 16 Sep 2025 00:00:00 GMT</pubDate>
    <author>hello@mehdi.cz (Mehdi Akiki)</author>
    <category>bash</category><category>til</category>
  </item>

  <item>
    <guid>https://www.mehdi.cz/blog/bash-create-empty-file</guid>
    <title>Today I Learnt: Create an empty file with touch</title>
    <link>https://www.mehdi.cz/blog/bash-create-empty-file</link>
    <description>Create or update file timestamps with touch.</description>
    <pubDate>Tue, 16 Sep 2025 00:00:00 GMT</pubDate>
    <author>hello@mehdi.cz (Mehdi Akiki)</author>
    <category>bash</category><category>til</category>
  </item>

  <item>
    <guid>https://www.mehdi.cz/blog/bash-curl</guid>
    <title>Today I Learnt: Fetch a URL with curl</title>
    <link>https://www.mehdi.cz/blog/bash-curl</link>
    <description>Use curl to download or interact with HTTP endpoints.</description>
    <pubDate>Tue, 16 Sep 2025 00:00:00 GMT</pubDate>
    <author>hello@mehdi.cz (Mehdi Akiki)</author>
    <category>bash</category><category>til</category>
  </item>

  <item>
    <guid>https://www.mehdi.cz/blog/bash-df</guid>
    <title>Check disk free space with df</title>
    <link>https://www.mehdi.cz/blog/bash-df</link>
    <description>Use df to show disk free space; -h shows human-readable sizes.</description>
    <pubDate>Tue, 16 Sep 2025 00:00:00 GMT</pubDate>
    <author>hello@mehdi.cz (Mehdi Akiki)</author>
    <category>bash</category><category>til</category>
  </item>

  <item>
    <guid>https://www.mehdi.cz/blog/bash-dirname</guid>
    <title>Today I Learnt: Extract dirname from a path</title>
    <link>https://www.mehdi.cz/blog/bash-dirname</link>
    <description>Use dirname to get the directory component of a path.</description>
    <pubDate>Tue, 16 Sep 2025 00:00:00 GMT</pubDate>
    <author>hello@mehdi.cz (Mehdi Akiki)</author>
    <category>bash</category><category>til</category>
  </item>

  <item>
    <guid>https://www.mehdi.cz/blog/bash-du</guid>
    <title>Check disk usage with du</title>
    <link>https://www.mehdi.cz/blog/bash-du</link>
    <description>du reports directory and file sizes; use -sh for human-readable summaries.</description>
    <pubDate>Tue, 16 Sep 2025 00:00:00 GMT</pubDate>
    <author>hello@mehdi.cz (Mehdi Akiki)</author>
    <category>bash</category><category>til</category>
  </item>

  <item>
    <guid>https://www.mehdi.cz/blog/bash-env</guid>
    <title>Today I Learnt: Print environment variables</title>
    <link>https://www.mehdi.cz/blog/bash-env</link>
    <description>Show environment variables and inspect PATH.</description>
    <pubDate>Tue, 16 Sep 2025 00:00:00 GMT</pubDate>
    <author>hello@mehdi.cz (Mehdi Akiki)</author>
    <category>bash</category><category>til</category>
  </item>

  <item>
    <guid>https://www.mehdi.cz/blog/bash-envsubst</guid>
    <title>Substitute environment variables in templates with envsubst</title>
    <link>https://www.mehdi.cz/blog/bash-envsubst</link>
    <description>Use envsubst to replace $VAR placeholders in templates safely.</description>
    <pubDate>Tue, 16 Sep 2025 00:00:00 GMT</pubDate>
    <author>hello@mehdi.cz (Mehdi Akiki)</author>
    <category>bash</category><category>til</category>
  </item>

  <item>
    <guid>https://www.mehdi.cz/blog/bash-export-variable</guid>
    <title>Export environment variables</title>
    <link>https://www.mehdi.cz/blog/bash-export-variable</link>
    <description>export makes variables available to child processes; assign then export or do both on one line.</description>
    <pubDate>Tue, 16 Sep 2025 00:00:00 GMT</pubDate>
    <author>hello@mehdi.cz (Mehdi Akiki)</author>
    <category>bash</category><category>til</category>
  </item>

  <item>
    <guid>https://www.mehdi.cz/blog/bash-find-files</guid>
    <title>Today I Learnt: Find files with find</title>
    <link>https://www.mehdi.cz/blog/bash-find-files</link>
    <description>Search for files by name, type, size, and more using find.</description>
    <pubDate>Tue, 16 Sep 2025 00:00:00 GMT</pubDate>
    <author>hello@mehdi.cz (Mehdi Akiki)</author>
    <category>bash</category><category>til</category>
  </item>

  <item>
    <guid>https://www.mehdi.cz/blog/bash-flock</guid>
    <title>Today I Learnt: Use flock for atomic file locking</title>
    <link>https://www.mehdi.cz/blog/bash-flock</link>
    <description>Use flock to prevent concurrent script runs from clobbering files.</description>
    <pubDate>Tue, 16 Sep 2025 00:00:00 GMT</pubDate>
    <author>hello@mehdi.cz (Mehdi Akiki)</author>
    <category>bash</category><category>til</category>
  </item>

  <item>
    <guid>https://www.mehdi.cz/blog/bash-free-memory</guid>
    <title>Today I Learnt: Check memory with free</title>
    <link>https://www.mehdi.cz/blog/bash-free-memory</link>
    <description>Use free -h to inspect system memory usage.</description>
    <pubDate>Tue, 16 Sep 2025 00:00:00 GMT</pubDate>
    <author>hello@mehdi.cz (Mehdi Akiki)</author>
    <category>bash</category><category>til</category>
  </item>

  <item>
    <guid>https://www.mehdi.cz/blog/bash-grep</guid>
    <title>Search text quickly with grep</title>
    <link>https://www.mehdi.cz/blog/bash-grep</link>
    <description>Use grep for pattern search; -R to recurse, -n for line numbers, -i for ignore-case.</description>
    <pubDate>Tue, 16 Sep 2025 00:00:00 GMT</pubDate>
    <author>hello@mehdi.cz (Mehdi Akiki)</author>
    <category>bash</category><category>til</category>
  </item>

  <item>
    <guid>https://www.mehdi.cz/blog/bash-head</guid>
    <title>Show first lines with head</title>
    <link>https://www.mehdi.cz/blog/bash-head</link>
    <description>head prints the first N lines of a file; combine with tail or sed for ranges.</description>
    <pubDate>Tue, 16 Sep 2025 00:00:00 GMT</pubDate>
    <author>hello@mehdi.cz (Mehdi Akiki)</author>
    <category>bash</category><category>til</category>
  </item>

  <item>
    <guid>https://www.mehdi.cz/blog/bash-here-string</guid>
    <title>Here-strings (&lt;&lt;&lt;)</title>
    <link>https://www.mehdi.cz/blog/bash-here-string</link>
    <description>Here-strings (`&lt;&lt;&lt;`) feed a short string as stdin to a command.</description>
    <pubDate>Tue, 16 Sep 2025 00:00:00 GMT</pubDate>
    <author>hello@mehdi.cz (Mehdi Akiki)</author>
    <category>bash</category><category>til</category>
  </item>

  <item>
    <guid>https://www.mehdi.cz/blog/bash-history</guid>
    <title>Today I Learnt: Show command history with history</title>
    <link>https://www.mehdi.cz/blog/bash-history</link>
    <description>List recent shell commands.</description>
    <pubDate>Tue, 16 Sep 2025 00:00:00 GMT</pubDate>
    <author>hello@mehdi.cz (Mehdi Akiki)</author>
    <category>bash</category><category>til</category>
  </item>

  <item>
    <guid>https://www.mehdi.cz/blog/bash-list-files</guid>
    <title>Today I Learnt: List files with ls</title>
    <link>https://www.mehdi.cz/blog/bash-list-files</link>
    <description>Quick: list files including hidden and permissions.</description>
    <pubDate>Tue, 16 Sep 2025 00:00:00 GMT</pubDate>
    <author>hello@mehdi.cz (Mehdi Akiki)</author>
    <category>bash</category><category>til</category>
  </item>

  <item>
    <guid>https://www.mehdi.cz/blog/bash-make-directory</guid>
    <title>Create directories with mkdir</title>
    <link>https://www.mehdi.cz/blog/bash-make-directory</link>
    <description>Use mkdir -p to create nested directories safely from scripts.</description>
    <pubDate>Tue, 16 Sep 2025 00:00:00 GMT</pubDate>
    <author>hello@mehdi.cz (Mehdi Akiki)</author>
    <category>bash</category><category>til</category>
  </item>

  <item>
    <guid>https://www.mehdi.cz/blog/bash-mkfifo</guid>
    <title>Today I Learnt: Create named pipes with mkfifo</title>
    <link>https://www.mehdi.cz/blog/bash-mkfifo</link>
    <description>Use FIFOs to connect unrelated processes.</description>
    <pubDate>Tue, 16 Sep 2025 00:00:00 GMT</pubDate>
    <author>hello@mehdi.cz (Mehdi Akiki)</author>
    <category>bash</category><category>til</category>
  </item>

  <item>
    <guid>https://www.mehdi.cz/blog/bash-move-file</guid>
    <title>Today I Learnt: Move or rename files with mv</title>
    <link>https://www.mehdi.cz/blog/bash-move-file</link>
    <description>Move or rename files using mv.</description>
    <pubDate>Tue, 16 Sep 2025 00:00:00 GMT</pubDate>
    <author>hello@mehdi.cz (Mehdi Akiki)</author>
    <category>bash</category><category>til</category>
  </item>

  <item>
    <guid>https://www.mehdi.cz/blog/bash-nice-renice</guid>
    <title>Today I Learnt: Change process priority with nice and renice</title>
    <link>https://www.mehdi.cz/blog/bash-nice-renice</link>
    <description>Start a process with lower priority using nice.</description>
    <pubDate>Tue, 16 Sep 2025 00:00:00 GMT</pubDate>
    <author>hello@mehdi.cz (Mehdi Akiki)</author>
    <category>bash</category><category>til</category>
  </item>

  <item>
    <guid>https://www.mehdi.cz/blog/bash-print-working-directory</guid>
    <title>Today I Learnt: Print working directory with pwd</title>
    <link>https://www.mehdi.cz/blog/bash-print-working-directory</link>
    <description>Show current directory.</description>
    <pubDate>Tue, 16 Sep 2025 00:00:00 GMT</pubDate>
    <author>hello@mehdi.cz (Mehdi Akiki)</author>
    <category>bash</category><category>til</category>
  </item>

  <item>
    <guid>https://www.mehdi.cz/blog/bash-printf</guid>
    <title>Formatted output with printf</title>
    <link>https://www.mehdi.cz/blog/bash-printf</link>
    <description>Use printf for predictable, formatted output instead of echo.</description>
    <pubDate>Tue, 16 Sep 2025 00:00:00 GMT</pubDate>
    <author>hello@mehdi.cz (Mehdi Akiki)</author>
    <category>bash</category><category>til</category>
  </item>

  <item>
    <guid>https://www.mehdi.cz/blog/bash-process-substitution</guid>
    <title>Today I Learnt: Process substitution to treat commands like files</title>
    <link>https://www.mehdi.cz/blog/bash-process-substitution</link>
    <description>Use &lt;(...) or &gt;(...) to pass command output or input as a filename.</description>
    <pubDate>Tue, 16 Sep 2025 00:00:00 GMT</pubDate>
    <author>hello@mehdi.cz (Mehdi Akiki)</author>
    <category>bash</category><category>til</category>
  </item>

  <item>
    <guid>https://www.mehdi.cz/blog/bash-read-variable</guid>
    <title>Today I Learnt: Read user input in bash</title>
    <link>https://www.mehdi.cz/blog/bash-read-variable</link>
    <description>Prompt and read input into a variable with read.</description>
    <pubDate>Tue, 16 Sep 2025 00:00:00 GMT</pubDate>
    <author>hello@mehdi.cz (Mehdi Akiki)</author>
    <category>bash</category><category>til</category>
  </item>

  <item>
    <guid>https://www.mehdi.cz/blog/bash-remove-file</guid>
    <title>Remove a file with rm</title>
    <link>https://www.mehdi.cz/blog/bash-remove-file</link>
    <description>Use rm to remove files; consider safer alternatives interactively.</description>
    <pubDate>Tue, 16 Sep 2025 00:00:00 GMT</pubDate>
    <author>hello@mehdi.cz (Mehdi Akiki)</author>
    <category>bash</category><category>til</category>
  </item>

  <item>
    <guid>https://www.mehdi.cz/blog/bash-reverse-search</guid>
    <title>Reverse-search history</title>
    <link>https://www.mehdi.cz/blog/bash-reverse-search</link>
    <description>Use Ctrl+R to reverse-search your shell history interactively.</description>
    <pubDate>Tue, 16 Sep 2025 00:00:00 GMT</pubDate>
    <author>hello@mehdi.cz (Mehdi Akiki)</author>
    <category>bash</category><category>til</category>
  </item>

  <item>
    <guid>https://www.mehdi.cz/blog/bash-rsync</guid>
    <title>Sync with rsync</title>
    <link>https://www.mehdi.cz/blog/bash-rsync</link>
    <description>Use rsync for efficient, resumable synchronization; -a preserves attributes.</description>
    <pubDate>Tue, 16 Sep 2025 00:00:00 GMT</pubDate>
    <author>hello@mehdi.cz (Mehdi Akiki)</author>
    <category>bash</category><category>til</category>
  </item>

  <item>
    <guid>https://www.mehdi.cz/blog/bash-scp</guid>
    <title>Secure copy with scp</title>
    <link>https://www.mehdi.cz/blog/bash-scp</link>
    <description>Copy files over SSH using scp; consider rsync for complex syncs.</description>
    <pubDate>Tue, 16 Sep 2025 00:00:00 GMT</pubDate>
    <author>hello@mehdi.cz (Mehdi Akiki)</author>
    <category>bash</category><category>til</category>
  </item>

  <item>
    <guid>https://www.mehdi.cz/blog/bash-sed</guid>
    <title>Stream edit files with sed</title>
    <link>https://www.mehdi.cz/blog/bash-sed</link>
    <description>sed performs text transforms in a stream; safe inline edits with backups.</description>
    <pubDate>Tue, 16 Sep 2025 00:00:00 GMT</pubDate>
    <author>hello@mehdi.cz (Mehdi Akiki)</author>
    <category>bash</category><category>til</category>
  </item>

  <item>
    <guid>https://www.mehdi.cz/blog/bash-select</guid>
    <title>Today I Learnt: Interactive menus with select</title>
    <link>https://www.mehdi.cz/blog/bash-select</link>
    <description>Use select to build simple interactive menus in bash scripts.</description>
    <pubDate>Tue, 16 Sep 2025 00:00:00 GMT</pubDate>
    <author>hello@mehdi.cz (Mehdi Akiki)</author>
    <category>bash</category><category>til</category><category>advanced</category>
  </item>

  <item>
    <guid>https://www.mehdi.cz/blog/bash-shellcheck</guid>
    <title>Lint shell scripts with shellcheck</title>
    <link>https://www.mehdi.cz/blog/bash-shellcheck</link>
    <description>Use shellcheck to find common shell scripting mistakes.</description>
    <pubDate>Tue, 16 Sep 2025 00:00:00 GMT</pubDate>
    <author>hello@mehdi.cz (Mehdi Akiki)</author>
    <category>bash</category><category>til</category>
  </item>

  <item>
    <guid>https://www.mehdi.cz/blog/bash-sleep</guid>
    <title>Today I Learnt: Pause with sleep</title>
    <link>https://www.mehdi.cz/blog/bash-sleep</link>
    <description>Sleep for a number of seconds.</description>
    <pubDate>Tue, 16 Sep 2025 00:00:00 GMT</pubDate>
    <author>hello@mehdi.cz (Mehdi Akiki)</author>
    <category>bash</category><category>til</category>
  </item>

  <item>
    <guid>https://www.mehdi.cz/blog/bash-sort</guid>
    <title>Sort and dedupe lines</title>
    <link>https://www.mehdi.cz/blog/bash-sort</link>
    <description>Sort lines and remove duplicates with sort and uniq; use -V for version-aware sorting.</description>
    <pubDate>Tue, 16 Sep 2025 00:00:00 GMT</pubDate>
    <author>hello@mehdi.cz (Mehdi Akiki)</author>
    <category>bash</category><category>til</category>
  </item>

  <item>
    <guid>https://www.mehdi.cz/blog/bash-source-file</guid>
    <title>Source a script into the current shell</title>
    <link>https://www.mehdi.cz/blog/bash-source-file</link>
    <description>Use `source` or `.` to run a script in the current shell so it can set variables/functions.</description>
    <pubDate>Tue, 16 Sep 2025 00:00:00 GMT</pubDate>
    <author>hello@mehdi.cz (Mehdi Akiki)</author>
    <category>bash</category><category>til</category>
  </item>

  <item>
    <guid>https://www.mehdi.cz/blog/bash-ss</guid>
    <title>Show listening sockets with ss</title>
    <link>https://www.mehdi.cz/blog/bash-ss</link>
    <description>ss inspects sockets; use -ltnp to list TCP listening ports with processes.</description>
    <pubDate>Tue, 16 Sep 2025 00:00:00 GMT</pubDate>
    <author>hello@mehdi.cz (Mehdi Akiki)</author>
    <category>bash</category><category>til</category>
  </item>

  <item>
    <guid>https://www.mehdi.cz/blog/bash-subshell-grouping</guid>
    <title>Subshells vs grouping</title>
    <link>https://www.mehdi.cz/blog/bash-subshell-grouping</link>
    <description>Use ( ) for subshells and { } for grouping commands in the current shell.</description>
    <pubDate>Tue, 16 Sep 2025 00:00:00 GMT</pubDate>
    <author>hello@mehdi.cz (Mehdi Akiki)</author>
    <category>bash</category><category>til</category>
  </item>

  <item>
    <guid>https://www.mehdi.cz/blog/bash-tail</guid>
    <title>Show last lines with tail</title>
    <link>https://www.mehdi.cz/blog/bash-tail</link>
    <description>Use tail to show last lines or follow a growing file.</description>
    <pubDate>Tue, 16 Sep 2025 00:00:00 GMT</pubDate>
    <author>hello@mehdi.cz (Mehdi Akiki)</author>
    <category>bash</category><category>til</category>
  </item>

  <item>
    <guid>https://www.mehdi.cz/blog/bash-trap-signals</guid>
    <title>Today I Learnt: Trap signals and cleanup</title>
    <link>https://www.mehdi.cz/blog/bash-trap-signals</link>
    <description>Use trap to run cleanup on EXIT or signals.</description>
    <pubDate>Tue, 16 Sep 2025 00:00:00 GMT</pubDate>
    <author>hello@mehdi.cz (Mehdi Akiki)</author>
    <category>bash</category><category>til</category><category>advanced</category>
  </item>

  <item>
    <guid>https://www.mehdi.cz/blog/bash-ulimit</guid>
    <title>Control resources with ulimit</title>
    <link>https://www.mehdi.cz/blog/bash-ulimit</link>
    <description>Use ulimit to set resource limits for shells and processes.</description>
    <pubDate>Tue, 16 Sep 2025 00:00:00 GMT</pubDate>
    <author>hello@mehdi.cz (Mehdi Akiki)</author>
    <category>bash</category><category>til</category>
  </item>

  <item>
    <guid>https://www.mehdi.cz/blog/bash-uname</guid>
    <title>Today I Learnt: Show system info with uname</title>
    <link>https://www.mehdi.cz/blog/bash-uname</link>
    <description>Print kernel and OS information.</description>
    <pubDate>Tue, 16 Sep 2025 00:00:00 GMT</pubDate>
    <author>hello@mehdi.cz (Mehdi Akiki)</author>
    <category>bash</category><category>til</category>
  </item>

  <item>
    <guid>https://www.mehdi.cz/blog/bash-version</guid>
    <title>Show bash version</title>
    <link>https://www.mehdi.cz/blog/bash-version</link>
    <description>Display Bash version and release info.</description>
    <pubDate>Tue, 16 Sep 2025 00:00:00 GMT</pubDate>
    <author>hello@mehdi.cz (Mehdi Akiki)</author>
    <category>bash</category><category>til</category>
  </item>

  <item>
    <guid>https://www.mehdi.cz/blog/bash-view-file</guid>
    <title>Quickly view file contents</title>
    <link>https://www.mehdi.cz/blog/bash-view-file</link>
    <description>Use cat, less, more to view file contents; tail -f follows logs.</description>
    <pubDate>Tue, 16 Sep 2025 00:00:00 GMT</pubDate>
    <author>hello@mehdi.cz (Mehdi Akiki)</author>
    <category>bash</category><category>til</category>
  </item>

  <item>
    <guid>https://www.mehdi.cz/blog/bash-wget</guid>
    <title>Download with wget</title>
    <link>https://www.mehdi.cz/blog/bash-wget</link>
    <description>Quick wget examples for downloading files and resuming partial downloads.</description>
    <pubDate>Tue, 16 Sep 2025 00:00:00 GMT</pubDate>
    <author>hello@mehdi.cz (Mehdi Akiki)</author>
    <category>bash</category><category>til</category>
  </item>

  <item>
    <guid>https://www.mehdi.cz/blog/case-study-projects</guid>
    <title>Today I Learnt: Writing Project Case Studies That Sell</title>
    <link>https://www.mehdi.cz/blog/case-study-projects</link>
    <description>How to write concise project case studies that highlight impact and attract clients or recruiters.</description>
    <pubDate>Tue, 16 Sep 2025 00:00:00 GMT</pubDate>
    <author>hello@mehdi.cz (Mehdi Akiki)</author>
    <category>freelance</category><category>case-study</category><category>portfolio</category><category>til</category>
  </item>

  <item>
    <guid>https://www.mehdi.cz/blog/getting-started-oso-nodejs</guid>
    <title>Today I Learnt: Getting Started with Oso Authorization in Node.js</title>
    <link>https://www.mehdi.cz/blog/getting-started-oso-nodejs</link>
    <description>How to add policy-based authorization using Oso in a Node.js app with a minimal example.</description>
    <pubDate>Tue, 16 Sep 2025 00:00:00 GMT</pubDate>
    <author>hello@mehdi.cz (Mehdi Akiki)</author>
    <category>node</category><category>auth</category><category>oso</category><category>til</category>
  </item>

  <item>
    <guid>https://www.mehdi.cz/blog/github-profile-optimisation</guid>
    <title>Today I Learnt: Optimizing Your GitHub Profile for Recruiters</title>
    <link>https://www.mehdi.cz/blog/github-profile-optimisation</link>
    <description>Make your GitHub profile and repos speak for you: README, pinned projects, issues, and contributions.</description>
    <pubDate>Tue, 16 Sep 2025 00:00:00 GMT</pubDate>
    <author>hello@mehdi.cz (Mehdi Akiki)</author>
    <category>github</category><category>open-source</category><category>portfolio</category><category>til</category>
  </item>

  <item>
    <guid>https://www.mehdi.cz/blog/linkedin-personal-brand</guid>
    <title>Today I Learnt: LinkedIn for Engineers — Practical Personal Branding</title>
    <link>https://www.mehdi.cz/blog/linkedin-personal-brand</link>
    <description>Small LinkedIn habits that make your profile and posts discoverable to recruiters and potential clients.</description>
    <pubDate>Tue, 16 Sep 2025 00:00:00 GMT</pubDate>
    <author>hello@mehdi.cz (Mehdi Akiki)</author>
    <category>linkedin</category><category>personal-brand</category><category>career</category><category>til</category>
  </item>

  <item>
    <guid>https://www.mehdi.cz/blog/open-source-for-recruiters</guid>
    <title>Today I Learnt: Use Open Source to Get Noticed by Recruiters</title>
    <link>https://www.mehdi.cz/blog/open-source-for-recruiters</link>
    <description>How contributing to open source can surface you to recruiters and how to do it efficiently.</description>
    <pubDate>Tue, 16 Sep 2025 00:00:00 GMT</pubDate>
    <author>hello@mehdi.cz (Mehdi Akiki)</author>
    <category>open-source</category><category>career</category><category>github</category><category>til</category>
  </item>

  <item>
    <guid>https://www.mehdi.cz/blog/portfolio-structure</guid>
    <title>Today I Learnt: Portfolio Structure That Gets Recruiter Attention</title>
    <link>https://www.mehdi.cz/blog/portfolio-structure</link>
    <description>A lean portfolio structure to showcase work, skills, and contact channels for recruiters and clients.</description>
    <pubDate>Tue, 16 Sep 2025 00:00:00 GMT</pubDate>
    <author>hello@mehdi.cz (Mehdi Akiki)</author>
    <category>portfolio</category><category>personal-brand</category><category>resume</category><category>til</category>
  </item>

  <item>
    <guid>https://www.mehdi.cz/blog/show-impact-metrics</guid>
    <title>Today I Learnt: Show Impact — Metrics That Recruiters and Clients Care About</title>
    <link>https://www.mehdi.cz/blog/show-impact-metrics</link>
    <description>Which metrics to show on your portfolio and how to present them so they communicate value quickly.</description>
    <pubDate>Tue, 16 Sep 2025 00:00:00 GMT</pubDate>
    <author>hello@mehdi.cz (Mehdi Akiki)</author>
    <category>metrics</category><category>portfolio</category><category>impact</category><category>til</category>
  </item>

  <item>
    <guid>https://www.mehdi.cz/blog/technical-blog-seo</guid>
    <title>Today I Learnt: Technical Blogging for SEO and Visibility</title>
    <link>https://www.mehdi.cz/blog/technical-blog-seo</link>
    <description>Practical SEO tips for technical bloggers who want organic traffic and recruiter discovery.</description>
    <pubDate>Tue, 16 Sep 2025 00:00:00 GMT</pubDate>
    <author>hello@mehdi.cz (Mehdi Akiki)</author>
    <category>blogging</category><category>seo</category><category>technical-writing</category><category>til</category>
  </item>

  <item>
    <guid>https://www.mehdi.cz/blog/technical-storytelling</guid>
    <title>Today I Learnt: Technical Storytelling — Make Your Work Memorable</title>
    <link>https://www.mehdi.cz/blog/technical-storytelling</link>
    <description>How to tell the story of your technical work so recruiters and clients remember you.</description>
    <pubDate>Tue, 16 Sep 2025 00:00:00 GMT</pubDate>
    <author>hello@mehdi.cz (Mehdi Akiki)</author>
    <category>storytelling</category><category>writing</category><category>portfolio</category><category>til</category>
  </item>

  <item>
    <guid>https://www.mehdi.cz/blog/winning-proposals</guid>
    <title>Today I Learnt: Write Winning Technical Proposals Quickly</title>
    <link>https://www.mehdi.cz/blog/winning-proposals</link>
    <description>A fast, repeatable proposal template to win freelance clients without over-engineering.</description>
    <pubDate>Tue, 16 Sep 2025 00:00:00 GMT</pubDate>
    <author>hello@mehdi.cz (Mehdi Akiki)</author>
    <category>freelance</category><category>proposals</category><category>projects</category><category>til</category>
  </item>

    </channel>
  </rss>
