Email or username:

Password:

Forgot your password?
Simon Willison

Trying something new: I rigged up a liveblog system and I'm using it at OpenAI DevDay in San Francisco right now simonwillison.net/2024/Oct/1/o

16 comments
Michael Hunger

@simon Awesome service. Thanks a lot Simon. Also great commentary.

Small improvement for next time. Don’t refresh when text is selected or restore selection. Copying text (mobile safari) is a bit tricky.

Simon Willison

Upgraded my live blog - you can now opt to have the most recent updates show up at the top of the page. I have pretty comprehensive notes from several sessions now, including the deep dive into the new Realtime API. simonwillison.net/2024/Oct/1/o

Simon Willison

This is what my edit interface looks like - I'm using the Django admin to add new "live update" rows attached to the entry.

Simon Willison

Here's how I implemented the live blog feature I used yesterday. I built the first version using Claude while waiting for the keynote to start, then upgraded it with the help of GPT-4o to add sort options and incremental fetching of new updates
til.simonwillison.net/django/l

Jeff Triplett

@simon Any tips for handling images?

I have a half dozen small blogs like that, and the pain point/bottleneck is always my ability to upload an image in a way that doesn't make me not do it.

I noticed yours were static media, so I assumed you committed/pushed.

Simon Willison

@webology images were by far the worst part of this - my process sucked: I took a photo on my phone, waited for iCloud to sync the photo to my Mac, dragged that photo out to convert it to JPEG, then dropped that onto tools.simonwillison.net/image- to grab a smaller file size version, then dragged THAT to Transmit to upload to my S3 bucket, then manually entered the img tag in the HTML of a live blog update

Simon Willison

@webology I got half way through building a dedicated mobile web app for taking a photo on my phone and resizing that and uploading it to my S3 bucket, but I couldn't get S3 CORS headers to work right so I gave up

Jeff Triplett

@simon I realized while microwaving my lunch that it would take about as much time to have Claude build me a file upload tool for my project changelogs (blogs) than it did to ask you how you solved the problem.

One model + one upload form and one list view with a clipboard snippet that gives me a markdown link was what I think I needed.

This technology is such a light bulb moment. Once we automate the git and pr parts we will soon be chatting with our repos to add features.

Simon Willison

@webology I think I need to get over my resistance to having Django handle file uploads and forward them on to S3 - I've always preferred having my browser push content to S3 directly, but maybe in 2024 the servers I'm running apps on can handle proxying a few MBs without me need to worry about running out of server resources

Jeff Triplett

@simon we really need to promote that website more. 8 months is too long to go since the last snippet.

Paolo Melchiorre

@simon @webology why don't just use Django Storages? It's "transparent" and you can change your storage provider in the future without any vendor lockin effect 👍
github.com/jschneier/django-st

Simon Willison

@paulox @webology doesn’t that involve uploading a file to Django which then pushes that file to S3?

Paolo Melchiorre replied to Simon

@simon @webology I think it forwards the file to S3 🤔

Jeff Triplett

@simon @carlton in reading this, it made me wondering what it would like if written with django-template-partials and htmx.

Not a challenge or a dare, but it feels like a wonderful fit.

Simon Willison

@webology @carlton I think it would be better - I cludged it together in a rush using the first things that came to mind

Go Up