X Stats

Login Sign Up
@fractaledmind

Stephen Margheim

@fractaledmind

699 Tweets
1,303 Following
4,462 Followers

Modern CSS • Web Platform APIs • Rails + SQLite

Date ↓ Tweet ❤️ 🔄 💬 👁 📝
Sep 11 If you want to learn more about building web applications with SQLite, I made a course with the inimitable @aarondfrancis on this exact topic. Check it out at https://t.co/47UlyizFX9 41 0 1 4k 182 .
Sep 11 This has some Ruby-specific bits, but primarily covers essential SQLite-only details: https://t.co/N6ijWeJOoB TL;DR * immediate transactions * proper connection config * check busy_timeout doesn't block in your context * use an open-ended connection pool 28 2 1 3k 261 .
Sep 10 Yes! SQLite is *completely* different than PG or MySQL. With a client/server db, you want a small number of large queries to reduce network overhead. With an embedded db, you want a large number of small queries to maximize indexes and in-memory data. 2.7k 194 33 207.4k 251 .
Sep 06 RT @excid3: Rails World 2026 will be in Austin! https://t.co/zMjzJBUby0 0 6 0 0 71 .
Sep 04 Rails 8.1.beta1 ships with this PR adding min_connections to database configuration. This will benefit SQLite on Rails apps a ton, preventing write throughput saturating the connection pool and holding back reads. https://t.co/I5z2hYiYPg 35 0 1 1.7k 238 .
Sep 04 @flavorjones Enjoyed this post? Subscribe to @fractaledmind for my mix of frontend, backend, SQL, Rails, and random content. 3 0 0 1k 126 .
Sep 04 RT @flavorjones: Now open sourced! https://t.co/tKoHGIFabH 0 16 0 0 59 .
Sep 04 And it is open source as of now! Not quite v1, but damn is it featureful and beautiful https://t.co/wD87o9PWsv 60 2 0 3k 110 .
Sep 04 My favorite upcoming feature coming to the Rails ecosystem is ActiveRecord::Tenanted, which is an exciting new gem coming from @flavorjones soon. Everyone gets a database! https://t.co/kqd4SB2iYt 173 17 13 54.3k 196 .
Sep 04 The future of Rails is very very bright, especially for those of us who have already seen the light of the power of SQLite on Rails https://t.co/CA19ob8w3r 97 5 3 4.2k 155 .
Sep 04 In Amsterdam just in time to drop off my bags and make it to checkin. One more train ride to go. #RailsWorld 9 0 0 993 108 .
Sep 04 Starting my journey to #RailsWorld well before the sun rises 🥱 22 0 1 1.4k 62 .
Aug 27 RT @mattsolt: Been rewriting background job workflows with @fractaledmind's acidic_job gem & its been incredible. Love how it forces me to… 0 2 0 2 143 .
Aug 16 I have just opened two of the most exciting PRs for Chaotic Job. Soon, you will be able to write tests and simulations for the two most common sources of bugs in background jobs: (1) retries and now (2) races https://t.co/oj2MKkqCwq 15 1 1 1.3k 233 .
Aug 15 I love deterministic avatar image generators, but you don't typically need HTTP requests to get them. Here are three different Stimulus controllers for 3 different algos (shape, face blob, initials): https://t.co/VNvDGEPJP1 https://t.co/X3FAaUhY6h https://t.co/xr0kChtuEd https://t.co/QTyHGlKWJX 35 3 2 3.7k 296 .
Aug 13 RT @tonyennis: This was one of my slides at Big Sky Dev Con. The amount of progress in the last 2 years is mind boggling - I know there's b… 0 4 0 0 140 .
Aug 10 Of course, happy to hop on a call sometime to talk you thru the implementation (it’s not very complicated given that Ruby has a mechanism to add a callback around any execution event). But this has been a great entry point for me into this exciting field of testing 2 0 0 642 265 .
Aug 10 .@aarondfrancis Just listened to the newest Database School with @glcst. If you want to explore “minimalist simulation testing” from the point of view of web apps, and not systems dev, check out https://t.co/oj2MKkq4GS It simulates failures at every execution point of a bg job 6 0 1 1.1k 278 .
Aug 09 I need some great RSS feeds to provide me with some quality longer form reading material. Hit me with all of your recommendations! 4 0 1 957 130 .
Aug 08 If you define interface classes that own your interactions with external systems, you can ensure that all interactions are consistently observable, centralize access to make pattern matching likely, and compose patterns together into more efficient, higher-order access patterns. 3 0 0 500 279 .
Aug 08 Using a gem for an API, calling shell commands directly, etc. 1. likely creates blindspots in your observability stack, 2. hides your access patterns, 3. keeps an essential detail of your system (how you interact with the outside world and its state) opaque and scattered 5 0 1 520 272 .
Aug 08 🌶️ take: All IO interfaces should be owned/proxied by in-app classes. So, you should have something like an S3Client class, an FFMPEGClient class, a GoogleOAuthClient class, a QueueRedisClient class, a CacheRedisClient class, etc. in your application 19 1 2 1.7k 252 .
Aug 08 We're live! Watch my little studio intro and let me know how it sounds, how it looks. Still plenty to do and improve, but I've already had my first handful of calls in here and they went great. https://t.co/wE2Xvb5FZ3 34 0 11 2.1k 218 .
Aug 06 Getting all of the sound foam up was my second battle, but some wide head nails and stronger glue eventually did the job. Doing my first calls today in the new office/studio! Camera mount and mic arm should arrive tomorrow to unlock video recording! https://t.co/Af1Pl0mEmj 33 0 4 1.6k 273 .
Aug 05 Getting the walls up was only half the battle. Next major squirmish was figuring out why the fans wouldn’t run consistently. After some exploring and experimenting, learned there was a timer controller that was behaving oddly. Put my amateur electrician hat on and removed it. https://t.co/1BaFt2w8yr 10 0 0 931 300 .
Aug 01 It isn’t done and it isn’t perfect, but it is mine and it does work. https://t.co/MN1zjii4fv 59 0 10 3.4k 92 .
Aug 01 Here it is with the tape off and the glue set. Next up base boards (as seen on the ground) and interior. https://t.co/NtvAiG8CD6 42 0 3 1.5k 128 .
Jul 31 Great afternoon of progress! The wood acoustic panels are now up on the exterior. Glue on the corner is setting. Doing a bit of door framing then base board and sound foam on the interior. Onward and upward! https://t.co/bUqR3OvqVd 61 2 7 4.7k 231 .
Jul 30 Insulated! Tomorrow we put the exterior acoustic wood panels up. Then interior finishing touches. It is coming together!! https://t.co/Bvo1DiPnrT 38 0 8 1.9k 145 .
Jul 30 Fans and light installed! https://t.co/IhnOyuRMoX 11 0 0 1k 49 .
Jul 30 Door is installed! Wiring up the inflow and outflow fans now, then insulation and paneling. Final finishing touches at the end. Slow and steady https://t.co/zbB8rkwmb1 22 1 2 1.2k 167 .
Jul 30 Half at thru day two and getting the inner dry wall hung. A bit of wiring, insulation, then the outer panels will finish the walls. Also gotta frame the door. Great progress tho! https://t.co/4UZ489L56c 18 1 3 1.4k 202 .
Jul 29 Day one: frame is up. It is a small little studio, but it will be mine. Made with my (and my Dad’s) own hands. Onto day two! https://t.co/kRDRRBgOM0 53 0 10 2.9k 148 .
Jul 28 This corner is now cleared out and we begin framing the outer walls tomorrow. What was a little work corner yesterday will be a sound insulated tiny studio later this week https://t.co/9rEvai0joT 20 0 1 1.3k 195 .
Jul 28 As @aarondfrancis says, you can just build things. The “build a small studio in the corner of the apartment” project begins now. https://t.co/wVrn11jQVw 40 0 2 1.8k 152 .
Jul 25 For example, I can have CSS generically bind an anchor and its anchored element for a [commandfor] anchor. Semantic HTML is all that's needed, no duplicative `anchor-name` (I know, I know implicit anchors are coming too, but this is just a good example). 3 0 1 577 254 .
Jul 25 We should all probably be using double-dashed idents for our HTML `id`s. Once the advanced `attr()` function is baseline across browsers, this will allow us to dynamically use our `id`s as custom idents in CSS. 4 0 1 1.1k 210 .
Jul 24 Simple fact: HTML is the best component framework out there. It is composable, universal, and grows more featureful by the quarter. 75 2 6 3.5k 131 .
Jul 12 This PR will add `min_connections` as a db configuration option. SQLite apps with bursts of heavy write traffic can remove the bottleneck of writes saturating the connection pool and holding back reads, since at the db level reads can always occur. https://t.co/I5z2hYiYPg 30 0 0 1.6k 273 .
Jul 09 RT @postrbconf: Cheers.rb🍻at the last #railsconf @fractaledmind @inazarova @maciejmensfeld @rhiannon_io @TonsOfFun111 @neha_nakrani912 @kcd… 0 4 0 0 140 .
Jul 08 After various delays across various modes of transport I have finally made it to my room for #RailsConf2025. Now for a few hours of sleep 😴 9 0 1 1.3k 139 .
Jul 07 At the gate to board my trans-Atlantic flight from Berlin to Philly for #RailsConf2025 14 0 2 1.4k 86 .
Jul 02 I've been using a new text-only affordance for actions (links and buttons): "Verb →" means a navigation "Verb ↓" means downloading content "← Back" means navigating to previous page "Verb ↑" means opening a dialog "Verb ✓" means submit form I love it and users love it! 24 1 0 1.4k 271 .
Jun 28 What is the best <50k midsize SUV in your opinion? And reminder, I live in Berlin, so has to be available here. Also, living in Berlin, I don’t need a car multiple times a day every day, which is why I only want to spend up to 50k. Hit me with your recs 3 0 6 2.1k 258 .
Jun 27 Oh, and well-scoped pages with well-considered HTML leveraging basic HTTP actually plays _super well_ with AI coding assistants. I know everyone says that AI seems primed for React, but it is also great with core web technologies when used appropriately. 7 0 0 1.1k 254 .
Jun 27 Worth adding that properly leveraging the power of HTTP and HTML will likely require "undoing" some of the development patterns you have learned from JS frameworks. Similarly for UX patterns. As a tweak on a @KentBeck classic: "Make the feature easy, then make the easy feature." 11 1 1 1.2k 280 .
Jun 27 I am so passionate about the power and flexibility of classic HTTP 1.1, well-considered HTML, and clean CSS. Learn the fundamental tools of the web, lean on them, and you will be amazed what all is possible. 6 1 0 456 207 .
Jun 27 We all know that you can implement a tabs UI with standard anchor links, right? Aaannndd, this architecture allows you to add new tabs and additional tab content without one day running into a brick wall with loads of request timeouts. And the UI can look *exactly* the same. 6 0 3 1.1k 275 .
Jun 27 .@lucianghinda Maybe we should do a joint "Just Enough Job Testing" workshop. I love what you are doing and think it could be valuable to dig into the unique aspects and difficulties of testing async systems (e.g. bg jobs). Reply w/ ✋if you would attend this 3 1 1 882 259 .
Jun 27 There are some lovely replies to this. If you are a company in the Rails ecosystem, I bet there are a handful of gems essential to your application(s) that have maintainers with GitHub Sponsors. Show them some love! 0 0 0 676 215 .
Jun 27 The virtuous cycle of writing tests for Acidic Job patterns using Chaotic Job has been so much fun. Chaotic Job shows me slight unresilient details in my job, and Acidic Jobs patterns show me feature I need to add or improve in Chaotic Job. Both gems have improved much this month 4 0 0 755 280 .
Jun 27 The modern western city, with its slavish commitment to a car-centric lifestyle, allows car manufacturers to continue to be lazy. I want more better cars at more affordable rates. And I also want better cities that cater to real livability, walkable and safe. 2 1 1 862 259 .
Jun 27 Don’t just take my word for it, @rosapolis knows Chaotic Job “has a lot of potential for everyone” as a testing tool for your most important jobs. Introduce a chaos monkey into your job tests to ensure your essential jobs are truly resilient. https://t.co/oj2MKkqCwq https://t.co/dQiJTdSumS 28 0 1 1.4k 291 .
Jun 26 If you are a dev-centric company and you have clear positioning, profit-oriented pricing, and a proven product, you should be more aggressively pursuing mind-share thru a large collection of small "ad spends". * 6 months of 30 second ads on every @MostlyTechPod. * Sponsor a speaker at a conference with your target audience (even if they don't work at your company 😱). * GitHub sponsorship of a popular, or rising, project in your domain where you add your logo and 6 word pitch to the README * Pay for snacks at 6 small conferences in your space and have the organizers give your 30 second pitch on stage I bet you could do all of these for less than 20k and gain so much positive will, so much mind share, so much name recognition. Way better bang for your buck, IMO, than X ads or Reddit ads. 7 2 1 5.9k 801 .
Jun 26 Awesome shout-out in @RubyWeekly for one of my least-known, but best gems. Chaotic Job will literally 10x the quality and utility of your tests for background jobs. I positively love it, and I know for a fact that you will too. Check it out: https://t.co/oj2MKkqCwq https://t.co/Hqv9S17Auu 29 3 1 1.6k 290 .
Jun 26 A sprite sheet of SVGs plus a tweaked helper that simply generates a `<svg use />` string is my favorite approach. You can load one file and cache it, avoid computation on the server to parse all the SVG strings, but still have inline SVGs with utility classes composed. 10 0 0 878 276 .
Jun 26 Do most tooling companies not see brand advertising as valuable? Do they not see these activities as brand advertising? Something else. Help me think thru what is the case here. cc: @aarondfrancis @inazarova 2 0 2 778 208 .
Jun 26 It seems @jessethanley gets what “brand advertising” takes in the tooling space, with good ads on podcasts and YT vids. So does @AppSignal who sponsor tons of Ruby confs. But this still seems like the large minority. And I genuinely want to understand why. 2 0 1 596 257 .
Jun 26 Genuine question: why don’t more dev tooling companies engage in “brand advertising” by sponsoring a large number of small conferences, have one or two solid speakers at conferences regularly, and either ads on a YT creators channel or with a channel themselves? 8 0 3 1.7k 262 .
Jun 22 RT @LSUbaseball: THE TIGERS ARE NATIONAL CHAMPIONS https://t.co/0sk6iV8gRc 0 5.7k 0 0 74 .
Jun 22 Let’s geaux Tigers! #MCWS So happy to see the second World Series win in three years for our LSU Tigers. 0 0 0 796 104 .
Jun 20 There are 5 key elements: 1. DOM order for radios from highest to lowest 2. Visual order for radios from lowest to highest 3. custom star segment SVG images as encoded `url`s 4. `mask` over `background` to allow color effects 5. pseudo-element gap coverage for smooth hovers 0 0 0 403 275 .
Jun 20 https://t.co/yrdBpLIZiP 0 0 1 389 23 .
Jun 20 After some experimentation, research, and AI being stupid, I finally have a simple, clean implementation of a star rating component that uses only radio inputs and labels. Full walkthrough in my newest blog post 👇️ https://t.co/LKcAyItpf5 14 0 1 975 238 .
Jun 19 If you or your company are building complex workflows (like for payment processing or AI agents) and you want the power of Acidic Job Pro, I still have a few seats left in my pilot program. I will work with 5 companies to perfectly integrate Acidic Job Pro into their apps. DM me! 3 0 1 509 280 .
Jun 19 🧪⚡️ Acidic Job Pro offers a suite of battle-tested, elegant, and powerful features to make building complex workflows a breeze. You can gate running a step with a one-time check, a repeated check, or a delay; you can compensate for errors; you can also iterate over a collection. https://t.co/IWLphKYInr 41 9 3 2.6k 303 .
Jun 19 https://t.co/UL1gf4i8mB 2 0 0 438 23 .
Jun 19 I am actively working to fix this! Stateful and concurrent workflows are here to stay, and Rails app do and will need more than ActiveJob Continuation provides. I am making Acidic Job *the* toolkit for building workflows in Rails. Check it out 👇 15 1 1 2.3k 247 .
Jun 18 PS. If you or your company are struggling with the resiliency of one or more *critical* background jobs, I offer short consulting gigs to get tests in place as well as ensuring the jobs are rock-solid. You can jump to my one-time consultation GitHub Sponsorship: https://t.co/LTGWQzraPH 1 0 0 312 287 .
Jun 18 And if you want to ensure your jobs are resilient, run a full failure simulation with Chaotic Job—the best testing toolkit for business-critical background jobs. https://t.co/oj2MKkqCwq 1 0 1 340 186 .
Jun 18 I just pushed version 1.0.0.rc6 of Acidic Job, which setup a massively improved CI system to test against a full matrix of Ruby versions, Rails versions, and database engines. And I have 7 example job patterns that we run full Chaotic Job simulations against. On our way to v1! 21 1 1 1.2k 277 .
Jun 13 RT @rubyconfth: 🚨 NEXT CONFERENCE ALERT We are back early 2026 to bring you another amazing Ruby conference! Keynote Speakers: @inazarov… 0 6 0 0 140 .
Jun 13 I'll be participating in Hack Spaces at the final #RailsConf in Philly (on July 9th, aka Day 2)! In the morning I'll be with @flavorjones to hack on all things SQLite, then in the afternoon join me to hack on Acidic Job. Get your ticket now: https://t.co/0q613eEYhH https://t.co/BHMdkuQvgr 8 1 0 821 291 .
Jun 11 For those that don’t know, @HigherPixels has been a major contributor to the newest releases of Solid Errors. A great company in the Rails ecosystem. And proof positive that high leverage solutions like Solid Errors are sometimes the perfect fit for companies as well! 18 1 0 1.3k 268 .
Jun 11 A new version of Solid Errors (v0.7.0) is out now! This is another release driven by the community, with PRs from 5 different contributors going into this release. Checkout the CHANGELOG for more details https://t.co/JxT5aq0j6n 79 4 8 3.9k 228 .
Jun 04 Let’s keep this train rolling! Next up is an update to Chaotic Job, the gem for testing background jobs for resiliency. Now, you can inject glitches by line number, method call, or method return. And you can even run simulations against a custom callstack. https://t.co/oj2MKkqCwq 3 0 0 730 280 .
Jun 04 Another day, another gem update. Today it’s the sqlpkg gem, which provides access to the 100+ SQLite extensions available via the sqlpkg utility. New version uses v0.3.0 of sqlpkg and includes a fix for referencing extensions in Rails 8 apps. Check it out: https://t.co/Fabmk11dnA 19 2 0 1.4k 280 .
Jun 03 v0.13.0 of the Litestream gem is now out with half a dozen improvements *all from the community*! Check out the CHANGELOG for details: https://t.co/ACtrKFW6vX 32 1 0 2.6k 158 .
May 31 RT @wrocloverb: Time goes by and we're ready to show off all the great talks that we've had at #wrocloverb this year🌟 Let's begin with Joel… 0 2 0 0 140 .
May 30 With the announcement (and merge) of ActiveJob::Continuation, it is a perfect time to announce that my pilot for AcidicJob Pro is finally ready for the first 5 companies/agencies that reach out. If you need ActiveJob::Continuation++ with extra tooling and observabikity, HMU! 19 6 0 1.8k 275 .
May 30 And, for companies that already realize their need for durable execution workflows, I am ready for my private pilot with 5 companies to integrate AcidicJob Pro into their systems, and take their workflows to the next level with resiliency, resumability, and observability. 3 1 0 635 272 .
May 30 But, even if you don’t need the power of AcidicJob yet, I strongly recommend using ChaoticJib to test your continuable jobs for proper resiliency. Not enough people know yet but this is probably my best gem: https://t.co/oj2MKkq4GS 4 2 0 489 233 .
May 30 ActiveJob::Continuation is a truly wonderful addition to Rails. So many apps need resumable, multi-step workflows in a single job. The fact that “durable executions” will come out of the box in Rails is another example of how good we have it. And it’s great for AcidicJob! 78 3 3 4.8k 272 .
May 29 RT @inazarova: Friends, Today we're announcing the San Francisco Ruby Conference taking place on November 19-20! A super special event brou… 0 29 0 0 140 .
May 20 RT @juliknl: For folks who did enjoy my post on Shardine - the SQLite-per-tenant thing for ActiveRecord - you will love this talk by Mike.… 0 2 0 1 139 .
May 20 RT @strzibnyj: I set up Litestream for a Rails + SQLite + Kamal app for the first time 😅 Great work @fractaledmind https://t.co/6nsFbYfArn 0 6 0 1 139 .
May 20 Time to start Scooby-dooing all of our avatar headshots! https://t.co/6F2Oi1i3tH 8 0 0 1.3k 80 .
May 16 Or, if you want to learn more before diving in, check out this talk Joel gave at wroclove.rb last month: https://t.co/bo1BmIW4xw 4 0 0 768 129 .
May 16 If you have never tried out Literal yet, I would heartily recommend you give it a 15 minute real try. It is now a part of Joel Drapper and I's Yippee umbrella of projects: https://t.co/Bpicd1RcVa 7 0 1 758 196 .
May 16 As Rails devs, we tend to prefer SQL > NoSQL. But I've just realized that many of the arguments why can easily be applied to runtime typing > duck typing. In fact, Literal can be thought of as relational schemas for Ruby objects. e.g. `t.string :name` => `prop :name, String` 19 0 3 2.3k 284 .
May 12 I know the odds are against us given their other responsibilities, but just imagine how great it would be to have @MostlyTechPod at Rails World 🤔 22 0 2 1.9k 145 .
May 05 Nope! I have a project I’ll be releasing next month that brings exactly this to the component kit table. No more mixing of styles, behavior, and aurthoring experience (e.g. must write React to get this kit). We deserve beautiful styles and solid components tailored to Tailwind. 29 1 1 2k 278 .
Apr 21 I'm not sure what the tech stack here is, but I wrote a pure CSS implementation that works with semantic HTML: https://t.co/cJdhSuNBgg 29 3 0 2.4k 134 .
Apr 18 This was an epic surprise entry for the closing keynote at #RubyKaigi2025 from @yukihiro_matz. Just amazing to see it live in person 67 6 1 4.2k 132 .
Apr 18 Ruby is powerfully suited to be a central language in the age of AI, as layed out by @yukihiro_matz in his closing keynote at #RubyKaigi2025 https://t.co/Ac0WDsPYgz 55 10 1 5.7k 164 .
Apr 18 Last day of #RubyKaigi starts with a panel discussion with nearly every Ruby committer. Really loved this conference and the energy of the Ruby community here in Japan 🇯🇵! https://t.co/FuIo0z9kW6 14 1 0 1.1k 195 .
Apr 17 RT @crplanas: Why #RubyKaigi is the best conference in the planet? Well, this kind of stuff happens here, nowhere else. https://t.co/RYvCDO… 0 3 0 0 140 .
Apr 17 I joined Findy Drinkup at RubyKaigi 2025 Day 2! https://t.co/OIjFxer7tf #rubykaigi2025_findy 0 0 0 473 92 .
Apr 16 Marco is one of the very best devs I have ever met, and he is channeling so much of his immense talent and energy for the betterment of the Ruby community. This is such a great tool that can be the foundation for so many amazing new things. Congrats! 78 4 1 4.6k 250 .
Apr 16 Repo available here: https://t.co/w9rXIB0xi8 Follow along with the project and get involved 6 0 0 472 92 .
Showing 201-300 of 699 tweets