The best Hacker News stories from Show from the past day
Latest posts:
Show HN: LTE-connected IoT module with remote programming and NL data analysis
Hi HN! I've been working on this IoT platform that aims to simplify deploying remote sensor networks by combining pre-configured LTE hardware with a cloud platform for remote programming and AI-based analysis.<p>The main challenges I'm trying to solve are:<p>1. Eliminating infrastructure setup headaches for IoT deployments
2. Making remote programming and debugging practical for devices that might be difficult to access physically
3. Using natural language for analyzing sensor data, and possibly taking actions based on the analysis<p>I'd really appreciate feedback on:<p>1. Is this approach to IoT development interesting to you?
2. What use cases would you want to explore with this kind of platform?
3. What concerns would you have about adopting something like this?
4. Could anyone recommend workflows or tools for making the AI agent more reliable? Currently using LLMs to generate isolated SQL queries to extract data, but ensuring consistent responses has been challenging.<p>Thanks for any thoughts, and feel free to ask any questions about how the hardware or platform works. Happy to dive into the details!
Show HN: (bits) of a Libc, Optimized for Wasm
I make a no-CGO Go SQLite driver, by compiling the amalgamation to Wasm, then loading the result with wazero (a CGO-free Wasm runtime).<p>To compile SQLite, I use wasi-sdk, which uses wasi-libc, which is based on musl. It's been said that musl is slow(er than glibc), which is true, to a point.<p>musl uses SWAR on a size_t to implement various functions in string.h. This is fine, except size_t is just 32-bit on Wasm.<p>I found that implementing a few of those functions with Wasm SIMD128 can make them go around 4x faster.<p>Other functions don't even use SWAR; redoing <i>those</i> can make them 16x faster.<p>Smooth sort also has trouble pulling its own weight; a Shell sort seems both simpler and faster, while similarly avoiding recursion, allocations and the addressable stack.<p>I found that using SIMD intrinsics (rather than SWAR) makes it easier to avoid UB, but the code would definitely benefit from more eyeballs.<p>See this for some benchmarks on both x86-64 and Aarch64: <a href="https://github.com/ncruces/go-sqlite3/actions/runs/14516931864">https://github.com/ncruces/go-sqlite3/actions/runs/145169318...</a>
Show HN: (bits) of a Libc, Optimized for Wasm
I make a no-CGO Go SQLite driver, by compiling the amalgamation to Wasm, then loading the result with wazero (a CGO-free Wasm runtime).<p>To compile SQLite, I use wasi-sdk, which uses wasi-libc, which is based on musl. It's been said that musl is slow(er than glibc), which is true, to a point.<p>musl uses SWAR on a size_t to implement various functions in string.h. This is fine, except size_t is just 32-bit on Wasm.<p>I found that implementing a few of those functions with Wasm SIMD128 can make them go around 4x faster.<p>Other functions don't even use SWAR; redoing <i>those</i> can make them 16x faster.<p>Smooth sort also has trouble pulling its own weight; a Shell sort seems both simpler and faster, while similarly avoiding recursion, allocations and the addressable stack.<p>I found that using SIMD intrinsics (rather than SWAR) makes it easier to avoid UB, but the code would definitely benefit from more eyeballs.<p>See this for some benchmarks on both x86-64 and Aarch64: <a href="https://github.com/ncruces/go-sqlite3/actions/runs/14516931864">https://github.com/ncruces/go-sqlite3/actions/runs/145169318...</a>
Show HN: (bits) of a Libc, Optimized for Wasm
I make a no-CGO Go SQLite driver, by compiling the amalgamation to Wasm, then loading the result with wazero (a CGO-free Wasm runtime).<p>To compile SQLite, I use wasi-sdk, which uses wasi-libc, which is based on musl. It's been said that musl is slow(er than glibc), which is true, to a point.<p>musl uses SWAR on a size_t to implement various functions in string.h. This is fine, except size_t is just 32-bit on Wasm.<p>I found that implementing a few of those functions with Wasm SIMD128 can make them go around 4x faster.<p>Other functions don't even use SWAR; redoing <i>those</i> can make them 16x faster.<p>Smooth sort also has trouble pulling its own weight; a Shell sort seems both simpler and faster, while similarly avoiding recursion, allocations and the addressable stack.<p>I found that using SIMD intrinsics (rather than SWAR) makes it easier to avoid UB, but the code would definitely benefit from more eyeballs.<p>See this for some benchmarks on both x86-64 and Aarch64: <a href="https://github.com/ncruces/go-sqlite3/actions/runs/14516931864">https://github.com/ncruces/go-sqlite3/actions/runs/145169318...</a>
Show HN: Attune - Build and publish APT repositories in seconds
Hey HN, we're Eliza and Xin, and we’ve been working on Attune. Attune is a tool for publishing Linux packages.<p>Previously, we worked at other startups building open source developer tools that ran on our customers’ CI and development machines. For many of them, being able to `apt-get install` our tools was a requirement.<p>When we went to actually set up APT repositories, we were really surprised by the state of tooling around package publishing. The open source tools we found were old, slow, and difficult to figure out how to run in CI. The commercial tools we found were not much better. The cloud-hosted vendors required us to provide our signing keys to a cloud vendor (which was a non-starter), while the self-hosted vendors required us to operate our own specialized hosting servers.<p>We just wanted something simple: sign locally, run quickly, be easy to use, and deploy to managed object storage.<p>We couldn’t find it, so we built it. If you want to try it out, you can create a repository with three commands:<p><pre><code> attune repo create --uri https://apt.releases.example.com
attune repo pkg add --repo-id 123 package.deb
attune repo sync --repo-id 123
</code></pre>
You can get the tool at <a href="https://github.com/attunehq/attune">https://github.com/attunehq/attune</a>. There are a lot of rough edges right now since it's so new - sorry in advance, we're working on sanding those down.<p>It’s fully open source under Apache 2. We’re also working with some early customers to build enterprise features like audit logging, RBAC, and HSM integrations, and we’re thinking about building a managed cloud hosting service as well.<p>We’d love your feedback on whether this is useful for you, and what you’d like to see next. We’re well aware that publishing is a small piece of CI/CD, but we think a lot of the tooling in this area (publishing, artifact registries, package repositories) could really use some love.<p>What do you think? Comment here, or email us at founders@attunehq.com.
Show HN: Attune - Build and publish APT repositories in seconds
Hey HN, we're Eliza and Xin, and we’ve been working on Attune. Attune is a tool for publishing Linux packages.<p>Previously, we worked at other startups building open source developer tools that ran on our customers’ CI and development machines. For many of them, being able to `apt-get install` our tools was a requirement.<p>When we went to actually set up APT repositories, we were really surprised by the state of tooling around package publishing. The open source tools we found were old, slow, and difficult to figure out how to run in CI. The commercial tools we found were not much better. The cloud-hosted vendors required us to provide our signing keys to a cloud vendor (which was a non-starter), while the self-hosted vendors required us to operate our own specialized hosting servers.<p>We just wanted something simple: sign locally, run quickly, be easy to use, and deploy to managed object storage.<p>We couldn’t find it, so we built it. If you want to try it out, you can create a repository with three commands:<p><pre><code> attune repo create --uri https://apt.releases.example.com
attune repo pkg add --repo-id 123 package.deb
attune repo sync --repo-id 123
</code></pre>
You can get the tool at <a href="https://github.com/attunehq/attune">https://github.com/attunehq/attune</a>. There are a lot of rough edges right now since it's so new - sorry in advance, we're working on sanding those down.<p>It’s fully open source under Apache 2. We’re also working with some early customers to build enterprise features like audit logging, RBAC, and HSM integrations, and we’re thinking about building a managed cloud hosting service as well.<p>We’d love your feedback on whether this is useful for you, and what you’d like to see next. We’re well aware that publishing is a small piece of CI/CD, but we think a lot of the tooling in this area (publishing, artifact registries, package repositories) could really use some love.<p>What do you think? Comment here, or email us at founders@attunehq.com.
Show HN: Attune - Build and publish APT repositories in seconds
Hey HN, we're Eliza and Xin, and we’ve been working on Attune. Attune is a tool for publishing Linux packages.<p>Previously, we worked at other startups building open source developer tools that ran on our customers’ CI and development machines. For many of them, being able to `apt-get install` our tools was a requirement.<p>When we went to actually set up APT repositories, we were really surprised by the state of tooling around package publishing. The open source tools we found were old, slow, and difficult to figure out how to run in CI. The commercial tools we found were not much better. The cloud-hosted vendors required us to provide our signing keys to a cloud vendor (which was a non-starter), while the self-hosted vendors required us to operate our own specialized hosting servers.<p>We just wanted something simple: sign locally, run quickly, be easy to use, and deploy to managed object storage.<p>We couldn’t find it, so we built it. If you want to try it out, you can create a repository with three commands:<p><pre><code> attune repo create --uri https://apt.releases.example.com
attune repo pkg add --repo-id 123 package.deb
attune repo sync --repo-id 123
</code></pre>
You can get the tool at <a href="https://github.com/attunehq/attune">https://github.com/attunehq/attune</a>. There are a lot of rough edges right now since it's so new - sorry in advance, we're working on sanding those down.<p>It’s fully open source under Apache 2. We’re also working with some early customers to build enterprise features like audit logging, RBAC, and HSM integrations, and we’re thinking about building a managed cloud hosting service as well.<p>We’d love your feedback on whether this is useful for you, and what you’d like to see next. We’re well aware that publishing is a small piece of CI/CD, but we think a lot of the tooling in this area (publishing, artifact registries, package repositories) could really use some love.<p>What do you think? Comment here, or email us at founders@attunehq.com.
Less Slow C++
Earlier this year, I took a month to reexamine my coding habits and rethink some past design choices. I hope to rewrite and improve my FOSS libraries this year, and I needed answers to a few questions first. Perhaps some of these questions will resonate with others in the community, too.<p><pre><code> - Are coroutines viable for high-performance work?
- Should I use SIMD intrinsics for clarity or drop to assembly for easier library distribution?
- Has hardware caught up with vectorized scatter/gather in AVX-512 & SVE?
- How do secure enclaves & pointer tagging differ on Intel, Arm, & AMD?
- What's the throughput gap between CPU and GPU Tensor Cores (TCs)?
- How costly are misaligned memory accesses & split-loads, and what gains do non-temporal loads/stores offer?
- Which parts of the standard library hit performance hardest?
- How do error-handling strategies compare overhead-wise?
- What's the compile-time vs. run-time trade-off for lazily evaluated ranges?
- What practical, non-trivial use cases exist for meta-programming?
- How challenging is Linux Kernel bypass with io_uring vs. POSIX sockets?
- How close are we to effectively using Networking TS or heterogeneous Executors in C++?
- What are best practices for propagating stateful allocators in nested containers, and which libraries support them?
</code></pre>
These questions span from micro-kernel optimizations (nanoseconds) to distributed systems (micro/millisecond latencies). Rather than tackling them all in one post, I compiled my explorations into a repository—extending my previous Google Benchmark tutorial (<<a href="https://ashvardanian.com/posts/google-benchmark" rel="nofollow">https://ashvardanian.com/posts/google-benchmark</a>>)—to serve as a sandbox for performance experimentation.<p>Some fun observations:<p><pre><code> - Compilers now vectorize 3x3x3 and 4x4x4 single/double precision multiplications well! The smaller one is ~60% slower despite 70% fewer operations, outperforming my vanilla SSE/AVX and coming within 10% of AVX-512.
- Nvidia TCs vary dramatically across generations in numeric types, throughput, tile shapes, thread synchronization (thread/quad-pair/warp/warp-groups), and operand storage. Post-Volta, manual PTX is often needed (as intrinsics lag), though the new TileIR (introduced at GTC) promises improvements for dense linear algebra kernels.
- The AI wave drives CPUs and GPUs to converge in mat-mul throughput & programming complexity. It took me a day to debug TMM register initialization, and SME is equally odd. Sierra Forest packs 288 cores/socket, and AVX10.2 drops 256-bit support for 512-bit... I wonder if discrete Intel GPUs are even needed, given CPU advances?
- In common floating-point ranges, scalar sine approximations can be up to 40x faster than standard implementations, even without SIMD. It's a bit hand-wavy, though; I wish more projects documented error bounds and had 1 & 3.5 ULP variants like Sleef.
- Meta-programming tools like CTRE can outperform typical RegEx engines by 5x and simplify building parsers compared to hand-crafted FSMs.
- Once clearly distinct in complexity and performance (DPDK/SPDK vs. io_uring), the gap is narrowing. While pre-5.5 io_uring can boost UDP throughput by 4x on loopback IO, newer zero-copy and concurrency optimizations remain challenging.
</code></pre>
The repository is loaded with links to favorite CppCon lectures, GitHub snippets, and tech blog posts. Recognizing that many high-level concepts are handled differently across languages, I've also started porting examples to Rust & Python in separate repos. Coroutines look bad everywhere :(<p>Overall, this research project was rewarding! Most questions found answers in code — except pointer tagging and secure enclaves, which still elude me in public cloud. I'd love to hear from others, especially on comparing High-Level Synthesis for small matrix multiplications on FPGAs versus hand-written VHDL/Verilog for integral types. Let me know if you have ideas for other cool, obscure topics to cover!
Show HN: I made a Doom-like game fit inside a QR code
I sometimes pick up random projects just because I can, this was one of those times. I made it as a week long project a while back this year but never shared here, so thought to go for it haha.<p>I created a game inspired by Doom and the backrooms called The Backdooms under 2.4kb in minified html. (for reference, this entire post would be around 1.8kB haha)
I had to use a not popular way of using GZip with Zlib headers (had to write my own script for compressing it, also in the repo) to eventually convert it a size 40 QR code that works right in your browser using Decompressionstream API.<p>This is of course a very oversimplified description of it, using a lot of the same technologies that DOOM had but combining it with infinite seed based map generation in 2.4kb (QR codes can only store 3kb, which includes changing formats) was pretty hard.<p>Here are some links about it if you want to nerd out and read more:<p>Repository Link (MIT License): <a href="https://github.com/Kuberwastaken/backdooms">https://github.com/Kuberwastaken/backdooms</a><p>A Hosted (slightly improved) version of The Backdooms: <a href="https://kuberwastaken.github.io/backdooms/" rel="nofollow">https://kuberwastaken.github.io/backdooms/</a><p>Game Trailer: <a href="https://www.youtube.com/shorts/QWPr10cAuGc" rel="nofollow">https://www.youtube.com/shorts/QWPr10cAuGc</a><p>My Linkedin post about it: <a href="https://www.linkedin.com/feed/update/urn:li:activity:7295667546089799681/" rel="nofollow">https://www.linkedin.com/feed/update/urn:li:activity:7295667...</a><p>(PS: You'd need something like <a href="https://qrscanner.org/" rel="nofollow">https://qrscanner.org/</a> or something that can scan bigger QR codes and put the text data onto your browser to play it)<p>My Blogs documenting the process and development in detail:<p><a href="https://kuberwastaken.github.io/blog/Projects/How-I-Managed-To-Get-Doom-In-A-QR-Code" rel="nofollow">https://kuberwastaken.github.io/blog/Projects/How-I-Managed-...</a>
<a href="https://kuberwastaken.github.io/blog/Projects/How-I-Managed-To-Make-HTML-Game-Compression-So-Much-Better" rel="nofollow">https://kuberwastaken.github.io/blog/Projects/How-I-Managed-...</a>
Show HN: I made a Doom-like game fit inside a QR code
I sometimes pick up random projects just because I can, this was one of those times. I made it as a week long project a while back this year but never shared here, so thought to go for it haha.<p>I created a game inspired by Doom and the backrooms called The Backdooms under 2.4kb in minified html. (for reference, this entire post would be around 1.8kB haha)
I had to use a not popular way of using GZip with Zlib headers (had to write my own script for compressing it, also in the repo) to eventually convert it a size 40 QR code that works right in your browser using Decompressionstream API.<p>This is of course a very oversimplified description of it, using a lot of the same technologies that DOOM had but combining it with infinite seed based map generation in 2.4kb (QR codes can only store 3kb, which includes changing formats) was pretty hard.<p>Here are some links about it if you want to nerd out and read more:<p>Repository Link (MIT License): <a href="https://github.com/Kuberwastaken/backdooms">https://github.com/Kuberwastaken/backdooms</a><p>A Hosted (slightly improved) version of The Backdooms: <a href="https://kuberwastaken.github.io/backdooms/" rel="nofollow">https://kuberwastaken.github.io/backdooms/</a><p>Game Trailer: <a href="https://www.youtube.com/shorts/QWPr10cAuGc" rel="nofollow">https://www.youtube.com/shorts/QWPr10cAuGc</a><p>My Linkedin post about it: <a href="https://www.linkedin.com/feed/update/urn:li:activity:7295667546089799681/" rel="nofollow">https://www.linkedin.com/feed/update/urn:li:activity:7295667...</a><p>(PS: You'd need something like <a href="https://qrscanner.org/" rel="nofollow">https://qrscanner.org/</a> or something that can scan bigger QR codes and put the text data onto your browser to play it)<p>My Blogs documenting the process and development in detail:<p><a href="https://kuberwastaken.github.io/blog/Projects/How-I-Managed-To-Get-Doom-In-A-QR-Code" rel="nofollow">https://kuberwastaken.github.io/blog/Projects/How-I-Managed-...</a>
<a href="https://kuberwastaken.github.io/blog/Projects/How-I-Managed-To-Make-HTML-Game-Compression-So-Much-Better" rel="nofollow">https://kuberwastaken.github.io/blog/Projects/How-I-Managed-...</a>
Show HN: I made a Doom-like game fit inside a QR code
I sometimes pick up random projects just because I can, this was one of those times. I made it as a week long project a while back this year but never shared here, so thought to go for it haha.<p>I created a game inspired by Doom and the backrooms called The Backdooms under 2.4kb in minified html. (for reference, this entire post would be around 1.8kB haha)
I had to use a not popular way of using GZip with Zlib headers (had to write my own script for compressing it, also in the repo) to eventually convert it a size 40 QR code that works right in your browser using Decompressionstream API.<p>This is of course a very oversimplified description of it, using a lot of the same technologies that DOOM had but combining it with infinite seed based map generation in 2.4kb (QR codes can only store 3kb, which includes changing formats) was pretty hard.<p>Here are some links about it if you want to nerd out and read more:<p>Repository Link (MIT License): <a href="https://github.com/Kuberwastaken/backdooms">https://github.com/Kuberwastaken/backdooms</a><p>A Hosted (slightly improved) version of The Backdooms: <a href="https://kuberwastaken.github.io/backdooms/" rel="nofollow">https://kuberwastaken.github.io/backdooms/</a><p>Game Trailer: <a href="https://www.youtube.com/shorts/QWPr10cAuGc" rel="nofollow">https://www.youtube.com/shorts/QWPr10cAuGc</a><p>My Linkedin post about it: <a href="https://www.linkedin.com/feed/update/urn:li:activity:7295667546089799681/" rel="nofollow">https://www.linkedin.com/feed/update/urn:li:activity:7295667...</a><p>(PS: You'd need something like <a href="https://qrscanner.org/" rel="nofollow">https://qrscanner.org/</a> or something that can scan bigger QR codes and put the text data onto your browser to play it)<p>My Blogs documenting the process and development in detail:<p><a href="https://kuberwastaken.github.io/blog/Projects/How-I-Managed-To-Get-Doom-In-A-QR-Code" rel="nofollow">https://kuberwastaken.github.io/blog/Projects/How-I-Managed-...</a>
<a href="https://kuberwastaken.github.io/blog/Projects/How-I-Managed-To-Make-HTML-Game-Compression-So-Much-Better" rel="nofollow">https://kuberwastaken.github.io/blog/Projects/How-I-Managed-...</a>
Show HN: I made a Doom-like game fit inside a QR code
I sometimes pick up random projects just because I can, this was one of those times. I made it as a week long project a while back this year but never shared here, so thought to go for it haha.<p>I created a game inspired by Doom and the backrooms called The Backdooms under 2.4kb in minified html. (for reference, this entire post would be around 1.8kB haha)
I had to use a not popular way of using GZip with Zlib headers (had to write my own script for compressing it, also in the repo) to eventually convert it a size 40 QR code that works right in your browser using Decompressionstream API.<p>This is of course a very oversimplified description of it, using a lot of the same technologies that DOOM had but combining it with infinite seed based map generation in 2.4kb (QR codes can only store 3kb, which includes changing formats) was pretty hard.<p>Here are some links about it if you want to nerd out and read more:<p>Repository Link (MIT License): <a href="https://github.com/Kuberwastaken/backdooms">https://github.com/Kuberwastaken/backdooms</a><p>A Hosted (slightly improved) version of The Backdooms: <a href="https://kuberwastaken.github.io/backdooms/" rel="nofollow">https://kuberwastaken.github.io/backdooms/</a><p>Game Trailer: <a href="https://www.youtube.com/shorts/QWPr10cAuGc" rel="nofollow">https://www.youtube.com/shorts/QWPr10cAuGc</a><p>My Linkedin post about it: <a href="https://www.linkedin.com/feed/update/urn:li:activity:7295667546089799681/" rel="nofollow">https://www.linkedin.com/feed/update/urn:li:activity:7295667...</a><p>(PS: You'd need something like <a href="https://qrscanner.org/" rel="nofollow">https://qrscanner.org/</a> or something that can scan bigger QR codes and put the text data onto your browser to play it)<p>My Blogs documenting the process and development in detail:<p><a href="https://kuberwastaken.github.io/blog/Projects/How-I-Managed-To-Get-Doom-In-A-QR-Code" rel="nofollow">https://kuberwastaken.github.io/blog/Projects/How-I-Managed-...</a>
<a href="https://kuberwastaken.github.io/blog/Projects/How-I-Managed-To-Make-HTML-Game-Compression-So-Much-Better" rel="nofollow">https://kuberwastaken.github.io/blog/Projects/How-I-Managed-...</a>
Show HN: val – An arbitrary precision calculator language
Wrote this to learn more about the `chumsky` parser combinator library, rustyline, and the `ariadne` error reporting crate.<p>Such a nice DX combo for writing new languages.<p>Still a work in progress, but I thought I'd share :)
Show HN: Particle - News, Organized
Hello HN! Particle News product engineer here.<p>Keeping up with the news is overwhelming in an age of information overload. Particle reimagines the experience by organizing articles into comprehensive "Stories," offering clear, concise summaries to quickly grasp what matters. Today, we reached the #1 spot in "Newspapers & Magazine" on the iOS App Store—and I thought I'd share a bit of our backstory.<p>I've been connected to this team for a long time. About 20 years ago, I shared a house with our CTO and co-founder Marcel Molina. I helped him get started with programming. Since then, Marcel has had an extraordinary career—becoming a senior staff engineer at Twitter, where he helped build foundational features like Retweets, Notifications, and Lists, and later working at Tesla on manufacturing execution systems that scaled across Gigafactories.<p>At Twitter, Marcel worked closely with our CEO and product visionary Sara Beykpour, who led initiatives like Twitter Blue, Twitter Video, and the experimental app <i>twttr</i>. Sara has a background in Software Engineering and Cognitive Science from the University of Waterloo and spent over a decade at Twitter in engineering and leadership roles.<p>In late 2022, Sara and Marcel started prototyping a news app that could reduce the cognitive and emotional burden of staying informed—by using AI to help people understand more, faster. They were soon joined by a few other former Twitter colleagues who helped shape the early concept into a working iOS application.<p>I joined about 15 months ago to contribute across the entire stack. Since then, I've helped design and build major iOS features, rewritten our public website on Cloudflare Workers, and implemented new functionality in our Go backend, which is driven by Google Cloud's Pub/Sub architecture.<p>What Makes Particle News Different<p>Particle helps you navigate the news effortlessly—leveraging AI to help you understand more, faster. Some highlights:<p>• Personalized News – Your feed is tailored to your interests. You can follow specific people, places, and things so you never miss what matters to you.<p>• Clear Summaries – Get a quick overview or dive deeper with detailed, structured context—summarized in natural language.<p>• Perspective Tools – Features like "Opposite Sides" and our political spectrum chart let you explore stories through multiple lenses.<p>• Interactive Q&A – Ask questions about any story and get concise answers with sources and citations.<p>• Audio Summaries – Use the "Play" feature to listen to your feed, specific stories, or even select articles—great for hands-free or on-the-go moments.<p>One of the things we're most proud of is how Particle supports publishers. We've partnered with outlets like Reuters, AFP, and Fortune to host some of their content via APIs. These partners get prominent placement, and their links are highlighted in gold to stand out. This model aims to drive traffic back to publishers and reward high-quality journalism, rather than just aggregating and commodifying it.<p>Transparency is a core value: all sources are cited, generated answers are grounded in evidence, and we take real care to prevent AI hallucinations or misleading summaries.<p>Despite negligible marketing spend, Particle has grown to the top of its category by focusing on engagement with early users and meaningful partnerships with the media ecosystem.<p>Coming soon: weekday mini crosswords—a new feature designed by another longtime friend of ours from 20 years back who went on to work at Twitter, lead development on Firewatch, and release his own games independently.<p>It's incredibly fun and rewarding to be building something meaningful with old and new friends. I feel lucky every day to work alongside some of the best product, design, and engineering minds on a project we hope will help people stay engaged with democracy without burning out.
Show HN: HN Watercooler – listen to HN threads as an audio conversation
Hi HN, here's something fun to play with.<p>It takes any HN thread and turns it into an audio conversation so you can listen to the thread while doing other things.<p>I've seen many previous attempts to turn HN threads into podcasts, but they all shared a common issue IMO: trying to reduce the very rich back-and-forth into a single-thread single-reader boring podcast. Instead, I wanted to hear the actual debate from the actual thread!<p>So I asked Claude 3.7 to build this for me as a browser-only app. It just needs a thread URL and an Elevenlabs API key (this all remains in your browser, you can check the source code, it's only 3 files, there is no server storage of anything).<p>To make the resulting audio experience as natural as possible, each commenter has a different voice.<p>Commenters who appear multiple times in the thread have the same voice, and introduce themselves. A bit of context is also introduced when coming back "up" from deeply nested comments.<p>You can play the resulting audio or download it for later listening. I'm planning to later add the ability to load multiple threads so I can have a playlist generated for listening in the gym!<p>Any comments or improvement suggestions are appreciated!
Show HN: HN Watercooler – listen to HN threads as an audio conversation
Hi HN, here's something fun to play with.<p>It takes any HN thread and turns it into an audio conversation so you can listen to the thread while doing other things.<p>I've seen many previous attempts to turn HN threads into podcasts, but they all shared a common issue IMO: trying to reduce the very rich back-and-forth into a single-thread single-reader boring podcast. Instead, I wanted to hear the actual debate from the actual thread!<p>So I asked Claude 3.7 to build this for me as a browser-only app. It just needs a thread URL and an Elevenlabs API key (this all remains in your browser, you can check the source code, it's only 3 files, there is no server storage of anything).<p>To make the resulting audio experience as natural as possible, each commenter has a different voice.<p>Commenters who appear multiple times in the thread have the same voice, and introduce themselves. A bit of context is also introduced when coming back "up" from deeply nested comments.<p>You can play the resulting audio or download it for later listening. I'm planning to later add the ability to load multiple threads so I can have a playlist generated for listening in the gym!<p>Any comments or improvement suggestions are appreciated!
Show HN: AgentAPI – HTTP API for Claude Code, Goose, Aider, and Codex
Show HN: AgentAPI – HTTP API for Claude Code, Goose, Aider, and Codex
Show HN: AgentAPI – HTTP API for Claude Code, Goose, Aider, and Codex
Show HN: AgentAPI – HTTP API for Claude Code, Goose, Aider, and Codex