HN user

bradgessler

7,730 karma

More at http://bradgessler.com

Posts71
Comments1,251
View on HN
thinkingscript.com 4mo ago

Show HN: ThinkingScript - Self-Improving AI Executables

bradgessler
3pts1
beautifulruby.com 9mo ago

I created the Phlex on Rails video course outside: an off-the-grid dev setup

bradgessler
1pts0
joel.drapper.me 10mo ago

Shopify, pulling strings at Ruby Central, forces Bundler and RubyGems takeover

bradgessler
597pts430
dcurt.is 1y ago

Thoughts on thinking

bradgessler
721pts438
xeiaso.net 1y ago

Block AI Scrapers with Anubis

bradgessler
5pts0
news.ycombinator.com 3y ago

Ask HN: What do you like or dislike about team/org domain name management?

bradgessler
1pts0
news.ycombinator.com 3y ago

Ask HN: What would you want from a website dedicated to release notes?

bradgessler
4pts3
news.ycombinator.com 3y ago

Ask HN: OSS license that only allows personal use

bradgessler
1pts13
news.ycombinator.com 3y ago

Ask HN: Is Anybody Using Stage Manager on macOS Ventura?

bradgessler
2pts1
twitter.com 3y ago

Azure creates 100-200 IndexDBs in their single page JavaScript admin application

bradgessler
2pts0
liveviewnative.github.io 3y ago

LiveView Native

bradgessler
28pts8
legiblenews.com 4y ago

Show HN: I ranked news websites by speed

bradgessler
320pts198
news.ycombinator.com 4y ago

Ask HN: Why did a bunch of people from Rails core team resign today?

bradgessler
28pts2
bradgessler.com 4y ago

Save bandwidth by caching Apple OS updates, App updates, & iCloud content

bradgessler
3pts0
bradgessler.com 4y ago

Show HN: “HTTP 419 Never Gonna Give You Up” for bots

bradgessler
262pts71
news.ycombinator.com 4y ago

Ask HN: Best no-bloat/no-upsells domain registrar

bradgessler
4pts7
news.ycombinator.com 6y ago

Ask HN: Has anybody shipped a web app at scale with 1 DB per account?

bradgessler
410pts258
news.ycombinator.com 7y ago

Ask HN: Would you be interested in a PagerDuty alternative with less features?

bradgessler
3pts1
medium.com 8y ago

How to count and pay down design debt

bradgessler
9pts0
medium.com 8y ago

Why we run a daily all-hands meeting

bradgessler
17pts1
blog.hyper.sh 9y ago

Hyper Cron (Hosted dockerized crontab)

bradgessler
2pts0
bradgessler.com 11y ago

Make bundler fast again in Docker Compose

bradgessler
5pts0
blog.svbtle.com 12y ago

Open for everyone

bradgessler
327pts265
twitter.com 12y ago

The group think that goes on in Silicon Valley and SF

bradgessler
3pts0
bradgessler.com 12y ago

Preventing the bozo explosion

bradgessler
2pts0
dcurt.is 12y ago

What I would have written

bradgessler
107pts73
bradgessler.com 12y ago

Facebook: the new arms dealer

bradgessler
1pts0
github.com 13y ago

JS/CSS package management in Sprockets with Bower

bradgessler
1pts0
tech.pollev.com 13y ago

HTML5 App on a Floppy Disk

bradgessler
99pts75
bearsfightingbears.com 13y ago

Its 2012 and Microsoft is still using Silverlight

bradgessler
3pts0

I got og.plus that expands to OpenGraphPlus.com.

At first I was stoked to have a two letter domain, but then I looked into it and learned these companies will get you hooked with a low initial price, then jack up the prices as the domain becomes established.

Quite the grift. My plan is to tread lightly on that domain and be ready to back away from it when the rent seekers move in.

You’d think there would be some sort of rules to the neutrality of these TLD administrators, but nope.

The second time around I wised up and go ogplus.net for an API domain instead of ogplus.media. I’ll take neutrality over vanity any day.

I’m super early stages with this project and exploring what it would look like agents were just unix programs running securely along side other Unix programs. A big benefit of that is I can pipe one agents output into another agents input.

Another idea I’m exploring is having agents write code for simple tasks. First example, if you run “hello world” with agent script, the first time an agent reads the text file, understands its simple, then writes a static memory.js file. When the program runs again, it hits that file and never invokes the agent.

Where things get interesting are the cases where a script works for some cases, but not all. When that happens, the memory.js script can call agent.resume() during a static run so the agent can take over.

I’ve been working on https://og.plus, a service that creates unique Open Graph images per page on a website.

It does this by taking a screenshot of the page, but before it does that, you can modify what’s displayed in the screenshot with CSS, tailwind classes, meta tags, or HTML templates.

If you connect your website to it, the only thing you need to deploy to your web app are a few meta tags. The OG+ servers do the heavy lifting of processing the meta tags to setup the page, take a screenshot of it, and serve it up to the consumer.

The other cool thing it does is generate a different Open Graph images per social network so they all get an image for the exact size they works best in their previews. The CSS or HTML templates are aware of this too so you can display different content to specific social networks.

https://terminalwire.com

It’s “Hotwire for command-line apps”, meaning you can ship a CLI in a Rails app without building an API. The dream is to make it work for all major web frameworks.

Terminalwire streams stdio, browser launch commands, and a few more things needs to ship a CLI for a SaaS quickly.

The best part is when you want to ship a feature for the CLI, you don’t have to worry about pushing out updates to clients and making sure it’s compatible with your API.

A more interesting development are companies that are using it as a replacement for MCP in AI stacks. They’re reporting less token usage and better overall results.

A big problem with CLI tooling is it starts off seeming like it’s an easy problem to solve from a devs perspective. “I’ll just write a quick Go or Node app that consumes my web app’s API”

Fast forward 12-18 months, after several new features ship and several breaking API changes are made and teams that ship CLIs start to realize it’s actually a big undertaking to keep installed CLI software up-to-date with the API. It turns out there’s a lot of auto-updating infrastructure that has to be managed and even if the team gets that right, it can still be tricky managing which versions get deprecated vs not.

I built Terminalwire (https://terminalwire.com) to solve this problem. It replaces JSON APIs with a smaller API that streams stdio (kind of like ssh), and other commands that control browsers, security, and file access to the client.

It’s so weird to me how each company wants to ship their own CLI and auto-update infrastructure around it. It’s analogous to companies wanting to ship their own browser to consume their own website and deal with all the auto update infrastructure around that. It’s madness.

I wrote a paper about building web applications in 10th grade a long time ago. When class was out the teacher asked me to stay for a minute after everybody left. He asked in disbelief, “did you really write that paper?”

I could see why he didn’t, so I wasn’t offended or defensive and started to tell him the steps required to build web apps and explained it in a manner he could understand using analogies. Towards the end of our conversation he could see I both knew about the topic and was enthusiastic about it. I think he was still a bit shocked that I wrote that paper, but he could tell from the way I talked about it that it was authentic.

It will be interesting to see how these situations evolve as AI gets even better. I suspect assessment will be more manual and in-person.

MCP has been a weird ride. I built https://terminalwire.com before MCP was a thing to make it way easier for people to add a CLI/TUI to their web apps/SaaS.

Then MCP comes out and AI explodes, sucking all the air out of the room for non-AI tools.

Now it seems like AI can work with CLIs better than MCP, so I’m tempted to slap AI integration all over the project to better convey the idea.

It’s crazy how quickly MCP has run it’s course and watching an entire ecosystem rediscover things from first principals.

I just setup private video for https://beautifulruby.com and can confirm the trickiest part is setting up and hosting HLS.

I extracted a RubyGem at https://github.com/beautifulruby/hls that I use to point at a folder full of videos, then my scripts converts them into HLS and uploads them to a private Tigris S3 bucket. I then have to rewrite playlists from the server with pre-signed S3 URLs.

It’s not that it’s difficult per se, but it does require a meticulous attention to detail to put all the pieces together.