Sources
1577 sources collected
tech.stonecharioteer.com
Ruby | Stonecharioteer on TechSo the other said that I could look into using the Qt4 bindings for Python with PyQt4. He mentioned that the Ruby Qt bindings weren’t maintained. … I’ll be the first to admit that’s a bad thing, though. The fact that everything is shoe-horned into Python is a really bad thing. Python is a great language, but it also allows you to write what you think is production level code after a two day bootcamp. That is dangerous. Airflow, notoriously enough, teaches users to run bash scripts from within its Python environment and treats that as a normal thing. Operations engineers who first look at it think that they can run complex shell scripts from airflow and that it’s very safe to do. Data engineers think that data munging with it is easy as pie and then complain that someone else’s DAG brought airflow down. … The ideas I just spoke about seem almost obvious to us now, but they weren’t, back in the day. Smaller frameworks made developers feel productive, but we are left writing a lot of code just to do things the right way, or we can MacGuyver stuff around and YOLO our way into an application that will inevitably break. … ## Implicit not Explicit, Ruby from a Pythonista ### Editor and LSP I experimented with LSPs for neovim, having tried `sorbet` and `solargraph`, I settled on `ruby-lsp`. I think Solargraph had some problem with resolving tests in a rails project, I’m not sure what it was, but I installed Ruby-LSP and it worked without any tweaks. I prefer that for now, but my preference might change eventually. … But after I had gotten over the initial shock, my developer brain immediately wanted to know *how* Ruby managed that. Let’s focus on that. I first ran into something related when I installed a different version of Rails and wanted to downgrade to match the version in the tutorial. Now that made my neurons fire at full power.
www.youtube.com
The Inevitable End of Ruby ProgrammingNone of the none of Ruby's current solutions are on par with those. It's {ts:231} far too conducive to what programmers call foot guns. I never heard that. Features that make it all too easy to {ts:238} shoot yourself in the foot. Huh, that's true. Critically, JavaScript was bad that way, too. Anyway, critically, {ts:245} Ruby's performance profile consistently ranks near the bottom read slows among the major languages. You may remember {ts:252} Twitter infamous fail whale. The error screen with a whale lifted by birds that appeared whenever the service went down. {ts:260} You could say Ruby was largely to blame. … {ts:362} which I'm not sorry to see. Ruby now finds itself awkwardly in middle ground. Uh you may wonder why people are still {ts:369} using Ruby25. It surv it survives because of its parasitic relationship with Ruby on Rails the web framework {ts:377} that enabled Ruby's widespread adoption and it continues to anchor its relevance.
rubyroidlabs.com
Comparison of popular programming languages in 2025-20303. **The TypeScript adoption barrier** Implementing TypeScript carries upfront costs. Beyond the configuration overhead, teams without static typing experience encounter a significant learning barrier. ... Python isn’t built for speed. If your system has to handle thousands of requests per second, Python may struggle unless wrapped in a complex architecture (think async, caching, and load balancing). 2. **Concurrency is tricky** Python’s Global Interpreter Lock (GIL) makes true parallel processing complicated. There are workarounds, but none are elegant. … ### Ruby’s cons 1. **Runtime performance** The Ruby language isn’t lightning-fast itself. For projects with extreme scale or high-performance requirements, you might need to offload parts of the stack. However,**Ruby combined with Rails** gives the tools to scale smartly despite Ruby’s performance limits. If you’re building something where development speed and iteration matter more than raw throughput (like an MVP, SaaS app, or internal tool), the tradeoff is often worth it. 2. **Smaller developer pool** Finding Ruby developers proves harder than recruiting JavaScript or Python talent, especially outside startup-concentrated cities. Still, Ruby’s hiring pool remains broader and more experienced than what you’ll find for Rust, Go, or Kotlin beyond mobile development. 3. **Less suited for modern frontend-heavy apps** While Rails supports APIs and Hotwire, building rich, JS-heavy frontends may still require integrating with React or Vue, adding complexity. Ask what Ruby does best, and the answer is simple: it gets products into users’ hands without unnecessary friction. ... 1. **Limited expressiveness** Go prioritizes simplicity over language features, only recently adding generics. It’s less declarative than Ruby, leading to more repetitive and verbose code. 2. **Smaller ecosystem for web/dev tools** Compared to Ruby, JS or Python, Go’s ecosystem is smaller and more fragmented. … ### Rust’s challenges 1. **Challenging initial adoption** Rust’s compiler provides guidance while enforcing rigid rules. Developers new to the language often find borrowing, lifetimes, and ownership difficult to grasp initially. 2. **Development velocity trade-offs** The safety mechanisms Rust provides aren’t free: compilation takes considerable time, and building features progresses more slowly than with dynamically typed alternatives. 3. **Limited hiring options** Rust’s developer base continues expanding but remains notably smaller than JavaScript, Python, or Ruby communities, potentially complicating recruitment and team onboarding. ... While promising, KMP isn’t as battle-tested as other cross-platform tools like Flutter or React Native, and it can add complexity to projects. 2. **Slower build times (compared to Java)** Kotlin’s expressive features can lead to slower compile times, especially in large projects, something to consider when scaling.
## Cons of Ruby Development ### Fast Development, But Slow Performance Ruby is undoubtedly one of the fastest development languages, but in terms of web application performance, it does not always show the best results. Programming languages like Python and NodeJS are still faster. In most cases, the performance of Ruby is weighed down by the database connections and is dependent on the expertise of the developer and how efficiently their code is written. These issues can create a bottleneck for Ruby, resulting in latency. Twitter struggled with Ruby performance and ended up partially replacing it with code in other languages. Ruby was not completely abandoned, but the system was replaced with Scala solutions. ### Lack of Flexibility Ruby follows standards and paradigms strictly, which creates difficulties in changing the core codebase. This results in flexibility losses because there are many configured set objects that can not be modified by developers. This is one of the biggest disadvantages of Ruby, as it doesn’t allow the developers to make required core changes and necessitates a shift to other tech stacks. ### Improper Documentation Documentation is not always up to date for RubyGems which are heavily involved in application development. While documentation is mostly available for the popular gems, trying lesser-known libraries and gems can mean taking your chances. The developer suffers in this case, as they have to repeatedly check for the required functionality and waste development time.
I really love the syntax of ruby, I love the language. Rails can be a little too opinionated but it's still great because it forces a structure that is great for new devs to wrap their heads around. But ultimately the reason I'll never ever use ruby in production is performance. It's just so slow compared to other language. It's something that's a little disconcerting that in all these years the core ruby team hasn't seemed to fix the performance issues in the language. This is of course not a problem for hobbies or to learn with. But for production where performance is super important, ruby is just too slow compared to its competition. Node, Golang, or Swift are just way more performant, with node being easy to use, golang being very performant but slightly harder, and swift falling somewhere in between both performance and difficulty. The three of these aren't as fast to prototype in as Ruby on Rails. It's sad, the one language/framework that's truly super fast and easy to get something built, just happens to be one of the worst at scale.
news.ycombinator.com
Maintaining Ruby is a nightmare. Trying to escape that hell now. I do ...I do like Ruby for my own projects. But I hate working on Ruby with others. It becomes more messy faster and then all that supposed “getting out of your way” goes out the window and you have to know about 9 objects, one of which is an iceberg which will need to quack at some point. Overall, it obliterates a programmers ability at local reasoning in code, which is where I really want speed. Cthulhu_ on Dec 19, 2023 I mean I personally believe maintainability is a combination of the language itself and the culture around it; Go is a great example of a language and culture aimed for readability and maintainability, eschewing cleverness. That is, the language is limited in how much cleverness you can write, and the culture is opposed to people trying. … The problem with maintaining Ruby is that Ruby is heavily influenced by Perl. I do like Ruby for my own projects. ... Overall, it obliterates a programmers ability at local reasoning in code, which is where I really want speed.
marcelsud.me
Cloudflare Outage June/2025: Lessons for Software Engineers - Marcelo Santos (@marcelsud)This obscure storage provider turned out to be the backbone of Cloudflare's Workers Key-Value (KV) service — a critical piece of infrastructure that thousands of applications depended on for everything from user sessions to configuration data. When it stumbled, the dominoes began to fall: **91%**of Workers KV requests started failing **100%**failure rate on Access logins **90%+**error rate on Stream - Workers AI, Images, Turnstile, and parts of Dashboard also affected - Thousands of dependent applications around the globe started throwing errors - Customer support channels lit up like Christmas trees … ### The Failure Timeline **Ground Zero (T+0 minutes)**: A third-party storage provider experiences internal issues. Most of the world doesn't notice yet. **Primary Impact (T+5 minutes)**: Cloudflare's Workers KV service starts timing out. Alert dashboards begin showing yellow warnings that soon turn red. **Secondary Impact (T+15 minutes)**: Services that depend on Workers KV — Access for corporate authentication, Stream for video delivery, Workers AI for machine learning inference — start failing completely. These aren't graceful degradations; they're hard failures. **Tertiary Impact (T+30 minutes)**: Customer applications that relied on these services start experiencing outages. E-commerce sites can't authenticate users. Streaming platforms can't deliver content. AI-powered features simply disappear. **Ecosystem Impact (T+60 minutes)**: The blast radius has now extended to millions of end users who have no idea what "Workers KV" means. They just know their favorite apps aren't working. This progression reveals something crucial about modern distributed systems: ... Because of what I call the "invisible dependencies problem." When you're building at scale, you tend to think about your immediate dependencies — the databases you talk to, the APIs you call, the services you integrate with. But you rarely map the dependency tree three or four levels deep.
blog.ashleypeacock.co.uk
Developer Week 2025 Recap: Everything Cloudflare Just Shipped, and Cloudflare will build and push your container image to their registry, ready to be used by your application. Now, you might be thinking: what about cold starts? Well, depending how you configure your containers, you may experience cold starts while the container boots. However, there is configuration available to set a minimum number of instances — this means Cloudflare pre-warms your containers so they are ready to serve requests immediately. Alongside prewarming, you can also set a CPU threshold that will define when your containers scale up to meet demand — meaning autoscaling is built-in to the platform. … ... On the face of it, the announcement of VPCs might not *seem* the most exciting thing ever. However, I’ve had countless conversations with companies, small and large, that want to use Cloudflare’s Developer Platform and they simply can’t — because their AWS resources, for example, are within a VPC that Cloudflare Workers cannot securely connect to. … In short, it becomes quite slow — especially if you’re executing multiple queries within a single request. That’s because each query will need to go from say Australia to Europe every single time, and additionally, you’ll need to connect to the database each time a Worker is spun up, which is quite often each time a new request comes in as Workers don’t typically hang around for long. … #### Static Asset Workers — Frameworks Go Generally Available During Birthday Week last year, Cloudflare started the migration of Pages to Workers with the release of Static Asset Workers in beta. For as long as I can remember, Pages has been the go-to option for hosting static and full-stack websites on Cloudflare. However, there were always some drawbacks with it, such as not being able to use Durable Objects without creating a separate Worker, and more recently, not having access to Workers Logs.
news.ycombinator.com
Cloudflare outage on December 5, 2025 - Hacker NewsAs to architecture: Cloudflare has had some outages recently. However, what’s their uptime over the longer term? If an individual site took on the infra challenges themselves, would they achieve better? I don’t think so. … - Centralizing most of the dependency on Cloudflare results in a major outage when something happens at Cloudflare, it is fragile because Cloudflare becomes the single point of failure. Like: Oh Cloudflare is down... oh, none of my SaaS services work anymore. … dfex 42 days ago Putting Cloudflare in front of a site doesn't mean that site's backend suddenly never goes down. Availability will now be worse - you'll have Cloudflare outages* affecting all the sites they proxy for, along with individual site back-end failures which will of course still happen. * which are still pretty rare … The problem with pursuing efficiency as the primary value prop is that you will necessarily end up with a brittle result. ... It tracks what I've seen elsewhere: quality engineering can't keep up with the production engineering. It's just that I think of CloudFlare as an infrastructure place, where that shouldn't be true. I had a manager who came from defense electronics in the 1980's. ... You can argue all you want that folks "should" do this or that, but all I've seen in my entire career is that documentation is almost universally: out of date, and not worth relying on because it's actively steering you in the wrong direction. And I actually disagree (as someone with some gray in my beard) with your premise that this is part of "rigorous engineering" as is practiced today. I wish it was, but the reality is you have to read the code, read it again, see what it does on your desk, see what it does in the wild, and still not trust it. … What’s more concerning to me is that now we’ve had AWS, Azure, and CloudFlare (and CliudFlare twice) go down recently. My gut says: 1. developers and IT are using LLMs in some part of the process, which will not be 100% reliable. 2. Current culture of I have (some personal activity or problem) or we don’t have staff, AI will replace me, f-this. 3. Pandemic after effects. 4. Political climate / war / drugs; all are intermingled. … 2 minutes for their automated alerts to fire is terrible. For a system that is expected to have no downtime, they should have been alerted to the spike in 500 errors within seconds before the changes even fully propagated. Ideally the rollback would have been automated, but even if it is manual, the dude pressing the deploy button should have had realtime metrics on a second display with his finger hovering over the rollback button. … Not only that, but their API/pricing is specifically designed to cover edge-cases that will force you to buy a license. For example, they don't expose an API to assign a co-host. You can do that via the UI, manually, but not via the API. Can you share which solution are you moving to?
tei.forrester.com
The Total Economic Impact™ Of Cloudflare's Connectivity Cloud### Key Challenges Prior to investing in Cloudflare, the interviewees’ organizations relied on legacy CDNs, VPNs, and security point solutions. The interviewees’ organizations struggled with complexity, costly manual effort, and poor security results. The interviewees noted how their organizations struggled with common challenges, including: … Too many point solutions. Interviewees highlighted that their organizations had pieced together a large number of point solutions to fill their security and connectivity needs. While each solution provided a specific needed capability, this ecosystem became unmanageable at scale. Furthermore, many of the older solutions lacked automation or were poorly integrated with each other, resulting in unnecessary manual management effort. … - Downtime from attacks. Interviewees highlighted that their previous solutions had insufficiently protected them from DDoS attacks, resulting in downtime or degraded performance. The senior principal security engineer at an e-commerce firm stated, “We were previously on another platform and had a pretty serious incident that they couldn’t solve, and so we migrated.” - Poor bot management. Similarly, prior solutions did a poor job protecting web applications from sophisticated bot schemes. Interviewees’ organizations struggled with slow performance and were vulnerable to schemes like bots scraping their pricing information. The director of global governance, risk, and compliance for a manufacturing firm explained: “We discovered we were getting scraped heavily by competitors. They were going out to our catalog sites and scraping our catalog. So, we had a lot of bot traffic.” … - Legacy solutions lacking automation. Interviewees noted that incumbent solutions lacked the automation or ease-of-use features they desired to cut down on manual work. The senior principal security engineer for the e-commerce firm explained: “There were some organizational pain points, in that we didn’t like dealing with [our old vendor] and their product. There was no automation, so it was all manual working in a web console … click, click, click. You know, no infrastructure as code.”
With a container pretty much all the common problems go out the window, especially those stupid cold start issues. The problem right now though is most other container-as-a-service products are either too expensive or too limited in functionality. Google Cloud Run is the closest to what I would want, but it is both too expensive to run and also locks you into the Google Cloud ecosystem which is both complex and expensive in every other way. … ## Workers HTTP imports ... Being able to do something similar to this with Cloudflare Workers would be amazing. However right now there is one big blocker, besides TypeScript support, and that is that there is no native support for HTTP imports. … - **S3 client**: `@aws-sdk/client-s3` sucks, both in terms of DX & package size. I wish Cloudflare would make their R2 worker API a general purpose package for anyone to use. The closest I have found that is good in the meantime is `@bradenmacdonald/s3-lite-client`. ## The dashboard sucks I'm sorry but I will put it blunt, ***it does suck.* ** It's slow, confusing UX where products are placed sparatically, fast page loads but data loads in slowly filling the page with loading spinners & often giant red banners at the bottom telling me about some internal error when trying to load the page. This isn't as much of an issue if you're using any kind of infrastructure-as-a-code system, but even then you would still need to use the dashboard to view analytics, billing, etc, and on that scenario it would be helpful if the dashboard was a bit more user friendly. … ## Sharable API key permissions This is a small one, but I think it would be really helpful for a niche number of developers and blog writers. In short, I wish that when you were creating a new API token in the Cloudflare dashboard that it would give you the option to copy a code, likely a hash of some kind, that you could then share around to paste in the exact permissions needed for something.
The problem was that it is a startup. I still own this company. There was just a lot of expenses associated with very little gains in terms of performance and returns that we were getting from our customers. Customers were paying us way less than our server costs and so it {ts:273} just wasn't a sustainable model. … It's just because what happens is you give up a lot of control. That's number one. And number two is on for a very {ts:773} small website, this works perfectly fine. However, for a really large website, the cost dramatically increases at this particular point. Talk about some costs with Cloudflare as well too. … {ts:886} towing the line between these two worlds. And with that, it comes some interesting sort of side effects that you wouldn't necessarily think about. Number one is developers when they look at it, they kind of think of it like the all-in-one platforms. And that's been definitely for me the hardest transition because as a seasoned developer I want … I'm butchering this on multiple fronts deliberately. We're really just trying {ts:1289} to get you to understand a concept rather than the technical details. There's lots of technical details, okay? But this is how you think about it. One of the problems that you run into with this particular model with the shared server is that the code if let's say you're hitting your server with a whole bunch of requests cuz you're getting a lot of traffic because your website is really big.