Marco Borromeo

1.6K posts

Marco Borromeo banner
Marco Borromeo

Marco Borromeo

@borros

I build stuff on the Internet Old school sysadmin

Italy Beigetreten Mayıs 2007
331 Folgt285 Follower
Marco Borromeo
Marco Borromeo@borros·
@dhh Southern Europe has way lower numbers than these, sadly.
English
0
0
0
38
DHH
DHH@dhh·
Whenever I see programmer salary numbers from Europe, I always have to do a double take. It's hard to fathom that we work in the same industry. With bonuses this year, many of our folks are at $400,000+, and we're not even in any AI-hype sector.
DHH tweet media
English
959
304
6.9K
1.7M
Marco Borromeo
Marco Borromeo@borros·
The bot’s on just 5 Discord servers so far, meh. Let’s see how far we can push that in a week.
Marco Borromeo tweet media
English
0
0
1
56
Marco Borromeo
Marco Borromeo@borros·
Turns out just publishing the bot to a couple of directories didn’t bring in a single user, lol. Well, that was kind of expected. It's fine, since it means I now have a completely greenfield project to run some marketing experiments on!
Marco Borromeo@borros

I was looking for a challenge to break my routine of never shipping because of perfectionism. A few weeks ago i asked gpt-5: "what’s something i could build and release in a weekend?" One idea: a @discord bot that rewrites links in groups with admin's referral codes so they could make some money... In the end it took me ~1.5 weeks to release. the last 20% really took 80%: logo, website, tos, privacy policy, and a bunch of other stuff. meh 😂

English
0
0
1
59
Marco Borromeo
Marco Borromeo@borros·
@discord Anyway i still consider this a success. My last side project took me 2 years to launch... and it flopped hard. A 1-week dev cycle means i can quickly see if something clicks (or dies) without wasting years at least...
English
0
0
0
29
Marco Borromeo
Marco Borromeo@borros·
I was looking for a challenge to break my routine of never shipping because of perfectionism. A few weeks ago i asked gpt-5: "what’s something i could build and release in a weekend?" One idea: a @discord bot that rewrites links in groups with admin's referral codes so they could make some money... In the end it took me ~1.5 weeks to release. the last 20% really took 80%: logo, website, tos, privacy policy, and a bunch of other stuff. meh 😂
English
1
0
2
86
Marco Borromeo
Marco Borromeo@borros·
I've had an on-and-off relationship with social platforms in general... Not going to make any promises, but i'll just try to share a bit more of what i’m building: small wins, mistakes, and maker showcases. More like a public dev log than anything else. Let's see where it goes.
English
0
0
0
28
Marco Borromeo
Marco Borromeo@borros·
@dhh Just curious: did you ever try AWS Snowball? Always found it intriguing but never had a chance to give it a spin
English
0
0
0
180
DHH
DHH@dhh·
In just 3.5 days, we've copied out just over 2.5 petabytes. Fully saturating a 100gbit link dedicated to the purpose. The whole operation is being orchestrated by a little Rails-based copying app called Nostos, which we've fed 384 cores to parallelize to the max.
DHH@dhh

The Great AWS S3 Exit is underway for Basecamp and HEY. Petabytes upon petabytes getting sucked out of the cloud and onto our own servers. We're pulling out data at an average pace of over 8GB/s!

English
50
55
1.3K
199K
Marco Borromeo
Marco Borromeo@borros·
@rameerez I don't see any problem with containerization, and there are solutions like Cloudflare that make registries essentially free for everyone github.com/cloudflare/ser… What i don't like is the pushing for "it's easy to manage servers" theory, which will drive many ppl to disaster imho
English
0
0
0
79
Javi
Javi@rameerez·
I predict Kamal will stop being a default in future versions of Rails. It’s way too complicated: x.com/dhh/status/184… - You now need a container registry. With Capistrano I just need my GitHub repo - Private container registries cost money. If you want to keep your projects code private, that’s an extra $5-$20 a month just for the container registry; transfer charges apply. You’re moving ~half a gigabyte across the internet for every change you make to the code - No good container registry option: I ended up having to set up AWS ECR as my container registry (and I’m moving off the cloud!) Why? You can’t deploy without a container registry; ECR is ~free and private and just works out of the box with the aws cli, ghcr was extremely cumbersome to set up: I had to figure out github fine-grained tokens, I had install the Bitwarden CLI and configure it to manage the GitHub token, I had to figure out what Kamal was expecting to fetch from my Bitwarden vault, all of this while leaking my main Bitwarden access email in the process because you need to commit it in plaintext to git, etc. I also tried DO, Docher Hub et al but every option was more complex than the previous one because you need to figure out each service pricing, limits, overcharges, etc. All of a sudden ALL your business and operations depend on this new third party and its limits - If you want your own container registry to avoid this third party mess, that’s another server you need to set up and maintain, yet another moving piece in this puzzle - You need to keep your local Docker install up to date: you should always be running the latest Docker version, it eats up resources like crazy and over time fills up your disk with gigabytes of old images; it's yet another moving piece to take care of - Kamal relies on other Docker dependencies to build the Docker images (like moby/buildkit, which currently has critical security vulnerabilities) it's yet another moving piece that you rely on and that someone needs to maintain - If your machine is not powerful enough or if it gets filled with the GBs upon GBs of Docker images you’ll end up generating, you now need a remote machine just for builds, yet another moving piece; you need to pay for that too, you need to set it up and maintain it over time - Kamal is full of things that kinda work but not really: my M1 can’t compile for x86_64 arch for some reason (it just stalls), but compiles just fine for arm, the internal Docker image bundler version needs to match your dev Gemfile.lock "bundled with" or otherwise it’ll build the entire image anew each time, it's just full of undocumented things you need to figure out after errors pop up, etc. - You need to manually configure a Postgres container accessory if you wanna run Postgres. You would imagine it came preconfigured by default after running `rails new --database=postgresql` but it doesn't. You need to figure that out too (which Docker image to use, how to not expose the DB port to the internet, config files, DB env secrets...) At which point why don’t you just configure your own DB servers from scratch - Even with all of the above solved, I’d still need solutions to problems I currently solve easily with a simple Nginx setup file, like extracting real IPs from Cloudflare proxied traffic - Kamal setup claims to take a clean Ubuntu server and leave it production-ready, but in reality it only installs Docker: you still need to disable password login, harden the server, configure ufw, do all server admin work yourself. This is roughly as much work as setting up a prod server for Capistrano - Deploy times are longer than Capistrano: you need to build the image, get auth to the container registry, upload it to the container registry, connect to the instance, pull the image from the container registry, deploy it, wait for every image in your deployment to go up… - In general, Docker just adds another layer between you and the code: can’t just ssh and rails c, now you need to know your way around Docker containers and access their logs etc; everything becomes slightly more obfuscated - You can't easily live edit files in prod / staging to test small config changes. I sometimes just nano some files and live edit files in production to quickly test config options or debug prod stuff. Takes a second to edit a file and see the results. It's only once I figure out the right config that I write the proper code, commit it to git, and actually deploy the thing. If I wanted to do this with Kamal, I'd need to build a new image after each change, wait for it to be built, uploaded, downloaded, deployed, etc. Which is a big flow stopper, your concentration breaks while waiting, you switch contexts, lose track of what you were doing... live code editing in production gets 10x more difficult Kamal solves nothing for me but adds a gigantic list of new problems that I now have to worry about I spent 4h last night trying to deploy a clean Rails 8 app. I failed miserably. Couldn't get anything deployed And I'm fairly experienced with Rails, I've also been using Docker on and off for some years (e.g.: I have exp building Python cog containers for Replicate) – I know my way around Linux too And still after 4h I couldn't get it to work I don't know how this would be any easier for less experienced developers I LOVE Rails and dhh, but I would have never expected a thing like Kamal from a project that advocates so loudly for no-builds. It literally introduces an unnecessary build step to your Rails workflow. It even forced me to go back to AWS just to test things out! I'd like to be proven wrong but IMHO Kamal will be the webpacker of the 2020s. Gone from Rails in 5 years I think
DHH@dhh

Kamal is not just for Rails! Here's a demo of deploying and updating a simple Hello World Go application using Kamal 2. kamal-deploy.org

English
63
13
291
228K
DHH
DHH@dhh·
If you're not doing over a million dollars in ARR for your SaaS app, you almost certainly don't need more than a single server. Chasing a 99.99% uptime in those early days by prematurely optimizing your resilience is a vast of effort that could have fueled features and bug fixes.
English
96
273
3.5K
348.9K
Marco Borromeo
Marco Borromeo@borros·
@bytebln i blocked all the countries where i can't sell on Stripe Radar on day one. it's really a pita, but there are no real alternatives as MoR like Paddle or LemonSqueezy don't support a lot of legit businesses (eg: hosting companies).
English
1
0
2
887
Ben Rüegg
Ben Rüegg@bytebln·
I guess about 70% of the IndieHacker community don't pay taxes - or just don't care until it's too late. It's an open secret. If you want to pay taxes, don't use Stripe and choose a Merchant of Record (MoR). You'll thank me later 🤝
Ben Rüegg tweet media
English
63
46
525
242K
Marco Borromeo
Marco Borromeo@borros·
So many discussions around Slack or Campfire… I love what 37Signals are doing with Once, but cannot forget what modern Internet at “web scale” did to IRC. We had everything: from scalability with /link to any possible feature a chat needs. Sad.
English
0
0
0
144
Marvin
Marvin@lockinmarv·
@johnrushx @stripe But this exists already with Lemon Squeezy or Paddle. 😅
English
3
0
1
649
Marvin
Marvin@lockinmarv·
Please, @stripe just create a MoR service in 2024 It's all I want for Christmas, I promise
English
12
1
32
9.7K
Marco Borromeo
Marco Borromeo@borros·
@dhh Thanks, especially for SolidQueue... i was really waiting for that one
English
0
0
2
744
DHH
DHH@dhh·
"It’s from these real-world services we extract our open source gifts. We don’t do speculative software. All these tools and frameworks have been forged in the fire of real customer usage, pressure, and demands. We build what we need. No more, no less." world.hey.com/dhh/five-big-o…
English
10
44
351
78.4K
kitze 🛠️ tinkerer.club
if you recognize this it's probably time to schedule your first colonoscopy
kitze 🛠️ tinkerer.club tweet media
English
496
276
4.6K
717.1K
Marco Borromeo
Marco Borromeo@borros·
@adamcollins yes. i run a 3 nodes nomad cluster on those arms with glusterfs for ha + their LB. it works like a charm, i have never been happier.
English
0
0
0
68
Adam
Adam@_adcx·
Hetzner Arm server prices are unreal 🔥
Adam tweet media
English
10
3
47
7.3K