From c7493e5643ae225cb8d5727cad782a75ff68bda4 Mon Sep 17 00:00:00 2001 From: Emi Matchu Date: Wed, 11 Sep 2024 17:26:35 -0700 Subject: [PATCH] Run Prettier on post, to fix line wrapping --- .prettierrc.yml | 2 + _posts/2024-09-11-state-of-dti-2024.md | 123 +++++++++++++------------ 2 files changed, 66 insertions(+), 59 deletions(-) create mode 100644 .prettierrc.yml diff --git a/.prettierrc.yml b/.prettierrc.yml new file mode 100644 index 0000000..34bce7d --- /dev/null +++ b/.prettierrc.yml @@ -0,0 +1,2 @@ +useTabs: true +proseWrap: always diff --git a/_posts/2024-09-11-state-of-dti-2024.md b/_posts/2024-09-11-state-of-dti-2024.md index 5b99ee5..a3d0cef 100644 --- a/_posts/2024-09-11-state-of-dti-2024.md +++ b/_posts/2024-09-11-state-of-dti-2024.md @@ -8,21 +8,23 @@ author: Matchu Hi, everyone! Hough, this post is a long time coming but I have not had the power of Words—but today I do, and so we write! -First off, thank you for being so kind and helpful as you always are! -Idk if y'all know that like, the community does the majority of the work for -DTI? We're just doing our best to keep the lil guy chuggin' along underneath you! And thank you always for your kind words, too 🥺 It helps a lot. +First off, thank you for being so kind and helpful as you always are! Idk if +y'all know that like, the community does the majority of the work for DTI? We're +just doing our best to keep the lil guy chuggin' along underneath you! And thank +you always for your kind words, too 🥺 It helps a lot. After 15 years of DTI (what the heck??!), and 15 years of changing circumstances, **our primary focus is keeping DTI around for the long-haul**. -And, I'll be real with ya, the choices I made in earlier times weren't really designed for decades of operation 😅 +And, I'll be real with ya, the choices I made in earlier times weren't really +designed for decades of operation 😅 -- When I started DTI, I wasn't really uhh, good at working with others? So I - never put together a formal team, and I built a codebase that was difficult - to share. -- And when we rebooted as Impress 2020, I borrowed the technology and design - intuition I'd gained in _professional_ software—not realizing that's a - level of complexity designed for teams of _fifty_ to keep up with. +- When I started DTI, I wasn't really uhh, good at working with others? So I + never put together a formal team, and I built a codebase that was difficult to + share. +- And when we rebooted as Impress 2020, I borrowed the technology and design + intuition I'd gained in _professional_ software—not realizing that's a level + of complexity designed for teams of _fifty_ to keep up with. But now, here we are, with _two_ apps instead of one, and just me as the operational bottleneck—and my _own_ life focus has shifted more toward my @@ -30,8 +32,8 @@ personal household, with not even enough volunteer time to even do the work to _hand over the keys_ 😖 So, today, DTI development is mostly a time management game. That's why I've -been focusing on long-term choices I hope will change this in the years to -come! The themes are **stability, simplicity, and sustainability**. +been focusing on long-term choices I hope will change this in the years to come! +The themes are **stability, simplicity, and sustainability**. _I also want to call out and thank TNT in particular for their help with sustainability!! The NeoPass partnership has been a genuine game changer—I'll @@ -39,8 +41,9 @@ talk about it more below!_ ### Stability: Changes to keep the site running -At the start of the year, DTI was… uhhh, often broken 😖 We'd have multiple -days of downtime, and I'll be real with ya: it was _mostly_ an awareness and time management problem. +At the start of the year, DTI was… uhhh, often broken 😖 We'd have multiple days +of downtime, and I'll be real with ya: it was _mostly_ an awareness and time +management problem. Issues generally got resolved within hours or minutes of my sitting down to _fix_ them, but… my world was large, and there were a lot of messes to clean @@ -50,14 +53,14 @@ would sometimes take a few hours, or even days, to become available. When I was younger, it was easier to be on-call all the time… now, we have to be smarter about it. So, we're being smarter! -- **🔔 Alerts:** We've set up automated notifications to tell us when the - site goes down, or when a new kind of crash appears. _(If you're curious, - we're self-hosting [GlitchTip](https://glitchtip.com/)!)_ -- **⚙️ Auto-monitoring:** For crashes that _kept_ happening, we - configured our machine to intervene. _(Like, if the site's RAM usage gets - high, we now auto-restart it.)_ -- **🧑‍💻 Simplifying:** Reducing the complexity in our whole dang architecture - has been huge for stability, too. _(We'll talk about it more below!)_ +- **🔔 Alerts:** We've set up automated notifications to tell us when the site + goes down, or when a new kind of crash appears. _(If you're curious, we're + self-hosting [GlitchTip](https://glitchtip.com/)!)_ +- **⚙️ Auto-monitoring:** For crashes that _kept_ happening, we configured our + machine to intervene. _(Like, if the site's RAM usage gets high, we now + auto-restart it.)_ +- **🧑‍💻 Simplifying:** Reducing the complexity in our whole dang architecture has + been huge for stability, too. _(We'll talk about it more below!)_ With these changes, it's been months since our last like, _major_ downtime event. We're still not as consistent as I'd like to be, but hey—more to come! @@ -68,12 +71,12 @@ The high-level goal here is: **I want to remove Impress 2020, but only once we no longer need it**. Right now, Dress to Impress is a weird combination of apps… I copy-pasted some -of Impress 2020's best UI changes over, but it all still used the -Impress 2020 _server_ code, even when you're on `impress.openneo.net`. +of Impress 2020's best UI changes over, but it all still used the Impress 2020 +_server_ code, even when you're on `impress.openneo.net`. -This both doubled the danger of downtime (if _either_ app goes down, -that's a problem for both!), and added networking complexities that are hard to -track down (hello, "error loading species/color"!) +This both doubled the danger of downtime (if _either_ app goes down, that's a +problem for both!), and added networking complexities that are hard to track +down (hello, "error loading species/color"!) Like, it's just not a great situation for stability, _or_ for removing me as a bottleneck. There's too much happening; and too much to know that, right now, @@ -81,29 +84,29 @@ only I know! 😬 So, here's some of the changes we've been making: -- **➡️ Porting features:** We finally brought Impress 2020's improved - Offering/Seeking trade listings page into the main app! -- **🌸 Simpler rewrites:** We reimplemented the item page preview in Rails and - plain HTML/CSS/JS, instead of being a fragile, frankenstein-y React component using - Impress 2020 behind the scenes. -- **⚡️ Rewiring the wardrobe:** The main outfit editor still has a _couple_ API - calls to Impress 2020, but very few! And we're exploring the possibility of - other ways to simplify that page, too. -- **🧹 Ancient code cleanups:** As I wander the halls of the very old - codebase, I occasionally stumble into something unused, or confusing, or - way more complicated than it needs to be. And so I clean up, so my future - roommates can be comfy here! +- **➡️ Porting features:** We finally brought Impress 2020's improved + Offering/Seeking trade listings page into the main app! +- **🌸 Simpler rewrites:** We reimplemented the item page preview in Rails and + plain HTML/CSS/JS, instead of being a fragile, frankenstein-y React component + using Impress 2020 behind the scenes. +- **⚡️ Rewiring the wardrobe:** The main outfit editor still has a _couple_ API + calls to Impress 2020, but very few! And we're exploring the possibility of + other ways to simplify that page, too. +- **🧹 Ancient code cleanups:** As I wander the halls of the very old codebase, + I occasionally stumble into something unused, or confusing, or way more + complicated than it needs to be. And so I clean up, so my future roommates can + be comfy here! A lot of it is invisible work, toward the goal of _destroying_ things rather than building them. And that's important for us, I think: **long-term projects with small teams survive by having _less_ stuff going on.** -I won't get too much into why I chose to stick with upgrading the old app -(built with [Rails](https://rubyonrails.org/)), instead of keeping the new -Impress 2020 app (built with [Next.js](https://nextjs.org/)). Mostly just, I -think the Rails app is simpler tech overall, and leans more into standards that -I expect to be longer-lived—and so I expect it to be easier to maintain and -welcome new collaborators into long-term! +I won't get too much into why I chose to stick with upgrading the old app (built +with [Rails](https://rubyonrails.org/)), instead of keeping the new Impress 2020 +app (built with [Next.js](https://nextjs.org/)). Mostly just, I think the Rails +app is simpler tech overall, and leans more into standards that I expect to be +longer-lived—and so I expect it to be easier to maintain and welcome new +collaborators into long-term! We'll check in with y'all before retiring Impress 2020 altogether, I think there's still plenty of steps along the way! We're just doing our best, bit by @@ -116,31 +119,33 @@ _have_ volunteer hours available to give to DTI. What time I _did_ have for coding was all going toward my technical consulting work, because our house needed the paycheck, y'know? -But you might've noticed, our site's uptime got a lot better a few months -ago—as it happens, around the same time we launched NeoPass! This was because -**the NeoPass partnership _gave us the time_ to invest in other changes -like alerts and monitoring,** which just weren't happening on their own. +But you might've noticed, our site's uptime got a lot better a few months ago—as +it happens, around the same time we launched NeoPass! This was because **the +NeoPass partnership _gave us the time_ to invest in other changes like alerts +and monitoring,** which just weren't happening on their own. **The new "Shopping List" feature was also part of this partnership effort, -too**—though we didn't end up building all of the integrated elements -we were hoping for. _(We were planning an "Add all to cart" NC Mall link, as -a time saver for folks, and a way to help TNT know that DTI helped you out.)_ -Ah, well—that's product work! I hope it's been helpful in this form, too! +too**—though we didn't end up building all of the integrated elements we were +hoping for. _(We were planning an "Add all to cart" NC Mall link, as a time +saver for folks, and a way to help TNT know that DTI helped you out.)_ Ah, +well—that's product work! I hope it's been helpful in this form, too! **Right now, we're on a bit of a pause,** as TNT's dev team focuses on the Void Within plot and the other things on their plate. But our next plan is to look -into (spoiler) ~~saving DTI outfits to your Neopets directly~~ 😳❗️ This is -not a promise, but it _is_ an intention! It's the main integration y'all told us +into (spoiler) ~~saving DTI outfits to your Neopets directly~~ 😳❗️ This is not +a promise, but it _is_ an intention! It's the main integration y'all told us you'd be excited for in that survey we sent out, thank you for that btw!! But personally, that's why I'm excited about this partnership: I think we've -done a good job threading the needle on building things that are **genuinely useful for Neopians, not Worrisome, and ultimately building toward DTI's own independent -goals, too.** I'm glad we're not in the same stagnant place we were earlier -this year, and I hope we can keep moving forward! +done a good job threading the needle on building things that are **genuinely +useful for Neopians, not Worrisome, and ultimately building toward DTI's own +independent goals, too.** I'm glad we're not in the same stagnant place we were +earlier this year, and I hope we can keep moving forward! _(By the way, TNT and I agreed not to talk too much about the details of, like, what we signed and stuff… but I hope this gives you enough to understand the -needs and values we're bringing to it! I promise I'm giving the community my very best, always 💜)_ +needs and values we're bringing to it! I promise I'm giving the community my +very best, always 💜)_ ### As always, thank you!