Max McDonnell's Avatar

Max McDonnell

@maxmcd

making servers less @cloudflare.social, previously @val.town, @voltus, he/him, ๐Ÿณ๏ธโ€๐ŸŒˆ

76
Followers
149
Following
17
Posts
21.10.2024
Joined
Posts Following

Latest posts by Max McDonnell @maxmcd

yes!

25.02.2026 15:27 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
phew.network

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

03.02.2026 21:43 ๐Ÿ‘ 9 ๐Ÿ” 2 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

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 :)

03.02.2026 21:46 ๐Ÿ‘ 2 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
phew.network

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

03.02.2026 21:43 ๐Ÿ‘ 9 ๐Ÿ” 2 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

```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"}})
```

03.02.2026 21:30 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

```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>'
```

03.02.2026 21:28 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

```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}'
```

03.02.2026 21:28 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

```js
import{F,P,T}from"at://maxmcd.bsky.social/3mdybmgydos2n"
export default{async fetch() {
return Response.json({F,T,P})
}}
```

03.02.2026 21:24 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

```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"
```

03.02.2026 21:12 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

```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}`)
}
}
```

03.02.2026 20:37 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

```js
import { greet } from 'at://maxmcd.bsky.social/3mdxxvwx4r227';

export default {
fetch(request) {
return new Response(greet("World"));
}
}
```

03.02.2026 18:46 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

```js
export function greet(name) { return `Hello ${name}` }
```

03.02.2026 18:18 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

```js
export default {
fetch(request) {
return new Response("Hello from Bluesky!");
}
}
```

03.02.2026 18:12 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
Preview
Building a better online editor for TypeScript Updates and articles from the Val Town team

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

09.09.2025 14:13 ๐Ÿ‘ 37 ๐Ÿ” 7 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 2

This is so cool

18.05.2025 21:59 ๐Ÿ‘ 2 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
HTTP3, 2, 1 HTTP1 is simple and easy. With enough care you can open a TCP connection and hand-write an HTTP request to a server and get a response. Good fun. HTTP2 is more complex. Multiple bidirectional requests...

HTTP1 over HTTP2 over HTTP3

maxmcd.com/posts/http321/

18.02.2025 20:40 ๐Ÿ‘ 3 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

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.

31.12.2024 16:18 ๐Ÿ‘ 3 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

I hear you

21.11.2024 02:13 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

7 on 2
3 on 3
โ€œlgtmโ€ on 1

21.11.2024 01:52 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0