diff --git a/.vscode/settings.json b/.vscode/settings.json index 6b73662..b3f118a 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,4 +1,5 @@ { "editor.formatOnSave": true, - "editor.defaultFormatter": "esbenp.prettier-vscode" + "editor.defaultFormatter": "esbenp.prettier-vscode", + "cSpell.words": ["Jetpack"] } diff --git a/src/assets/styles.scss b/src/assets/styles.scss index 64c78dd..730cd36 100644 --- a/src/assets/styles.scss +++ b/src/assets/styles.scss @@ -115,8 +115,17 @@ hr { @apply text-primary-500 hover:bg-primary-500 hover:text-white; } + pre, + code { + @apply bg-secondary-900 #{!important}; + } + pre { - @apply bg-secondary-900 px-4 py-2 mb-6; + @apply px-4 py-2 mb-6; + } + + :not(pre) > code { + @apply px-1; } table { diff --git a/src/content/articles/blog/my-first-app-on-play-store.md b/src/content/articles/blog/my-first-app-on-play-store.md new file mode 100644 index 0000000..4d6481b --- /dev/null +++ b/src/content/articles/blog/my-first-app-on-play-store.md @@ -0,0 +1,29 @@ +--- +title: Publishing my first app on Play Store! +description: My experience on developing and publishing my first app on Play Store. +category: blog +tags: [first-app, play-store] +time: 2023-11-29T14:10:08.701Z +--- + +# Firstly, thank you all! + +I'm happy to announce that [Symphony has been published in Play Store 🎉](https://play.google.com/store/apps/details?id=io.github.zyrouge.symphony)! I thank every donator and contributor who has constantly contributed in the hopes of making it better for everyone. + +# How did it start? + +The only thing that made me do this project was a very simple feature, sorting by filename. And surprisingly, no good music player had it. As a person who was just starting to move towards local music, I did not know about M3U playlists, and I really need that. + +So, I decided to take matter into my own hands. But, I was not very fond of Flutter's way of handling Android-specific things. "Maybe, what if I just learnt Android development?". Yet again, I was not interested in traditional XML way of making user interface. I decided to take the risk and learn Jetpack Compose. Even though, it was not production ready, I went ahead with it. + +# How do I feel about Jetpack Compose? + +Jetpack Compose takes an approach of "everything is a component in a render tree" and it works very well (until it doesn't work). The way it rendered was way more performant and smoother than Flutter. But the reactivity, Flutter still excels at it. Compose tries to do it the hard way and faces the issues of that approach. Comparing stateful data to decide reactivity might be performant but comes at the cost of not being able to force any changes. For example, reactivity with list was painful to work with. It would 100% crash if you updated a large `MutableStateList` every second. Also, you cannot use immutable `List`s directly with components. But, I do have to agree that these issues partially resolved over multiple releases of Compose Runtime. Even then, I had to migrate over to `StateFlow`s, which was very scary. + +# Did open-source really work? + +I can confidently say "if money is your motive, you cannot pull this off as an individual". How much richer did I get? 0%. Was it worth it? Hell yes! I loved how people came forward with their feedback, thoughts and ideas. 90% of the cool features were recommended by individuals. That aside, some people did come forward by making pull requests (notable PRs were [#240](https://github.com/zyrouge/symphony/pull/240), [#58](https://github.com/zyrouge/symphony/pull/58) and [#212](https://github.com/zyrouge/symphony/pull/212)). I thank [@Atrafon](https://github.com/Atrafon), [@kuragehimekurara1](https://github.com/kuragehimekurara1), [@Icarus-Xu](https://github.com/Icarus-Xu), [@ghostnear](https://github.com/ghostnear) and [@Krintni](https://github.com/Krintni) for the continuous contributions of translations. I also thank the F-Droid team/contributors for helping me out to get Symphony on F-Droid (F-droid is awesome btw). + +# Conclusion + +I wanted this to happen. And it did. And it was worth it all the way along. diff --git a/src/content/articles/raining-thoughts/are-insecurities-worth-hiding.md b/src/content/articles/raining-thoughts/are-insecurities-worth-hiding.md index 50bf5bc..3838d95 100644 --- a/src/content/articles/raining-thoughts/are-insecurities-worth-hiding.md +++ b/src/content/articles/raining-thoughts/are-insecurities-worth-hiding.md @@ -3,7 +3,7 @@ title: Are insecurities worth hiding? description: Why one should never hide their insecurities. category: raining-thoughts tags: [philosophy, life] -time: 2022-03-30T18:41:00+05:30 +time: 2022-03-30T13:11:00.000Z --- # Introduction diff --git a/src/content/articles/raining-thoughts/experience-of-an-introvert.md b/src/content/articles/raining-thoughts/experience-of-an-introvert.md index 71f5a5e..00e79e7 100644 --- a/src/content/articles/raining-thoughts/experience-of-an-introvert.md +++ b/src/content/articles/raining-thoughts/experience-of-an-introvert.md @@ -3,7 +3,7 @@ title: An Introvert Experience description: Things an introvert experience in their life. category: raining-thoughts tags: [philosophy, life] -time: 2022-03-25T19:09:00+05:30 +time: 2022-03-25T13:39:00.000Z --- # Introduction diff --git a/src/content/articles/raining-thoughts/hope-for-best-or-prepare-for-worst.md b/src/content/articles/raining-thoughts/hope-for-best-or-prepare-for-worst.md index e53134f..8988592 100644 --- a/src/content/articles/raining-thoughts/hope-for-best-or-prepare-for-worst.md +++ b/src/content/articles/raining-thoughts/hope-for-best-or-prepare-for-worst.md @@ -3,7 +3,7 @@ title: Hope for the best or prepare for the worst? description: Should we hope for the best or prepare for the worst? category: raining-thoughts tags: [philosophy, life] -time: 2022-03-20T14:53:00+05:30 +time: 2022-03-20T09:23:00.000Z --- # Introduction diff --git a/src/content/articles/raining-thoughts/uncertainty-of-life.md b/src/content/articles/raining-thoughts/uncertainty-of-life.md index dfb899e..a196ff2 100644 --- a/src/content/articles/raining-thoughts/uncertainty-of-life.md +++ b/src/content/articles/raining-thoughts/uncertainty-of-life.md @@ -3,7 +3,7 @@ title: Life's Paradox description: The uncertainty of human emotions and existence. category: raining-thoughts tags: [philosophy, life] -time: 2022-05-05T20:15:00+05:30 +time: 2022-05-05T14:45:00.000Z draft: true --- diff --git a/src/content/articles/raining-thoughts/unrealistics-expectations.md b/src/content/articles/raining-thoughts/unrealistics-expectations.md index c9dd0e8..4d01673 100644 --- a/src/content/articles/raining-thoughts/unrealistics-expectations.md +++ b/src/content/articles/raining-thoughts/unrealistics-expectations.md @@ -3,7 +3,7 @@ title: Unrealistic Expectations description: Why having higher expectations lead to disappointment. category: raining-thoughts tags: [philosophy, life] -time: 2022-04-02T13:48:00+05:30 +time: 2022-04-02T08:18:00.000Z --- # Introduction diff --git a/src/content/articles/raining-thoughts/why-i-prefer-anime.md b/src/content/articles/raining-thoughts/why-i-prefer-anime.md index 4bff219..4d665d6 100644 --- a/src/content/articles/raining-thoughts/why-i-prefer-anime.md +++ b/src/content/articles/raining-thoughts/why-i-prefer-anime.md @@ -3,7 +3,7 @@ title: Anime over others description: Why I preferred Anime over TV shows and movies. category: raining-thoughts tags: [philosophy, life] -time: 2022-06-02T19:25:00+05:30 +time: 2022-06-02T13:55:00.000Z --- # Introduction