Add dev.to links for all posts

Signed-off-by: Harsh Shandilya <msfjarvis@gmail.com>
This commit is contained in:
Harsh Shandilya 2020-01-21 14:02:30 +05:30
parent f83fc1bd63
commit 6d2ebdae30
No known key found for this signature in database
GPG Key ID: C2E74282C2133D62
12 changed files with 17 additions and 10 deletions

View File

@ -5,6 +5,7 @@ slug = "dagger-the-easy-way--part-1"
tags = ["android", "dagger", "tutorial"]
title = "Dagger the easy way - Part 1"
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"
+++
This is not your average coding tutorial. I'm going to show you how to write actual Dagger code and skip all the scary and off-putting parts about the implementation details of the things we're using and how Dagger does everything under the hood. If you're interested in that, [poke me on Twitter](https://twitter.com/MSF_Jarvis) that you really, really wanna know the implementation details of this and I'll grumble and consider it.

View File

@ -1,4 +1,3 @@
+++
date = "2019-05-31"
title = "How to get involved in open source"
@ -6,6 +5,7 @@ slug = "how-to-get-involved-in-open-source"
tags = ["open source"]
categories = ["oss"]
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"
+++
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

@ -5,6 +5,7 @@ slug = "integrating-comments-in-hugo-sites-with-commento"
tags = ["hugo", "static sites", "comments", "commento.io"]
title = "Integrating comments in Hugo sites with commento"
description = "Adding additional comment backends to Hugo is actually rather simple!"
devLink = "https://dev.to/msfjarvis/integrating-comments-in-hugo-sites-with-commento-136f"
+++
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

@ -5,7 +5,7 @@ description = "Dagger is not the easiest tool to get on board with but it's almo
slug = "my-dagger-story"
tags = ["android", "dagger"]
title = "My Dagger Story"
devLink = "https://dev.to/msfjarvis/my-dagger-story-2go0"
+++
[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

@ -5,6 +5,7 @@ slug = "publishing-an-android-library-to-github-packages"
tags = ["android", "gradle", "github", "packaging"]
title = "Publishing an Android library to GitHub Packages"
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"
+++
GitHub released the Package Registry beta in May of this year, and graduated it to public availability in Universe 2019, rebranded as [GitHub Packages](https://github.com/features/packages "GitHub Packages"). It supports NodeJS, Docker, Maven, Gradle, NuGet, and RubyGems. That's a LOT of ground covered for a service that's about one year old.

View File

@ -5,7 +5,7 @@ slug = "serverside-stats-with-goaccess"
tags = ["caddyserver", "goaccess", "analytics"]
title = "Server-side analytics with Goaccess"
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"
+++
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

@ -5,6 +5,7 @@ slug = "teaching-kotlin--kotlin-for-android-java-developers"
tags = ["teachingkotlin", "android", "kotlin"]
title = "#TeachingKotlin - Kotlin for Android Java developers"
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"
+++
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

@ -5,7 +5,7 @@ description = "Part 1 of my #TeachingKotlin, this post goes over Kotlin classes,
slug = "teaching-kotlin--classes-and-objects"
tags = ["android", "teachingkotlin", "kotlin"]
title = "#TeachingKotlin Part 1 - Classes and Objects and everything in between"
devLink = "https://dev.to/msfjarvis/teachingkotlin-part-1-classes-and-objects-and-everything-in-between-5bn0"
+++
Classes in Kotlin closely mimic their Java counterparts in implementation, with some crucial changes that I will attempt to outline here.

View File

@ -4,7 +4,8 @@ date = "2019-09-30T15:00:00+05:30"
slug = "teaching-kotlin--variables"
tags = ["android", "teachingkotlin", "kotlin"]
title = "#TeachingKotlin Part 2 - Variables"
description = "The second post in #TeachingKotlin series, this post goes over Kotlin's variables and their attributes, like visiblity and getters/setters."
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"
+++
Even the variables in Kotlin are supercharged!
@ -62,9 +63,9 @@ Line_4$Item@46fb460a
As you can notice, the `toString` implementation is not identical to our data classes but that's a topic for another post. Back to variables!
## Customising getters and setters
## Customizing getters and setters
While Kotlin creates getters and setters automatically, we can customize their behaviour.
While Kotlin creates getters and setters automatically, we can customize their behavior.
``` kotlin
class Item(id: Int, name: String) {
@ -95,9 +96,9 @@ id=1,name=Bricks
Notice how setting a new value to currentState mutates the other variables as well? That's because of our custom setter. These setters are identical to a normal top-level function except a reference to the field in question is available as the variable `field` for manipulation.
## Visiblity modifiers
## Visibility modifiers
Kotlin's visiblity modifiers aren't very well explained. There's the standard `public`, `private` and `protected`, but also the new `inner` and `internal`. I'll attempt to fill in those gaps.
Kotlin's visibility modifiers aren't very well explained. There's the standard `public`, `private` and `protected`, but also the new `inner` and `internal`. I'll attempt to fill in those gaps.
### `inner`

View File

@ -5,7 +5,7 @@ description = "Part 3 of #TeachingKotlin covers some subtle differences between
slug = "teachingkotlin-part-3--caveats-coming-from-java"
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"
+++
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

@ -5,6 +5,7 @@ slug = "tools-for-effective-rust-development"
tags = ["dev", "rust"]
categories = ["dev", "rust"]
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"
+++
[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

@ -5,6 +5,7 @@ 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.