Max McDonnell
maxmcd.bsky.social
Max McDonnell
@maxmcd.bsky.social
making servers less @cloudflare.social, previously @val.town, @voltus, he/him, 🏳️‍🌈
Reposted by Max McDonnell
Heyo. I used to work on infra at Val Town. I hacked together a quick and dirty version that uses the actual contents of the posts and runs them in cloudflare dynamic workers: phew.network
phew.network
phew.network
February 3, 2026 at 9:43 PM
I am not very familiar with atproto so this all has a 300 char limit, but presumably you could extend this to do whatever all those other sites use to host larger bits of content :)
February 3, 2026 at 9:46 PM
Heyo. I used to work on infra at Val Town. I hacked together a quick and dirty version that uses the actual contents of the posts and runs them in cloudflare dynamic workers: phew.network
phew.network
phew.network
February 3, 2026 at 9:43 PM
```js
import{C}from"at://maxmcd.bsky.social/3mdycjg6nv22n"
import{H}from"at://maxmcd.bsky.social/3mdycjwkdp22n"
export let V=(u,p)=>new Response('<style>'+C+'</style>'+H(u)+p.map(x=>'<div class=p><b>@'+x.u+'</b> '+x.t+'</div>').join\`\`,{headers:{"content-type":"text/html"}})
```
February 3, 2026 at 9:30 PM
```js
export let H=u=>'<h2>@'+u+'</h2><form method=post><input name=t placeholder="Post something"><button name=a value=1>Post</button></form><form method=post><input name=b placeholder=Follow><button name=a value=0>+</button></form><hr>'
```
February 3, 2026 at 9:28 PM
```js
export let C='*{box-sizing:border-box}body{font:16px system-ui;max-width:500px;margin:0 auto;padding:1em}input,button{padding:.5em}input{width:70%}.p{padding:.5em 0;border-bottom:1px solid #eee}'
```
February 3, 2026 at 9:28 PM
```js
import{F,P,T}from"at://maxmcd.bsky.social/3mdybmgydos2n"
export default{async fetch() {
return Response.json({F,T,P})
}}
```
February 3, 2026 at 9:24 PM
```js
export let F="INSERT INTO f VALUES(?,?)",P="INSERT INTO p VALUES(?,?)",T="SELECT*FROM p,f WHERE f.a=? AND p.u=f.b"
```
February 3, 2026 at 9:12 PM
```js
export default {
async fetch(req, env) {
await env.DB.exec(`CREATE TABLE IF NOT EXISTS c(n INT);INSERT INTO c VALUES(1)`)
const r = await env.DB.prepare("SELECT COUNT(*)c FROM c").first()
return new Response(`Hits: ${r.c}`)
}
}
```
February 3, 2026 at 8:37 PM
```js
import { greet } from 'at://maxmcd.bsky.social/3mdxxvwx4r227';

export default {
fetch(request) {
return new Response(greet("World"));
}
}
```
February 3, 2026 at 6:46 PM
```js
export function greet(name) { return `Hello ${name}` }
```
February 3, 2026 at 6:18 PM
```js
export default {
fetch(request) {
return new Response("Hello from Bluesky!");
}
}
```
February 3, 2026 at 6:12 PM
Reposted by Max McDonnell
this summer @val.town had an intern, and he was truly kickass: read about how @404wolf.bsky.social put the @deno.land LSP server in a cloudflare container, made it speak websockets, wired it up to codemirror, and made the whole thing scale: blog.val.town/vtlsp
Building a better online editor for TypeScript
Updates and articles from the Val Town team
blog.val.town
September 9, 2025 at 2:13 PM
This is so cool
May 18, 2025 at 9:59 PM
Hey @todepond.com, the network on one of our hosts was degraded in a way that we did not detect. Any vals on that host were seeing all sorts of connection issues. Sorry about that, everything should be back now.
December 31, 2024 at 4:18 PM
I hear you
November 21, 2024 at 2:13 AM
7 on 2
3 on 3
“lgtm” on 1
November 21, 2024 at 1:52 AM