- Joined
- Jul 2, 2025
I'll once again give my unneeded web developer take on this abomination of a website. Is it as bad as someone like Jason (Ferretfucker) Hall? No, because this guy does actually know how to code, just poorly.This is the guys website that forked systemd to have the userdb in it
I don't even know what the hell kind of purpose this serves apart from hurting my eyes.

window.__VP_HASH_MAP__=JSON.parse("{\"about-me_index.md\"
"cDscoLpt\",\"blog_archives.md\"
"CLJYJj81\",\"blog_index.md\"
"Cx-AmwgZ\",\"blog_page_2.md\"
"EvwKdYzo\",\"blog_page_3.md\"
"DhitS3z7\",\"blog_page_4.md\"
"CerM2_kO\",\"blog_page_5.md\"
"DOfCwTcY\",\"blog_page_6.md\"
"MVcXCuqm\",\"blog_page_7.md\"
"Bsw-ifcw\",\"donate_index.md\"
"BY_Y12Oq\",\"index.md\"
"DGwjRvp2\",\"posts_2012-01-15-how-to-fix-com-android-providers-media-crash-on-a-rooted-android-device.md\"
"CFdOCF3P\",\"posts_2012-03-13-ordered-a-raspberry-pi.md\"
"3TqFIte6\",\"posts_2012-03-31-fixing-autokey-gtk-on-ubuntu-12-04.md\"
"OAl4zz4G\",\"posts_2012-10-09-development-temporarily-on-hold.md\"
"C8Q0urqz\",\"posts_2014-06-21-upgraded-hosting-to-virtual-private-server.md\"
"DGfVOQNa\",\"posts_2014-06-24-private-openvpn-is-great.md\"
"cLgx5x-y\",\"posts_2014-06-27-speed-up-your-site-with-instant-click.md\"
"CQ0pC8bz\",\"posts_2014-07-04-goodbye-dropbox-hello-owncloud.md\"
"CQvkJ7VQ\",\"posts_2014-07-06-my-domain-is-now-registered-with-iwantmyname.md\"
"trnQHFEa\",\"posts_2015-04-20-blog-migrated-from-wordpress-to-jekyll.md\"
"B6I_s7b6\",\"posts_2015-05-10-site-now-automatically-built-with-travis-ci.md\"
"BZ2V4xc0\",\"posts_2018-04-25-a-fresh-start-archiving-old-blog-content.md\"
"3aGMllRS\",\"posts_2018-04-26-ive-moved-hosting-providers-again.md\"
"jb-CvmTt\",\"posts_2018-04-27-creating-disposable-openvpn-servers-using-the-vultr-cloud-api.md\"
"DrZOQ8c2\",\"posts_2018-04-27-how-my-server-is-deployed-and-configured-using-ansible.md\"
"cWFlkecZ\",\"posts_2018-04-27-how-to-install-the-mainline-linux-kernel-on-rhelcentos-from-elrepo-the-easy-way.md\"
"B6WFXypj\",\"posts_2018-04-27-install-google-web-fonts-on-your-linux-or-macos-machine.md\"
"BAyaMLXK\",\"posts_2018-04-27-ive-learned-my-lesson-and-am-using-latex-now.md\"
"C9gS_4KC\",\"posts_2018-04-27-rapidly-setting-up-my-linux-desktop-using-a-makefile.md\"
"CHO1LfIi\",\"posts_2018-04-27-using-cockpit-to-administer-linux-servers-in-the-browser.md\"
"BfgXe8Qd\",\"posts_2018-04-28-fixing_ssh_key_permissions.md\"
"B5iOAi7V\",\"posts_2018-04-30-checking_what_ip_addresses_connected_to_your_nginx_server.md\"
"lma-4w7x\",\"posts_2018-05-03-awesome_new_share_bar_added_to_my_blog.md\"
"C-gG-0Nd\",\"posts_2018-05-03-blocking_annoying_web_advertisements_at_the_dns_level_with_pi-hole.md\"
"CNSzUDwH\",\"posts_2018-05-03-celebrate_world_password_day_with_a_password_manager.md\"
"Q9c4Vi5e\",\"posts_2018-05-03-using_backblaze_b2_cloud_storage_for_encrypted_backups.md\"
"BQEPLHfK\",\"posts_2018-05-04-playing_with_kubernetes.md\"
"jFU2JPUY\",\"posts_2018-05-16-how_to_install_the_latest_master_branch_build_of_slic3r.md\"
"Bm7_ch-l\",\"posts_2018-05-16-using_vagrant_to_execute_an_isolated_build_process_in_a_vm.md\"
"e8oqs2Bp\",\"posts_2018-06-08-defining_continuous_integration_and_continuous_delivery.md\"
"Dlv1oXK5\",\"posts_2018-06-08-using_virtual_environments_to_avoid_polluting_system_python_libraries.md\"
"dPtZitVi\",\"posts_2019-06-20-switching_site_to_running_on_docker_containers_on_ubuntu_18.04_lts.md\"
"CawBAFVu\",\"posts_2019-06-22-running_the_ansible_builds_via_gitlab_cicd.md\"
"CG0pOu8c\",\"posts_2020-06-08-dell_precision_5540_linux_developer_laptop_review.md\"
"DZT4ePa1\",\"posts_2020-06-09-giving_my_site_a_makeover_with_vuepress.md\"
"C2IJWYrt\",\"posts_2020-06-13-automated_deployment_testing_with_inspec.md\"
"Cbqp75eT\",\"posts_2020-06-13-how_to_create_a_vultr_server_and_provision_it_using_ansible.md\"
"CQpyBwIS\",\"posts_2020-08-23-ventoy_the_best_way_to_create_a_bootable_drive_from_isos.md\"
"qrntTnNL\",\"posts_2021-05-26-running-arch-linux-on-vultr-cloud-instances.md\"
"DQhSVsUg\",\"posts_2021-10-01-aws_systems_manager_agent_the_end_of_bastion_servers.md\"
"CETyZZ7n\",\"posts_2021-10-15-cloudflare_domain_registrar_and_terraforming_my_dns.md\"
"BL_OdRpz\",\"posts_2021-10-15-playing_with_amazons_new_graviton2_arm_instances.md\"
"BLlOeqVJ\",\"posts_2021-10-24-manually_setting_the_fan_speed_on_a_dell_poweredge_r710_homelab_server.md\"
"BARSkKgY\",\"posts_2021-10-25-upgrading_my_ssh_key_to_the_ed25519_algorithm.md\"
"CGFyFazp\",\"posts_2025-02-27-giving_the_site_a_fresh_new_coat_of_paint.md\"
"BgtR2GsA\",\"posts_2025-02-28-exploring_oracle_cloud_infrastructure.md\"
"Dl6Y8_bk\",\"posts_2025-03-01-playing_around_with_asahi_linux_on_the_2020_m1_apple_macbook_pro.md\"
"CQSHd2BZ\",\"posts_2025-12-24-migrating-from-nginx-ingress-to-envoy-gateway.md\"
"DpQfOUKc\",\"posts_2025-12-27-switching-to-docker-hardened-images.md\"
"DTS4Mj9x\",\"posts_2025-12-28-blocking-instance-metadata-service-access-from-kubernetes-pods.md\"
"Djzsp3wS\",\"posts_2025-12-29-how-we-sent-millions-of-emails-in-a-day-using-amazon-ses.md\"
"Be5vd6kW\",\"posts_2025-12-30-defending-against-credential-stuffing-with-cloudflare-workers.md\"
"C0jzeUYS\",\"posts_2026-01-03-building-our-wedding-website-with-cloudflare-pages.md\"
"CB9WXrwj\",\"posts_2026-02-13-building_a_serverless_rsvp_form_for_our_wedding_website.md\"
"CcrpLUNy\",\"posts_2026-02-18-building-a-bejeweled-clone-with-ai-in-90-minutes.md\"
"z-C5-lSY\",\"posts_2026-02-19-always-use-ssh-for-github-and-gitlab-with-git.md\"
"BFCGRnIv\",\"posts_2026-02-19-switching-to-lets-encrypt-on-kubernetes-with-cert-manager-and-cloudflare-dns.md\"
"BiX6zLCH\",\"posts_2026-02-20-push-to-github-and-gitlab-simultaneously-with-git.md\"
"B4KpeyBo\",\"posts_2026-02-23-observing-my-kubernetes-cluster-with-headlamp.md\"
"CP-VF_dN\",\"posts_2026-03-12-mirroring-docker-hardened-images-to-ecr-with-regclient.md\"
"B3_YvMPQ\",\"posts_2026-03-19-googles-new-android-sideloading-flow-is-a-fair-trade.md\"
"C7NLOGSK\",\"posts_2026-03-25-my-first-contribution-to-systemd.md\"
"DvuIY8Ht\"}");window.__VP_SITE_DATA__=JSON.parse("{\"lang\"
"en-US\",\"dir\"
"ltr\",\"title\"
"Dylan M. Taylor\",\"description\"
"My Personal Website and Blog\",\"base\"
"/\",\"head\":[],\"router\":{\"prefetchLinks\":true},\"appearance\"
"force-dark\",\"themeConfig\":{\"logo\"
"/images/circle.png\",\"posts\":[{\"frontMatter\":{\"date\"
"2026-03-25\",\"title\"
"My First Contribution to systemd: Adding birthDate to userdb\",\"description\"
"How and why I added an optional birthDate field to systemd's userdb, the privacy-respecting architecture behind it, and why I think it's the right approach for Linux distributions facing upcoming age verification laws.\"},\"regularPath\"
"/posts/2026-03-25-my-first-contribution-to-systemd.html\"},{\"frontMatter\":{\"date\"
"2026-03-19\",\"title\"
"Google's New Android Sideloading Flow Is a Fair Trade\",\"description\"
"My reaction to Google's new \\\"advanced flow\\\" for sideloading Android apps, and why the extra friction is worth it to protect people from scams and surveillance.\"},\"regularPath\"
"/posts/2026-03-19-googles-new-android-sideloading-flow-is-a-fair-trade.html\"},{\"frontMatter\":{\"date\"
"2026-03-12\",\"title\"
"Mirroring Docker Hardened Images to ECR with regclient\",\"description\"
"How to work around ECR's lack of pull-through cache support for dhi.io by using regsync to automatically mirror Docker Hardened Images into your own ECR repositories.\"},\"regularPath\"
"/posts/2026-03-12-mirroring-docker-hardened-images-to-ecr-with-regclient.html\"},{\"frontMatter\":{\"date\"
"2026-02-23\",\"title\"
"Observing My Kubernetes Cluster with Headlamp\",\"description\"
"How I set up Headlamp, metrics-server, and kube-prometheus-stack to get full observability into my OKE cluster without deploying a single web UI into the cluster itself.\"},\"regularPath\"
"/posts/2026-02-23-observing-my-kubernetes-cluster-with-headlamp.html\"},{\"frontMatter\":{\"date\"
"2026-02-20\",\"title\"
"Push to GitHub and GitLab Simultaneously with Git\",\"description\"
"A neat Git trick to configure multiple push URLs on a single remote so you can mirror your repositories with every push.\"},\"regularPath\"
"/posts/2026-02-20-push-to-github-and-gitlab-simultaneously-with-git.html\"},{\"frontMatter\":{\"date\"
"2026-02-19\",\"title\"
"Switching to Let's Encrypt on Kubernetes with cert-manager and Cloudflare DNS\",\"description\"
"How I replaced self-signed certificates with automated Let's Encrypt TLS on my Kubernetes cluster using cert-manager, DNS-01 validation through Cloudflare, and External Secrets Operator for secure token management.\"},\"regularPath\"
"/posts/2026-02-19-switching-to-lets-encrypt-on-kubernetes-with-cert-manager-and-cloudflare-dns.html\"},{\"frontMatter\":{\"date\"
"2026-02-19\",\"title\"
"Always Use SSH for GitHub and GitLab with Git\",\"description\"
"A quick tip to configure Git to automatically use SSH instead of HTTPS for GitHub and GitLab repositories.\"},\"regularPath\"
"/posts/2026-02-19-always-use-ssh-for-github-and-gitlab-with-git.html\"},{\"frontMatter\":{\"date\"
"2026-02-18\",\"title\"
"Building a Complete Bejeweled Clone with AI in 90 Minutes\",\"description\"
"How I used Claude Opus 4.6 via Kiro CLI to build GemMatch, a fully-featured match-3 puzzle game in Godot 4.x, with zero lines of hand-written code.\"},\"regularPath\"
"/posts/2026-02-18-building-a-bejeweled-clone-with-ai-in-90-minutes.html\"},{\"frontMatter\":{\"date\"
"2026-02-13\",\"title\"
"Building a Serverless RSVP Form Using Google Forms\",\"description\"
"How I built a custom RSVP form for our wedding website using Eleventy, Nunjucks macros, Cloudflare Turnstile, and Google Forms as a free serverless backend\"},\"regularPath\"
"/posts/2026-02-13-building_a_serverless_rsvp_form_for_our_wedding_website.html\"},{\"frontMatter\":{\"date\"
"2026-01-03\",\"title\"
"Building Our Wedding Website with Cloudflare Pages\",\"description\"
"How I built a wedding website from scratch using vanilla HTML, CSS, and JavaScript, hosted on Cloudflare Pages with a custom domain from Cloudflare Registrar.\"},\"regularPath\"
"/posts/2026-01-03-building-our-wedding-website-with-cloudflare-pages.html\"},{\"frontMatter\":{\"date\"
"2025-12-30\",\"title\"
"Defending Against Credential Stuffing with Cloudflare Workers and IP Intelligence\",\"description\"
"How we used Cloudflare Workers, Turnstile, and Spur IP intelligence to stop an attacker using residential proxies to hit our authentication APIs\"},\"regularPath\"
"/posts/2025-12-30-defending-against-credential-stuffing-with-cloudflare-workers.html\"},{\"frontMatter\":{\"date\"
"2025-12-29\",\"title\"
"How We Sent Millions of Emails in a Day Using Amazon Simple Email Service\",\"description\"
"A deep dive into the architecture we used to send nearly 5 million emails in a day using AWS SES, SQS, Lambda, and S3\"},\"regularPath\"
"/posts/2025-12-29-how-we-sent-millions-of-emails-in-a-day-using-amazon-ses.html\"},{\"frontMatter\":{\"date\"
"2025-12-28\",\"title\"
"Blocking Instance Metadata Service Access from Kubernetes Pods\",\"description\"
"Why you should block pods from accessing the cloud instance metadata service when your nodes use instance principals, and how I implemented it on my cluster\"},\"regularPath\"
"/posts/2025-12-28-blocking-instance-metadata-service-access-from-kubernetes-pods.html\"},{\"frontMatter\":{\"date\"
"2025-12-27\",\"title\"
"Switching to Docker Hardened Images on My Kubernetes Cluster\",\"description\"
"How I migrated my Kubernetes cluster to use Docker Hardened Images now that they're free for everyone\"},\"regularPath\"
"/posts/2025-12-27-switching-to-docker-hardened-images.html\"},{\"frontMatter\":{\"date\"
"2025-12-24\",\"title\"
"Migrating My Kubernetes Cluster from NGINX Ingress to Envoy Gateway\",\"description\"
"How I modernized my Kubernetes traffic management by migrating from NGINX Ingress Controller to Envoy Gateway and the Gateway API, motivated by the upcoming retirement of Ingress NGINX\"},\"regularPath\"
"/posts/2025-12-24-migrating-from-nginx-ingress-to-envoy-gateway.html\"},{\"frontMatter\":{\"date\"
"2025-03-01\",\"title\"
"Playing Around with Asahi Linux on the 2020 M1 Apple MacBook Pro\",\"description\"
"My experience of running Linux on Apple Silicon with Fedora Asahi Remix\"},\"regularPath\"
"/posts/2025-03-01-playing_around_with_asahi_linux_on_the_2020_m1_apple_macbook_pro.html\"},{\"frontMatter\":{\"date\"
"2025-02-28\",\"title\"
"Exploring Oracle Cloud Infrastructure\",\"description\"
"Playing around with the surprisingly generous free tier offerings of Oracle Cloud as an AWS professional and building a robust infrastructure at zero cost\"},\"regularPath\"
"/posts/2025-02-28-exploring_oracle_cloud_infrastructure.html\"},{\"frontMatter\":{\"date\"
"2025-02-27\",\"title\"
"Giving the Site a Fresh New Coat of Paint\",\"description\"
"Rebuilding my website from the ground up with VitePress and a custom theme.\"},\"regularPath\"
"/posts/2025-02-27-giving_the_site_a_fresh_new_coat_of_paint.html\"},{\"frontMatter\":{\"date\"
"2021-10-25\",\"title\"
"Upgrading My SSH Keys To The Ed25519 Algorithm\",\"description\"
"Upgrading from RSA 2048 to Ed25519 SSH keys for better security and performance.\"},\"regularPath\"
"/posts/2021-10-25-upgrading_my_ssh_key_to_the_ed25519_algorithm.html\"},{\"frontMatter\":{\"date\"
"2021-10-24\",\"title\"
"Manually Setting the Fan Speed on a Dell PowerEdge R710 Homelab Server\",\"description\"
"A guide to manually control fan speed on Dell PowerEdge R710 server using ipmitool to reduce noise while maintaining temperature.\"},\"regularPath\"
"/posts/2021-10-24-manually_setting_the_fan_speed_on_a_dell_poweredge_r710_homelab_server.html\"},{\"frontMatter\":{\"date\"
"2021-10-15\",\"title\"
"Playing With Amazon's New Graviton2 ARM Instances\",\"description\"
"A look at AWS Graviton2 ARM-based instances and their performance compared to traditional x86_64 servers.\"},\"regularPath\"
"/posts/2021-10-15-playing_with_amazons_new_graviton2_arm_instances.html\"},{\"frontMatter\":{\"date\"
"2021-10-15\",\"title\"
"CloudFlare Domain Registrar and Terraforming My DNS\",\"description\"
"My experience transferring domains to CloudFlare's registrar service and managing DNS with Terraform.\"},\"regularPath\"
"/posts/2021-10-15-cloudflare_domain_registrar_and_terraforming_my_dns.html\"},{\"frontMatter\":{\"date\"
"2021-10-01\",\"title\"
"AWS Systems Manager Agent - The End of Bastion Servers?\",\"description\"
"Learn how AWS Systems Manager Agent eliminates the need for bastion servers by providing secure access to EC2 instances without exposing SSH or RDP ports.\"},\"regularPath\"
"/posts/2021-10-01-aws_systems_manager_agent_the_end_of_bastion_servers.html\"},{\"frontMatter\":{\"date\"
"2021-05-26\",\"title\"
"Running Arch Linux on Vultr Cloud Instances\",\"description\"
"My experience installing and running Arch Linux on Vultr cloud instances using the archinstall tool.\"},\"regularPath\"
"/posts/2021-05-26-running-arch-linux-on-vultr-cloud-instances.html\"},{\"frontMatter\":{\"date\"
"2020-08-23\",\"title\"
"Ventoy, the Best Way to Create a Bootable Flash Drive From ISOs\",\"description\"
"Introduces Ventoy as a tool for creating bootable USB drives with multiple ISO files, highlighting its ease of use and advantages over traditional methods. Also discusses contributing to the Ventoy project by adding GitHub Actions for continuous integration.\"},\"regularPath\"
"/posts/2020-08-23-ventoy_the_best_way_to_create_a_bootable_drive_from_isos.html\"},{\"frontMatter\":{\"date\"
"2020-06-13\",\"title\"
"How to Create a Vultr Server and Provision it Using Ansible\",\"description\"
"A guide on how to use Ansible to provision a Vultr server, including setting up the server, adding it to an Ansible inventory, and running an Ansible playbook for configuration.\"},\"regularPath\"
"/posts/2020-06-13-how_to_create_a_vultr_server_and_provision_it_using_ansible.html\"},{\"frontMatter\":{\"date\"
"2020-06-13\",\"title\"
"Automated Deployment Testing With Chef InSpec\",\"description\"
"Explains how to use Chef InSpec to implement automated integration testing for web applications, including examples of InSpec tests and how to integrate them into a GitLab CI/CD pipeline.\"},\"regularPath\"
"/posts/2020-06-13-automated_deployment_testing_with_inspec.html\"},{\"frontMatter\":{\"date\"
"2020-06-09\",\"title\"
"Giving My Site a Makeover with VuePress\",\"description\"
"Migration of my website from a custom HTML/CSS design to VuePress, including the benefits of using a modern framework and the process of integrating existing blog content from Jekyll.\"},\"regularPath\"
"/posts/2020-06-09-giving_my_site_a_makeover_with_vuepress.html\"},{\"frontMatter\":{\"date\"
"2020-06-08\",\"title\"
"Dell Precision 5540 Linux Developer Laptop Review\",\"description\"
"A comprehensive review of the Dell Precision 5540 laptop from a Linux developer's perspective, highlighting its performance, battery life, hardware quality, and overall suitability for Linux users.\"},\"regularPath\"
"/posts/2020-06-08-dell_precision_5540_linux_developer_laptop_review.html\"},{\"frontMatter\":{\"date\"
"2019-06-22\",\"title\"
"Running the Ansible builds via GitLab CI/CD\",\"description\"
"Describes the setup of a GitLab CI/CD pipeline to automate Ansible deployments for a website, including configuration details and handling of hosting provider limitations.\"},\"regularPath\"
"/posts/2019-06-22-running_the_ansible_builds_via_gitlab_cicd.html\"},{\"frontMatter\":{\"date\"
"2019-06-20\",\"title\"
"Switching to Docker containers on Ubuntu 18.04 LTS\",\"description\"
"Documents the process of migrating a website to Docker containers on Ubuntu 18.04 LTS, highlighting the benefits of containerization for consistency, security, and version control.\"},\"regularPath\"
"/posts/2019-06-20-switching_site_to_running_on_docker_containers_on_ubuntu_18.04_lts.html\"},{\"frontMatter\":{\"date\"
"2018-06-08\",\"title\"
"Using Virtual Environments to Avoid Polluting System Python Libraries\",\"description\"
"Explains how to use virtual environments with virtualenv to isolate Python dependencies and prevent conflicts with system libraries.\"},\"regularPath\"
"/posts/2018-06-08-using_virtual_environments_to_avoid_polluting_system_python_libraries.html\"},{\"frontMatter\":{\"date\"
"2018-06-08\",\"title\"
"Defining Continuous Integration and Continuous Delivery\",\"description\"
"In the past, I've been asked what continuous integration and continuous delivery mean to me. Those not used to the DevOps Engineering methodology may not be familiar with these terms.\"},\"regularPath\"
"/posts/2018-06-08-defining_continuous_integration_and_continuous_delivery.html\"},{\"frontMatter\":{\"date\"
"2018-05-16\",\"title\"
"Executing a Build Process in a VM Using Vagrant Shell Provisioning\",\"description\"
"Demonstrates how to use Vagrant shell provisioning to run arbitrary code within a virtual machine, including a practical example of deploying WordPress on Ubuntu.\"},\"regularPath\"
"/posts/2018-05-16-using_vagrant_to_execute_an_isolated_build_process_in_a_vm.html\"},{\"frontMatter\":{\"date\"
"2018-05-16\",\"title\"
"How to Install the Latest Master Branch Build of Slic3r\",\"description\"
"Slic3r is a 3D printer slicing tool. It converts digital objects into instructions that are readable by a 3D printer called \\\"gcode\\\".\"},\"regularPath\"
"/posts/2018-05-16-how_to_install_the_latest_master_branch_build_of_slic3r.html\"},{\"frontMatter\":{\"date\"
"2018-05-04\",\"title\"
"Playing with Kubernetes for the First Time\",\"description\"
"A detailed account of setting up and experimenting with Kubernetes on both CoreOS and Ubuntu, including challenges faced and solutions found.\"},\"regularPath\"
"/posts/2018-05-04-playing_with_kubernetes.html\"},{\"frontMatter\":{\"date\"
"2018-05-03\",\"title\"
"Using BackBlaze B2 Cloud Storage for Encrypted Offsite Backups\",\"description\"
"As of right now, one of the cheapest offsite backup solutions by far is BackBlaze B2, with Amazon S3 trailing behind.\"},\"regularPath\"
"/posts/2018-05-03-using_backblaze_b2_cloud_storage_for_encrypted_backups.html\"},{\"frontMatter\":{\"date\"
"2018-05-03\",\"title\"
"Celebrate World Password Day with a Password Manager\",\"description\"
"An overview of why password managers are essential for online security, recommendations for different options like LastPass and KeePassX, and the importance of two-factor authentication.\"},\"regularPath\"
"/posts/2018-05-03-celebrate_world_password_day_with_a_password_manager.html\"},{\"frontMatter\":{\"date\"
"2018-05-03\",\"title\"
"Blocking Annoying Web Advertisements at the DNS Level with Pi-Hole\",\"description\"
"If you're like myself and many other users on the internet, you probably hate advertisements. Not only are they annoying but they can drain your battery and eat up your bandwidth.\"},\"regularPath\"
"/posts/2018-05-03-blocking_annoying_web_advertisements_at_the_dns_level_with_pi-hole.html\"},{\"frontMatter\":{\"date\"
"2018-05-03\",\"title\"
"Awesome New Share Bar Added to My Blog\",\"description\"
"For the longest time, I've had no social media sharing buttons on this site other than a Google Plus button.\"},\"regularPath\"
"/posts/2018-05-03-awesome_new_share_bar_added_to_my_blog.html\"},{\"frontMatter\":{\"date\"
"2018-04-30\",\"title\"
"Checking What IP Addresses Connected to Your Nginx Server\",\"description\"
"Learn how to analyze Nginx access logs to identify IP addresses connecting to your server using command-line tools like awk, sort, and uniq.\"},\"regularPath\"
"/posts/2018-04-30-checking_what_ip_addresses_connected_to_your_nginx_server.html\"},{\"frontMatter\":{\"date\"
"2018-04-28\",\"title\"
"Fixing SSH Key Permissions\",\"description\"
"Fix permissions errors when trying to use SSH to connect from one server to another.\"},\"regularPath\"
"/posts/2018-04-28-fixing_ssh_key_permissions.html\"},{\"frontMatter\":{\"date\"
"2018-04-27\",\"title\"
"Using Cockpit to Administer Linux Servers in the Browser\",\"description\"
"A web-based server management interface sponsored by Red Hat that makes it easy to administer Linux servers via a browser.\"},\"regularPath\"
"/posts/2018-04-27-using-cockpit-to-administer-linux-servers-in-the-browser.html\"},{\"frontMatter\":{\"date\"
"2018-04-27\",\"title\"
"Rapidly Setting Up My Linux Desktop Using a Makefile\",\"description\"
"Using a Makefile to automate system setup and configuration when switching between Linux distributions.\"},\"regularPath\"
"/posts/2018-04-27-rapidly-setting-up-my-linux-desktop-using-a-makefile.html\"},{\"frontMatter\":{\"date\"
"2018-04-27\",\"title\"
"I've Learned My Lesson and I'm Using LaTeX Now\",\"description\"
"Transitioning from Google Docs to LaTeX for creating professional résumés with better formatting and version control.\"},\"regularPath\"
"/posts/2018-04-27-ive-learned-my-lesson-and-am-using-latex-now.html\"},{\"frontMatter\":{\"date\"
"2018-04-27\",\"title\"
"Install Google Web Fonts on your Linux or macOS Machine\",\"description\"
"Installing Google's collection of web fonts on your local machine using a simple script.\"},\"regularPath\"
"/posts/2018-04-27-install-google-web-fonts-on-your-linux-or-macos-machine.html\"},{\"frontMatter\":{\"date\"
"2018-04-27\",\"title\"
"How to install the Mainline Kernel on Enterprise Linux 7 the Easy Way\",\"description\"
"Installing a newer kernel on RHEL/CentOS systems using ELRepo to get better driver support and performance.\"},\"regularPath\"
"/posts/2018-04-27-how-to-install-the-mainline-linux-kernel-on-rhelcentos-from-elrepo-the-easy-way.html\"},{\"frontMatter\":{\"date\"
"2018-04-27\",\"title\"
"How My Server is Deployed and Configured Using Ansible\",\"description\"
"Using Ansible playbooks to automate server deployment and configuration for immutable infrastructure.\"},\"regularPath\"
"/posts/2018-04-27-how-my-server-is-deployed-and-configured-using-ansible.html\"},{\"frontMatter\":{\"date\"
"2018-04-27\",\"title\"
"Creating Disposable OpenVPN Servers Using the Vultr Cloud API\",\"description\"
"Building temporary OpenVPN servers on demand using Vultr's cloud API for cost-effective privacy when needed.\"},\"regularPath\"
"/posts/2018-04-27-creating-disposable-openvpn-servers-using-the-vultr-cloud-api.html\"},{\"frontMatter\":{\"date\"
"2018-04-26\",\"title\"
"Moving Hosts Again, This Time with NVMe Storage\",\"description\"
"Transitioning to a more cost-effective hosting solution with high-performance NVMe storage.\"},\"regularPath\"
"/posts/2018-04-26-ive-moved-hosting-providers-again.html\"},{\"frontMatter\":{\"date\"
"2018-04-25\",\"title\"
"A Fresh Start - Archiving Some Old Blog Content\",\"description\"
"Refreshing the blog by unpublishing outdated content while keeping it accessible through version control.\"},\"regularPath\"
"/posts/2018-04-25-a-fresh-start-archiving-old-blog-content.html\"},{\"frontMatter\":{\"date\"
"2015-05-10\",\"title\"
"Automatically Building My Website With Travis CI\",\"description\"
"Using Travis CI to automatically build and deploy website changes whenever content is published to Git.\"},\"regularPath\"
"/posts/2015-05-10-site-now-automatically-built-with-travis-ci.html\"},{\"frontMatter\":{\"date\"
"2015-04-20\",\"title\"
"Migrating from Wordpress to Custom Code and Jekyll\",\"description\"
"How I recreated my website from scratch, moving away from WordPress to static content generation with Jekyll for better control and performance.\"},\"regularPath\"
"/posts/2015-04-20-blog-migrated-from-wordpress-to-jekyll.html\"},{\"frontMatter\":{\"date\"
"2014-07-06\",\"title\"
"My Domain is Now Registered With iWantMyName\",\"description\"
"My experience switching domain registrars to iWantMyName, which offers a simple interface and ethical business practices compared to competitors.\"},\"regularPath\"
"/posts/2014-07-06-my-domain-is-now-registered-with-iwantmyname.html\"},{\"frontMatter\":{\"date\"
"2014-07-04\",\"title\"
"Goodbye Dropbox, Hello OwnCloud\",\"description\"
"How I set up my own private cloud storage solution using OwnCloud on a VPS, saving money and gaining more control compared to Dropbox.\"},\"regularPath\"
"/posts/2014-07-04-goodbye-dropbox-hello-owncloud.html\"},{\"frontMatter\":{\"date\"
"2014-06-27\",\"title\"
"Speed Up Your Site With Instant Click\",\"description\"
"Using InstantClick technology to drastically reduce perceived loading time by preloading content when users hover over links.\"},\"regularPath\"
"/posts/2014-06-27-speed-up-your-site-with-instant-click.html\"},{\"frontMatter\":{\"date\"
"2014-06-24\",\"title\"
"Private OpenVPN is Great!\",\"description\"
"Setting up a private VPN server on an Ubuntu VPS for better security and privacy at an affordable cost.\"},\"regularPath\"
"/posts/2014-06-24-private-openvpn-is-great.html\"},{\"frontMatter\":{\"date\"
"2014-06-21\",\"title\"
"Upgraded Hosting to Virtual Private Server\",\"description\"
"Moving from shared hosting to a VPS for improved performance, more control, and better resource allocation.\"},\"regularPath\"
"/posts/2014-06-21-upgraded-hosting-to-virtual-private-server.html\"},{\"frontMatter\":{\"date\"
"2012-10-09\",\"title\"
"Development Temporarily On Hold\",\"description\"
"Announcement about pausing open source development work due to academic commitments and college workload.\"},\"regularPath\"
"/posts/2012-10-09-development-temporarily-on-hold.html\"},{\"frontMatter\":{\"date\"
"2012-03-31\",\"title\"
"Fixing Autokey (GTK) on Ubuntu 12.04\",\"description\"
"A solution for getting Autokey working on Ubuntu 12.04 by adding it to Unity's system tray whitelist.\"},\"regularPath\"
"/posts/2012-03-31-fixing-autokey-gtk-on-ubuntu-12-04.html\"},{\"frontMatter\":{\"date\"
"2012-03-13\",\"title\"
"Ordered a Raspberry Pi\",\"description\"
"Thoughts on purchasing the newly released Raspberry Pi Model B and plans for using this affordable computing platform.\"},\"regularPath\"
"/posts/2012-03-13-ordered-a-raspberry-pi.html\"},{\"frontMatter\":{\"date\"
"2012-01-15\",\"title\"
"How to fix com.android.providers.media crash on a rooted Android device\",\"description\"
"A solution for fixing media provider crashes on rooted Android devices by removing corrupt media databases.\"},\"regularPath\"
"/posts/2012-01-15-how-to-fix-com-android-providers-media-crash-on-a-rooted-android-device.html\"}],\"nav\":[{\"text\"
"Home\",\"link\"
"/\"},{\"text\"
"About\",\"link\"
"/about-me/\"},{\"text\"
"Blog\",\"link\"
"/blog/\"},{\"text\"
"Résumé\",\"link\"
"https://files.dylanmtaylor.com/dylan-resume.pdf\"}],\"search\":{\"provider\"
"local\"},\"outline\":false,\"aside\":false,\"footer\":{\"message\"
"This site is 100% open source. • CC BY-SA 4.0 License\"},\"socialLinks\":[{\"icon\"
"github\",\"link\"
"https://github.com/dylanmtaylor/\"},{\"icon\"
"gitlab\",\"link\"
"https://gitlab.com/dylanmtaylor/\"},{\"icon\"
"linkedin\",\"link\"
"https://www.linkedin.com/in/dylanmtaylor\"},{\"icon\"
"maildotru\",\"link\"
"mailto:dylan@dylanmtaylor.com\"}]},\"locales\":{},\"scrollOffset\":134,\"cleanUrls\":false,\"additionalConfig\":{}}");
App - I don't believe this was made by a human, either that or he followed the shittiest "webapp" tutorial out there. You're making a WEBSITE not a WEBAPP, SITE meaning STATIC, there is NOTHING ON YOUR SHITTY WEBSITE THAT NEEDS TO CHANGE DYNAMICALLY.
data-v-blablabla - What further cements my argument that this was either made with a shitty webapp creator rather than an actual human being is the absolute unnecessary data-tags. These usually serve for either robots or as invisible text markers. Except, they're all empty, and serve literally no purpose other than infuriating me with bloat.
So many fucking comment tags - WHY? 'Cause you're too much of an illiterate fuck that you can't read code when it isn't separated by 15 miles of comments? This is Pirate Software levels of awful.
H1 has no content - The h1 tag serves as the title of a website, you're only supposed to have one as the title of the webpage. He leaves it blank with useless comments, and puts a p-tag with the ACTUAL title (?) in there. This is HTML 101. Don't add empty H-tags, retard.
style=??? - Why are you using inline styles? Is it because you're too much of a dumb fucking idiot to use .css files when your robot did it for you? You clearly have .css files, why not put them in there? Oh, right, you're a retard who can't even make a static website without a third party program, forgot. -- Along with my theory, which at this point is basically fact, him using just asinine magic numbers. --vp-offset refers to a variable. calc(50% refers to something being calculated using 50% of its parent's. Parent's what? I wouldn't know, it just says 50%. - 801px);, refers to who the fuck knows. Why the fuck is it -801px? What was so necessary for you to not make it 800 but 801px? Is it because some robot did it for you? You lazy nigger?


"Durrr, what is an ::after element?? Even though I've used it MULTIPLE FUCKING TIMES ALREADY, I'LL STILL ADD IN BLOATED PIECE OF SHIT ELEMENTS THAT SERVE LITERALLY NO PURPOSE OTHER THAN THAT I'm A LAZY NIGGER."

Your shitty website does NOT need to fucking use .JS for ANYTHING.

data-v-blablabla - What further cements my argument that this was either made with a shitty webapp creator rather than an actual human being is the absolute unnecessary data-tags. These usually serve for either robots or as invisible text markers. Except, they're all empty, and serve literally no purpose other than infuriating me with bloat.
So many fucking comment tags - WHY? 'Cause you're too much of an illiterate fuck that you can't read code when it isn't separated by 15 miles of comments? This is Pirate Software levels of awful.
H1 has no content - The h1 tag serves as the title of a website, you're only supposed to have one as the title of the webpage. He leaves it blank with useless comments, and puts a p-tag with the ACTUAL title (?) in there. This is HTML 101. Don't add empty H-tags, retard.
style=??? - Why are you using inline styles? Is it because you're too much of a dumb fucking idiot to use .css files when your robot did it for you? You clearly have .css files, why not put them in there? Oh, right, you're a retard who can't even make a static website without a third party program, forgot. -- Along with my theory, which at this point is basically fact, him using just asinine magic numbers. --vp-offset refers to a variable. calc(50% refers to something being calculated using 50% of its parent's. Parent's what? I wouldn't know, it just says 50%. - 801px);, refers to who the fuck knows. Why the fuck is it -801px? What was so necessary for you to not make it 800 but 801px? Is it because some robot did it for you? You lazy nigger?
"Durrr, what is an ::after element?? Even though I've used it MULTIPLE FUCKING TIMES ALREADY, I'LL STILL ADD IN BLOATED PIECE OF SHIT ELEMENTS THAT SERVE LITERALLY NO PURPOSE OTHER THAN THAT I'm A LAZY NIGGER."
Your shitty website does NOT need to fucking use .JS for ANYTHING.
So, I'm not dumb and I saw that he used a lot of VPblablabla, which made me look it up. And would you believe it:


Can no one make their own fucking websites anymore? Do we really need twenty-five fucking layers of obfuscation for us to understand the LITERAL BASICS OF HTML AND CSS? - Seeing this, his decisions for adding age verification to things makes a lot more sense. If you can't even make a static HTML page with your own two hands, give up. Literally, give up as a developer. I don't care if you've mastered Assembly, C, C# and C++, if you can't even make a website without these amounts of asinine obfuscation, you're done.



