I actually didn’t realize when I took this photo with my iPhone how incredible the lighting was. I saw it in my photo library a few hours later and went wait, what?? A couple tweaks for contrast and color tint in Lightroom later, and boom! 🤩 #Portland#OregonExplored#iPhonePro
{
"type": "entry",
"author": {
"name": "Jared White",
"url": "https://jaredwhite.com/",
"photo": null
},
"url": "https://jaredwhite.com/pictures/20240410/i-actually-didn-t-realize-when-i-took-this-photo-with",
"published": "2024-04-10T07:52:35-07:00",
"content": {
"html": "<img alt=\"\" src=\"https://pxscdn.com/public/m/_v2/4580/c6a394f69-21cf85/NLB88MWk39PC/zGsf0Y8HEzSamUsJ98Ny4cbkykmQNgOCJDK1est9.jpg\" /><p>I actually didn\u2019t realize when I took this photo with my iPhone how incredible the lighting was. I saw it in my photo library a few hours later and went <em>wait, what??</em> A couple tweaks for contrast and color tint in Lightroom later, and boom! \ud83e\udd29 <br /><a href=\"https://jaredwhite.com/tag/portland\">#Portland</a> <a href=\"https://jaredwhite.com/tag/oregonexplored\">#OregonExplored</a> <a href=\"https://jaredwhite.com/tag/iphonepro\">#iPhonePro</a></p>",
"text": "I actually didn\u2019t realize when I took this photo with my iPhone how incredible the lighting was. I saw it in my photo library a few hours later and went wait, what?? A couple tweaks for contrast and color tint in Lightroom later, and boom! \ud83e\udd29 \n#Portland #OregonExplored #iPhonePro"
},
"post-type": "note",
"_id": "40831581",
"_source": "2783"
}
I stopped at a convenience store at DFW that has Amazon's "Just Walk Out" tech, which is powered by *so many* cameras. Also apparently they are shutting the whole program down because it actually relies on low paid workers in India?? Surprise?
{
"type": "entry",
"published": "2024-04-13T18:46:03-05:00",
"url": "https://aaronparecki.com/2024/04/13/34/ai",
"category": [
"amazon",
"ai"
],
"photo": [
"https://aperture-media.p3k.io/aaronparecki.com/b7fee41d44b722951e1b0340bd409dcfde35751e23918c4e25f9adb3ea954f46.jpg"
],
"content": {
"text": "I stopped at a convenience store at DFW that has Amazon's \"Just Walk Out\" tech, which is powered by *so many* cameras. Also apparently they are shutting the whole program down because it actually relies on low paid workers in India?? Surprise?"
},
"author": {
"type": "card",
"name": "Aaron Parecki",
"url": "https://aaronparecki.com/",
"photo": "https://aperture-media.p3k.io/aaronparecki.com/41061f9de825966faa22e9c42830e1d4a614a321213b4575b9488aa93f89817a.jpg"
},
"post-type": "photo",
"_id": "40830064",
"_source": "16"
}
{
"type": "entry",
"published": "2024-04-12T01:13:44-07:00",
"url": "https://beesbuzz.biz/blog/9403-Benaroya-debut",
"name": "Benaroya debut!",
"content": {
"text": "I\u2019m not sure if I remembered to post this here and I apologize for the last-minuteness if this is my first post but!!!!!\n\nTonight I will be performing on the Benaroya Hall stage with the choir! It\u2019s kind of a big deal for me! I\u2019d love to see people come if they can! The concert is from 7:30 to 9:30 PM. Get your tickets here, oh my gosh.",
"html": "<p>I\u2019m not sure if I remembered to post this here and I apologize for the last-minuteness if this is my first post but!!!!!</p><p>Tonight I will be performing on the Benaroya Hall stage with the choir! It\u2019s <em>kind of a big deal</em> for me! I\u2019d love to see people come if they can! The concert is from 7:30 to 9:30 PM. <a href=\"https://rainbowcity.org/events/spectrum-of-culture/\">Get your tickets here</a>, oh my gosh.</p>"
},
"author": {
"type": "card",
"name": "fluffy",
"url": "https://beesbuzz.biz/",
"photo": "https://beesbuzz.biz/static/headshot.jpg"
},
"post-type": "article",
"_id": "40815225",
"_source": "2778"
}
{
"type": "entry",
"author": {
"name": "Jared White",
"url": "https://jaredwhite.com/",
"photo": null
},
"url": "https://jaredwhite.com/articles/preset-galaxy-launched",
"published": "2024-04-11T11:34:07-07:00",
"content": {
"html": "<img alt=\"\" src=\"https://res.cloudinary.com/mariposta/image/upload/w_1200,c_limit,q_65/preset-galaxy-hero_z0lkqn.jpg\" /><h2>It's not every day I get to talk about a new UGC platform I've collaboratively built in my freelancing role at Whitefusion. Here's how it all came about.</h2>\n\n<p>In my line of work as a software developer at <a href=\"https://www.whitefusion.studio/\">Whitefusion</a>, a boutique web studio based in Portland, Oregon, I typically engage with two very different sorts of projects:</p>\n\n<ul><li><strong>Passion projects.</strong> These are the technologies, publications, and marketable activities I participate in as an \u201cindustry notable\u201d. Open source software tools, blogs, educational materials, community groups & tech meetups\u2026that sort of thing.</li>\n <li><strong>Client projects.</strong> These are the projects I\u2019m hired to work on which pay the bills and let me utilize my skills as a programmer & UX designer to solve real-world problems on production codebases.</li>\n</ul><p>Now I would be misrepresenting these scenarios if I let you walk away believing passion projects are always fun (<em>sometimes they\u2019re a real slog!</em>), or that client projects are always difficult and zap all the joy out of life (<em>truly, I\u2019ve worked with some awesome clients on exciting projects which have taught me a ton!</em>).</p>\n\n<p>Nevertheless, I primarily talk in public about my passion projects and not my client projects, because I generally consider the importance of maintaining confidentially for all my clients to be paramount. Often I\u2019m working on internal business applications, or on startup products (and unfortunately software startups don\u2019t have a stellar success rate), or on projects where I\u2019ve come in as a subcontractor working on behalf of another agency. So while I\u2019ll talk about the technical findings and business acumen I\u2019ve gleaned while working on these projects, I almost never have occasion to bring them up directly in public discourse.</p>\n\n<p>And then\u2014<em>once in a great while</em>\u2014<strong>the two worlds collide</strong>. Ooo\u2026a client project which I\u2019m authentically passionate about <em>and</em> get to talk about publicly?! <em>Huzzah!</em></p>\n\n<p><strong>Today, that project is <a href=\"https://www.presetgalaxy.com/\">Preset Galaxy</a>.</strong></p>\n\n<p>(Before I go on, I want to be crystal clear this is not a sponsored post or yet more shameless marketing. I truly believe in the project, and the company behind it rocks. \ud83e\udd18)</p>\n\n<h3>A Universe of Sound</h3>\n\n<p>So what is <strong>Preset Galaxy</strong>? As it says on the tin, it\u2019s \u201cthe thrilling new destination for finding and sharing presets for all your favorite software synthesizers and samplers.\u201d I <a href=\"https://blog.presetgalaxy.com/preset-galaxy-blast-off/\">wrote in our official launch post</a>:</p>\n\n<blockquote>\n <p>In observing the landscape of online resources for fans of computer music technology, we noticed there wasn\u2019t a central place where musicians, producers, and sonic innovators could all come together to form a community around presets. Sure, you could find presets lurking about\u2014a forum here, a chat room there, some extension of some other website about electronic music, or a particular manufacturer\u2019s online community. But Preset Galaxy is all about the presets. That\u2019s it. That\u2019s the toot. \ud83c\udfba</p>\n</blockquote>\n\n<p>The idea and featureset for Preset Galaxy was conceived by <strong>Greg Schlaepfer</strong>, the founder of well-known sample library producer <a href=\"https://www.orangetreesamples.com/\">Orange Tree Samples</a>. I\u2019ve personally known Greg for basically forever, and I\u2019d also worked with him once before in the early 2010s to record and release the <a href=\"https://www.orangetreesamples.com/products/mesawinds\">MesaWinds sample library</a>. I\u2019m immensely grateful we were able to stay in touch over the decades.</p>\n\n<p>So when Greg approached me a few years ago with the idea of a community platform for uploading and sharing presets relevant for all manner of synthesizer and effects plugins, <strong>I leapt at the chance</strong>.</p>\n\n<p><img src=\"https://jaredwhite.com/articles/something-of-a-musician.jpg\" alt=\"Spider-Man meme with caption You know, I'm something of a musician myself\" /></p>\n<p>As <a href=\"https://www.yarred.com/\">something of a musician myself</a>, I understood the value of musicians and producers being able to share the sounds they\u2019ve created in various plugins. I\u2019ve benefited from <strong>\u201cuser-generated content\u201d</strong> many times before, whether that\u2019s presets, samples, and other music production tools. This was an exciting opportunity in an industry I was familiar with\u2014not always a privilege you get with projects sent your direction as a freelancer.</p>\n\n<p>As the project got underway, I was a bit daunted by the thought that I was working on this entirely as a <strong>solo developer</strong>. I\u2019d never built a large-scale UGC (User-Generated Content) platform from scratch before, and it seemed like I could easily get mired in technical details and lose sight of the overall user experience and product-market fit. Thankfully a designer came aboard early on, Hannes Pasqualini of <a href=\"https://www.papernoise.net/\">Papernoise Design</a>, to help flesh out the personality and \u201cvibe\u201d of the site (and of course the logo and character design of the <strong>Preset Galaxy</strong> brand). This was instrumental in informing my subsequent interface work and making sure the site would feel inviting and fun for musicians.</p>\n\n<p><img src=\"https://www.presetgalaxy.com/assets/spaceman-illustration-4bd629afa16578707cd390904a9111f97c9ec94f.jpg\" alt=\"Space Man rockin' out with their keytar\" /></p>\n<h3>The Technical Deets</h3>\n\n<p>Feel free to skip over this section if you\u2019re not a web developer. \ud83e\udd13</p>\n\n<p><strong>Let\u2019s start on the backend.</strong> As a <a href=\"https://www.fullstackruby.dev/\">long-time fan of the Ruby programming language</a>, I naturally gravitated towards using Ruby as the basis of our tech stack. While I spend a lot of my time now working on solutions atop <a href=\"https://roda.jeremyevans.net/\">Roda</a>, we decided on the battle-hardened and well-understood Rails framework which is well-suited to the needs of a UGC platform like Preset Galaxy.</p>\n\n<p>I\u2019m definitely using Rails in some novel ways though (surprise surprise \ud83d\ude09\ufe0f). Here are some of those \u201coutside the box\u201d technologies & techniques:</p>\n\n<ul><li>\n <p><a href=\"https://www.serbea.dev/\">Serbea</a>: This is one of my own Rubygems. I like to think of Serbea as a \u201csuperset\u201d of ERB. It uses braces (<code>{%</code> and <code>%}</code>) instead of angle brackets for delimiters, which I find <em>vastly preferable</em> for an HTML template language. In addition, Serbea offers a pipeline syntax similar to Liquid, Nunjucks, etc. While Serbea 2.0 does offer a <code>pipe</code> method even for ERB users, I just like using the simplest syntax possible. And in a Rails context you can actually write \u201cfront matter\u201d in your view templates, passing things like page titles and layout directives directly to parent layouts in Rails.</p>\n </li>\n <li>\n <p><a href=\"https://github.com/bridgetownrb/lifeform\">Lifeform</a>: Another gem of mine, this allows most forms to be defined in standalone objects with a straightforward DSL. You can then render those forms by emitting each of the fields which were defined, or you can simply auto-render the entire form with a single statement. Between the syntax affordances of Serbea and Lifeform, that statement looks like this: <code>{%@ PresetForm @preset %}</code>. <em>No joke!</em></p>\n </li>\n <li>\n <p><a href=\"https://viewcomponent.org/\">ViewComponent</a> & <a href=\"https://github.com/heartml/heartml\">Heartml</a>: Created by the fine folks at GitHub, ViewComponent provides an object-oriented view engine for Rails apps. It\u2019s much more sophisticated than \u201cpartials\u201d and lets you apply OOP principles such as encapsulation and separation-of-concerns to your HTML. In addition to this, I\u2019ve started using a gem I developed called Heartml which enables custom elements be written in a direct superset of HTML which can then be mounted client-side with a parallel JavaScript library for reactivity and interactivity (<em>more on that below!</em>).</p>\n </li>\n <li>\n <p><a href=\"https://github.com/whitefusionhq/signalize\">Signalize</a>: So the original <a href=\"https://github.com/preactjs/signals\">Signals JS</a> library (created by the fine folks at Preact) has been such a game-changer on the frontend, I decided to port it to Ruby! By having signals & effects in Ruby, I was able to develop a unique pipeline for managing the generation and updates of Zip files containing presets, a readme file, etc. which is seamless for users of Preset Galaxy. I also employ the reverse_markdown gem to convert the HTML output from Trix editor to Markdown for the readme file.</p>\n </li>\n</ul><p><strong>And now for the frontend</strong>. It should come as no surprise I elected to use <a href=\"https://esbuild.github.io/\">esbuild</a> for our frontend bundling pipeline. I like to think of esbuild as \u201cthe last bundler\u201d\u2014it\u2019s unlikely I\u2019d ever consider using another build tool any time in the foreseeable future. I also spent a lot of time optimizing our primary CSS & JS bundles and code-splitting wherever possible for the fastest performance and leanest page weight. Some of the libraries used:</p>\n\n<ul><li>\n <p><a href=\"https://www.ruby2js.com/\">Ruby2JS</a>: Virtually all the frontend code\u2014and there is a fair bit as part of various view components\u2014is written in the Ruby-like syntax of Ruby2JS. Originally created by Sam Ruby (really, that\u2019s his name!) and subsequently maintained by yours truly, using Ruby2JS means I can take advantage of the superior syntax and idioms of Ruby while leveraging all of the goodies available in the modern ESM ecosystem.</p>\n </li>\n <li>\n <p><a href=\"https://shoelace.style/\">Shoelace</a>: A tremendous resource for web developers, the Shoelace library of web components provides us with features like icons, toasts, star ratings, tagged autocompletes (a solution I built from atomic Shoelace components), switches, progress bars, and more.</p>\n </li>\n <li>\n <p><a href=\"https://bulma.io/\">Bulma</a>: Fun fact\u2026the first prototype of Preset Galaxy was actually built on the Foundation CSS framework (!!). We then ported the site over to Bulma. At this point, while I like Bulma a lot, I\u2019m increasingly putting effort into UI solutions using vanilla CSS and web components for the future of our frontend. Which brings me finally to:</p>\n </li>\n <li>\n <p><a href=\"https://github.com/heartml/heartml\">Heartml</a>: As the frontend corollary to the Ruby renderer, we use Heartml as our web component base class, providing encapsulated UI reactivity and interactivity inside of most of our custom elements across the application. While certain coordination features between the frontend & backend are handled by Turbo over-the-wire, I spent a decent amount of time ensuring many UI updates are \u201coptimistic\u201d\u2014that is, you don\u2019t have to wait for the server to \u201cdo its thing\u201d before you see the results of a click or a form submission. It\u2019s amazing what over-the-wire + surgical use of optimistic UI can do to make a web app seem alive and performant\u2014<em>without</em> having to write a gargantuan frontend in an everything-but-the-kitchen-sink JS framework.</p>\n </li>\n</ul><p>And of course, the <a href=\"https://blog.presetgalaxy.com/\">Preset Galaxy Blog</a> is powered by <a href=\"https://www.bridgetownrb.com/\">Bridgetown</a>, a Ruby-based progressive site generator maintained by\u2026yeah, that would be me. \ud83d\ude05</p>\n\n<h3>Testing and Opening to the Public</h3>\n\n<p>Once we\u2019d gotten a fair ways down the path of developing an \u201cMVP\u201d (Minimal Viable Product in <em>startup-parlance</em>), it was time to run through a private beta test.</p>\n\n<p>We opened a <a href=\"https://discord.gg/Y4vae7BYdA\">Discord server</a> for beta testers to offer their feedback. This was undoubtedly a valuable part of the development process\u2014but perhaps not in the way you might think. Yes, it was worthwhile to uncover and fix bugs caught during this beta phase, but what was even more welcome was the ability to hear from testers their thoughts about the utility of the service. It helped validate the <em>raison d\u2019\u00eatre</em> of Preset Galaxy and provide us with renewed focus on the core promise for users.</p>\n\n<p><strong>Finally</strong>, in early 2024, we released <strong><a href=\"https://www.presetgalaxycom/\">Preset Galaxy</a></strong> to the public! \ud83c\udf89 \ud83e\udd73</p>\n\n<p>As anyone who\u2019s participated in a new software launch can attest to, this is a moment both <strong>exhilarating</strong> and <strong>terrifying</strong>. Thankfully, the effort we\u2019d put in over a lengthy period of time to ensure platform stability, as well as the private beta test, meant that the public launch went off without a hitch\u2014and it\u2019s been relatively smooth sailing (\ud83d\ude80 <em>smooth flying?</em> \ud83e\udd14) ever since.</p>\n\n<h3>Conclusion</h3>\n\n<p>I\u2019ll reiterate what I said up top: I\u2019ve been privileged to work with many fine clients over the years at <a href=\"https://www.whitefusion.studio/\">Whitefusion</a>, but the list of projects I\u2019ve been on which provide that fantastic blend of personal interest and technical affinity is short indeed. I\u2019m thankful Greg and <strong>Orange Tree Samples</strong> took a serious bet on this idea, and I\u2019m truly thrilled to see what music producers will publish through <a href=\"https://www.presetgalaxy.com/\">Preset Galaxy</a> in the months ahead.</p>\n\n\n\n<p><strong>P.S.</strong> OK, I lied above\u2026allow me to indulge in a <em>tiny</em> bit of shameless self-promotion. I encourage you to head over to <strong><a href=\"https://www.whitefusion.studio/\">Whitefusion</a></strong> and check out what we\u2019re all about if you have a website or web application project in mind and you need a studio to build it.</p>\n\n<p><em>Hailing frequencies are open!</em> \ud83d\udce1</p>\n\n\n\n <br /><p>\n \n <a href=\"https://jaredwhite.com/tag/freelancing\">#freelancing</a>\n \n <a href=\"https://jaredwhite.com/tag/synthmusic\">#synthmusic</a>\n \n </p>",
"text": "It's not every day I get to talk about a new UGC platform I've collaboratively built in my freelancing role at Whitefusion. Here's how it all came about.\n\nIn my line of work as a software developer at Whitefusion, a boutique web studio based in Portland, Oregon, I typically engage with two very different sorts of projects:\n\nPassion projects. These are the technologies, publications, and marketable activities I participate in as an \u201cindustry notable\u201d. Open source software tools, blogs, educational materials, community groups & tech meetups\u2026that sort of thing.\n Client projects. These are the projects I\u2019m hired to work on which pay the bills and let me utilize my skills as a programmer & UX designer to solve real-world problems on production codebases.\nNow I would be misrepresenting these scenarios if I let you walk away believing passion projects are always fun (sometimes they\u2019re a real slog!), or that client projects are always difficult and zap all the joy out of life (truly, I\u2019ve worked with some awesome clients on exciting projects which have taught me a ton!).\n\nNevertheless, I primarily talk in public about my passion projects and not my client projects, because I generally consider the importance of maintaining confidentially for all my clients to be paramount. Often I\u2019m working on internal business applications, or on startup products (and unfortunately software startups don\u2019t have a stellar success rate), or on projects where I\u2019ve come in as a subcontractor working on behalf of another agency. So while I\u2019ll talk about the technical findings and business acumen I\u2019ve gleaned while working on these projects, I almost never have occasion to bring them up directly in public discourse.\n\nAnd then\u2014once in a great while\u2014the two worlds collide. Ooo\u2026a client project which I\u2019m authentically passionate about and get to talk about publicly?! Huzzah!\n\nToday, that project is Preset Galaxy.\n\n(Before I go on, I want to be crystal clear this is not a sponsored post or yet more shameless marketing. I truly believe in the project, and the company behind it rocks. \ud83e\udd18)\n\nA Universe of Sound\n\nSo what is Preset Galaxy? As it says on the tin, it\u2019s \u201cthe thrilling new destination for finding and sharing presets for all your favorite software synthesizers and samplers.\u201d I wrote in our official launch post:\n\n\n In observing the landscape of online resources for fans of computer music technology, we noticed there wasn\u2019t a central place where musicians, producers, and sonic innovators could all come together to form a community around presets. Sure, you could find presets lurking about\u2014a forum here, a chat room there, some extension of some other website about electronic music, or a particular manufacturer\u2019s online community. But Preset Galaxy is all about the presets. That\u2019s it. That\u2019s the toot. \ud83c\udfba\n\n\nThe idea and featureset for Preset Galaxy was conceived by Greg Schlaepfer, the founder of well-known sample library producer Orange Tree Samples. I\u2019ve personally known Greg for basically forever, and I\u2019d also worked with him once before in the early 2010s to record and release the MesaWinds sample library. I\u2019m immensely grateful we were able to stay in touch over the decades.\n\nSo when Greg approached me a few years ago with the idea of a community platform for uploading and sharing presets relevant for all manner of synthesizer and effects plugins, I leapt at the chance.\n\n\nAs something of a musician myself, I understood the value of musicians and producers being able to share the sounds they\u2019ve created in various plugins. I\u2019ve benefited from \u201cuser-generated content\u201d many times before, whether that\u2019s presets, samples, and other music production tools. This was an exciting opportunity in an industry I was familiar with\u2014not always a privilege you get with projects sent your direction as a freelancer.\n\nAs the project got underway, I was a bit daunted by the thought that I was working on this entirely as a solo developer. I\u2019d never built a large-scale UGC (User-Generated Content) platform from scratch before, and it seemed like I could easily get mired in technical details and lose sight of the overall user experience and product-market fit. Thankfully a designer came aboard early on, Hannes Pasqualini of Papernoise Design, to help flesh out the personality and \u201cvibe\u201d of the site (and of course the logo and character design of the Preset Galaxy brand). This was instrumental in informing my subsequent interface work and making sure the site would feel inviting and fun for musicians.\n\n\nThe Technical Deets\n\nFeel free to skip over this section if you\u2019re not a web developer. \ud83e\udd13\n\nLet\u2019s start on the backend. As a long-time fan of the Ruby programming language, I naturally gravitated towards using Ruby as the basis of our tech stack. While I spend a lot of my time now working on solutions atop Roda, we decided on the battle-hardened and well-understood Rails framework which is well-suited to the needs of a UGC platform like Preset Galaxy.\n\nI\u2019m definitely using Rails in some novel ways though (surprise surprise \ud83d\ude09\ufe0f). Here are some of those \u201coutside the box\u201d technologies & techniques:\n\n\n Serbea: This is one of my own Rubygems. I like to think of Serbea as a \u201csuperset\u201d of ERB. It uses braces ({% and %}) instead of angle brackets for delimiters, which I find vastly preferable for an HTML template language. In addition, Serbea offers a pipeline syntax similar to Liquid, Nunjucks, etc. While Serbea 2.0 does offer a pipe method even for ERB users, I just like using the simplest syntax possible. And in a Rails context you can actually write \u201cfront matter\u201d in your view templates, passing things like page titles and layout directives directly to parent layouts in Rails.\n \n \n Lifeform: Another gem of mine, this allows most forms to be defined in standalone objects with a straightforward DSL. You can then render those forms by emitting each of the fields which were defined, or you can simply auto-render the entire form with a single statement. Between the syntax affordances of Serbea and Lifeform, that statement looks like this: {%@ PresetForm @preset %}. No joke!\n \n \n ViewComponent & Heartml: Created by the fine folks at GitHub, ViewComponent provides an object-oriented view engine for Rails apps. It\u2019s much more sophisticated than \u201cpartials\u201d and lets you apply OOP principles such as encapsulation and separation-of-concerns to your HTML. In addition to this, I\u2019ve started using a gem I developed called Heartml which enables custom elements be written in a direct superset of HTML which can then be mounted client-side with a parallel JavaScript library for reactivity and interactivity (more on that below!).\n \n \n Signalize: So the original Signals JS library (created by the fine folks at Preact) has been such a game-changer on the frontend, I decided to port it to Ruby! By having signals & effects in Ruby, I was able to develop a unique pipeline for managing the generation and updates of Zip files containing presets, a readme file, etc. which is seamless for users of Preset Galaxy. I also employ the reverse_markdown gem to convert the HTML output from Trix editor to Markdown for the readme file.\n \nAnd now for the frontend. It should come as no surprise I elected to use esbuild for our frontend bundling pipeline. I like to think of esbuild as \u201cthe last bundler\u201d\u2014it\u2019s unlikely I\u2019d ever consider using another build tool any time in the foreseeable future. I also spent a lot of time optimizing our primary CSS & JS bundles and code-splitting wherever possible for the fastest performance and leanest page weight. Some of the libraries used:\n\n\n Ruby2JS: Virtually all the frontend code\u2014and there is a fair bit as part of various view components\u2014is written in the Ruby-like syntax of Ruby2JS. Originally created by Sam Ruby (really, that\u2019s his name!) and subsequently maintained by yours truly, using Ruby2JS means I can take advantage of the superior syntax and idioms of Ruby while leveraging all of the goodies available in the modern ESM ecosystem.\n \n \n Shoelace: A tremendous resource for web developers, the Shoelace library of web components provides us with features like icons, toasts, star ratings, tagged autocompletes (a solution I built from atomic Shoelace components), switches, progress bars, and more.\n \n \n Bulma: Fun fact\u2026the first prototype of Preset Galaxy was actually built on the Foundation CSS framework (!!). We then ported the site over to Bulma. At this point, while I like Bulma a lot, I\u2019m increasingly putting effort into UI solutions using vanilla CSS and web components for the future of our frontend. Which brings me finally to:\n \n \n Heartml: As the frontend corollary to the Ruby renderer, we use Heartml as our web component base class, providing encapsulated UI reactivity and interactivity inside of most of our custom elements across the application. While certain coordination features between the frontend & backend are handled by Turbo over-the-wire, I spent a decent amount of time ensuring many UI updates are \u201coptimistic\u201d\u2014that is, you don\u2019t have to wait for the server to \u201cdo its thing\u201d before you see the results of a click or a form submission. It\u2019s amazing what over-the-wire + surgical use of optimistic UI can do to make a web app seem alive and performant\u2014without having to write a gargantuan frontend in an everything-but-the-kitchen-sink JS framework.\n \nAnd of course, the Preset Galaxy Blog is powered by Bridgetown, a Ruby-based progressive site generator maintained by\u2026yeah, that would be me. \ud83d\ude05\n\nTesting and Opening to the Public\n\nOnce we\u2019d gotten a fair ways down the path of developing an \u201cMVP\u201d (Minimal Viable Product in startup-parlance), it was time to run through a private beta test.\n\nWe opened a Discord server for beta testers to offer their feedback. This was undoubtedly a valuable part of the development process\u2014but perhaps not in the way you might think. Yes, it was worthwhile to uncover and fix bugs caught during this beta phase, but what was even more welcome was the ability to hear from testers their thoughts about the utility of the service. It helped validate the raison d\u2019\u00eatre of Preset Galaxy and provide us with renewed focus on the core promise for users.\n\nFinally, in early 2024, we released Preset Galaxy to the public! \ud83c\udf89 \ud83e\udd73\n\nAs anyone who\u2019s participated in a new software launch can attest to, this is a moment both exhilarating and terrifying. Thankfully, the effort we\u2019d put in over a lengthy period of time to ensure platform stability, as well as the private beta test, meant that the public launch went off without a hitch\u2014and it\u2019s been relatively smooth sailing (\ud83d\ude80 smooth flying? \ud83e\udd14) ever since.\n\nConclusion\n\nI\u2019ll reiterate what I said up top: I\u2019ve been privileged to work with many fine clients over the years at Whitefusion, but the list of projects I\u2019ve been on which provide that fantastic blend of personal interest and technical affinity is short indeed. I\u2019m thankful Greg and Orange Tree Samples took a serious bet on this idea, and I\u2019m truly thrilled to see what music producers will publish through Preset Galaxy in the months ahead.\n\n\n\nP.S. OK, I lied above\u2026allow me to indulge in a tiny bit of shameless self-promotion. I encourage you to head over to Whitefusion and check out what we\u2019re all about if you have a website or web application project in mind and you need a studio to build it.\n\nHailing frequencies are open! \ud83d\udce1\n\n\n\n \n\n \n #freelancing\n \n #synthmusic"
},
"name": "Hailing Music Producers Throughout the Quadrant! Preset Galaxy Has Liftoff",
"post-type": "article",
"_id": "40811209",
"_source": "2783"
}
{
"type": "entry",
"published": "2024-04-08T06:49:29-07:00",
"url": "https://aaronparecki.com/2024/04/08/9/",
"category": [
"travel"
],
"photo": [
"https://aaronparecki.com/img/620x0,q30/2024/04/08/9//tmp/phpD7DNjT"
],
"content": {
"text": "love waking up to a screen full of notifications that my 6am flight is delayed to 5pm \ud83e\udd26\u200d\u2642\ufe0f",
"html": "love waking up to a screen full of notifications that my 6am flight is delayed to 5pm <a href=\"https://aaronparecki.com/emoji/%F0%9F%A4%A6%E2%80%8D%E2%99%82%EF%B8%8F\">\ud83e\udd26\u200d\u2642\ufe0f</a>"
},
"author": {
"type": "card",
"name": "Aaron Parecki",
"url": "https://aaronparecki.com/",
"photo": "https://aperture-media.p3k.io/aaronparecki.com/3c4c0856c632e4c2c8bff14cbdb2f2807cf115c6a2b6ddc35973351bb4579162.jpg"
},
"post-type": "photo",
"_id": "40777645",
"_source": "16"
}