News for hackers. Stuff that matters.

freemanjiang

Hi! I'm Freeman, a research engineer at Sesame. I'm the developer of the turnbench.sesame.com website and also a co-author. For the past bit, I've been working on models for real-time conversation at Sesame. We wanted an evaluation for turn-taking, the understanding of when to speak and when to yield in a natural dialogue.

I wanted to make sure the benchmark felt very accessible and understandable to people, so I built this in-browser dataset viewer at https://turnbench.sesame.com/conversations - it lets you inspect the audio directly with overlaid annotations. I thought HN might find it cool. As far as I'm aware, such an interactive web platform is a first for the academic speech community!

With TurnBench, we're also releasing a hand-annotated benchmark corpus, training set, public leaderboard, and our full eval protocol - which is based on human annotation.

Happy to answer questions!

Paper: https://arxiv.org/abs/2608.25218

Code: https://github.com/SesameAILabs/turnbench

Re:I visualized the entire history of Citi Bike in the browser on Thursday January 08, 2026 @12:49PM (#46544063)
Yeah there is a filter between 1.2 and 20 mph
Re:I visualized the entire history of Citi Bike in the browser on Wednesday January 07, 2026 @06:06PM (#46534523)
In Lyft's defense, they are providing it anonymized under the NYCBS Data Use Policy. They also aren't providing the exact GPS routes, which is why OSRM is used to calculate the shortest path instead.
Re:I visualized the entire history of Citi Bike in the browser on Wednesday January 07, 2026 @06:04PM (#46534514)
Thank you so much! That means a lot.
Re:I visualized the entire history of Citi Bike in the browser on Wednesday January 07, 2026 @06:04PM (#46534509)
It definitely will if it blows up more. I'm willing to eat it for now because I think it's art that more people should see!
Yeah, unfortunately, I think I posted that one initially without the Show HN prefix, so I don't think I can edit the text there.

Show HN: bikemap.nyc – visualization of the entire history of Citi Bike

https://github.com/freeman-jiang/bikemap.nyc

Each moving arrow represents a real bike ride. There are 291 million rides in total, covering 12 years of history from June 2013 to December 2025, based on public data published by Lyft.If you've ever taken a Citi Bike ride before, you are included in this massive visualization! You can search for your ride using Cmd + K and your Citi Bike receipt, which should give you the time of your ride...

( Read More... | 3 comments | 6 points | on HN )
Re:I visualized the entire history of Citi Bike in the browser on Wednesday January 07, 2026 @01:57PM (#46530833)
Each moving arrow represents one real bike ride out of 291 million, and if you've ever taken a Citi Bike before, you are included in this massive visualization!

You can search for your ride using Cmd + K and your Citi Bike receipt, which should give you the time of your ride and start/end station.

Everything is open source: https://github.com/freemanjiang/bikemap

Some technical details: - No backend! Processed data is stored in parquet files on a Cloudflare CDN, and queried directly by DuckDB WASM

- deck.gl w/ Mapbox for GPU-accelerated rendering of thousands of concurrent animated bikes

- Web Workers decode polyline routes and do as much precomputation as possible off the main thread

- Since only (start, end) station pairs are provided, routes are generated by querying OSRM for the shortest path between all 2,400+ station pairs

Re:Ask HN: Bloggers, how do you manage your content? on Monday December 15, 2025 @04:04PM (#46280617)
I see, yeah I use Next.js pretty regularly, you mean on hot reload then?

You still need to write your content as Markdown or something else, right? I feel the editors of Substack give some nice features like shortcuts for bold, italics. What do you do about that?

Ask HN: Bloggers, how do you manage your content?

I would like to start a personal blog. I think Substack is a good option, but I would like more control over styling (potentially custom components) and want to host the blog on my own website.I wanted to ask what the writing and hosting process is like for people who have a personal website and blog—do you just write markdown and then use a renderer?I would like a kind of wysiwyg editor to see...

( Read More... | 14 comments | 3 points | on HN )
Re:Ask HN: What Are You Working On? (December 2025) on Monday December 15, 2025 @02:58PM (#46279654)
https://www.beatsync.gg/

I launched this on HN over the summer, but it's millisecond-precise audio synchronization for multiple devices, performed purely in the browser! I'm sitting at around 5K daily active users now. Also, it's open-source!

kelvin!
Thanks for bringing this up! Made an issue to look into this.
Yeah, at one point I had manual controls to adjust the delay to debug. I'll add that back.
Practically, the network jitter is averaged out in the clock synchronization calculations, and even output latency is remarkably well-behaved. Have you tried it on different devices? It is only noticeable when there's an external device connected to the computer.
Haha yeah guarantee is a strong word. I just mean that it’s good enough to not be noticeable (even within the same physical room)
Thank you! Very appreciated kind stranger :)
Oh I see, yeah I was wondering why it looked like that since on my computer responsive view looked great. Will look into this, thank you.
Miraculously pulled it off with a change I made today
Made an update so it should be good on most!
It doesn't at the moment, but I think it probably should. There's a non-trivial amount of clock drift that can happen over long periods of time.
Thanks for the heads up! Just added a license to the repo.
Yes! The very next step.
It works on other platforms! Just not as smooth as Chrome.
Yup no microphone. It's all clock sync
Yeah the threshold is pretty brutal, but it is enough. Experimentally, I'd say you need under 2-3ms but even at 1ms you can start to hear some phase differences.

Most of the time, I think my synchronization algorithm is actually sub-1ms, but it can be worse depending on unstable network conditions.

Great question! There's two steps:

First, I do clock synchronization with a central server so that all clients can agree on a time reference.

Then, instead of directly manipulating the hardware audio ring buffers (which browsers don't allow), I use the Web Audio API's scheduling system to play audio in the future at a specific start time, on all devices.

So a central server relays messages from clients, telling them when to start and which sample position in the buffer to start from.

Older »