From abf375e58d9bd8f99fd5a68e8bd896d955294f96 Mon Sep 17 00:00:00 2001 From: Ignatius Bagus Date: Thu, 23 Oct 2025 22:11:19 +0700 Subject: [PATCH 1/2] orbital cycle --- .../apex/src/lib/components/Badge.svelte | 1 + .../src/lib/components/bits/SeriesList.svelte | 2 +- workspace/apex/src/routes/content/builder.ts | 16 ++-- .../src/routes/content/posts.json/+server.ts | 3 +- .../curated/harvest-2020.10/+article.md | 4 +- .../routes/posts/24k-journey/+article.md | 89 ++++++------------- .../aria-label-vs-title-attribute/+article.md | 2 +- .../posts/beginning-of-the-end/+article.md | 39 ++++++++ .../+article.md | 2 +- .../css-framework-is-wasteful/+article.md | 2 +- .../routes/posts/digital-garden/+article.md | 4 +- .../routes/posts/fix-double-nat/+article.md | 2 +- .../posts/fractured-memories/+article.md | 2 +- .../posts/hundredth-light-year/+article.md | 77 ++++++++++++++++ .../mental-exhaustion-is-no-joke/+article.md | 2 +- .../+article.md | 89 ------------------- .../routes/posts/opting-out/+article.md | 2 +- .../+article.md | 53 ----------- .../quarter-life-renaissance/+article.md | 38 ++++---- .../posts/rip-google-domains/+article.md | 2 +- .../routes/posts/simplicity/+article.md | 2 +- .../+article.md | 2 +- workspace/content/schema/curated.js | 2 +- workspace/content/schema/posts.js | 56 ++++++++++++ workspace/content/schema/reviews.js | 2 +- 25 files changed, 248 insertions(+), 247 deletions(-) create mode 100644 workspace/content/routes/posts/beginning-of-the-end/+article.md create mode 100644 workspace/content/routes/posts/hundredth-light-year/+article.md delete mode 100644 workspace/content/routes/posts/one-hundredth-of-a-light-year-across-the-milky-way/+article.md delete mode 100644 workspace/content/routes/posts/prologue-to-the-beginning-of-the-end/+article.md create mode 100644 workspace/content/schema/posts.js diff --git a/workspace/apex/src/lib/components/Badge.svelte b/workspace/apex/src/lib/components/Badge.svelte index fe5d9203..49f3f46a 100644 --- a/workspace/apex/src/lib/components/Badge.svelte +++ b/workspace/apex/src/lib/components/Badge.svelte @@ -16,6 +16,7 @@ git: ['#f54d27', '#413932'], github: ['#24292e', Contrast.LIGHT], html: ['#e34c26', Contrast.LIGHT], + introspection: ['#4caf50', Contrast.LIGHT], javascript: ['#f7df1e', Contrast.DARK], life: ['#4caf50', Contrast.LIGHT], lighthouse: ['#304ffe', Contrast.LIGHT], diff --git a/workspace/apex/src/lib/components/bits/SeriesList.svelte b/workspace/apex/src/lib/components/bits/SeriesList.svelte index eae6d3a1..f7158f69 100644 --- a/workspace/apex/src/lib/components/bits/SeriesList.svelte +++ b/workspace/apex/src/lib/components/bits/SeriesList.svelte @@ -50,7 +50,7 @@ {#if chapter} {chapter} - + {/if} {title} diff --git a/workspace/apex/src/routes/content/builder.ts b/workspace/apex/src/routes/content/builder.ts index 3a7fa9ac..9f082668 100644 --- a/workspace/apex/src/routes/content/builder.ts +++ b/workspace/apex/src/routes/content/builder.ts @@ -111,16 +111,12 @@ export const ROUTES = { define(({ optional, array, literal, string }) => ({ updated: optional(string()), date: string(), - theme: optional( - literal( - 'reflection', // personal thoughts or reflections on a topic - 'essay', // opinionated long-form exploration of a subject - 'guide', // practical instructions or how-to - 'moment', // brief observation or thought, short or small insight - 'archive', // republishing or preserving content for reference - 'pending', // unassigned or awaiting categorization - ), - 'pending', + theme: literal( + 'reflection', // personal thoughts or reflections on a topic + 'essay', // opinionated long-form exploration of a subject + 'guide', // practical instructions or how-to + 'moment', // brief observation or thought, short or small insight + 'archive', // republishing or preserving content for reference ), title: string(typography), series: optional({ diff --git a/workspace/apex/src/routes/content/posts.json/+server.ts b/workspace/apex/src/routes/content/posts.json/+server.ts index b77b71f7..c2ac7666 100644 --- a/workspace/apex/src/routes/content/posts.json/+server.ts +++ b/workspace/apex/src/routes/content/posts.json/+server.ts @@ -24,7 +24,7 @@ export async function GET() { map[series.title].push({ slug, title, chapter: series.chapter || '' }); } for (const key in map) { - map[key].sort((a, b) => a.chapter.localeCompare(b.chapter) || a.title.localeCompare(b.title)); + map[key].sort((x, y) => x.chapter.localeCompare(y.chapter) || x.title.localeCompare(y.title)); } return json({ @@ -40,7 +40,6 @@ export async function GET() { ['guide', 'Guide'], ['moment', 'Moment'], ['archive', 'Archive'], - ['pending', 'Pending'], ], tags: [...new Set(items.flatMap((p) => p.tags))].filter((t) => t).sort(), sort_by: [ diff --git a/workspace/content/routes/curated/harvest-2020.10/+article.md b/workspace/content/routes/curated/harvest-2020.10/+article.md index bff24b5b..207859b4 100644 --- a/workspace/content/routes/curated/harvest-2020.10/+article.md +++ b/workspace/content/routes/curated/harvest-2020.10/+article.md @@ -88,11 +88,11 @@ An epic showdown and ending to the Animator vs. Animation saga, watch the final ## headlines -### One-Hundredth of a Light-Year Across the Milky Way +### One-Hundredth of a Light-Year Away This month marks another completed revolution for me. This time, I felt the need to make a special post to commemorate it. It's in my best interest to make this as general as possible, so that all of the readers would still understand and get my point. I do reserve the last section for everyone that's been involved in my life, one way or another. -see: [article](/posts/one-hundredth-of-a-light-year-across-the-milky-way) +see: [article](/posts/hundredth-light-year) ### Minecraft caves and cliffs update announced diff --git a/workspace/content/routes/posts/24k-journey/+article.md b/workspace/content/routes/posts/24k-journey/+article.md index 18e8681d..6724c523 100644 --- a/workspace/content/routes/posts/24k-journey/+article.md +++ b/workspace/content/routes/posts/24k-journey/+article.md @@ -1,84 +1,53 @@ --- -date: "2023-10-24" +date: 2023-10-24 theme: reflection -title: 24K Journey - The Pursuit of a Meaningful Life -description: The 24th year of both introspection and retrospection, a journey towards a meaningful and fulfilling life encompassing happiness and reason for existence. -tags: [life, reflection, stoicism] +title: In Pursuit of a Meaningful Life +series: + title: Orbit + chapter: 3 +description: "refining myself through happiness, discipline, and purpose." +tags: [introspection] --- -24 karat (often abbreviated as 24K) is a unit of measurement used to describe pure gold, which is the purest and highest quality of gold available. Achieving 100% purity is nearly impossible to attain, which is why 24K gold is permitted to have a purity of 99.9% or higher, with the remaining 0.1% being trace impurities to also increase its durability, otherwise it would be too soft for any practical use. +24 karat is the measure of pure gold. it's the highest attainable quality, with a purity of 99.9%. that remaining 0.1% of trace impurities gives it strength; without them, gold would be too soft to hold its form. similarly, i've come to see life in the same way... -## Happiness +## happiness -If you found yourself stripped of everything — no job, no money, no home, no friends, no family, not even a name — nothing but your soul, who would you be then? In that stark emptiness, you'd come to realize that everything outside you is but a complement to the person you already are. No amount of possessions can ever complete you, and no number of people can make you love yourself. The key lies within yourself; cultivating gratitude is the path to genuine contentment. When you feel like you have nothing, look within and realize you are everything to begin with. +if i find myself stripped of everything, who would i be then? in that stark emptiness, all i have left is myself. everything external is but a complement to who i am, none of which is a part of my core being. no amount of possessions can ever fill the void within, and no amount of validation from others can make me love myself more. the core isn't defined by what i own or how others see me, nothing outside can complete me, because i am already whole to begin with. -Happiness was never about our job, or degree, or being in a relationship, or following in the footsteps of all of the people who came before us. It wasn't about conformity and never about being like the others. Happiness has always been a journey of self-discovery, hope, and the willingness to listen to our heart and following wherever it chose to go. Happiness is about being kinder to ourself and embracing the person we are becoming. Our happiness was never in the hands of others; it has always been a matter of self-acceptance, finding contentment within, and learning how to live with ourself. +happiness, i've realized, was never about acquiring more. no amount of wealth, achievements, or approvals can ever truly satisfy the soul. happiness has always been a journey — the willingness to listen my heart and discovering myself along the way, being kinder and embracing the person i'm becoming. i spend much of my life chasing after things i thought would make me happy, and i forgot to stop and notice what was already here. -Meditation is one of the best and most powerful practice we can do for nurturing gratitude and mindfulness. It helps us learn how to be aware of our thoughts and emotions, establishing a strong connection with ourself, enabling us to be comfortable with our own company and find peace with our thought. Within the stillness of meditation, we can learn to fully control our mind, giving us tremendous benefits by cultivating the abilities to be present, calm, and clear-headed. You may be able to get away with not doing this for [`#happiness`](#happiness), but this will be crucial for some people in [`#purpose`](#purpose). +happiness was never in the hands of others; it is about being content in the present and embracing authenticity, including all the flaws and imperfections. when i finally accepted that, i feel like i've unlocked and acquired both [grit and resilience](https://www.youtube.com/watch?v=8Fd06U-3TAY&t=641s). to be passionate and persevere, to adapt and recover from any adversity, to have my mind and spirit be resolute, to have an unwavering courage in the face of hardship, and to overcome any obstacle that comes my way. by harnessing and channeling my emotions to cultivate discipline, i can feel unshakable and unstoppable. - +## discipline -This journey isn't about forcing self-love, which can feel unnatural. Instead, it's a process of accepting yourself and embracing your authentic self. As you break through this barrier, you'll discover the ability to excel in both grit and resilience. You'll have the combination of passion and perseverance with grit, and the ability to adapt and recover from adversity with resilience. Your mind and spirit will grow resolute, giving you an unwavering courage in the face of hardship or danger and the capacity to withstand and overcome difficult circumstances. When you learn to harness and channel your emotions to cultivate discipline, you'll find yourself on the path to becoming unstoppable. +discipline enables us to maintain consistency and laser-like focus over time, but cultivating it requires more than just the exertion of willpower, it's not something we can sustain through sheer force. to understand deeper, let's examine what causes the *lack* of discipline in the first place. -\*Grit and Resilience: [It's Not Over Until I Win](https://youtube.com/clip/UgkxdQcQWeJTrjPS4iwLQm1OEaa6X3Lwy2FY?si=cElLHEIfCCqBeIxv) +doubt or a wavering state of mind. when uncertainty creeps in, we tend to question ourselves, and this gets in the way of our discipline. on the other hand, the absence of doubt enables us to carry out tasks, we feel *resolved* and guided by a strong sense of purpose. -## Resolve +resolve can be cultivated. however, we often make the mistake of trying to build it through grand gestures or on special occasions such as new year, birthdays, or other milestones. unlike habits and willpower, emotions fluctuate the most on a day-to-day basis within our minds, and [resolve is one such emotion](https://www.youtube.com/watch?v=0N0LV0mqTYQ). -We all know the importance of discipline, it enables us to maintain consistency and laser-like focus over time. However, cultivating discipline is hard because we don't really understand what it is. We think of discipline as the exertion of willpower, but it is something we can sustain temporarily before it inevitably runs out, leading to setbacks as we start failing again. +> emotions cannot be selectively muted, they are felt in their entirety or not at all. people who are emotionally numb are disconnected from their feelings and don't feel anything deeply. while this numbness may protect them from negative emotions, it also robs them of the capacity to foster positive ones like resolve. -To understand deeper, let's examine what causes the lack of discipline: doubt, or a wavering state of mind. When we're uncertain about our goals, we tend to question ourselves in many ways, and this gets in the way of our discipline. In contrast, the absence of doubt enables us to carry out tasks consistently and with unwavering focus. A strong sense of purpose guides our way, we feel resolved internally, and our actions exhibit discipline. +being disciplined means cultivating resolve on a daily basis. capture mental snapshots of the moments when you feel most driven and resolute, and use them as fuel for your willpower. start with small or easy tasks that you can do consistently, something that won't be emotionally taxing or overwhelming. visualize resolve as your inner fire, a small flame that you stoke daily until it grows and blazes brightly. through that cultivation, you will gain the required emotional energy to carry you forward. -So, how do we learn to cultivate resolve? We often make resolutions on special occasions such as New Year's, birthdays, or significant life events. Unfortunately, we struggle to keep it going, and that is the same with emotion. Unlike habits and willpower, emotions fluctuate the most on a day-to-day basis within our minds, and [resolve is one such emotion](https://www.youtube.com/watch?v=0N0LV0mqTYQ). +## purpose -The key to being disciplined is to cultivate resolve on a daily basis. Pay attention to those moments when you feel resolute; capture mental snapshots of these instances and remember how it feels. You'll discover that resolve fuels your willpower. As you embark on this journey, start with something small or easy for you to do and do it consistently, something that is not emotionally taxing or exceptionally significant. Visualize resolve as your inner fire, something you stoke diligently every day, until it grows and blazes brightly. With this fire that you nurture, you can start using it to fuel on more important goals. Through the cultivation of this positive emotion, you will gain the required emotional energy that will seamlessly infuse your discipline. +*raison d'être*, what is the purpose of life? \ +there isn't a universal one — only the meaning we choose to make. -The unfortunate aspect of discipline being an emotion is that the people who are undisciplined are numb; they are disconnected from their emotions and doesn't feel anything at all. While the numbness shields them from their negative emotions, it simultaneously robs them of the capacity to foster positive ones. Emotions cannot be selectively muted, we either feel everything or nothing at all. +unfortunately, finding purpose is hard these days. most of us are too busy with our daily lives to even think about it, often overwhelmed by external distractions that leave us with a sense of meaninglessness. as life becomes meaningless, we start to seek external sources for quick dopamine rushes, we become so accustomed to instant gratification that we end up externalizing our attention. -Yet, once you've harnessed and mastered your resolve, you unlock a realm of possibilities that once seemed insurmountable. You become an indomitable force of nature filled with determination, rendering everything seemingly effortless, and you'll find yourself feeling unstoppable. +we live surrounded by distractions. constantly scrolling, constantly listening or watching something, there isn't a time when we're not bombarded with external stimuli. the more we fill every silence, the harder it becomes to hear ourselves think. we're bound to lose the ability to pay attention to our internal stimuli, be it our thoughts or feelings. it is not a surprise that we struggle to find our purpose, so much so that there's a [neuroscience evidence](https://youtu.be/NuHEY7CjjTI?si=0JcX0_xwzcxByg46&t=606) that backs up the fact that technology usage can suppress our amygdala and shut down our ability to be in touch with ourself. -## Purpose +in short, we lost the ability to be alone with *boredom*. as the mind quiets and the inner voice starts to speak again, boredom becomes a gateway — that is, if you can sit with it long enough. you don't need to climb mountains or travel the world to "find yourself", though it does help to step away from your usual environment. all you need is just stillness, and the willingness to face what we've been "trained" to avoid for so long. -What is the purpose of life? The truth is, life itself doesn't inherently possess a universal purpose. A sense of purpose — what the French refer to as *raison d'être* — is the reason that gives us meaning, the reason that drives us to live, the reason for existing. Unfortunately, finding purpose is really hard these days, most of us are too busy with our daily lives to even think about it, often overwhelmed by external distractions, until we're left with a sense of meaninglessness. As life becomes meaningless, we start to seek on external sources for quick dopamine rushes, and with the acceleration of technology, we're simply becoming addicted to the instant gratification they provide, ultimately externalizing our attention. +when you reduce external stimulations, we can be closer to ourselves. then, as we keep exhausting our thoughts, to the point where we feel intense boredom, to the point where we reach the end of the train of thought, that's when we can begin to see our life clearly. we'll be hypersensitive to everything internally, we can start to hear our true self, and that's where purpose reveals itself. -Constantly checking our phones, scrolling through social media, listening or watching to something, or playing video games. With all of these distractions within the reach of our fingertips, and having your attention externalized at every moment of the day, we're bound to lose the ability to pay attention to our internal stimuli, be it our thoughts or feelings. We don't really know what we think, hence we struggle to find our purpose (there's actually [neuroscience evidence](https://youtu.be/NuHEY7CjjTI?si=0JcX0_xwzcxByg46&t=606) that shows technology usage can suppress our amygdala and the limbic shuts down our ability to be in touch with ourself). +the purpose isn't with life itself, but rather in the pursuit of it. it is within every single one of us, and nobody else can answer on our behalf, nobody but ourselves can fill that void. through this discovery, we can start to align a life out of it, tolerating the difficulties of life, doing hard things because we know why and what for, because we care for the life we're building. -Here's where boredom comes in, playing the role of a stimulation seeking emotional state. When our mind is not getting the stimulation it wants, it's going to make us feel bored, and we're going to seek out some kind of stimulation, which is usually something external these days. However, if we can learn to control ourselves and embrace boredom, we can stop drowning our internal stimuli from the outside, our inner voice will be able to start speaking up much more clearly, and we can start to find ourselves. +## 24K you -What does it mean to "find ourselves", aren't we with ourselves all the time? No, actually. In fact, we're so far away with ourselves because of all these digital stimulations. This is the reason why we can see people go on a journey, they travel the world, they go hiking, to the mountains, or the forest for some time, and they come back with clarity in their eyes as they've found themselves. +the quality of gold is measured by the purity of its content; similarly, the essence of a person is gauged by their character and integrity. 24K isn't about pursuing perfection; a person's virtues more often reflect how authentic and refined they are. -Now, we don't have to literally go on a journey around the world, what we need to do is to reduce external stimulations and reach the end of thought. Meditation will help us immensely in this regard, as it's a practice of being alone with our thoughts, keep exhausting our thoughts until we feel a period of intense boredom. When we're able to make it through this phase, our thoughts will start to slow down, we start to gain control of our mind, until we eventually reach the end of thought. At this point, we'll be hypersensitive to everything internal, we can start listening to ourselves, and we can start to align a life out of our own values. - -To answer the question at the start; the purpose of life is not in life, it's in you. That sense of purpose comes from within each and every one of us, no one else can answer on your behalf, nobody but yourself can fill in the void. Once you discover your purpose, you can start to align a life out of it, you'll be able to tolerate the difficulties of life, you can do hard things because you know why you're doing it and you care for the life that you're building. It becomes so much easier and enjoyable to live life, and you'll be able to live a life of meaning. - -## 24K You - -The quality of a gold is determined by its inherent self-content, with a higher karat value signifying greater fineness and purity. Similarly, the essence of a human being is gauged by their inner qualities and character. Just as a higher karat values indicated finer and purer gold, a person's virtues, integrity, and character traits can reflect a more refined and authentic human being. - -With the advancements of technology, we've become too comfortable with all the digital conveniences, we've lost touch with ourself and have grown accustomed to external stimuli, constantly craving for more. We've essentially forgotten how to enjoy solitary moments of self-reflection, just being alone with ourselves and our thoughts. We are left feeling numb, and we let things happen rather than making things happen. - -To regain control of our life and be whole again, we'll first have to learn how to be comfortable with ourself and find happiness from within. Building up grit as we go, we'll learn to be resilient and bounce back from adversity. As we're starting to feel content with ourself, we'll be able to easily control our emotions, until we've mastered them and are able to summon the feeling of resolved, at will. Use this to reach the end of thought, find your purpose and align a life out of your own values. - -With this newfound powers and epiphany, you'll be able to dream of something that you really want to do. However, dream without goals are mere fantasies, and in the end, they lead to disappointment. Combine everything that you've learned here to breathe life into your dreams. Commitment ignites the spark and gets you started, but it's your consistent effort (or *resolve* as we've learned earlier) that fuels your journey, pushing you forward until you reach the end goal. You will be unstoppable, achieving anything you set your mind to. - -I'd like to list some mantras that I've been repeating to myself here, as a reminder to myself and to share with you: - -- I am the best I can be, and I will be the best I can be -- I can be better than I was yesterday, and I will be better tomorrow -- I won't do it one day, today is day one -- I don't have to have an opinion on everything -- Never be overheard complaining, not even to yourself -- Step by step, I'll get there eventually - ---- - -If you've skipped through to this section, I hope I've summarized the key points enough for it to make sense. If you've reached this part of the article and you're still reading, I really hope you've found some value in it, at least enough to see life in a different perspective. If you're someone I know personally and have recently caught up with, I'm glad that we're still able to keep in touch, and I'm grateful for the time we've spent together. If not, then what are we waiting for?! - -Anyway, I'm turning 24 today. I feel like I'm at my purest and highest potential, yet I'm still feeling better than I was yesterday, which is definitely a good sign. I want to maintain the belief that I'm the best I can be every day while also living with a growth mindset, convincing myself that I can and should strive for continuous improvement, even if it's just a small step each day. There's definitely still ways to go, and I'm just repeating my mantras at this point, but I believe I've reached my 24K excellence. What about you? How's your 24K journey? - ---- -Reference(s): - -- -- -- -- +with the advancements of technology, we've become too comfortable with all the digital conveniences and lost touch with ourselves. grown too accustomed to external stimuli, constantly craving more. we've essentially forgotten how to enjoy solitary moments of self-reflection, left feeling numb and letting things happen rather than making things happen. one of the best things we can do to take back control of our life is to find contentment from within, and practice living with [The Art of Less](/posts/art-of-less). diff --git a/workspace/content/routes/posts/aria-label-vs-title-attribute/+article.md b/workspace/content/routes/posts/aria-label-vs-title-attribute/+article.md index eedcc8f6..52218c85 100644 --- a/workspace/content/routes/posts/aria-label-vs-title-attribute/+article.md +++ b/workspace/content/routes/posts/aria-label-vs-title-attribute/+article.md @@ -2,7 +2,7 @@ date: "2023-11-03T18:00:00+07:00" theme: guide title: "ARIA: aria-label vs. title attribute" -description: What's the difference, and which one should you use? +description: "What's the difference, and which one should you use?" tags: [accessibility, html] --- diff --git a/workspace/content/routes/posts/beginning-of-the-end/+article.md b/workspace/content/routes/posts/beginning-of-the-end/+article.md new file mode 100644 index 00000000..c9664c3b --- /dev/null +++ b/workspace/content/routes/posts/beginning-of-the-end/+article.md @@ -0,0 +1,39 @@ +--- +date: 2021-10-24 +theme: reflection +title: Prologue to the Beginning of the End +series: + title: Orbit + chapter: 2 +description: leaving pressure behind and learning to begin again after the end of one chapter. +tags: [introspection] +--- + +this was meant to be published a month earlier — on the 19th of September, to be exact. something significant happened that day, or at least, i'd like to think so. + +for reasons i can't quite remember now, i delayed it. in hindsight, that delay turned out to be a good thing. so much happened within that short span that it changed the entire tone of this piece — what was once a dark reflection has softened into something else entirely. + +## fragmented memories + +it's been months since [i stopped using social media](/posts/opting-out). or more accurately, since i stopped *caring* about it. the accounts are still there, but i no longer feel the pull to update or scroll through them. life feels calmer and my days move slower, and not in a bad way. i spend more time with my family — especially my parents — and i can actually feel moments sink into memory, not just my camera roll. maybe that's what living is supposed to feel like. maybe it's the damn phone after all... + +i know this is a privilege to not have to care about these things. not everyone can simply step away from these platforms, and we've grown so accustomed to watching others' stories that we've forgotten how to live our own. at first, it felt isolating — not knowing what's happening "out there", not sharing, not being seen. but the people who truly matter always find a way to reach out, wherever you are. + +## four years of peer pressure + +you probably already know what i'm referring to. those four years weren't exactly the best, nor the worst, but they were heavy. there were moments when i questioned everything, from "why i was there", "what was the point of it all", and "whether i was slowly losing my mind". much of what was *required* felt meaningless. even now, i struggle to see the merit behind them. + +still, it wasn't all for nothing. i gained skills and experiences that wouldn't have been accessible if i hadn't gone through this, but my sanity took quite a toll. my mental state faltered toward the end, and i found myself thinking in ways i never thought i would, which i find unsettling. well, it's been a while since then, and i'm much better now. i don't resent those years, and i've learned what not to repeat. specifically, if and when i have children. + +## memento vivere + +i'm deeply grateful to be where i am right now. i know that luck played a part, but i believe my consistent efforts did too. opportunities don't appear out of nowhere, they're often built from the stubborn persistence of showing up every day, until luck doesn't matter anymore. + +> success is not final, failure is not fatal; it is the courage to continue that counts. \ +> — Winston Churchill + +you are your own measure. you're allowed to move at your own pace. there's no need to compare yourself to others, the only comparison worth making is with who you were yesterday. when you feel lost, remember why you started. no one else can walk that path for you. + +thank you for reading — and to those who know me personally, thank you for being part of my life, even in the smallest ways. be happy for this moment; it's the only one that's truly yours. + +until next time, godspeed. diff --git a/workspace/content/routes/posts/cors-crash-course-client-or-server/+article.md b/workspace/content/routes/posts/cors-crash-course-client-or-server/+article.md index 979843f5..f65fba2c 100644 --- a/workspace/content/routes/posts/cors-crash-course-client-or-server/+article.md +++ b/workspace/content/routes/posts/cors-crash-course-client-or-server/+article.md @@ -1,7 +1,7 @@ --- date: "2020-07-30T17:38:25+07:00" theme: archive -title: CORS Crash Course - Client or Server? +title: "CORS Crash Course - Client or Server?" description: A brief yet sufficient explanation for Cross-Origin Resource Sharing (CORS) tags: [tutorial, javascript, cors] --- diff --git a/workspace/content/routes/posts/css-framework-is-wasteful/+article.md b/workspace/content/routes/posts/css-framework-is-wasteful/+article.md index f9ad03ee..ff8946e6 100644 --- a/workspace/content/routes/posts/css-framework-is-wasteful/+article.md +++ b/workspace/content/routes/posts/css-framework-is-wasteful/+article.md @@ -2,7 +2,7 @@ date: "2021-02-26T17:38:25+07:00" theme: moment title: CSS Framework Is Wasteful -description: Do you really need a CSS framework? Here's why I think I don't +description: "Do you really need a CSS framework? Here's why I think I don't" tags: [coding, css, framework] --- diff --git a/workspace/content/routes/posts/digital-garden/+article.md b/workspace/content/routes/posts/digital-garden/+article.md index f4851af8..32e38db0 100644 --- a/workspace/content/routes/posts/digital-garden/+article.md +++ b/workspace/content/routes/posts/digital-garden/+article.md @@ -1,8 +1,8 @@ --- date: 2025-10-15 -title: Digital Garden theme: reflection -description: on tending a garden as a way of cultivating knowledge and ideas over time, a digital space that grows into a kind of second brain. +title: Digital Garden +description: "on tending a garden as a way of cultivating knowledge and ideas over time, a digital space that grows into a kind of second brain." tags: [writing] --- diff --git a/workspace/content/routes/posts/fix-double-nat/+article.md b/workspace/content/routes/posts/fix-double-nat/+article.md index 07fea9cd..2573ebf4 100644 --- a/workspace/content/routes/posts/fix-double-nat/+article.md +++ b/workspace/content/routes/posts/fix-double-nat/+article.md @@ -3,7 +3,7 @@ updated: "2025-08-26T20:00:00+07:00" date: "2019-01-15T17:38:25+07:00" theme: guide title: Fix Double-NAT on Your Network -description: detect and fix Double-NAT issues that break remote access in apps like Plex, using traceroute, bridge mode, and port forwarding. +description: "detect and fix Double-NAT issues that break remote access in apps like Plex, using traceroute, bridge mode, and port forwarding." tags: [tutorial, networking] --- diff --git a/workspace/content/routes/posts/fractured-memories/+article.md b/workspace/content/routes/posts/fractured-memories/+article.md index 8e823b28..0f98b5d4 100644 --- a/workspace/content/routes/posts/fractured-memories/+article.md +++ b/workspace/content/routes/posts/fractured-memories/+article.md @@ -2,7 +2,7 @@ date: 2025-10-10 theme: reflection title: An Outsider Inside Myself -description: the strange feeling of living my own life, yet remembering it as if i were watching someone else's. +description: "the strange feeling of living my own life, yet remembering it as if i were watching someone else's." tags: [memory, introspection] --- diff --git a/workspace/content/routes/posts/hundredth-light-year/+article.md b/workspace/content/routes/posts/hundredth-light-year/+article.md new file mode 100644 index 00000000..0c77ff88 --- /dev/null +++ b/workspace/content/routes/posts/hundredth-light-year/+article.md @@ -0,0 +1,77 @@ +--- +date: 2020-10-24 +theme: reflection +title: One-Hundredth of a Light-Year Away +series: + title: Orbit + chapter: 1 +description: learning to live at my own pace within the vastness of the universe. +tags: [introspection] +--- + +it's strange to think that after all these years, i've only traveled a little more than one-hundredth of a light-year across the milky way — what a minuscule amount it is. over twenty revolutions around the sun, and yet the number feels almost comical. it's a humbling reminder of how small we are in the grand scheme of the universe, a speck of dust in the vast cosmic ocean. + +time itself is a human construct, something we built to make sense of existence. growing older doesn't necessarily mean growing wiser; some people simply accumulate years without reflection. i've met younger souls who understand life far better than those twice their age. i try to stay open-minded, to meet people as they are rather than through the lens of gossip or assumption. + +## past + +years ago, i told a friend something i still stand by: *"i don't care what others say about you and i don't want to know either. if i want to know you better, i'll ask you myself."* it wasn't said with any other intention than to be sincere: that i want to hear their story from them directly, without filters or second-hand interpretations. + +i'm quite forgetful when it comes to people. i could literally leave a chat unread for days, but then reply as if no time has passed. i just can't help it; i do feel bad about it, but it's really not done with malice. similarly, i could have different answers to the same question asked at different times, simply because i forgot or my perspective changed over time. + +## present + +not long ago, that same topic came up again with a close friend. she was hurt by people talking behind her back — something i've never had patience for. badmouthing others is a cowardly act, and i have zero tolerance or respect for it. + +> criticize to help someone become better, not to feel superior. + +this doesn't mean to always be honest without tact. constructive criticism is valuable when given with kindness and the intent to help. honesty without kindness is cruelty, and kindness without honesty is manipulation. + +going back to my friend, i reminded her that other people's opinions shouldn't weigh more than her own self-worth. those who talk behind your back are rarely worth listening to. if someone has something real to say, they'll say it to your face. + +> you can't please everyone. you're not meant to. live in a way that feels honest to you. + +most people are too absorbed in their own lives to give a shit about others. worrying about being judged is exhausting and pointless — everyone else is likely doing the same thing in their heads. make yourself a priority, you're the only constant companion you'll ever have. + +despite my forgetfulness, i'm glad that certain values remain embedded deeper than thought, ingrained within my subconscious. + +## future + +i've long [stepped away from most social media](/posts/opting-out). i didn't delete everything — partly for archival reasons, and partly so that people can still find me if they need to. but for the most part, those spaces now exist as remnants of who i once was, preserved as an online reminiscence for the future. + +quitting social media had a huge impact on my life. my mind feels lighter, i feel like i have a lot more time for myself and those i care about, i feel more content with what i have and in turn, happier. + +> if you can't think of anything kind to say, say nothing at all. + +even though simple, this has been a line i've remembered for years. whenever i feel the urge to say something negative about someone, i pause and reflect. silence is often the best response, and will result in an outcome far better than any words could achieve. + +## philosophy + +i learned to not let other people's opinions dictate my sense of self. it doesn't mean that i can use that as an excuse to be inconsiderate, but it's more about being at peace with who i am, so long as my existence doesn't harm others. + +if i catch myself judging someone — be it for their taste, habits, or hobbies — i remind myself and ask: *what does it matter to me?* most of the time, the answer is none. when you stop caring what others think or stop trying to control how others see you, life softens a lot. you'll realize that the world and life in general isn't so bad after all. you learn to be more relaxed, composed, kinder, and exist without constant comparison or validation. + +another year, another revolution around the sun. i've never cared much for obligatory birthday wishes, especially when they only come once a year. what matters are the small, genuine gestures shared along the way. + +## to you, who + +- kept me company during childhood +- always shared your water bottle with me +- trusted me to testify on your 17th birthday +- always kept me company after school +- dragged me to star in a short film with you +- treated me as a friend no matter what +- traveled the world just to play with me +- shared your thoughts and feelings with me +- went out of your way to help me in ping pong +- trusted and relied on me +- used me cold-bloodedly for your own gain +- stood by me through thick and thin +- welcomed me with open arms and heart +- stood up for me when i couldn't +- forgave me when i wronged you +- taught me valuable lessons about life +- stayed by me when others left +- believed in me when no one else did + +every single one who has been part of my life — whether still present or long gone — *thank you*. after all, you've literally been a part of my life and played a role in shaping the person writing this now, whether through kindness, hardship, or presence alone. every encounter, brief or lasting, has left its trace. diff --git a/workspace/content/routes/posts/mental-exhaustion-is-no-joke/+article.md b/workspace/content/routes/posts/mental-exhaustion-is-no-joke/+article.md index 02438b26..a47c4b8f 100644 --- a/workspace/content/routes/posts/mental-exhaustion-is-no-joke/+article.md +++ b/workspace/content/routes/posts/mental-exhaustion-is-no-joke/+article.md @@ -2,7 +2,7 @@ date: "2020-11-11T17:38:25+07:00" theme: reflection title: Mental Exhaustion Is No Joke -description: This is probably the lowest point in my life, so far. I managed to survive and get back but at what cost? +description: "This is probably the lowest point in my life, so far. I managed to survive and get back but at what cost?" tags: [life, health] --- diff --git a/workspace/content/routes/posts/one-hundredth-of-a-light-year-across-the-milky-way/+article.md b/workspace/content/routes/posts/one-hundredth-of-a-light-year-across-the-milky-way/+article.md deleted file mode 100644 index b38aa4eb..00000000 --- a/workspace/content/routes/posts/one-hundredth-of-a-light-year-across-the-milky-way/+article.md +++ /dev/null @@ -1,89 +0,0 @@ ---- -date: "2020-10-24T17:38:25+07:00" -theme: reflection -title: One-Hundredth of a Light-Year Across the Milky Way -description: My journey after more than one-hundredth of a light-year across the Milky Way or over 20 revolutions around the sun -tags: [life] ---- - -It's sad to know that after all these years, I've only traveled a little more than one-hundredth of a light-year across the Milky Way, what a minuscule amount it is. Even after over 20 revolutions around the sun, seeing how small that number is, it just shows how tiny we are in the galaxy, just a speck of dust in the vast space of the universe. - -Time is something relative made by humans to grasp our existence in this modern world. Being older doesn't always mean knowing more, you could definitely be younger but understand certain things about life better than someone who just happens to be born a couple years earlier. I could say this because I've experienced it firsthand, hence I always try to keep an open mind and disregard any gossip when I'm about to meet someone or an acquaintance. - -## Past - -A couple of years ago I said something to (now) one my close friends, "I don't really care what other people say about you and I don't want to know either", "If I want to know you better, I'll just go to you directly, why would I need to go to other people to know more about you when I could just ask you directly." might not be exactly this, but something along those lines. - -For me, the best way to get to know someone is to just go and ask them directly what I'm curious about and what I want to know more from them. Why do I need to ask someone else when I could just go to the source directly. That's what I felt back then and I've more or less forgot about it, except that's what I thought. - -As some of my friends knew, I'm quite forgetful when it comes to dealing with people. I could literally left a chat unread for a couple of days or weeks, and then come back to reply where we left off. I really don't have any intentions of ghosting my friends and I do feel bad about this, but I truly can't help it. - -Apparently, this applies to my conversation IRL too. I would always only say what's on my mind and I would convey them directly from my feelings at the time. So, if I my answer or view about something is different between then and now, it's just simply because I forgot about it and my feelings have changed since then. - -## Present - -Earlier this month, I talked to my close friend and that topic was brought up again because we were discussing on how she was belittled and bad-mouthed behind her back. I absolutely have no respect for someone who only dares to talk about someone behind their back, I might understand if you're afraid to criticize the person directly, but spreading misinformation? Those are absolute scumbags, truly the lowest of low. - -> Criticize to help them be a better version of themselves, rather than to only belittle - -Of course, I tried to comfort her and went on an hour long rant on how we shouldn't care the least of how or what people thinks about us. We're talking about when someone is talking shit behind you. It's a different story if someone comes up and say something to you directly, you should then listen and contemplate about what you did that make them say that. - -> You can never truly satisfy everyone around you, there will always someone that disagree or hate what you do, so you do you and don't worry about what others think about you - -All of us already have a lot to think about in our mind. The truth is, nobody really cares or pay attention to all and every little things you do, so you don't need to fret over the little things that you did. Think about this, if you constantly think about what others see from you or feel that they're judging you, doesn't that apply to other people as well? - -Don't be a people pleaser, make yourself the highest priority of stuff you should care about the most. You're the only person that would be by your side till the end, not even your partner would be able to be with you all the time till the end. - -I'm telling all of this, as well as my [Past](#past) beforehand, is because I'm genuinely glad that I'm able to keep my integrity after all these years. Even though I've mentioned previously that I forget most of the things I said, I'm happy that this is ingrained in my subconscious mind. - -## Future - -I've decided to drop most of my social media some time ago, I didn't fully purge my account since it would disrupt the balance of my online analytics and presence. Lol no, I just kept it so people who needs it can still search for my account, and so that my past self is preserved as an online historical reminiscence for my future self and of course my offsprings. - -Dropping social media and other time-consuming apps have had a huge impact in my life. I might make a separate dedicated post for this, but I can quite confidently say that I'm happier and my mind is more relaxed than before. I got way more time for myself, family, and those friends around me I truly care about. - -> If you can't think of anything nice to say, don't say anything at all - -This was something I learned some years ago, have kept in mind, and will continue to do so. A closing quote I would want more people to know about. It has helped me in a lot of ways and I hope it does change the way some of you think too. - -## Conclusion - -The thing is, don't worry too much about what other people think about you, just be you the way you want yourself to be. It's not an excuse to be a jerk, as long as you're enjoying yourself without disturbing other people, you do you. - -If find yourself constantly judging someone for their clothing, interest, or hobbies, ask yourself "what does it matter to me". Do you really need to always talk about other people? - -When you stop caring about what others think and not care about the personal preference of other people, that's when you'll realize that the world and life in general isn't so bad after all. You'll be more composed, relaxed, and overall nicer as a person. - -I've survived another year, another revolution around the sun. I don't care about your wishes when it only comes once a year and this isn't exclusive to just myself, but also to those around you. It would not only feel disingenuous, but it would also show how fake you are. - -That aside, if you've been with me throughout these years, whether you're still with me, or has been with me and have moved on, I'm grateful for all the experience we share together. After all, you've quite literally been a part of my life, and have played a role in it. - -Yes, I do remember and am referring to you, if any of you have reached this far, thank you for taking the time to read this, and thank you for playing a part in my life, I'm grateful for all the things we did and didn't do, and also for all the experiences we had together. - -*** -Reference(s): - -- -- - -Acknowledgement(s): - -- All my families and relatives -- You who I share my childhood with -- You who always shared your water bottle with me -- You who made me testify for you on your 17th birthday -- You who always kept me accompanied after school -- You who asked me to star on a short film with you -- You who still treats me as a friend no matter what happens -- You who have traveled kilometers just to play with me -- You who once shared your mind with me -- You who went out of your way to help me in table tennis -- You who relied on me and made me feel needed -- You who went through those hardships together with me -- You who helped me all these times until now -- You who used me cold-bloodedly and taught me things the hard way -- You who welcomed me with open arms and always helped me then -- You who taught me a lot about life and people -- You who stayed by my side when others would've left - -\*Note: list may not be in order and incomplete; *you* may refer to more than one person diff --git a/workspace/content/routes/posts/opting-out/+article.md b/workspace/content/routes/posts/opting-out/+article.md index cd73fd2e..2ec29fad 100644 --- a/workspace/content/routes/posts/opting-out/+article.md +++ b/workspace/content/routes/posts/opting-out/+article.md @@ -2,7 +2,7 @@ date: 2025-10-21 theme: reflection title: Opting Out of the Algorithmic Social Life -description: on asociality and the irony of "social" networks that treat their users as commodities rather than individuals. +description: "on asociality and the irony of social networks that treat their users as commodities rather than individuals." tags: [introspection, culture] --- diff --git a/workspace/content/routes/posts/prologue-to-the-beginning-of-the-end/+article.md b/workspace/content/routes/posts/prologue-to-the-beginning-of-the-end/+article.md deleted file mode 100644 index e84db22e..00000000 --- a/workspace/content/routes/posts/prologue-to-the-beginning-of-the-end/+article.md +++ /dev/null @@ -1,53 +0,0 @@ ---- -date: "2021-10-24T00:00:00+07:00" -theme: reflection -title: Prologue to the Beginning of the End -description: A start to the beginning of the end -tags: [life] ---- - - -This was supposed to be published last month, on the 19th of September to be exact! Something special happened that day, or at least I'd like to think so. - -For reasons I can't remember, I had to delay this for over a month, but I think it was a good thing because a lot more *stuff* happened in between, I don't even know how so much stuff can happen in just a month. - -In the span of this one month delay, it made me change the tone of this post, which was originally really dark, to what you're about to see here. So, enjoy the rest of this read... - -## Fragmented Memories - -It's been months since I stopped using any social media, or perhaps "did not care" was what I'm looking for as I do still have all of my accounts, I just left them for archival purposes and did not use them anymore. I find that I get to enjoy life and what makes me happy way better. I get to spend a lot more quality time with my family, especially my parents, and I find myself enjoying the moment, almost all the time, and having them stick to my long-term memory instead of inside the memory of my phone. I guess I'm also talking about my phone in general when I'm referring to social media. - -I do think I'm lucky to have this privilege of not having to care about those as I know that not a lot of people can just simply move away from apps that takes away your time like it's nothing. We're so used to getting information of other people from their stories or status updates that I feel we're slowly losing our ability to truly socialize, from human to human. It was scary and weird at first, not knowing what is happening *around* you, or not updating your status or stories for everyone to look at, or not having anyone responding back to anything that you do. But fear not, because your true friends are going to find a way to reach out to you and stick by your side. - -This topic deserves a post of itself, both because I find it really interesting, especially when I've experienced it myself right now, and because this is not what we're here for! - -### 4 Years of Peer Pressure - -You know what I meant the moment you saw that number. I'm not gonna lie and pretend that it was the best years of my youth, or if I gain so much that it changed my life. Although, I did gain *something* out of it, I felt I could've done *a lot* more in 4 years doing *other things*... - -It was absolutely painful, especially near the end of it. There are some times where I'm beginning to question my reasons for being there and even my sanity along with it. A lot of the things that were *forcefully* given felt useless and doesn't really have any beneficial values, and I'm still wondering what the purpose was even to this day. - -I do gain a lot of other skills and experiences that won't really be accessible if I didn't give in to this peer pressure, but my mental state took quite a toll from it that even my mind is starting to think of the things that I never would've thought of in my life. - -It's been a couple of months since, and I am feeling a lot better now, thankfully. I don't really have an ending to this, so I'll leave this by saying that I would teach my kids and give them the freedom to choose on their own. - - - -## Memento Vivere - -I am extremely fortunate to be—at the time of writing—here, at this point in my life. A lot of people would kill, figuratively speaking, to have the position I'm in right now. I know a lot of my friends dreams to do what I do. I would be lying if I said luck didn't play a part, but know that we still have a lot of stuff that are in our control, and opportunities can also happen from our own efforts. - -You are yourself. You are important. You count. There is no need to compare it with anyone else besides your old self. Everyone have their own pace, to each their own time. When you feel like giving up, remember why you started! Know that it is you who will get yourself where you want to go, no one else can help or do anything if you don't start. - -> Success is not final, failure is not fatal; it is the courage to continue that counts. -> \- Winston Churchill - -To everyone reading this, thank you, for sticking until the end, and thank you for being here with me. An even more special thank you for you that knows me in person. - -Until next time, Godspeed to you. - -> Be happy for this moment, as this is your life right now diff --git a/workspace/content/routes/posts/quarter-life-renaissance/+article.md b/workspace/content/routes/posts/quarter-life-renaissance/+article.md index 0f1d2e1d..a82a61e7 100644 --- a/workspace/content/routes/posts/quarter-life-renaissance/+article.md +++ b/workspace/content/routes/posts/quarter-life-renaissance/+article.md @@ -1,33 +1,39 @@ --- -date: "2024-10-24" +date: 2024-10-24 theme: reflection title: Quarter-Life Renaissance -description: October canon event — a quarter-century reflection -tags: [life, reflection] +series: + title: Orbit + chapter: 4 +description: reframing the 'quarter-life crisis' as an intellectual rebirth focused on craft over career. +tags: [introspection] --- -In the grand scheme of things, human life is fleeting. A speck of dust in the vastness of the universe, our time here is a mere blink of an eye. Yet, within this short span, we undergo profound phases of growth, reflection, and transformation — some so significant they redefine who we are and how we see the world, *canon events* as some would say. +in the vastness of the universe, human life is fleeting — a speck of dust, a brief flicker in cosmic time. yet within that short span, we grow and change in ways that redefine who we are — *canon events*, as some would say. -As humans, we love categorizing our lives into stages, often defined by age and milestones. One such early stage is the infamous quarter-life crisis — a period often marked by anxiety over the direction and quality of one's life. Clinical psychologist Alex Fowke describes it as "a period of insecurity, doubt, and disappointment surrounding your career, relationships, and financial situation." +## crisis -It's no wonder why so many of us experience this. The overwhelming transition where the freedoms and possibilities of youth begin to give way to the responsibilities and limitations of adulthood can feel daunting. We start to realize the path ahead isn't as clear as we once thought, and that life may not align perfectly with the expectations we held for ourselves. +we like to frame our lives in stages. one of them is the so-called *quarter-life crisis* — a time marked by uncertainty, when the expectations we once carried begin to dissolve. clinical psychologist Alex Fowke describes it as: -## Optimism +> a period of insecurity, doubt, and disappointment surrounding your career, relationships, and financial situation. -Historically, the Renaissance marked a transition from the Middle Ages to modernity — a period of rebirth or revival, often tied to significant social and intellectual change. That's exactly how I feel right now: a personal renaissance, filled with determination and excitement for the next chapter of my life. +it's no surprise that many feel lost during this time. the transition when the freedoms of youth give way to the responsibilities of adulthood can feel overwhelming. we start to see that the path ahead isn't as clear as we once imagined, and life doesn't always align with the plans we made for it. the script we were handed ends, and we're left staring at a blank page. -Life has taken on a new hue recently — charged with energy, fresh ideas, and limitless possibilities. I've always had dreams, ambitions, and goals, but now they feel more tangible, more aligned with who I am today. I've rediscovered my curiosity, become more open to change, and more willing to take risks. My hunger for growth has reignited, and it feels like things are falling into place. Every day isn't just another day anymore — it's an opportunity to learn, create, and evolve. +## pivot -The once distant goals now feel within reach, and the best part is, I'm no longer in a rush to get there. Instead of being preoccupied with where I should be, I'm savoring where I am. The journey has become just as meaningful as the destination. I've come to cherish the little things — the mundane moments and the simple joys that make life beautiful. Whether it's the thrill of a spontaneous adventure, the warmth of a shared meal, or the comfort of quiet moments, these experiences enrich the everyday. +the "crisis" isn't ours to blame; it is a failure of the script itself. the disappointment comes from realizing that "the plan" was never aligned with a meaningful life, only a predictable one. we were taught to chase outcomes — the next degree, the next promotion, getting married, buying a house — but not to love the process of becoming ourselves. -There's also a sense of peace that comes from realizing I don't need to have everything figured out right now. It's not about avoiding responsibility or ambition; it's about balancing drive with mindfulness and letting the present moment hold just as much weight as the future I'm working toward. Enjoying the process ensures that the journey itself is fulfilling, no matter the outcome. +this is where the Renaissance begins. historically, it was an era of renewal, an intellectual and artistic rebirth. it was an active, rigorous, and obsessive return to the fundamentals. a shift *away* from dogmatic outcomes and *toward* a fascination with process. i've come to see this stage of my life as a pivot from living for outcomes to living for the craft itself. -## Reflection +this "rebirth" is not a feeling, but an action. i am digging into the fundamentals of subjects i thought i knew, not for a credential, but for mastery. rebuilding old projects, not to ship them, but to understand their mechanics. i'm no longer creating for validation, but for the joy of creation itself. -One of life's simple truths that I always remind myself of is this: don't waste time chasing butterflies — tend to the garden, and they will come. Even if the butterflies never arrive, you'll still have a beautiful garden to enjoy. This metaphor serves as a constant reminder to focus on what I can control — my actions, my environment, and most importantly, my mindset. +> What I cannot create, I do not understand. \ +> — Richard Feynman -Speaking of milestones, today marks one that quietly reminds me of how far I've come — 25 years of life, a quarter of a century filled with memories, experiences, and lessons that have shaped me into the person I am today. +## process -I'm content with where I stand in my career, relationships, and financial situation. I have big plans for myself, and I'm steadily working toward them. Recently, I've bulked up 12% of my weight over the past few months and hit my desired muscle mass for the first stage of my fitness journey. My side projects are taking shape, and I'm building things I'm passionate about. Financially, I'm in the best position I've ever been, having saved and invested wisely. +the Renaissance masters weren't famous for "arriving"; they were defined by their *studios* — their obsessive, daily practice. they fell in love with the *act* of mixing pigments, sketching anatomies, and solving problems. their masterpieces were the byproduct of a relentless devotion to the craft itself, the one thing they could control. -As they say, you live and you learn — and enjoy the journey along the way. +i've felt this before, but this time it feels grounded. i'm no longer chasing some idealized version of success or happiness. instead of being fixated on where i should be, i'm learning to appreciate where i am. the journey itself feels enough. there's joy in the mundane *practice*, peace in the quiet *focus*, and beauty in simply *doing the work*. + +today marks my twenty-fifth orbit around the sun. there's comfort in knowing i don't need to have it all figured out. i just need to show up to "the studio" consistently, and do the work. in a way, it makes me grateful for the 'crisis'. it was the catalyst that forced me to reevaluate my values and priorities, to enjoy the process and to find peace in *becoming* rather than *arriving* — in letting the present moment hold as much weight as the future i'm building. diff --git a/workspace/content/routes/posts/rip-google-domains/+article.md b/workspace/content/routes/posts/rip-google-domains/+article.md index d8d53184..db86b4ab 100644 --- a/workspace/content/routes/posts/rip-google-domains/+article.md +++ b/workspace/content/routes/posts/rip-google-domains/+article.md @@ -2,7 +2,7 @@ date: "2023-06-21T12:00:00+07:00" theme: moment title: RIP Google Domains - Exploring New Digital Homes for Our Domains -description: In the wake of Alphabet shutting down Google Domains, many of us are looking for alternatives to move our domains to, especially for our dev domains +description: "In the wake of Alphabet shutting down Google Domains, many of us are looking for alternatives to move our domains to, especially for our dev domains" tags: [tech] thumbnail: https://9to5google.com/wp-content/uploads/sites/4/2022/03/google-domains-cover.jpeg --- diff --git a/workspace/content/routes/posts/simplicity/+article.md b/workspace/content/routes/posts/simplicity/+article.md index bffe6874..73fd510a 100644 --- a/workspace/content/routes/posts/simplicity/+article.md +++ b/workspace/content/routes/posts/simplicity/+article.md @@ -5,7 +5,7 @@ title: The Virtue of Simplicity series: title: Art of Less chapter: 2 -description: complexity is rewarded for its noise, while simplicity is taken for granted. +description: "complexity is rewarded for its noise, while simplicity is taken for granted." tags: [writing, design, productivity] --- diff --git a/workspace/content/routes/posts/what-is-jwt-and-do-you-really-need-it/+article.md b/workspace/content/routes/posts/what-is-jwt-and-do-you-really-need-it/+article.md index aae16498..cf5e4d77 100644 --- a/workspace/content/routes/posts/what-is-jwt-and-do-you-really-need-it/+article.md +++ b/workspace/content/routes/posts/what-is-jwt-and-do-you-really-need-it/+article.md @@ -1,7 +1,7 @@ --- date: "2020-09-28T17:38:25+07:00" theme: guide -title: What Is JWT and Do You Really Need It? +title: "What Is JWT and Do You Really Need It?" description: What is a JSON Web Token and do you really need it for your app. tags: [jwt, javascript, session] --- diff --git a/workspace/content/schema/curated.js b/workspace/content/schema/curated.js index 799102b8..006c81ff 100644 --- a/workspace/content/schema/curated.js +++ b/workspace/content/schema/curated.js @@ -45,4 +45,4 @@ await orchestrate('./routes/curated', ({ breadcrumb: [file, slug], path }) => { }); if (!trashed.length) console.log(`\x1b[32m✓\x1b[0m curated is all good!`); -else console.log(`\x1b[33m⚠\x1b[0m ${trashed.length} reviews were modified`); +else console.log(`\x1b[33m⚠\x1b[0m ${trashed.length} curation were modified`); diff --git a/workspace/content/schema/posts.js b/workspace/content/schema/posts.js new file mode 100644 index 00000000..bb2bf3e3 --- /dev/null +++ b/workspace/content/schema/posts.js @@ -0,0 +1,56 @@ +import { orchestrate } from 'aubade/conductor'; +import { stringify } from 'aubade/manifest'; +import { attempt, define } from 'mauss'; + +export const schema = define(({ optional, array, literal, string }) => ({ + updated: optional(string()), + date: string(), + theme: literal( + 'reflection', // personal thoughts or reflections on a topic + 'essay', // opinionated long-form exploration of a subject + 'guide', // practical instructions or how-to + 'moment', // brief observation or thought, short or small insight + 'archive', // republishing or preserving content for reference + ), + title: string(), + series: optional({ + title: string(), + chapter: optional(string()), + }), + description: string(), + tags: array(string()), + thumbnail: optional(string()), + image: optional(string()), +})); + +/** @type {string[]} */ +const trashed = []; +await orchestrate('./routes/posts', ({ breadcrumb: [file, slug], path }) => { + if (file !== '+article.md') return; + const validate = attempt.wrap(schema); + return async ({ assemble, buffer, task }) => { + const { manifest, meta } = assemble(buffer.toString('utf-8')); + if (!manifest) throw new Error(`Manifest not found in ${slug}`); + const { data, error } = validate(manifest); + if (data) { + const unexpected = Object.keys(manifest).filter((key) => { + if (key in data) return false; + console.log(`\x1b[33m⚠\x1b[0m [${slug}] "${key}" is removed`); + return true; + }); + if (unexpected.length) trashed.push(slug); + task(async ({ fs }) => { + const body = meta.body.trim(); + const gutter = body.length ? '\n\n' : ''; + await fs.writeFile(path, `---\n${stringify(data)}\n---${gutter + body}\n`); + }); + } else { + const path = `\x1b[31m✘\x1b[0m ${slug}`; + console.error(path, /** @type {any} */ (error).issues); + } + return [slug, !error]; + }; +}); + +if (!trashed.length) console.log(`\x1b[32m✓\x1b[0m posts is all good!`); +else console.log(`\x1b[33m⚠\x1b[0m ${trashed.length} post(s) were modified`); diff --git a/workspace/content/schema/reviews.js b/workspace/content/schema/reviews.js index 3c100b9f..e175cea8 100644 --- a/workspace/content/schema/reviews.js +++ b/workspace/content/schema/reviews.js @@ -59,4 +59,4 @@ await orchestrate('./routes/reviews', ({ breadcrumb: [file, slug, category], pat }); if (!trashed.length) console.log(`\x1b[32m✓\x1b[0m reviews is all good!`); -else console.log(`\x1b[33m⚠\x1b[0m ${trashed.length} reviews were modified`); +else console.log(`\x1b[33m⚠\x1b[0m ${trashed.length} review(s) were modified`); From 67906a3ed49549cdfa2e7ae3444d97eddec2322d Mon Sep 17 00:00:00 2001 From: Ignatius Bagus Date: Thu, 23 Oct 2025 23:35:23 +0700 Subject: [PATCH 2/2] lint --- .../apex/src/lib/components/Piece.svelte | 5 +-- workspace/apex/src/lib/prose.ts | 16 +++++++++ workspace/apex/src/lib/server/Card.svelte | 36 +++++++++++++++---- .../routes/content/curated.json/+server.ts | 5 +-- workspace/apex/src/routes/posts/+page.svelte | 7 ++-- .../src/routes/posts/[slug]/+page.server.ts | 2 +- .../routes/posts/[slug]/card.png/+server.ts | 1 + .../routes/posts/opting-out/+article.md | 2 +- 8 files changed, 55 insertions(+), 19 deletions(-) diff --git a/workspace/apex/src/lib/components/Piece.svelte b/workspace/apex/src/lib/components/Piece.svelte index 030fc90a..fcd719f2 100644 --- a/workspace/apex/src/lib/components/Piece.svelte +++ b/workspace/apex/src/lib/components/Piece.svelte @@ -8,6 +8,7 @@ import { hydrate } from 'aubade/browser'; import { date } from 'mauss'; import { navigating } from '$app/state'; + import { phrase } from '$lib/prose'; type Base = Items['/curated' | '/posts' | '/reviews'][number]; type Article = Overwrite, { branches?: string[] }>; @@ -27,11 +28,11 @@