<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Ryo Ueda on CENG Lab -- Ryo Ueda</title><link>https://ofurotime.ca/</link><description>Recent content in Ryo Ueda on CENG Lab -- Ryo Ueda</description><generator>Hugo</generator><language>en</language><lastBuildDate>Wed, 10 Jun 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://ofurotime.ca/index.xml" rel="self" type="application/rss+xml"/><item><title>Git Cheatsheet</title><link>https://ofurotime.ca/knowledge-base/cicd/git-cheatsheet/</link><pubDate>Wed, 10 Jun 2026 00:00:00 +0000</pubDate><guid>https://ofurotime.ca/knowledge-base/cicd/git-cheatsheet/</guid><description>&lt;p&gt;A quick reference for the Git commands used most often in day-to-day development.&lt;/p&gt;
&lt;h2 id="cloning-and-branches" class="relative group"&gt;Cloning and branches &lt;span class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100"&gt;&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700" style="text-decoration-line: none !important;" href="#cloning-and-branches" aria-label="Anchor"&gt;#&lt;/a&gt;&lt;/span&gt;&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;git clone &amp;lt;URL&amp;gt;&lt;/code&gt; — clone a repository to your local workspace&lt;/li&gt;
&lt;li&gt;&lt;code&gt;git checkout &amp;lt;branch&amp;gt;&lt;/code&gt; — switch to an existing branch&lt;/li&gt;
&lt;li&gt;&lt;code&gt;git checkout -b &amp;lt;branch&amp;gt;&lt;/code&gt; — create a new branch and switch to it&lt;/li&gt;
&lt;li&gt;&lt;code&gt;git branch&lt;/code&gt; — list local branches&lt;/li&gt;
&lt;li&gt;&lt;code&gt;git branch -vv&lt;/code&gt; — list local branches with their last commit and the upstream (remote-tracking) branch they&amp;rsquo;re tracking, e.g. &lt;code&gt;[origin/main: ahead 2]&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="staging-and-unstaging" class="relative group"&gt;Staging and unstaging &lt;span class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100"&gt;&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700" style="text-decoration-line: none !important;" href="#staging-and-unstaging" aria-label="Anchor"&gt;#&lt;/a&gt;&lt;/span&gt;&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;git add . / &amp;lt;file&amp;gt;&lt;/code&gt; — stage changes in a file (or all changes with &lt;code&gt;.&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;git reset&lt;/code&gt; — unstage all changes, keeping the changes in your working directory intact (equivalent to &lt;code&gt;git reset --mixed HEAD&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;git restore &amp;lt;file&amp;gt;&lt;/code&gt; — restore a file in the working tree from the &lt;strong&gt;index&lt;/strong&gt; (staging area), discarding unstaged edits. To also discard staged changes and fully revert to the last commit, use &lt;code&gt;git restore --staged &amp;lt;file&amp;gt;&lt;/code&gt; first (or &lt;code&gt;git restore --source=HEAD --staged --worktree &amp;lt;file&amp;gt;&lt;/code&gt; to do both in one step)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="inspecting-changes" class="relative group"&gt;Inspecting changes &lt;span class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100"&gt;&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700" style="text-decoration-line: none !important;" href="#inspecting-changes" aria-label="Anchor"&gt;#&lt;/a&gt;&lt;/span&gt;&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;git diff&lt;/code&gt; — show unstaged changes&lt;/li&gt;
&lt;li&gt;&lt;code&gt;git diff --staged&lt;/code&gt; — show staged changes (equivalent to &lt;code&gt;git diff --cached&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;git status&lt;/code&gt; — show both staged and unstaged changes&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="committing-and-remotes" class="relative group"&gt;Committing and remotes &lt;span class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100"&gt;&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700" style="text-decoration-line: none !important;" href="#committing-and-remotes" aria-label="Anchor"&gt;#&lt;/a&gt;&lt;/span&gt;&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;git commit -m &amp;quot;comment&amp;quot;&lt;/code&gt; — save staged changes to the current branch&lt;/li&gt;
&lt;li&gt;&lt;code&gt;git remote -v&lt;/code&gt; — list remote repositories and their fetch/push URLs&lt;/li&gt;
&lt;li&gt;&lt;code&gt;git remote add origin &amp;lt;URL&amp;gt;&lt;/code&gt; — register a remote repository under the name &amp;ldquo;origin&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;git remote set-url origin &amp;lt;URL&amp;gt;&lt;/code&gt; — change the URL associated with the &amp;ldquo;origin&amp;rdquo; remote&lt;/li&gt;
&lt;li&gt;&lt;code&gt;git push -u origin &amp;lt;local branch&amp;gt;:&amp;lt;remote branch&amp;gt;&lt;/code&gt; — push a branch to the remote and set it as the upstream for future &lt;code&gt;git push&lt;/code&gt;/&lt;code&gt;git pull&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="stash" class="relative group"&gt;Stash &lt;span class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100"&gt;&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700" style="text-decoration-line: none !important;" href="#stash" aria-label="Anchor"&gt;#&lt;/a&gt;&lt;/span&gt;&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;git stash&lt;/code&gt; — save local changes and remove them from the working tree&lt;/li&gt;
&lt;li&gt;&lt;code&gt;git stash apply&lt;/code&gt; — reapply the most recently stashed changes&lt;/li&gt;
&lt;li&gt;&lt;code&gt;git stash clear&lt;/code&gt; — remove all stashed changes&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="merge" class="relative group"&gt;Merge &lt;span class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100"&gt;&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700" style="text-decoration-line: none !important;" href="#merge" aria-label="Anchor"&gt;#&lt;/a&gt;&lt;/span&gt;&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;git merge &amp;lt;branch&amp;gt;&lt;/code&gt; — merge the given branch into the current branch&lt;/li&gt;
&lt;li&gt;&lt;code&gt;git merge --abort&lt;/code&gt; — cancel an in-progress merge and return to the pre-merge state&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>【ClaudeCode】【Lab】MCP Server Integration: Notion + Claude Code</title><link>https://ofurotime.ca/knowledge-base/ai/notion-mcp-server-integration/</link><pubDate>Mon, 08 Jun 2026 00:00:00 +0000</pubDate><guid>https://ofurotime.ca/knowledge-base/ai/notion-mcp-server-integration/</guid><description>&lt;h2 id="overview" class="relative group"&gt;Overview &lt;span class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100"&gt;&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700" style="text-decoration-line: none !important;" href="#overview" aria-label="Anchor"&gt;#&lt;/a&gt;&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;In this lab, we are going to create a pipleline to publish a webpage by scanning Notion note and rendering it to a publishable format. This pipeline reads a Notion note via MCP, runs a web-search fact-check with a human review checkpoint, then writes a publishable Hugo &lt;code&gt;.md&lt;/code&gt; directly into the repo.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="architecture" class="relative group"&gt;Architecture &lt;span class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100"&gt;&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700" style="text-decoration-line: none !important;" href="#architecture" aria-label="Anchor"&gt;#&lt;/a&gt;&lt;/span&gt;&lt;/h2&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;Notion (study note)
 │ ← Notion hosted MCP — read only
 ▼
Claude Code
 ├─ Stage 1: read note, echo for confirmation
 ├─ Stage 2: fact-check against primary sources → human checkpoint
 └─ Stage 3: write Hugo-ready .md to content/
 │ ← git commit + push
 ▼
ofurotime.ca
&lt;/code&gt;&lt;/pre&gt;&lt;hr&gt;
&lt;h2 id="part-1--connect-notion-mcp" class="relative group"&gt;Part 1 — Connect Notion MCP &lt;span class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100"&gt;&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700" style="text-decoration-line: none !important;" href="#part-1--connect-notion-mcp" aria-label="Anchor"&gt;#&lt;/a&gt;&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;Hosted endpoint (recommended):&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>【ClaudeCode】【Note】MCP 101</title><link>https://ofurotime.ca/knowledge-base/ai/mcp-101/</link><pubDate>Mon, 08 Jun 2026 00:00:00 +0000</pubDate><guid>https://ofurotime.ca/knowledge-base/ai/mcp-101/</guid><description>&lt;h2 id="what-is-mcp" class="relative group"&gt;What Is MCP? &lt;span class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100"&gt;&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700" style="text-decoration-line: none !important;" href="#what-is-mcp" aria-label="Anchor"&gt;#&lt;/a&gt;&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;Model Context Protocol (MCP)&lt;/strong&gt; is an open protocol that standardizes how AI assistants connect to external systems — apps, data sources, APIs, and files.&lt;/p&gt;
&lt;p&gt;Mental model: &lt;strong&gt;a USB-C port for AI&lt;/strong&gt; — one standard connector instead of a custom integration per tool.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;MCP was introduced by Anthropic in November 2024, then donated to the &lt;strong&gt;Agentic AI Foundation (AAIF)&lt;/strong&gt; under the Linux Foundation in December 2025. It is now co-governed by Anthropic, Block, OpenAI, Google, Microsoft, AWS, Cloudflare, and Bloomberg — vendor-neutral by design. (as of 2025-12-09)&lt;/p&gt;</description></item><item><title>IaC Scanning Tools: Checkov, TFLint, Grype, and pre-commit</title><link>https://ofurotime.ca/knowledge-base/cloud/iac-scanning-tools/</link><pubDate>Mon, 08 Jun 2026 00:00:00 +0000</pubDate><guid>https://ofurotime.ca/knowledge-base/cloud/iac-scanning-tools/</guid><description>&lt;h2 id="tool-overview" class="relative group"&gt;Tool Overview &lt;span class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100"&gt;&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700" style="text-decoration-line: none !important;" href="#tool-overview" aria-label="Anchor"&gt;#&lt;/a&gt;&lt;/span&gt;&lt;/h2&gt;&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;Tool&lt;/th&gt;
					&lt;th&gt;Role&lt;/th&gt;
					&lt;th&gt;What it catches&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;Checkov&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;IaC security scanner&lt;/td&gt;
					&lt;td&gt;Misconfigurations in Terraform, CloudFormation, K8s&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;TFLint&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;Terraform linter&lt;/td&gt;
					&lt;td&gt;Invalid resource types, deprecated syntax, bad practices&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;Grype&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;Vulnerability scanner&lt;/td&gt;
					&lt;td&gt;CVEs in container images, filesystems, SBOMs&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;pre-commit&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;Git hook framework&lt;/td&gt;
					&lt;td&gt;Runs all of the above automatically on every commit&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;git commit → pre-commit → TFLint + Checkov (local)
 ↓
 CI pipeline → Checkov + TFLint + Grype (full gate)
&lt;/code&gt;&lt;/pre&gt;&lt;hr&gt;
&lt;h2 id="1-checkov" class="relative group"&gt;1. Checkov &lt;span class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100"&gt;&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700" style="text-decoration-line: none !important;" href="#1-checkov" aria-label="Anchor"&gt;#&lt;/a&gt;&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;Static analysis tool for IaC security. 1,000+ built-in policies covering AWS, Azure, GCP, and Kubernetes. Maintained by Palo Alto Networks (acquired Bridgecrew) under Apache 2.0.&lt;/p&gt;</description></item><item><title>【Claude Code】【Note】: Fundamentals Guide</title><link>https://ofurotime.ca/knowledge-base/ai/claude-code-fundamentals/</link><pubDate>Sun, 07 Jun 2026 00:00:00 +0000</pubDate><guid>https://ofurotime.ca/knowledge-base/ai/claude-code-fundamentals/</guid><description>&lt;h2 id="what-is-claude-code" class="relative group"&gt;What is Claude Code? &lt;span class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100"&gt;&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700" style="text-decoration-line: none !important;" href="#what-is-claude-code" aria-label="Anchor"&gt;#&lt;/a&gt;&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;Claude Code is an AI-powered coding agent that runs in your terminal. Unlike a chat interface that generates code snippets, it is an agent that plans work, reads your codebase, edits files, runs commands, and verifies results — all autonomously.&lt;/p&gt;
&lt;p&gt;Think of it as a developer working alongside you in your terminal, with access to the same files and tools you use.&lt;/p&gt;</description></item><item><title>【Lab】Static Website with Hugo + AWS</title><link>https://ofurotime.ca/knowledge-base/cloud/-labhugo-website/</link><pubDate>Sun, 07 Jun 2026 00:00:00 +0000</pubDate><guid>https://ofurotime.ca/knowledge-base/cloud/-labhugo-website/</guid><description>&lt;h2 id="overview" class="relative group"&gt;Overview &lt;span class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100"&gt;&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700" style="text-decoration-line: none !important;" href="#overview" aria-label="Anchor"&gt;#&lt;/a&gt;&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;This lab covers building a personal website from scratch using Hugo as a static site generator, the Congo theme for design, and AWS S3 + CloudFront for hosting and content delivery.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Tech Stack:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Hugo v0.162.0 (snap) on Ubuntu WSL2&lt;/li&gt;
&lt;li&gt;Theme: Congo (Tailwind CSS based)&lt;/li&gt;
&lt;li&gt;Hosting: AWS S3 + CloudFront&lt;/li&gt;
&lt;li&gt;Domain: ofurotime.ca&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="phase-1-environment-setup" class="relative group"&gt;Phase 1: Environment Setup &lt;span class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100"&gt;&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700" style="text-decoration-line: none !important;" href="#phase-1-environment-setup" aria-label="Anchor"&gt;#&lt;/a&gt;&lt;/span&gt;&lt;/h2&gt;&lt;h3 id="installing-hugo" class="relative group"&gt;Installing Hugo &lt;span class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100"&gt;&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700" style="text-decoration-line: none !important;" href="#installing-hugo" aria-label="Anchor"&gt;#&lt;/a&gt;&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;Ubuntu&amp;rsquo;s &lt;code&gt;apt&lt;/code&gt; package manager ships an outdated version of Hugo. To get the latest version, use &lt;code&gt;snap&lt;/code&gt; instead:&lt;/p&gt;</description></item><item><title>AWS VPC Basics</title><link>https://ofurotime.ca/knowledge-base/cloud/aws-vpc-basics/</link><pubDate>Sat, 06 Jun 2026 00:00:00 +0000</pubDate><guid>https://ofurotime.ca/knowledge-base/cloud/aws-vpc-basics/</guid><description>&lt;h2 id="what-is-a-vpc" class="relative group"&gt;What is a VPC? &lt;span class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100"&gt;&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700" style="text-decoration-line: none !important;" href="#what-is-a-vpc" aria-label="Anchor"&gt;#&lt;/a&gt;&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;A Virtual Private Cloud (VPC) is a logically isolated network within AWS. It gives you full control over IP ranges, subnets, route tables, and gateways.&lt;/p&gt;
&lt;h2 id="key-components" class="relative group"&gt;Key Components &lt;span class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100"&gt;&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700" style="text-decoration-line: none !important;" href="#key-components" aria-label="Anchor"&gt;#&lt;/a&gt;&lt;/span&gt;&lt;/h2&gt;&lt;h3 id="subnets" class="relative group"&gt;Subnets &lt;span class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100"&gt;&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700" style="text-decoration-line: none !important;" href="#subnets" aria-label="Anchor"&gt;#&lt;/a&gt;&lt;/span&gt;&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Public subnet&lt;/strong&gt; — has a route to an Internet Gateway; hosts resources accessible from the internet&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Private subnet&lt;/strong&gt; — no direct internet route; hosts databases, backend services&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="internet-gateway-igw" class="relative group"&gt;Internet Gateway (IGW) &lt;span class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100"&gt;&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700" style="text-decoration-line: none !important;" href="#internet-gateway-igw" aria-label="Anchor"&gt;#&lt;/a&gt;&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;Attached to a VPC to allow communication between resources in the VPC and the internet.&lt;/p&gt;</description></item><item><title>BGP Fundamentals</title><link>https://ofurotime.ca/knowledge-base/networking/bgp-fundamentals/</link><pubDate>Sat, 06 Jun 2026 00:00:00 +0000</pubDate><guid>https://ofurotime.ca/knowledge-base/networking/bgp-fundamentals/</guid><description>&lt;h2 id="what-is-bgp" class="relative group"&gt;What is BGP? &lt;span class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100"&gt;&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700" style="text-decoration-line: none !important;" href="#what-is-bgp" aria-label="Anchor"&gt;#&lt;/a&gt;&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;Border Gateway Protocol (BGP) is the routing protocol of the internet. It is a path-vector protocol used to exchange routing information between autonomous systems (AS).&lt;/p&gt;
&lt;h2 id="ebgp-vs-ibgp" class="relative group"&gt;eBGP vs iBGP &lt;span class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100"&gt;&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700" style="text-decoration-line: none !important;" href="#ebgp-vs-ibgp" aria-label="Anchor"&gt;#&lt;/a&gt;&lt;/span&gt;&lt;/h2&gt;&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;&lt;/th&gt;
					&lt;th&gt;eBGP&lt;/th&gt;
					&lt;th&gt;iBGP&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;Scope&lt;/td&gt;
					&lt;td&gt;Between different ASes&lt;/td&gt;
					&lt;td&gt;Within the same AS&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;TTL&lt;/td&gt;
					&lt;td&gt;1 (directly connected)&lt;/td&gt;
					&lt;td&gt;255&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Next-hop&lt;/td&gt;
					&lt;td&gt;Changes at each hop&lt;/td&gt;
					&lt;td&gt;Unchanged by default&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;AD&lt;/td&gt;
					&lt;td&gt;20&lt;/td&gt;
					&lt;td&gt;200&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="bgp-path-selection-order" class="relative group"&gt;BGP Path Selection Order &lt;span class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100"&gt;&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700" style="text-decoration-line: none !important;" href="#bgp-path-selection-order" aria-label="Anchor"&gt;#&lt;/a&gt;&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;BGP selects the best path using the following attributes in order:&lt;/p&gt;</description></item><item><title>About</title><link>https://ofurotime.ca/about/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://ofurotime.ca/about/</guid><description>&lt;p&gt;Cloud Network Engineer with end-to-end experience in telco networking — from on-premise carrier infrastructure to cloud-native, infrastructure-as-code environments.&lt;/p&gt;
&lt;p&gt;My background spans large-scale carrier operations — monitoring and troubleshooting global IP-VPN backbones across MPLS, BGP, and SD-WAN, isolating faults across the full network path, and keeping enterprise services running 24/7 — as well as hands-on infrastructure work deploying campus networks, routers, switches, and VLANs from the ground up.&lt;/p&gt;
&lt;p&gt;On the cloud side, I build AWS and GCP infrastructure as code, develop Terraform modules, and engineer the large, complex environments a 5G mobile core demands.&lt;/p&gt;</description></item></channel></rss>