<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Homepage on Drown in Codes</title><link>https://blog.swineson.me/en/</link><description>Recent content in Homepage on Drown in Codes</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><copyright>Jamesits</copyright><lastBuildDate>Sat, 25 Dec 2021 00:00:00 +0000</lastBuildDate><atom:link href="https://blog.swineson.me/en/index.xml" rel="self" type="application/rss+xml"/><item><title>The Journey to Cloud Immortality</title><link>https://blog.swineson.me/en/journey-to-cloud-immortality/</link><pubDate>Wed, 04 May 2022 14:46:00 +0800</pubDate><guid>https://blog.swineson.me/en/journey-to-cloud-immortality/</guid><description>Why and how I migrated my blog from WordPress to Hugo.</description></item><item><title>Power Consumption Data</title><link>https://blog.swineson.me/en/datasets/power_consumption/</link><pubDate>Sat, 18 Dec 2021 00:00:00 +0000</pubDate><guid>https://blog.swineson.me/en/datasets/power_consumption/</guid><description>Here is a collection of real-world power consumptions of different appliances. Useful for comparing with the datasheet values and for doing casual plannings.
Accuracy The data is not very accurate, because:
The test equipments are not accurate enough The test cases are not standardized Most of the readings are from short-term averages, because none of my test equipments can record data</description></item><item><title>GitLab CI Runner on Rootless Podman</title><link>https://blog.swineson.me/en/gitlab-ci-runner-on-rootless-podman/</link><pubDate>Tue, 30 Nov 2021 08:35:00 +0000</pubDate><guid>https://blog.swineson.me/en/gitlab-ci-runner-on-rootless-podman/</guid><description>GitLab CI runner can be contained in a completely rootless environment. It can start as a non-root user, and work with a rootless Podman instance as a Docker runner. And here is how I achieved it.
My CI host configuration:
Ubuntu 20.04 Podman 3.4.2 GitLab Runner 14.5.0 A similar procedure can be applied to other distros as well.
Install Podman Use the following script for installing the latest version of Podman onto a Ubuntu.</description></item><item><title>The Networking Hardware Vendors Assessment 2021: MikroTik</title><link>https://blog.swineson.me/en/the-networking-hardware-vendors-assessment-2021-mikrotik/</link><pubDate>Sat, 13 Nov 2021 15:23:22 +0000</pubDate><guid>https://blog.swineson.me/en/the-networking-hardware-vendors-assessment-2021-mikrotik/</guid><description>This is the first article of The Networking Hardware Vendors Assessment 2021 series. In this series, I&amp;rsquo;m going to talk about some major networking hardware vendors, their hardware and software, their achievements and what to expect if you buy their hardware in 2022.
MikroTik has always been the definitive choice if my purchase target is the cost effectiveness. This is not to say their product is good (the &amp;ldquo;good&amp;rdquo; good), but:</description></item><item><title>Mellanox ConnectX-3 Firmware Flashing and Configuration for Both Ethernet and InfiniBand in 2021</title><link>https://blog.swineson.me/en/mellanox-connectx-3-firmware-flashing-and-configuration-for-both-ethernet-and-infiniband-in-2021/</link><pubDate>Sat, 19 Jun 2021 02:44:23 +0000</pubDate><guid>https://blog.swineson.me/en/mellanox-connectx-3-firmware-flashing-and-configuration-for-both-ethernet-and-infiniband-in-2021/</guid><description>Introduction Although old, Mellanox ConnectX-3 has been a good card with decent performance and a good price on second-hand markets. This makes it the straightforward choice for a high-performance home or lab network. (If you intend to run InfiniBand on ESXi 7.0 or higher, go for CX4 or higher.) Sometimes you would find a card with a strange firmware or one not compatible with your existent gear. Luckily you can change the port configuration on all CX3 cards with a simple firmware flash.</description></item><item><title>Juniper SRX as a DHCPv6 PD Client on a PPPoE Interface</title><link>https://blog.swineson.me/en/juniper-srx-as-a-dhcpv6-pd-client-on-a-pppoe-interface/</link><pubDate>Thu, 18 Feb 2021 06:52:52 +0000</pubDate><guid>https://blog.swineson.me/en/juniper-srx-as-a-dhcpv6-pd-client-on-a-pppoe-interface/</guid><description>&lt;p>Recently my ISP fixed the compatibility issues between their Huawei BRAS and my Junos router. After some digging, I managed to get some IPv6 address allocation for all my client devices. Here&amp;rsquo;s how I achieved it.&lt;/p></description></item><item><title>DHCP Server on Juniper SRX</title><link>https://blog.swineson.me/en/dhcp-server-on-juniper-srx/</link><pubDate>Fri, 12 Feb 2021 15:28:52 +0000</pubDate><guid>https://blog.swineson.me/en/dhcp-server-on-juniper-srx/</guid><description>This article provides everything you need to setup a local DHCP server on a SRX security device.
JDHCPD vs DHCPD JDHCPD provides more functionalities than DHCPD, so it is recommended to use JDHCPD on new setups. (Feature comparison)
DHCP and uRPF If you have uRPF and DHCP setup on the same interface, by default all DHCP traffic will be dropped. To make DHCP work, you need to set up an exemption:</description></item><item><title>Flux Language Tutorial with Grafana</title><link>https://blog.swineson.me/en/flux-language-tutorial-with-grafana/</link><pubDate>Thu, 14 Jan 2021 09:44:37 +0000</pubDate><guid>https://blog.swineson.me/en/flux-language-tutorial-with-grafana/</guid><description>Flux Language is the shiny new query language that comes with InfluxDB 2.0. Since it is &amp;ldquo;the future&amp;rdquo;, and the OSS (free) version of InfluxDB 2.0 is not getting the old query language support in (at least) the first few versions, I&amp;rsquo;ve been using Flux Language for some new projects. Meanwhile, the (functional) documentation for both the Flux Language and its support in Grafana does not exist yet. In this post, I&amp;rsquo;d like to give some examples to quickly address common data processing needs, for both server monitoring and simple BI usages.</description></item><item><title>Interoperating Cisco DMVPN, Huawei DSVPN and OpenNHRP</title><link>https://blog.swineson.me/en/interoperating-cisco-dmvpn-huawei-dsvpn-and-opennhrp/</link><pubDate>Sat, 21 Nov 2020 17:54:12 +0000</pubDate><guid>https://blog.swineson.me/en/interoperating-cisco-dmvpn-huawei-dsvpn-and-opennhrp/</guid><description>Traditional point-to-point site-to-site VPN protocols require extensive setup in certain use cases. For example, if you want shortcuts between branch offices rather than let every packet go through the HQ, then you need to set up a cartesian product of tunnels by hand, which is time-consuming and error prone. So, people want something better, something easy to set up and maintain, and dynamic enough. While there are already a lot dynamic point-to-multipoint or full-mesh site-to-site VPN implementations (e.</description></item><item><title>Access Services on the Router from VRF on RouterOS 6</title><link>https://blog.swineson.me/en/access-services-on-the-router-from-vrf-on-routeros-6/</link><pubDate>Sat, 21 Nov 2020 12:08:02 +0000</pubDate><guid>https://blog.swineson.me/en/access-services-on-the-router-from-vrf-on-routeros-6/</guid><description>It is always a misconception that you can&amp;rsquo;t access services (management services like HTTP, WinBox or SNMP, and end-user services like SMB or DNS) from a VRF on RouterOS 6.x. In fact, you can, and here&amp;rsquo;s how you can achieve it.
The Theory No service (except ICMP echo, if you count it as a service) on RouterOS 6.x is VRF aware. That means, the service daemons do listen on all the IPs on all the VRFs, but when they send a reply packet, the packet is only routed using the main (global) routing table.</description></item><item><title>Access Services on the Router from VRF on RouterOS 6</title><link>https://blog.swineson.me/en/access-services-on-the-router-from-vrf-on-routeros-6/</link><pubDate>Sat, 21 Nov 2020 12:08:02 +0000</pubDate><guid>https://blog.swineson.me/en/access-services-on-the-router-from-vrf-on-routeros-6/</guid><description>It is always a misconception that you can&amp;rsquo;t access services (management services like HTTP, WinBox or SNMP, and end-user services like SMB or DNS) from a VRF on RouterOS 6.x. In fact, you can, and here&amp;rsquo;s how you can achieve it.
The Theory No service (except ICMP echo, if you count it as a service) on RouterOS 6.x is VRF aware. That means, the service daemons do listen on all the IPs on all the VRFs, but when they send a reply packet, the packet is only routed using the main (global) routing table.</description></item><item><title>vSAN 7.0U1 Cluster Rebuild: A Firsthand Experience</title><link>https://blog.swineson.me/en/vsan-7-0u1-cluster-rebuild/</link><pubDate>Mon, 16 Nov 2020 10:12:53 +0000</pubDate><guid>https://blog.swineson.me/en/vsan-7-0u1-cluster-rebuild/</guid><description>How It Started I screwed up a vCenter instance. Actually it is pretty easy to screw up the state-of-the-art hypervisor controller from its beautifully designed web UI, using the appealing buttons that always have been there. The process only requires 2 simple steps:
Enable vCenter HA Replace the machine SSL certificate The vCenter HA documentation do state &amp;ldquo;if you want to use custom certificates, you have to remove the vCenter HA configuration&amp;rdquo; using the smallest font size possible, but the warning is nowhere mentioned in the documentation related to replacing SSL certificates where it should be.</description></item><item><title>vSAN 7.0U1 Cluster Rebuild: A Firsthand Experience</title><link>https://blog.swineson.me/en/vsan-7.0u1-cluster-rebuild-a-firsthand-experience/</link><pubDate>Mon, 16 Nov 2020 10:12:53 +0000</pubDate><guid>https://blog.swineson.me/en/vsan-7.0u1-cluster-rebuild-a-firsthand-experience/</guid><description>How It Started I screwed up a vCenter instance. Actually it is pretty easy to screw up the state-of-the-art hypervisor controller from its beautifully designed web UI, using the appealing buttons that always have been there. The process only requires 2 simple steps:
Enable vCenter HA Replace the machine SSL certificate The vCenter HA documentation do state &amp;ldquo;if you want to use custom certificates, you have to remove the vCenter HA configuration&amp;rdquo; using the smallest font size possible, but the warning is nowhere mentioned in the documentation related to replacing SSL certificates where it should be.</description></item><item><title>What the Flow: Reverse Route Modes on Juniper SRX</title><link>https://blog.swineson.me/en/reverse-route-modes-on-juniper-srx/</link><pubDate>Sat, 24 Oct 2020 09:26:49 +0000</pubDate><guid>https://blog.swineson.me/en/reverse-route-modes-on-juniper-srx/</guid><description>A SRX is a &amp;ldquo;security device&amp;rdquo;, or as we call it conventionally, a firewall. Modern layer-3 firewalls route packets just like a router, but unlike a router, a firewall can organize packets into connections (flows) and run ACLs on the entire flow. This unique functionality is the fundamental building block of every &amp;ldquo;advanced&amp;rdquo; security feature offered by a firewall: dynamic NAT (PAT/NPT), zone-based firewall (ZBFW), ACLs for in or out connections only, L7 filtering, etc.</description></item><item><title>What the Flow: Reverse Route Modes on Juniper SRX</title><link>https://blog.swineson.me/en/what-the-flow-reverse-route-modes-on-juniper-srx/</link><pubDate>Sat, 24 Oct 2020 09:26:49 +0000</pubDate><guid>https://blog.swineson.me/en/what-the-flow-reverse-route-modes-on-juniper-srx/</guid><description>A SRX is a &amp;ldquo;security device&amp;rdquo;, or as we call it conventionally, a firewall. Modern layer-3 firewalls route packets just like a router, but unlike a router, a firewall can organize packets into connections (flows) and run ACLs on the entire flow. This unique functionality is the fundamental building block of every &amp;ldquo;advanced&amp;rdquo; security feature offered by a firewall: dynamic NAT (PAT/NPT), zone-based firewall (ZBFW), ACLs for in or out connections only, L7 filtering, etc.</description></item><item><title>Cisco Aironet 1800i: Hardware Detail</title><link>https://blog.swineson.me/en/cisco-aironet-1800i-hardware-details/</link><pubDate>Thu, 08 Oct 2020 08:04:49 +0000</pubDate><guid>https://blog.swineson.me/en/cisco-aironet-1800i-hardware-details/</guid><description>Cisco Aironet 1800i is a cute little device that is just a little smaller than my hand. They are light in weight, not very hot (not a good replacement of the old 3502i model if you also have a cat around your home) and require less power to operate. I recently got one 1800i in my room, so I&amp;rsquo;d like to write a little about this model since it is so different from the old PowerPC-based ones.</description></item><item><title>示例页面</title><link>https://blog.swineson.me/en/sample-page/</link><pubDate>Sat, 03 Oct 2020 10:48:21 +0000</pubDate><guid>https://blog.swineson.me/en/sample-page/</guid><description>这是示范页面。页面和博客文章不同，它的位置是固定的，通常会在站点导航栏显示。很多用户都创建一个“关于”页面，向访客介绍自己。例如：
……或这个：
而您，作为一个WordPress用户，我们建议您访问控制板，删除本页面，然后添加您自己的页面。祝您使用愉快！</description></item><item><title>Multicast VXLAN for Routers</title><link>https://blog.swineson.me/en/multicast-vxlan-for-routers/</link><pubDate>Sat, 01 Aug 2020 09:21:48 +0000</pubDate><guid>https://blog.swineson.me/en/multicast-vxlan-for-routers/</guid><description>VXLAN has been around for a while, so how do router vendors support it? Well, let&amp;rsquo;s use a dead simple topology to test them out.
Our setup today:
All routers connected to the same dumb switch using IP range 169.254.0.0/24 Multicast signaling on address 239.0.0.1, No PIM VXLAN UDP port 4789 Network 10.0.0.0/24 on VNI 5000 (layer 3 termination / inter-VXLAN routing) Generic Linux Tested version: Debian 10, Linux kernel 4.</description></item><item><title>Setting up an ESXi Cluster</title><link>https://blog.swineson.me/en/setting-up-an-esxi-cluster/</link><pubDate>Thu, 30 Jul 2020 17:14:11 +0000</pubDate><guid>https://blog.swineson.me/en/setting-up-an-esxi-cluster/</guid><description>So you have a handful of brand new ESXi servers, and want VMs to automagically move here and there based on host availability and resource usage; vCenter have you covered with the DRS and HA but obviously you need to put all the hosts into a cluster for these thing to work. What you might not know is that there are 3 ways of creating a cluster which differs in certain things, and you will regret it if you choose the wrong one.</description></item><item><title>MOP: The Unknown "MAC Telnet" Protocol on Cisco Routers</title><link>https://blog.swineson.me/en/mop-the-unknown-mac-telnet-protocol-on-cisco-routers/</link><pubDate>Thu, 16 Jul 2020 15:30:17 +0000</pubDate><guid>https://blog.swineson.me/en/mop-the-unknown-mac-telnet-protocol-on-cisco-routers/</guid><description>When I was replacing all my buggy little MikroTik RouterOS boxes and VMs with some new shiny (and also buggy) Cisco ISR1000s and CSR1000vs a few years ago, there were several things that I missed so much that existed on the former but not on the latter. One of them was the &amp;ldquo;MAC Winbox&amp;rdquo; and &amp;ldquo;MAC Telnet&amp;rdquo; capability with which you can plug your maintenance workstation into the router with an Ethernet cable, fire up a Winbox, and it will let you configure the router through a layer 2 connection.</description></item><item><title>Configure OpenVPN Server with RouterOS 6.x compatibility</title><link>https://blog.swineson.me/en/config-openvpn-server-with-routeros-compatibility/</link><pubDate>Sun, 21 Jun 2020 12:18:46 +0000</pubDate><guid>https://blog.swineson.me/en/config-openvpn-server-with-routeros-compatibility/</guid><description>RouterOS has nothing to do with security, so this article will focus on usability rather than security. All configurations related to security will be marked as optional.
First of all, let&amp;rsquo;s review all the limitations we have on the OpenVPN client on RouterOS 6.x:
Supported protocol: TCP (TLS mode) only, no UDP, no static key Supported ciphers: none BF-CBC AES-128-CBC AES-192-CBC AES-256-CBC Supported digest algorithms: none MD5 SHA1 Supported authentication methods: username, password and optional client certificate Does not support MPLS even if running in TAP mode Server Configuration We use Debian 10 as an example here.</description></item><item><title>Use Linux as an MPLS Router</title><link>https://blog.swineson.me/en/use-linux-as-an-mpls-router/</link><pubDate>Wed, 18 Mar 2020 02:11:09 +0000</pubDate><guid>https://blog.swineson.me/en/use-linux-as-an-mpls-router/</guid><description>Two things happened in 2017:
FRRouting came into existence, which mainlined the Quagga ldpd patch Cumulus contributed its VRF implementation to mainline Linux Linux finally got native, working MPLS (L3VPN) and VRF support. 3 years later, a thorough documentation of MPLS configuration on Linux is still largely missing. Recently, after digging into all kinds of codes and documentation, I had a standard MPLS core network up and running in my lab.</description></item><item><title>Hello World, the English Version</title><link>https://blog.swineson.me/en/hello-world-the-english-version/</link><pubDate>Tue, 17 Mar 2020 14:21:38 +0000</pubDate><guid>https://blog.swineson.me/en/hello-world-the-english-version/</guid><description>Today I&amp;rsquo;m starting an English version of my blog, on the purpose of translating some of my discoveries and configuration stanzas into English so more people on the random Internet can find it.
The I18n Problem for WordPress Although WordPress core has supported native i18n via gettext for a long time, there is still no native way to create a blog of multiple languages. The easy way to blog in multiple languages is just to write all the articles on one WordPress site.</description></item><item><title>Hello World, the English Version</title><link>https://blog.swineson.me/en/hello-world-the-english-version/</link><pubDate>Tue, 17 Mar 2020 14:21:38 +0000</pubDate><guid>https://blog.swineson.me/en/hello-world-the-english-version/</guid><description>Today I&amp;rsquo;m starting an English version of my blog, on the purpose of translating some of my discoveries and configuration stanzas into English so more people on the random Internet can find it.
The I18n Problem for WordPress Although WordPress core has supported native i18n via gettext for a long time, there is still no native way to create a blog of multiple languages. The easy way to blog in multiple languages is just to write all the articles on one WordPress site.</description></item><item><title>Worth A Thousand Words</title><link>https://blog.swineson.me/en/worth-a-thousand-words/</link><pubDate>Fri, 17 Oct 2008 04:33:51 +0000</pubDate><guid>https://blog.swineson.me/en/worth-a-thousand-words/</guid><description>Boat
Boat.</description></item><item><title>Worth A Thousand Words</title><link>https://blog.swineson.me/en/worth-a-thousand-words/</link><pubDate>Fri, 17 Oct 2008 04:33:51 +0000</pubDate><guid>https://blog.swineson.me/en/worth-a-thousand-words/</guid><description>Boat
Boat.</description></item><item><title>Elements</title><link>https://blog.swineson.me/en/elements/</link><pubDate>Fri, 05 Sep 2008 19:39:12 +0000</pubDate><guid>https://blog.swineson.me/en/elements/</guid><description>The purpose of this HTML is to help determine what default settings are with CSS and to make sure that all possible HTML Elements are included in this HTML so as to not miss any possible Elements when designing a site.
Heading 1 Heading 2 Heading 3 Heading 4 Heading 5 Heading 6 Paragraph Lorem ipsum dolor sit amet, test link adipiscing elit. Nullam dignissim convallis est. Quisque aliquam.</description></item><item><title>Elements</title><link>https://blog.swineson.me/en/elements/</link><pubDate>Fri, 05 Sep 2008 19:39:12 +0000</pubDate><guid>https://blog.swineson.me/en/elements/</guid><description>The purpose of this HTML is to help determine what default settings are with CSS and to make sure that all possible HTML Elements are included in this HTML so as to not miss any possible Elements when designing a site.
Heading 1 Heading 2 Heading 3 Heading 4 Heading 5 Heading 6 [top]
Paragraph Lorem ipsum dolor sit amet, test link adipiscing elit. Nullam dignissim convallis est. Quisque aliquam.</description></item><item><title>More Tags</title><link>https://blog.swineson.me/en/more-tags/</link><pubDate>Sat, 21 Jun 2008 00:09:24 +0000</pubDate><guid>https://blog.swineson.me/en/more-tags/</guid><description>More of these posts need tags.</description></item><item><title>More Tags</title><link>https://blog.swineson.me/en/more-tags/</link><pubDate>Sat, 21 Jun 2008 00:09:24 +0000</pubDate><guid>https://blog.swineson.me/en/more-tags/</guid><description>More of these posts need tags.</description></item><item><title>HTML</title><link>https://blog.swineson.me/en/html/</link><pubDate>Sat, 21 Jun 2008 00:04:53 +0000</pubDate><guid>https://blog.swineson.me/en/html/</guid><description>What HTML tags would you like to see?
Let’s start with an unordered list:
One Two Three Four And then move on to a more interesting ordered list:
one, two buckle my shoe three, four knock at the door Five, six pick up sticks Seven, eight, lay them straight Nine, ten, a big fat hen Eleven, twelve, dig and delve Thirteen, fourteen, maids a’courting Fifteen, sixteen, maids in the kitchen Seventeen, eighteen, maids a’waiting Nineteen, twenty, my platter’s empty …</description></item><item><title>HTML</title><link>https://blog.swineson.me/en/html/</link><pubDate>Sat, 21 Jun 2008 00:04:53 +0000</pubDate><guid>https://blog.swineson.me/en/html/</guid><description>What HTML tags would you like to see?
Let’s start with an unordered list:
One Two Three Four And then move on to a more interesting ordered list:
one, two buckle my shoe three, four knock at the door Five, six pick up sticks Seven, eight, lay them straight Nine, ten, a big fat hen Eleven, twelve, dig and delve Thirteen, fourteen, maids a’courting Fifteen, sixteen, maids in the kitchen Seventeen, eighteen, maids a’waiting Nineteen, twenty, my platter’s empty …</description></item><item><title>Links</title><link>https://blog.swineson.me/en/links/</link><pubDate>Fri, 20 Jun 2008 20:06:53 +0000</pubDate><guid>https://blog.swineson.me/en/links/</guid><description>A few well known WordPress links: WordPress.org, the Codex and the download page.</description></item><item><title>Category Hierarchy</title><link>https://blog.swineson.me/en/category-hierarchy/</link><pubDate>Fri, 20 Jun 2008 19:59:54 +0000</pubDate><guid>https://blog.swineson.me/en/category-hierarchy/</guid><description>This post has 4 categories, part of a hierarchy that is 3 deep.
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Fusce euismod commodo ante. Suspendisse potenti. Nunc pellentesque quam vel pede. Ut a lorem non urna molestie euismod. Fusce consequat tortor eu urna. Pellentesque aliquam, pede eget tincidunt feugiat, nunc massa hendrerit magna, non ultricies neque lectus nec dui. In hac habitasse platea dictumst. Sed feugiat quam eget lectus. Fusce at pede.</description></item><item><title>Hello world!</title><link>https://blog.swineson.me/en/hello-world/</link><pubDate>Wed, 04 Jun 2008 22:40:06 +0000</pubDate><guid>https://blog.swineson.me/en/hello-world/</guid><description>Welcome to WordPress. This is your first post. Edit or delete it, then start blogging!</description></item><item><title>About</title><link>https://blog.swineson.me/en/about/</link><pubDate>Tue, 01 Jan 2008 00:00:00 +0000</pubDate><guid>https://blog.swineson.me/en/about/</guid><description>This site is using the standard WordPress Theme Unit Test Data for content. The Theme Unit Test is a series of posts and pages that match up with a checklist on the WordPress codex. You can use the data and checklist together to test your theme. It is recommended that you test your theme with the Theme Unit Test before submitting your theme to the WordPress.org theme directory.
WordPress Theme Development Resources See the WordPress Theme Developer Handbook for examples of best practices.</description></item><item><title>Parent Page</title><link>https://blog.swineson.me/en/parent-page/</link><pubDate>Tue, 01 Jan 2008 00:00:00 +0000</pubDate><guid>https://blog.swineson.me/en/parent-page/</guid><description>This is a top level page.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam odio sapien, sollicitudin vel volutpat eget, faucibus at neque. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Morbi vel eros odio. Phasellus metus ligula, tempus non tempor at, pellentesque ac dolor. Sed auctor diam sit amet nibh laoreet gravida. Etiam sit amet fringilla justo. Lorem ipsum dolor sit amet, consectetur adipiscing elit.</description></item><item><title>Sub-page</title><link>https://blog.swineson.me/en/theme-test/parent-page/sub-page/</link><pubDate>Tue, 01 Jan 2008 00:00:00 +0000</pubDate><guid>https://blog.swineson.me/en/theme-test/parent-page/sub-page/</guid><description>This page is a sub-page of the ‘Parent Page’.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam odio sapien, sollicitudin vel volutpat eget, faucibus at neque. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Morbi vel eros odio. Phasellus metus ligula, tempus non tempor at, pellentesque ac dolor. Sed auctor diam sit amet nibh laoreet gravida. Etiam sit amet fringilla justo. Lorem ipsum dolor sit amet, consectetur adipiscing elit.</description></item></channel></rss>