content/posts: sort frontmatter keys

Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
This commit is contained in:
Harsh Shandilya 2020-07-17 01:18:46 +05:30
parent f1d4c98e0a
commit 692a54e23a
22 changed files with 74 additions and 75 deletions

View File

@ -1,10 +1,10 @@
+++
categories = ["hugo"]
date = 2020-02-03T09:32:38+05:30
date = 2020-02-03
description = "Optimize social media exposure with the right metadata for your site"
slug = "adding-social-metadata-to-your-hugo-sites"
tags = ["hugo", "webdev", "static sites"]
title = "Adding social metadata to your Hugo sites"
description = "Optimize social media exposure with the right metadata for your site"
socialImage = "uploads/hugo_metadata_social.webp"
+++

View File

@ -1,12 +1,12 @@
+++
categories = ["webdev"]
date = 2020-02-05T10:39:26+05:30
slug = "creating-a-continuously-deploying-static-statuspage-with-github"
tags = ["webdev", "github actions", "github pages"]
title = "Creating a continuously deploying static statuspage with GitHub"
date = 2020-02-05
description = "GitHub Actions paired with GitHub Pages provides an excellent CD platform for a status page. Here's how I used it to create mine."
devLink = "https://dev.to/msfjarvis/creating-a-continuously-deploying-static-statuspage-with-github-3ol2"
slug = "creating-a-continuously-deploying-static-statuspage-with-github"
socialImage = "uploads/statuspage_social.webp"
tags = ["webdev", "github actions", "github pages"]
title = "Creating a continuously deploying static statuspage with GitHub"
+++
A status page is essentially a web page that reports the health and uptime of an organization's various online services. [GitHub](https://www.githubstatus.com/) has one and so does [Cloudflare](https://www.cloudflarestatus.com/). Most of these are powered by an [Atlassian](https://www.atlassian.com/) product called [Statuspage](https://www.statuspage.io/) but it's not always the [cheapest solution](https://www.statuspage.io/pricing?tab=public).

View File

@ -1,12 +1,12 @@
+++
categories = ["android"]
date = 2020-01-20T14:45:23+05:30
slug = "dagger-the-easy-way--part-1"
tags = ["android", "dagger", "tutorial"]
title = "Dagger the easy way - Part 1"
date = 2020-01-20
description = "Dagger is universally intimidating to beginners and I want to change it."
devLink = "https://dev.to/msfjarvis/dagger-the-easy-way-part-1-3l7b"
slug = "dagger-the-easy-way--part-1"
socialImage = "uploads/dagger_made_easy_social.webp"
tags = ["android", "dagger", "tutorial"]
title = "Dagger the easy way - Part 1"
+++
> Updated on 22 Jan 2020 with some additional comments from [@arunkumar_9t2](https://twitter.com/arunkumar_9t2). Look out for them as block quotes similar to this one.

View File

@ -1,12 +1,12 @@
+++
categories = ["android"]
date = 2020-03-06T11:04:05+05:30
date = 2020-03-06
description = "Let's extend the \"scope\" of these tutorials :)"
devLink = "https://dev.to/msfjarvis/dagger-the-easy-way-part-2-4p4m"
slug = "dagger-the-easy-way--part-2"
socialImage = "uploads/dagger_made_easy_social.webp"
tags = ["android", "dagger", "tutorial"]
title = "Dagger the easy way - Part 2"
description = "Let's extend the \"scope\" of these tutorials :)"
socialImage = "uploads/dagger_made_easy_social.webp"
devLink = "https://dev.to/msfjarvis/dagger-the-easy-way-part-2-4p4m"
+++
Welcome back! In this post I'm taking a bit of detour from my planned schedule to write about **scoping**. We'll _definitely_ cover constructor injection in the next part :)

View File

@ -1,11 +1,11 @@
+++
categories = ["hugo"]
date = 2019-12-04T09:40:00Z
date = 2019-12-04
description = "GitHub Actions are awesome! Learn how to use it for continuous delivery of your static sites."
slug = "deploying-hugo-sites-with-github-actions"
socialImage = "uploads/actions_social.webp"
tags = ["hugo", "github actions", "static sites"]
title = "Deploying Hugo sites with GitHub Actions"
description = "GitHub Actions are awesome! Learn how to use it for continuous delivery of your static sites."
socialImage = "uploads/actions_social.webp"
+++
For the longest time, I have used the [caddy-git] middleware for [caddyserver](https://caddyserver.com) to constantly deploy my [Hugo](https://gohugo.io) site from [GitHub](https://github.com/msfjarvis/msfjarvis.dev).

View File

@ -1,11 +1,11 @@
+++
categories = ["webdev"]
date = 2020-05-08T21:42:38+05:30
date = 2020-05-08
description = "Everybody probably understands how Cloudflare proxies A/AAAA records, but how it proxies CNAME records is also pretty interesting. Let's dive into how that happens and why it can often break other products that need you to set CNAME records."
slug = "how-cloudflare-proxies-cname-records"
socialImage = "uploads/cf_proxy_social.webp"
tags = ["#100DaysToOffload", "cloudflare"]
title = "How Cloudflare proxies CNAME records"
description = "Everybody probably understands how Cloudflare proxies A/AAAA records, but how it proxies CNAME records is also pretty interesting. Let's dive into how that happens and why it can often break other products that need you to set CNAME records."
socialImage = "uploads/cf_proxy_social.webp"
+++
As people who've read my previous post would know, I recently started using [Purelymail](https://purelymail.com/) for my email needs (the how and why of it can be found [here](/posts/switching-my-email-to-purelymail/)). I also mentioned there, that Cloudflare's proxy-by-default nature caused Purelymail to not detect my CNAME settings and disabling the proxy did the job. I contacted Purelymail's Scott about this and he eventually pushed a fix out that \*should\* have fixed it, but since he did not have a Cloudflare account, he couldn't verify this exact case.

View File

@ -1,11 +1,11 @@
+++
date = "2019-05-31"
title = "How to get involved in open source"
slug = "how-to-get-involved-in-open-source"
tags = ["open source"]
categories = ["oss"]
date = 2019-05-31
description = "Starting with OSS can be daunting for many. Here's a recap of my experiences with OSS with some tips on how to get started yourself."
devLink = "https://dev.to/msfjarvis/how-to-get-involved-with-open-source-4h42"
tags = ["open source"]
title = "How to get involved in open source"
slug = "how-to-get-involved-in-open-source"
+++
The most common question I get when I recommend open source as a launching pad for budding developers is "Where do I start?".

View File

@ -1,9 +1,9 @@
+++
date = "2019-05-30"
title = "I'm gonna blog!"
categories = []
date = 2019-05-30
slug = "i-m-gonna-blog"
tags = []
categories = []
title = "I'm gonna blog!"
+++
With all my involvement in OSS development around Android, I come across a lot of new things on the daily. This blog will hopefully serve as a index for those findings, and an excuse for me to properly research and document them for myself and others.

View File

@ -1,12 +1,12 @@
+++
categories = ["hugo", "webdev"]
date = 2020-01-20T00:44:25+05:30
slug = "integrating-comments-in-hugo-sites-with-commento"
tags = ["hugo", "static sites", "comments", "commento.io"]
title = "Integrating comments in Hugo sites with commento"
date = 2020-01-20
description = "Adding additional comment backends to Hugo is actually rather simple!"
devLink = "https://dev.to/msfjarvis/integrating-comments-in-hugo-sites-with-commento-136f"
slug = "integrating-comments-in-hugo-sites-with-commento"
socialImage = "uploads/commento_social.webp"
tags = ["hugo", "static sites", "comments", "commento.io"]
title = "Integrating comments in Hugo sites with commento"
+++
Disqus is unequivocally the leader when it comes to hosted comments, and it works rather swimmingly with sites of all kinds with minimal hassle. But this ease has a gnarly flipside: [annoying referral links](https://stiobhart.net/2017-02-21-disqusting/) and a [huge bundle size](https://victorzhou.com/blog/replacing-disqus/) that significantly affects page load speeds.

View File

@ -1,12 +1,12 @@
+++
categories = ["android"]
date = 2020-01-11T21:25:25Z
date = 2020-01-11
description = "Dagger is not the easiest tool to get on board with but it's almost worth the effort. Here's the story of my journey to not hating Dagger."
devLink = "https://dev.to/msfjarvis/my-dagger-story-2go0"
slug = "my-dagger-story"
socialImage = "uploads/dagger_story_social.webp"
tags = ["android", "dagger"]
title = "My Dagger Story"
devLink = "https://dev.to/msfjarvis/my-dagger-story-2go0"
socialImage = "uploads/dagger_story_social.webp"
+++
[Dagger](https://dagger.dev) is infamous for very good reasons. It's complicated to use, the documentation is an absolute shitshow, and simpler 'alternatives' exist. While [Koin](http://insert-koin.io/) and to a lesser extent [Kodein](https://kodein.org/di/) do the job, they're still service locators at their core and don't automatically inject dependencies like Dagger does.

View File

@ -1,12 +1,12 @@
+++
categories = ["android"]
date = 2019-11-21T06:27:52Z
slug = "publishing-an-android-library-to-github-packages"
tags = ["android", "gradle", "github", "packaging"]
title = "Publishing an Android library to GitHub Packages"
date = 2019-11-21
description = "GitHub recently rolled out Packages to the general public, allowing the entire develop-test-deploy pipeline to get centralized at GitHub. Learn how to use it to publish your Android library packages."
devLink = "https://dev.to/msfjarvis/publishing-an-android-library-to-github-packages-1l74"
slug = "publishing-an-android-library-to-github-packages"
socialImage = "uploads/github_packages_social.webp"
tags = ["android", "gradle", "github", "packaging"]
title = "Publishing an Android library to GitHub Packages"
+++
>UPDATE(06/06/2020): The Android Gradle Plugin supports the Gradle Maven Publish plugin beginning version 4.0.0, so I've added the new process for this at the beginning of this guide. The previous post follows that section.

View File

@ -1,11 +1,10 @@
+++
date = "2019-06-08"
title = "Understanding and resolving SELinux denials on Android"
categories = ["android"]
date = 2019-06-08
description = "SELinux is not the easiest technology to navigate, and handling it in Android custom ROMs can be daunting to newcomers. This post breaks down the more complex aspects of it into easy to understand steps for people to follow along"
slug = "understanding-and-resolving-selinux-denials-on-android"
tags = ["android", "selinux", "linux"]
categories = ["android"]
description = "SELinux is not the easiest technology to navigate, and handling it in Android custom ROMs can be daunting to newcomers. This post breaks down the more complex aspects of it into easy to understand steps for people to follow along"
title = "Understanding and resolving SELinux denials on Android"
+++
This blog post is mostly comprised of what used to be a [gist](https://gist.github.com) of mine. I decided it needs some additional reading on what exactly we're dealing with so a preface outlining what SELinux is and how to understand the rules we're writing has been added. The gist itself is from a time when I was far less knowledgeable and hence adjustments have been made accordingly, often with extra information.

View File

@ -1,12 +1,12 @@
+++
categories = ["webdev"]
date = 2019-12-17T12:51:00Z
slug = "serverside-stats-with-goaccess"
tags = ["caddyserver", "goaccess", "analytics"]
title = "Server-side analytics with Goaccess"
date = 2019-12-17
description = "Analytics platforms are often overwhelming and a privacy nightmare -- here's how to bring analytics to the backend with very simple tooling"
devLink = "https://dev.to/msfjarvis/server-side-analytics-with-goaccess-pg8"
slug = "serverside-stats-with-goaccess"
socialImage = "uploads/goaccess_social.webp"
tags = ["caddyserver", "goaccess", "analytics"]
title = "Server-side analytics with Goaccess"
+++
Analytics are a very helpful aspect of any development. They allow developers to know what parts of their apps are visited the most often and can use more attention, and for bloggers to know what content does or does not resonate with their readers.

View File

@ -1,11 +1,11 @@
+++
categories = ["rust", "dev"]
date = 2020-07-05T15:21:50
date = 2020-07-05
description = "Rust programs are pretty fast on their own, but you can slightly augment their performance with some simple tricks."
slug = "simple-tricks-for-faster-rust-programs"
socialImage = "uploads/cuddlyferris.webp"
tags = ["rust", "dev", "perf"]
title = "Simple tricks for faster Rust programs"
description = "Rust programs are pretty fast on their own, but you can slightly augment their performance with some simple tricks."
socialImage = "uploads/cuddlyferris.webp"
+++
Rust is _pretty_ fast. Let's get that out of the way. But sometimes, _pretty_ fast is not fast enough.

View File

@ -1,11 +1,11 @@
+++
categories = ["news"]
date = 2020-02-09T13:37:53+05:30
date = 2020-02-09
description = "The Viscerion experiment that started more than a year ago is now coming to an end. Here's what's happening."
slug = "sunsetting-viscerion"
socialImage = "uploads/viscerion_social.webp"
tags = ["personal"]
title = "Sunsetting Viscerion"
description = "The Viscerion experiment that started more than a year ago is now coming to an end. Here's what's happening."
socialImage = "uploads/viscerion_social.webp"
+++
Viscerion is one of my more known and loved apps that I myself continue to enjoy working on and using. The project started back in 2018 following a short stint with WireGuard working on their own Android app, and is now being shut down.

View File

@ -1,11 +1,11 @@
+++
categories = ["email"]
date = 2020-04-13T17:12:27+05:30
date = 2020-04-13
description = "I recently moved from forwarding my email through Google to hosting it through Purelymail.com. Here are some thoughts about the process and the motivation behind it"
devLink = "https://dev.to/msfjarvis/switching-my-email-to-purelymail-4l6i"
slug = "switching-my-email-to-purelymail"
tags = ["email", "purelymail"]
title = "Switching my email to Purelymail"
description = "I recently moved from forwarding my email through Google to hosting it through Purelymail.com. Here are some thoughts about the process and the motivation behind it"
devLink = "https://dev.to/msfjarvis/switching-my-email-to-purelymail-4l6i"
+++
Email is a very crucial part of my workflow, and I enjoy using it (and also why I'm beyond excited for what Basecamp has in store with [hey.com](https://hey.com)). I have switched emails a couple times over the many years I have had an internet presence, finally settling on {{< cloakemail "me@msfjarvis.dev" >}} when I bought my domain. There began the problem.

View File

@ -1,12 +1,12 @@
+++
categories = ["teachingkotlin", "kotlin", "dev", "android"]
date = "2019-09-20T08:00:00+05:30"
slug = "teaching-kotlin--kotlin-for-android-java-developers"
tags = ["teachingkotlin", "android", "kotlin"]
title = "#TeachingKotlin - Kotlin for Android Java developers"
date = "2019-09-20
description = "Kotlin's been great for me -- and millions others, as evident by its explosive growth. Long-time Java developers may feel hesitant to give it a shot. This series aims to smoothen this transition, letting people know what benefits they might reap from Kotlin, and what differences should they be careful about."
devLink = "https://dev.to/msfjarvis/teachingkotlin-kotlin-for-android-java-developers-1fo3"
slug = "teaching-kotlin--kotlin-for-android-java-developers"
socialImage = "uploads/teachingkotlin_social.webp"
tags = ["teachingkotlin", "android", "kotlin"]
title = "#TeachingKotlin - Kotlin for Android Java developers"
+++
Anybody familiar with my work knows that I am a fan of the [Kotlin](https://kotlinlang.org/ "Kotlin") programming language, especially it's interoperability with Java with respect to Android. I'll admit, I've not been a fan since day one. The abundant lambdas worried me and everything being that much shorter to implement was confusing to a person whose first real programming task was in the Java programming language.

View File

@ -1,6 +1,6 @@
+++
categories = ["kotlin", "dev", "android", "teachingkotlin"]
date = 2019-09-23T09:30:00Z
date = 2019-09-23
description = "Part 1 of my #TeachingKotlin, this post goes over Kotlin classes, objects and how things like finality and staticity vary between Java and Kotlin."
slug = "teaching-kotlin--classes-and-objects"
tags = ["android", "teachingkotlin", "kotlin"]

View File

@ -1,12 +1,12 @@
+++
categories = ["kotlin", "dev", "android", "teachingkotlin"]
date = "2019-09-30T15:00:00+05:30"
slug = "teaching-kotlin--variables"
tags = ["android", "teachingkotlin", "kotlin"]
title = "#TeachingKotlin Part 2 - Variables"
date = "2019-09-30
description = "The second post in #TeachingKotlin series, this post goes over Kotlin's variables and their attributes, like visibility and getters/setters."
devLink = "https://dev.to/msfjarvis/teachingkotlin-part-2-variables-2api"
slug = "teaching-kotlin--variables"
socialImage = "uploads/teachingkotlin_social.webp"
tags = ["android", "teachingkotlin", "kotlin"]
title = "#TeachingKotlin Part 2 - Variables"
+++
Even the variables in Kotlin are supercharged!

View File

@ -1,12 +1,12 @@
+++
categories = ["kotlin", "dev", "android", "teachingkotlin"]
date = 2019-12-16T18:20:45Z
date = 2019-12-16
description = "Part 3 of #TeachingKotlin covers some subtle differences between Kotlin and Java that might affect your codebases as you start migrating to or writing new code in Kotlin."
devLink = "https://dev.to/msfjarvis/teachingkotlin-part-3-caveats-coming-from-java-2e1k"
slug = "teachingkotlin-part-3--caveats-coming-from-java"
socialImage = "uploads/teachingkotlin_social.webp"
tags = ["android", "teachingkotlin", "kotlin"]
title = "#TeachingKotlin Part 3 - Caveats coming from Java"
devLink = "https://dev.to/msfjarvis/teachingkotlin-part-3-caveats-coming-from-java-2e1k"
socialImage = "uploads/teachingkotlin_social.webp"
+++
When you start migrating your Java code to Kotlin, you will encounter multiple subtle changes that might catch you off guard. I'll document some of these gotchas that I and other people I follow have found and written about.

View File

@ -1,12 +1,12 @@
+++
date = "2019-09-07"
title = "Tools for effective Rust development"
slug = "tools-for-effective-rust-development"
tags = ["dev", "rust"]
categories = ["dev", "rust"]
date = 2019-09-07
description = "Rust is an amazing systems language that is on an explosive rise thanks to its memory safety guarantees and fast, iterative development. In this post, I recap some of the tooling that I use with Rust to make coding in it even more fun and intuitive"
devLink = "https://dev.to/msfjarvis/tools-for-effective-rust-development-3mb4"
title = "Tools for effective Rust development"
slug = "tools-for-effective-rust-development"
socialImage = "uploads/rust_social.webp"
tags = ["dev", "rust"]
+++
[Rust] is a memory-safe systems language that is blazing fast, and comes with no runtime or garbage collector overhead. It can be used to build very performant web services, CLI tools, and even [Linux kernel modules](https://github.com/fishinabarrel/linux-kernel-module-rust)!

View File

@ -1,11 +1,11 @@
+++
categories = ["kotlin", "android"]
date = 2019-10-25T20:23:00Z
date = 2019-10-25
description = "I was an early adopter of the Gradle Kotlin DSL, deploying it to multiple Android projects of mine, but lately it has been more trouble than I could care for. Here are my grievances with it."
devLink = "https://dev.to/msfjarvis/why-i-went-back-to-the-gradle-groovy-dsl-4jf4"
slug = "why-i-went-back-to-the-gradle-groovy-dsl"
tags = ["groovy", "gradle", "kotlin", "android"]
title = "Why I went back to the Gradle Groovy DSL"
description = "I was an early adopter of the Gradle Kotlin DSL, deploying it to multiple Android projects of mine, but lately it has been more trouble than I could care for. Here are my grievances with it."
devLink = "https://dev.to/msfjarvis/why-i-went-back-to-the-gradle-groovy-dsl-4jf4"
+++
About an year ago when I first discovered the [Gradle Kotlin DSL](https://docs.gradle.org/current/userguide/kotlin_dsl.html), I was very quick to [jump](https://github.com/msfjarvis/viscerion/commit/c16d11a816c3c7e3f7bab51ef2f32569b6b657bf) [on](https://github.com/android-password-store/Android-Password-Store/commit/3c06063153d0b7f71998128dc6fb4e5967e33624) [that](https://github.com/substratum/substratum/commit/ebff9a3a88781d093565526b171d9d5b8e9c1bed) [train](https://github.com/substratum/substratum/commit/5065e082055cde19e41ee02920ca07d0e33c89f5). Now it feels like a mistake.