Your friendly neighborhood πŸ’Ž Rubyist | Rails Contractor | Dad (πŸ‘¦πŸ‘§πŸ•β€πŸ¦Ί) | Indie maker (railsnew.io) | sitdown comedian (in writing, not fun @ parties)

Joined May 2017
275 Photos and videos
Pinned Tweet
We're resurrecting railsnew.io soon! How soon? No exact ETA yet, but I'm hoping that updating my extremely outdated profile and starting to post about it will motivate us to make it happen sooner than it otherwise would have πŸ˜…
9
2
35
3,203
Same effect as 'Accept' everywhere else - yet, such a small touch signals "Maybe, just maybe, these guys are artisans if they are sweating even the boring stuff". Or maybe I'm just so disgruntled with AI slop that even a small thing like this feels like a breath of fresh air...
3
157
FML @heroku down - app is up and running, but other than that: - nothing from the CLI, other than logout, works (hey, thx for nothing) - dashboard inaccessible - support inaccessible - status page either down, or reports that everything is up and running πŸ™ƒ tl;dr: shit's on fire and other than angry tweets, there doesn't seem to be even an acknowledgement of the dumpster fire
2
5
2,061
You know things are not going great when Claude completely loses it... "This is some Ruby string comparison bullshit." πŸ˜†
221
Trinity Takei retweeted
I think that I might have a neat idea for something at a #Ruby / #Rails #conference that people might talk about. To do that I'd need someone to #sponsor this. So please share this so that folks who might want have visibility at a Ruby/Rails #conf see this. #followerpower
2
3
7
780
O2 created human-like AI β€˜Granny’ to answer calls in real time from fraudsters, keeping them on the phone and away from customers for as long as possible. Finally, an AI that sparks joy instead of existential dread!
1
4
307
You know you've really fucked up when Claude goes full Hitchhiker's Guide to the Galaxy and starts handing out towels. 🀦
179
Just the usual friendly git-related banter with Claude
1
2
209
Holy shit, I just realized I've been ghosting Twitter harder than my gym membership. Over a month of silence! While everyone was losing their shit over Elon's Twitter takeover like it was Y2K 2.0, I was sitting here like that dog in the burning house meme, sipping coffee and mumbling "This is fine" through gritted teeth. I'm still not ready to go full doomsday prepper, stockpiling screenshots and hoarding followers like they're toilet paper in 2020. But sweet baby Jesus on a pogo stick, @bluesky feels like upgrading from a Nokia 3310 to an iPhone. The only thing missing is the network effect, but let's be honest - posting on Twitter these days feels like screaming into a void that's already filled with crypto bros and AI doomscrollers. "If a tree falls in the forest, does it..." Well, on Twitter, it doesn't matter how that sentence ends because the algorithm already decided nobody should hear it anyway. Meanwhile, I've been channeling my social media withdrawal into something actually useful (shocking, I know) - working on railsnew.io. It's like Ruby on Rails documentation had a baby with a dad joke book. Coming soon with more cartoons than your average Sunday paper and jokes that will make my fellow developers question their career choices. Stay tuned. Or don't. This is social media - we're all just pretending to pay attention anyway. πŸš€
1
1
5
439
Finally, someone gets it (what's more: been there, done that, documented everything for the rest of us). I'm sitting here, jaw on the floor, wondering how all these other devs attacking him and going on endless rants defending AWS and other cloud technologies haven't realized they're basically setting fire to their own money. Do they hate having cash in their pockets or what? It's like they've been brainwashed by years of marketing from cloud giants aimed at Fortune 500 companies, and now every indie maker with 100 daily visitors and zero monthly recurring revenue thinks they need Point in Time Recovery, automatic failover, and a Kubernetes cluster that could launch a SpaceX rocket. Meanwhile, @dhh et al is running Basecamp and HEY, serving a metric fuckton of traffic, without all that cloud nonsense. If @37signals can pull it off, you bet your ass the average dev can too. "But but, they have dedicated devops" - you will too, once you reach their scale; until then, start out with a $3 @Hetzner_Online VPS and go from there. Wake up, people! Your CRUD app isn't Netflix, and you don't need to set your wallet on fire to keep it running because maybe some day you'll need a globally distributed, multi-region, serverless, blockchain-enabled, AI-powered, quantum-computing-ready, edge-optimized, IoT-integrated, Kubernetes-orchestrated, Lambda-triggered, DynamoDB-backed, Elastic Beanstalk-deployed, CloudFront-accelerated, SageMaker-enhanced, Cognito-authenticated, Step Functions-coordinated monstrosity that can handle the traffic of every human on Earth simultaneously deciding to use your app to calculate how many toothpicks they can balance on their nose.
3 Oct 2024
Yesterday's tweet about exiting the cloud and saving 10x on monthly AWS costs went viral x.com/rameerez/status/184145… Many people had strong opinions about it Here are some observations and thoughts: - A lot of people have magical ideas about how datacenters actually work. They think servers in datacenters are fragile and volatile. Like things that can just vanish into thin air. Someone thought a lightning strike can take down an entire datacenter and nuke your business out of existence. These are mostly fear-driven opinions, the result of a successful cloud psyops campaign. The reality is modern datacenters already account for all these problems and are equipped with many protections: not only against things as mundane as lightning, but against pretty much anything that can compromise uptime. They have plenty of redundant systems: redundant power sources, redundant cooling, tons of physical security... Everything in a datacenter is designed with resiliency and redundancy in mind to guarantee uptime. Disasters can happen (OVH 2021), sure, and you should have backups to recover from them – but in my experience of ~15 years running servers I think they're rare, and I've never had any downtime of more than a few minutes. Your server is probably going to be okay. - Anyone who has managed servers for long enough knows you spend most time in the initial setup; then servers tend to be relatively stable. Hardware failures are relatively rare, and once a server is up and running it usually runs flawlessly for years without much intervention. Managing your own servers is not a full-time job. You don't need to employ a 5-person devops team. You don't even need to hire a server guy: you can just do things yourself! It's not that difficult. Claude and ChatGPT usually have a good understanding of Linux systems and how to manage them, ask them for help - "You're using the cloud wrong" / "You just need to know how to use the cloud" were common arguments as well. Look, I'm definitely not an expert but I know my way around AWS. Hell, I've even studied AWS certs. My infra was not overprovisioned. Yes, I had optimized costs before moving off the cloud, and yes I do know about reserved instances. My take: reserved instances only make the problem worse – they create vendor lock-in, and they essentially go against everything I've been trying to argue. The least thing you want if you're considering getting off the cloud because it keeps being too expensive is lock yourself into it with a 3-year contract (yes, I also do know you can resell RIs, thanks, my argument still stands) - Many people thought this was my first time running servers and claimed I was overly optimistic in what running a server actually means. It's difficult to say these things without coming across as arrogant, but I've been managing servers since 2006. I started, as many did, editing PHP scripts and uploading them to my FTP server. I first had to learn how to install Wordpress, then ventured a bit and started editing WP templates, then everything else followed. It was an invaluable experience for me. It taught me the basics. It taught me what Linux was, how to navigate it, and by 2007 I was requesting Canonical for Ubuntu CD-ROMs that would arrive in the mail and that I would use to install in a partition in my parents' computer to learn more about Linux. Those early experiences taught me the basics of web development; everything else is built on top of it. Which leads me to the next point: - I think the new generations of devs (genz, etc) are absolutely out of touch with the hardware that runs their software. They lack these kinds of foundational experiences. They were born in an era where a random guy on Youtube shilled them one specific vendor and taught them to run one very specific command that magically solved all their infrastructure problems. It's only reasonable they have magical assumptions about what servers are and how they work. They rant and rant about how you can just do things "serverless" without realizing they're just running their code in many different boxes. Ofc many of them go on to learn more about Linux and servers, but the average bootcamp grad, let's say, lacks the hands-on Linux experience that FTP hackers would have had 20 years ago. I'm not making moral judgements about this: I'm not arguing it's good or bad – it is what it is. The current state of web dev. - I noticed the more experienced developers that are currently in the cloud have developed some sort of Stockholm syndrome about the cloud. It's essentially sunk cost fallacy, but it turns them into very irrational creatures. They develop this weird friction to challenging the status quo and changing their opinion on things. They start throwing irrational arguments left and right, repeating the AWS sales landing pages' talking points one by one, and don't even stop to think if those things are even of use to them. They got tricked into believing something, and once you touch upon belief systems, people get irrational. It doesn't matter how good my optimizations were. I could have cut costs 100x instead of just 10x – or I could have claimed something outrageous like I got to run all my infrastructure for just $1. It doesn't matter. These people would still be ranting and arguing that I'm doomed because now I don't have things like "infinite scalability capabilities" or "automated failovers with automated replica recovery". These are things that I've never needed or used, things that I'm sure 99.999% of people in the thread never needed or used either, but that they throw at you in a vain attempt to build an argument - The majority of devs are clueless or have forgotten about how we got here. I remember very clearly how the cloud marketing psyops campaign started in the early 2010s. It was a deliberate move by companies to try to shill their enterprise cloud technology to early-stage startups, trying to get them locked in as early as possible so they could milk them as they raised rounds. I remember when AWS started to give out credits specifically for startups only. They would literally go startup accelerator by startup accelerator trying to get everyone onboard. AWS was not the only one. I remember attending an IBM cloud event in 2014. I was the CTO of a small startup at the time. They were very specifically targeting startups; in fact, we got the invitation via our accelerator IIRC. We ran everything on Heroku at the time, and it worked just fine. I remember thinking: what the hell is all this cloud stuff and how do I use it? I vividly remember feeling like they were trying to sell us something that was not designed for us. I spent some time looking into it and just couldn't wrap my head around this whole cloud thing. All of it sounded so alien to us. But all these companies poured literal millions upon millions of dollars into this cloud shilling campaign over the following years, tricking early startups into adopting enterprise technology. They ended up being successful at it – and the aftermath is the current state of web development in 2024. Zero interest rates through most of the last decade definitely helped in getting us here. There is now a counterculture movement, mainly led by @dhh and the Rails community, and this feels like something fundamentally fresh, right, and aligned with the reality of MOST software businesses on Earth. Which leads me to: - Many people are absolutely out of touch with what most software businesses look like in the real world. They think in terms of Fortune 500; they truly believe enterprise is the norm. They think the average business needs all the bells and whistles the cloud has to offer: high availability, multi-zone replication, automatic failovers, distributed Kubernetes clusters... The reality is only a teeny tiny fraction of all software businesses need something like this. Most businesses will always be small, by a simple rule of power law, and the ones that need actual computing power can do incredibly well without the cloud up until a very high point. Scaling vertically can get you very, very far nowadays. Most devs wildly overestimate scaling requirements. They have such a low bar for what "high traffic" means. Here's a reference point: my current two-server setup serves millions of requests a day for millions of monthly visitors. So is the case for many other indie makers, like @levelsio, who even managed to get everything down to one single server. Most devs have never tried running a project of their own, with actual users and actual production traffic, on a single server – and it shows. - Devs also wildly overestimate other technical requirements. Again, only a tiny fraction of software businesses need the bells and whistles. Of course they exist, but they're rare, and they usually have very good reasons for their technical decisions. Like Netflix, needing to transcode and stream enormous amounts of video to customers all over the world. That's where you need distributed systems, CDNs, edge computing, all of that stuff. Your little app with one thousand users that just sends some JSON objects around does definitely not need that. I feel like most devs have this magical notion in their heads that their project is something like Netflix. It's wishful thinking, and I get it – you want to be as successful as Netflix. But it makes you make the wrong technical decisions, and all of a sudden they think they need to have distributed servers all over the world because their users will somehow notice a few milliseconds difference in latency when they tap a button. It's wild. - Cloudflare can get you really far. Some argued that running your own server is somehow less secure than running AWS's servers, as if EC2 instances were magically protected against hackers or something. Just lock the box: ask ChatGPT how to harden your Linux server and follow best security practices (like: don't use password auth, only strong ssh keys) and you're 90% there. Then, for an extra layer of protection, run Cloudflare on top of everything: proxy the IP of your server on their DNS so you don't expose it, and you're golden. And you get DDoS protection, edge caching, and a top-tier DNS for essentially free.
1
3
737
"Rails is technical debt" - agreed. But so is every bit of code written in any language, from punchcards to LOLCODE to TypeScript. That's just the way of the code - it starts bitrotting the moment it leaves your keyboard, like a banana you forgot in your gym bag. It's due to a complex web of dependencies, changing requirements, and ever-growing complexity that's about as manageable as a neurodivergent toddler on cocaine. It has nothing to do with any specific language or framework. I'm more interested in "technical wealth" - the accumulated value of well-designed, clean, and maintainable code that makes future development easier and more efficient. Looking at the awesome writeup by @kyrylo in particular, and the evolution of Rails over 20 years in general, I believe we're on the right track (pun intended). Look, ma, I didn't need to attack any other language or framework to make my point. I must be weird, like a vegan at a barbecue who doesn't tell everyone they're vegan, but quietly chewing on a tofu dog that looks like it was made from recycled yoga mats Β―\_(ツ)_/Β―
27 Sep 2024
Notes from Rails World 2024 Opening Keynote by @dhh: Fighting Complexity in the Web - Rails 8 has been released - Rails has been trying to follow the latest programming trends, but DHH was never satisfied with this approach - Rails 7 and the introduction of ES6, HTTP2, and Importmaps brought back excitement - DHH's work on HEY made him realize that the whole industry's approach was flawed - Rails doesn't have to accept conventional rules The #NOBUILD Approach - HEY went 100% #NOBUILD (CSS and JS served directly to the browser as written) - For 20 years, people claimed Rails doesn't scale - @tobi proved them wrong: Shopify serves 1 million req/s in 2023 - JS minification has hindered the web as a learning platform, saving only 2-5% overhead - We owe it to the open web to allow view source Simplicity and Progress - DHH composes a haiku to honor Matz: "Progress is our path, complexity builds the bridge, simplicity waits." - Complexity is necessary for progress, but simplicity is the end goal - Rails 7 ethos: rely on the browser - Browser compatibility: { safari: 17.2, chrome: 120, firefox: 121, opera: 106, ie: false } - The goal is to optimize for our limited "monkey brains" - Rails aims to compress the complexity of modern web apps Deployments: From HELLO WORLD to IPO Current State of Deployments - The industry has cultivated a fear of server management - AWS solved a specific problem for Amazon's extreme usage spikes - Most developers don't need such complex solutions Cost Comparison - Heroku's Performance M (1 core/2 threads/2.5GB RAM/$250 mo) vs. Hetzner hobby box (48 cores/96 threads/256GB RAM/$220 mo) - DHH criticizes the markup on services like Vercel (AWS 500% markup) The Need for "Generics" in Deployment - DHH draws parallels to medical patents expiring after 20 years - Calls for open-source alternatives to expensive PaaS solutions Rails 8 Mission: NoBuild, NoPaaS - Rails aims to eliminate the need for commercial vendors for production deployment - The main path: deploy your application to any hardware of your choice Learning Linux - OMAKUB - DHH's favorite Linux environment - Emphasizes the importance of basic security measures (e.g., denying password authentication with SSH) Rails 8 Features Authentication - Rails 8 will generate authentication code instead of using Devise - The generated code is extracted from 37signals' applications Propshaft - Replaces the outdated ACID pipeline - Simpler to understand compared to Sprockets - Designed for modern browsers, allowing direct code shipment to users Database Innovations - Introduction of "solid" adapters: solid_cable, solid_cache, solid_queue - All run from "One Ring" - a single database system (SQLite) Solid Cable - Database-backed adapter for Action Cable - Eliminates the need for Redis Solid Cache - Born out of Basecamp's needs - Supports 10TB of caching stored for 60 days with a 96% hit rate - Supports encryption, built on top of Active Record Solid Queue - Highly performant job processing system - Works with all 3 major DBs - Supports recurring jobs - Processes 20M jobs per day on HEY Thruster - Aims to eliminate the need for nginx and other proxies - Provides X-Sendfile acceleration, Cache-Control, and GZip compression - Written in Go, capable of 60,000 RPS on a laptop Kamal 2 - Deployment tool for Rails applications - Features Auto SSL through Let's Encrypt - Allows running multiple applications on a single server - Includes a new proxy written in Go Future Plans Rails 8.1 - Action Notifier: new framework for web push notifications - Active Record Search: alternative to Elastic Search - Action Text with markdown support (codenamed "House MD") Kamal 2.1 - Ongoing improvements to the deployment tool Conclusion - Rails 8 provides #NOBUILD and #NOPAAS solutions - First beta of Rails 8 released on the day of the talk - Kamal 2, Solid Queue, and other features are now live
1
3
564
Don't rate my (cheap) setup. 2020 Macbook Air M1: $900 Dell U2723QE UltraSharp 27" 4K UHD: $440 Working in πŸ‘•πŸ©³ on the terrace. During autumn. In Europe: Priceless About to start a @StarterStory deep work session. Highly recommended - the best online community I ever joined!
2
11
1,017
The future is here! Saw a 'text to code' app in an AI newsletter, told it to implement quicksort, and... almost nailed it. Hey, a few characters missing from here and there, but let's not be too harsh. I'm sure if you give it a more complex task it performs better (no yawning needed) Also, why did they pay for this ad? Why would I use this app vs @cursor_ai (except the fact that right now, when I hit enter, nothing happens 🀦) AGI, here we come (soonβ„’)
1
1
273
`ef quicksort` is the developer version of covfefe or what
87
If anyone can answer this, it's SQLite Jesus, A-bit-of-everything Jesus, and kick-ass Adrien-Jesus (ran out of analogies, sue me πŸ˜…). Adrien runs rubyvideo.dev with speeds that'd make The Flash jealous and features that'll make your regular sites look like cave paintings. For a grand total of $4. Give 'em a hand and find some killer Ruby vids while you're at it. Now if you'll excuse me, I have a treasure trove of Ruby videos to sift through.
πŸ’ͺ Can #SqliteOnRails cheap VPS handle the load? Let's prove this out. With @fractaledmind and @marcoroth_ we want to find out and need your help. Visit rubyvideo.dev and play : create your account, search for talks/topics, bookmark videos... RT for reach πŸ™
1
1
9
744
In addition to being locked out of twitter, this is what I see when trying to load my slack workspace (in a browser) I'm wondering if this is something weird on the network level (ie my ISP being seen as a malicious actor). I'm not using a VPN and not (intentionally, that I know of) doing any shenanigans/using exotic settings.
233
I woke up to being locked out of twitter, no idea why. Haven't done anything weird, as far as I can tell. No automation, no mass-actions or anything eyebrow-raising imo. After finishing the hardest CAPTCHA I ever saw, I was back in. However, my 'following' count dropped to zero πŸ€”πŸ€¦ Anyone experienced anything similar?
3
2
799
Not having kids can be a superpower (more money, time, and nerves, as any parent can surely confirm), but it also means fewer smiles and less pride over random daily convos like this one.
2
212
Whoop whoop! A day after usingrails.com has been announced! Yeah, Ruby is dead, my ass

🌟 Thrilled to announce @RubyEurope : European Ruby Community! πŸš€ Our mission: 1️⃣ Revitalize meetups & foster connections 2️⃣ Support education I'm so excited to embark on this journey with you all! Plans coming soon - your ideas welcome! Join us: on rubyeurope.com
1
1
19
1,137