This is an opinionated handbook on how I migrated all my Rails apps off the cloud and into VPS.
This is how I manage real production loads for my Rails apps. It assumes:
- Rails 7+
- Ruby 3+
- PostgreSQL
- Ubuntu Server 24.04
- Capistrano, Puma, Nginx
#!/bin/bash | |
git clone https://github.com/just-js/lo.git | |
cd lo/ | |
make lo | |
export LO_HOME=$(pwd) | |
./lo build binding bestlines | |
cd .. | |
lo/lo build runtime test-dlopen | |
./test-dlopen |
#include <stdio.h> | |
#include <sys/inotify.h> | |
#include <sys/time.h> | |
#include <sys/epoll.h> | |
#include <errno.h> | |
#include <linux/memfd.h> | |
#include <sys/mman.h> | |
#include <sys/syscall.h> |
GOAMD64=v2 go build foo.go |
This is an opinionated handbook on how I migrated all my Rails apps off the cloud and into VPS.
This is how I manage real production loads for my Rails apps. It assumes:
WITH RECURSIVE transitive_dependencies AS ( | |
SELECT package_id AS dependency_id, package_id AS root_id | |
FROM dependencies | |
WHERE kind = 'runtime' | |
UNION ALL | |
SELECT d.package_id, td.root_id | |
FROM dependencies d | |
JOIN transitive_dependencies td ON td.dependency_id = d.package_id AND td.dependency_id <> td.root_id -- Avoid self-joins | |
WHERE d.kind = 'runtime' | |
), |
<%@ language="Javascript" %> | |
<script language="javascript" runat="server" src='json2.js'></script> | |
<script language="javascript" runat="server" src='stringExtensions.js'></script> | |
<script language="javascript" runat="server" src='contentNego.js'></script> | |
<script language="javascript" runat="server"> | |
(function() { | |
// In an ASP scenario, this fn gets "exported" |
$ cd /dev/shm/
$ git clone [email protected]:denoland/pm-benchmark.git
$ cd pm-benchmark/
$ mkdir testbed
$ cp -R fixture/* testbed/
$ cd testbed/
$ sync
$ sudo sh -c "echo 3 > /proc/sys/vm/drop_caches"
[sudo] password for andrew:
// will be called via bun-parallel-setup.ts | |
let i = 0; | |
Bun.serve({ | |
port: process.env.PORT || 8000, | |
development: false, | |
// Share the same port across multiple processes | |
// This is the important part! |
hi, i'm daniel. i'm a 15-year-old with some programming experience and i do a little bug hunting in my free time. here's the insane story of how I found a single bug that affected over half of all Fortune 500 companies:
If you've spent some time online, you’ve probably come across Zendesk.
Zendesk is a customer service tool used by some of the world’s top companies. It’s easy to set up: you link it to your company’s support email (like [email protected]), and Zendesk starts managing incoming emails and creating tickets. You can handle these tickets yourself or have a support team do it for you. Zendesk is a billion-dollar company, trusted by big names like Cloudflare.
Personally, I’ve always found it surprising that these massive companies, worth billions, rely on third-party tools like Zendesk instead of building their own in-house ticketing systems.