https://www.jeancoutu.com/en/shop/categories/personal-care/o...
https://www.walmart.ca/en/ip/Sensodyne-Repair-Protect-Sensit...
10,920 karma · joined November 7, 2010
---
Cofounder of a web mapping startup acquired by Apple.
Received awards from the US Coast Guard and the Governor General of Canada for creating a map that helped rescue 1,700 people during Hurricane Harvey.
---
Currently refurbishing laptops with robots! https://www.reviserobotics.com/ (YC W25)
Also working on Disco, an open source self-hosting software: https://disco.cloud/
See my talk about it at the Recurse Center: https://youtu.be/z2lP7C8VT6M
And this (slightly less chaotic) Devtools FM episode: https://www.youtube.com/watch?v=Xr3JJpbCRP0
---
And even more stuff that's wildly out of date - https://greg.technology • https://tandy.link/s/greg.technology
https://www.jeancoutu.com/en/shop/categories/personal-care/o...
https://www.walmart.ca/en/ip/Sensodyne-Repair-Protect-Sensit...
and then `dillo` starts up a 1.1Mb executable that is so freaking, shockingly fast.
TIL I also learned that although the Google homepage renders beautifully, I need to "Turn on JavaScript to keep searching" [1]
Wow, Google Maps is even snarky-ish about it: "When you have eliminated the JavaScript, whatever remains must be an empty page." (that's what appears! for real)
I mean, what was I expecting. U+1F643.
[0] https://github.com/dillo-browser/dillo/blob/master/doc/insta...
[1] https://www.reddit.com/r/google/comments/1i3njv0/google_begi...
I am also available to do this for anyone, email in bio!
I know that Tim (the CTO) often posts in Who's Hiring threads here - ie https://news.ycombinator.com/item?id=45803442
If you're considering joining a NYC-based startup that works in Rust and TS on hard and fun problems, you should more than consider them. And I am 100% not getting a referral fee to say this haha
P.S. Also may this serve as my public record of appreciation for Binh (the blog author of this piece), a friend and now ex-colleague who I (#humblebrag) originally invited to come to Radar. We originally met at the Recurse Center, another fine NYC-based institution! Binh's a superb and deeply smart fellow who fit right in at Radar. Binh, you rock!!! x
One of the contests was specifically to program an algorithm to play a game called "Dots and Boxes".
My own entry was actually a port of ... the JavaScript code on this very page (that I'm posting here)..!
http://preserve.mactech.com/articles/mactech/Vol.17/17.09/Se...
I also remember playing this game a lot in high school with pen and paper. It's super fun. Cheers
Oh, there’s actually this tutorial that shows a tiny preview of it:
https://disco.cloud/docs/deployment-guides/meilisearch
Thanks for the reminder!
And these longer explanations on what bytebeat is:
- http://canonical.org/~kragen/bytebeat/
- https://countercomplex.blogspot.com/2011/10/algorithmic-symp...
Almost VPS-sized! haha
(I really wish we could support phones as the ultimate self-hosting device)
Our philosophy is built on the "cattle, not pets" [0] and 12-factor [1] app methodologies. To some extent, the Disco server itself should be treated as disposable.
Disco runs your applications, which are just deployments of your code (ie git pulls). There's nothing on the server itself to back up. If a server were to die, you'd spin up a new one, run the install.sh script, and redeploy your apps in about 15 minutes.
For application data, our stance is that we believe you should use a dedicated, managed database provider for prod workloads. While we can run a "good enough" postgres as noted, we treat that as a dev/staging tool. Disco handles the stateless application layer, you should entrust your critical stateful data to a service that specializes in that.
Finally, re: security, we recommend a fresh Ubuntu 24.04 LTS server, which handles its own OS security updates. Disco only exposes the necessary web and SSH ports, so the attack surface is minimal by default.
[0] https://cloudscaling.com/blog/cloud-computing/the-history-of...
Re Load balancing for example, Disco is built on top of Docker Swarm, so you can add nodes (ie machines) to scale horizontally - `disco nodes:add root@<ip>`
For monitoring/alerting, we offer some real time cpu/memory metrics (ie `docker stats`) and integrate with external syslog services.
Do you have specific use cases in mind which current PaaS providers satisfy? Would you say that these kinds of concerns are what's holding you back from leaving Heroku or others (and are you considering leaving because of price, support, etc.)? Cheers
I fully agree with you though, it's table stakes (unintended pun!) for any prod deployment, just as read-only followers, etc. Our biggest, most important point, is that folks should be using real dbs hosted by people who know what they're doing. The risk/reward ratio is out of whack in terms of doing it yourself.
And finally, re Hetzner and cross-DC latency, that's unfortunately a very good issue that we had to plan for in another case - specifically, a customer using Supabase (which is AWS-based). The solution was to simply use an EC2 machine in the same region. Thankfully, some db providers end up being explicit about which AWS region they run in - and obviously, using AWS RDS is also an option! It's definitely a consideration.
Forge seems like a great integrated solution (I subscribe to their newsletter and their product updates seem quite frequent and useful). What's been your experience with them? Any particular things you like, or dislike about them?
I'm also curious when you talk about scaling up Forge - is that something you've done, and is that generally easy to do?
Thanks a lot!
If you setup a server with the curl|sh install script on the homepage, you'll get a url at the end that directs you there. And you can use the CLI too of course.
But yeah, thanks for the reminder!
Once everything is installed/running, a very tldr diagram would be:
GitHub (webhook on git push) -> Docker swarm running Caddy -> Disco Daemon REST API which will ask Docker to build the image, and then does a blue-green zero-time deployment swap
But yeah, a clearer/better diagram would be great. Thanks for the push!
If you're running something that's too expensive for your taste and can share more information, happy to brainstorm some options.
How do you typically deploy this?
We're actually mostly talking to people (that "schedule a meeting") to see how we can help them migrate their stuff away (from Heroku, Vercel, etc.)
But we're not sure of the pricing model yet - probably Entreprise features like Gitlab does, while remaining open source. It's a tough(er) balance than running a hosted service where you can "just" (over)charge people.
However, yes, you can ask Disco to fetch an existing Docker image (we use that to self-host RabbitMQ). An example of deploying Meilisearch's image is here [0] with the tutorial here [1].
Do you typically build your Docker images and push them to a registry? Curious to learn more about your deployment process.
[0] https://github.com/letsdiscodev/sample-meilisearch/blob/main...
At least, the "fear" factor (will the new system work? what bugs will it introduce? how much time will I spend, etc.) pushes a lot of folks to accept a very big price differential aka known knowns versus unknowns...
It's understandable really. It's just that once you've migrated, you almost definitely never want to go back :-)
We know of two similar cases: a bootcamp/dev school in Puerto Rico that lets its students deploy all of their final projects to a single VPS, and a Raspberry Pi that we've set up at the Recurse Center [0] which is used to host (double checking now) ~75 web projects. On a single Pi!
But to provision a new server, as these are "stateless" (per 12 Factor) servers, it's just 1) get a VPS 2) install Docker+Disco using our curl|sh install script 3) authorize github 4) deploy a "project" (what we call an app), setting the env vars.
All in all ~10 minutes for a new machine.
[0] https://github.com/gregsadetsky/example-flask-site/blob/main...
- ...
I'm kidding :-)
Our library is open source, and we're very happy and proud that Idealist is using us to save a bit of cash. Is it marketing if you're proud of your work? :-) Cheers
As for the staging servers, for each deployment, it was a mix of Performance-M dynos, multiple Standard dynos, RabbitMQ, a database large enough, etc. - it adds up quickly.
Finally, Idealist serves ~100k users per day - behind the product is a lot of boring tech that makes it reliable & fast. :-)