The best Hacker News stories from Show from the past week
Latest posts:
Show HN: Free, in-browser PDF editor
Add text, input boxes, pictures, signatures, delete pages, merge PDFs and password protect them. All happening in the browser, 100% free and no sign-up.
Show HN: Free, in-browser PDF editor
Add text, input boxes, pictures, signatures, delete pages, merge PDFs and password protect them. All happening in the browser, 100% free and no sign-up.
Show HN: I built a synthesizer based on 3D physics
I've been working on the Anukari 3D Physics Synthesizer for a little over two years now. It's one of the earliest virtual instruments to rely on the GPU for audio processing, which has been incredibly challenging and fun. In the end, predictably, the GUI for manipulating the 3D system actually ended up being a lot more work than the physics simulation.<p>So far I am only selling it direct on my website, which seems to be working well. I hope to turn it into a sustainable business, and ideally I'd have enough revenue to hire folks to help with it. So far it's been 99% a solo project, with (awesome) contractors brought in for some of the stuff that I'm bad at, like the 3D models and making instrument presets/videos.<p>The official launch announcement video is here: <a href="https://www.youtube.com/watch?v=NYX_eeNVIEU" rel="nofollow">https://www.youtube.com/watch?v=NYX_eeNVIEU</a><p>But if you REALLY want to see what it can do, check out what Mick Cormick did with in on the first day: <a href="https://x.com/Mick_Gordon/status/1918146487948919222" rel="nofollow">https://x.com/Mick_Gordon/status/1918146487948919222</a><p>I've kept a fairly detailed developer log about my progress on the project since October 2023, which might be of interest to the hardcore technical folks here:
<a href="https://anukari.com/blog/devlog" rel="nofollow">https://anukari.com/blog/devlog</a><p>I also gave a talk at Audio Developer Conference 2023 (ADC23) that goes deep into a couple of the problems I solved for Anukari: <a href="https://www.youtube.com/watch?v=lb8b1SYy73Q" rel="nofollow">https://www.youtube.com/watch?v=lb8b1SYy73Q</a>
Show HN: A pure WebGL image editor with filters, crop and perspective correction
I'm working on a pure js webgl image editor with effects, filters, crop & perspective correction, etc.
My goal is to give the community an opensource solution as unfortunately most comparable apps are closed sources.<p><a href="https://mini2-photo-editor.netlify.app" rel="nofollow">https://mini2-photo-editor.netlify.app</a> to try it out (<a href="https://github.com/xdadda/mini-photo-editor">https://github.com/xdadda/mini-photo-editor</a>)
Show HN: A Chrome extension that will auto-reject non-essential cookies
A FOSS chrome extension that attempts to remove the annoyance of cookie pop ups and banners.<p>There are some extensions out there that auto-accept cookies, but I didn't find one that auto rejected cookies without either chaining some extensions together or setting up custom rules in tools like uBlock origin. So with this extension, you just need to add it for non-essential cookies to be rejected.<p>Github: <a href="https://github.com/mitch292/reject-cookies">https://github.com/mitch292/reject-cookies</a>
Extension Link: <a href="https://chromewebstore.google.com/detail/bnbodofigkfjljnopfggfoecokhmhamc?utm_source=item-share-cb" rel="nofollow">https://chromewebstore.google.com/detail/bnbodofigkfjljnopfg...</a><p>It's still very early days for the extension. I want it to keep improving and working on more and more sites. Feedback welcome. Thanks!
Show HN: Beatsync – perfect audio sync across multiple devices
Hi HN! I made Beatsync, an open-source browser-based audio player that syncs audio with millisecond-level accuracy across many devices.<p>Try it live right now: <a href="https://www.beatsync.gg/" rel="nofollow">https://www.beatsync.gg/</a><p>The idea is that with no additional hardware, you can turn any group of devices into a full surround sound system. MacBook speakers are particularly good.<p>Inspired by Network Time Protocol (NTP), I do clock synchronization over websockets and use the Web Audio API to keep audio latency under a few ms.<p>You can also drag devices around a virtual grid to simulate spatial audio — it changes the volume of each device depending on its distance to a virtual listening source!<p>I've been working on this project for the past couple of weeks. Would love to hear your thoughts and ideas!
Show HN: I built a hardware processor that runs Python
Hi everyone,
I built PyXL — a hardware processor that executes a custom assembly generated from Python programs, without using a traditional interpreter or virtual machine. It compiles Python -> CPython Bytecode -> Instruction set designed for direct hardware execution.<p>I’m sharing an early benchmark: a GPIO test where PyXL achieves a 480ns round-trip toggle — compared to 14-25 micro seconds on a MicroPython Pyboard - even though PyXL runs at a lower clock (100MHz vs. 168MHz).<p>The design is stack-based, fully pipelined, and preserves Python's dynamic typing without static type restrictions.
I independently developed the full stack — toolchain (compiler, linker, codegen), and hardware — to validate the core idea. Full technical details will be presented at PyCon 2025.<p>Demo and explanation here: <a href="https://runpyxl.com/gpio" rel="nofollow">https://runpyxl.com/gpio</a>
Happy to answer any questions
Show HN: I built a hardware processor that runs Python
Hi everyone,
I built PyXL — a hardware processor that executes a custom assembly generated from Python programs, without using a traditional interpreter or virtual machine. It compiles Python -> CPython Bytecode -> Instruction set designed for direct hardware execution.<p>I’m sharing an early benchmark: a GPIO test where PyXL achieves a 480ns round-trip toggle — compared to 14-25 micro seconds on a MicroPython Pyboard - even though PyXL runs at a lower clock (100MHz vs. 168MHz).<p>The design is stack-based, fully pipelined, and preserves Python's dynamic typing without static type restrictions.
I independently developed the full stack — toolchain (compiler, linker, codegen), and hardware — to validate the core idea. Full technical details will be presented at PyCon 2025.<p>Demo and explanation here: <a href="https://runpyxl.com/gpio" rel="nofollow">https://runpyxl.com/gpio</a>
Happy to answer any questions
Show HN: I made a web-based, free alternative to Screen Studio
Show HN: I made a web-based, free alternative to Screen Studio
Show HN: Remote-Controlled IKEA Deathstar Lamp
Repainting the iconic IKEA PS 2014 lamp into the Deathstar from Star Wars has been a popular IKEA hack for quite some time.<p>This variant additionally replaces the manual, rope-operated mechanism to open and close the lamp with a remote-controlled motor.<p>The firmware is based on ESPHome, and its excellent Home Assistant integration enables one to implement higher-level features, like a "sundial" where the aperture of the Deathstar follows the sun elevation throughout the day (see the timelapse video).<p>That said, I will not consider this project as complete until the Imperial March can be played over the stepper motor (just like the legendary Floppotron) ;-)
Show HN: My self-written hobby OS is finally running on my vintage IBM ThinkPad
Finally got my hobby OS up and running on real hardware. I love the old IBM thinkpads, so thought it was the perfect machine to get it working on. Been working on it for quite some time now, but this has been a big milestone!
Show HN: My self-written hobby OS is finally running on my vintage IBM ThinkPad
Finally got my hobby OS up and running on real hardware. I love the old IBM thinkpads, so thought it was the perfect machine to get it working on. Been working on it for quite some time now, but this has been a big milestone!
Show HN: I used OpenAI's new image API for a personalized coloring book service
I've had an idea for a long time to generate a cute coloring book based on family photos, send it to a printing service, and then deliver it to people.<p>Last month, when OpenAI's Sora was released for public use I (foolishly) thought I'd manually drag-and-drop each order’s photos into Sora's UI and copy the resulting images back into my system. This took way too much time (about an hour for each of the few books I made and tested with family and friends). It clearly wasn't possible to release this version because I’d be losing a huge amount of time on every order. So instead, I decided I'd finish off the project as best I could, put it "on ice," and wait for the API release.<p>The API is now released (quicker than I thought it'd be, too!) and I integrated it last night. I'd love your feedback on any and all aspects.<p>The market is mostly family-based, but from my testing of the physical book I've found that both adults and kids enjoy coloring them in (it's surprisingly cathartic and creative). If you would like to order one you can get 10% off by tapping the total price line item five times.
Show HN: My from-scratch OS kernel that runs DOOM
Hi there! I've been on-and-off working on TacOS for a few months, which follows some UNIX-derived concepts (exec/fork, unix-style VFS, etc) and is now able to run a port of Doom, with a fairly small amount of modifications, using my from-scratch libc. The performance is actually decent compared to what I expected. Very interested to hear your thoughts. Thank you!
Show HN: Dia, an open-weights TTS model for generating realistic dialogue
Show HN: JuryNow – Get an anonymous instant verdict from 12 real people
After 16 years, I have just launched my game JuryNow. Imagine having a truly diverse panel of 12 real people of all ages, far removed from your peer group, around the world who will be able to give you an instant decision on your question 24/7. No commentary, just a verdict between two choices. You can ask a moral dilemma, or a fashion dilemma (you can upload 2 images), you can use JuryNow to give you an independent perspective on a family argument, or a workplace problem, or even a trivial thought. You can also ask a mini political poll and receive global verdict in real time.<p>It’s anonymous, fast (under 3 minutes), and...when there are more than 13 people playing simultaneously, completely AI-free<i>.</i><p>How do you pay for this priceless fun? With JuryDuty. While you wait 3 minutes for your verdict, You answer other people’s questions. There is no commentary, just a binary choice.<p>You can ask things like:<p><i>“Do I have a moral duty to go to my brother’s third wedding? We have no parents?”</i><p><i>“Do you feel guilty when you kill mosquitoes?”</i><p><i>"Should I take away my mother's car keys? She is 84 and had two near misses this month."</i><p>As a 58F, I built JuryNow because I wanted to create a truly objective place to get outside opinions that were not from my peer group, but from 12 people in 12 different countries, different ages, professions, cultures, a truly diverse global objective jury with no algorithms.<p>Would love your feedback! It’s totally free, no sign-up needed for a first play.
<a href="https://jurynow.app/" rel="nofollow">https://jurynow.app/</a><p>if there are fewer than 13 people playing (and it only just launched last week and that was just on Reddit!) then a popup will appear saying your verdict is simulated by AI. But this is just a TEMPORARY feature with the MVP. As soon as there are regular players, it will be permanently dismantled and we will celebrate the power of collective human intelligence!
Show HN: JuryNow – Get an anonymous instant verdict from 12 real people
After 16 years, I have just launched my game JuryNow. Imagine having a truly diverse panel of 12 real people of all ages, far removed from your peer group, around the world who will be able to give you an instant decision on your question 24/7. No commentary, just a verdict between two choices. You can ask a moral dilemma, or a fashion dilemma (you can upload 2 images), you can use JuryNow to give you an independent perspective on a family argument, or a workplace problem, or even a trivial thought. You can also ask a mini political poll and receive global verdict in real time.<p>It’s anonymous, fast (under 3 minutes), and...when there are more than 13 people playing simultaneously, completely AI-free<i>.</i><p>How do you pay for this priceless fun? With JuryDuty. While you wait 3 minutes for your verdict, You answer other people’s questions. There is no commentary, just a binary choice.<p>You can ask things like:<p><i>“Do I have a moral duty to go to my brother’s third wedding? We have no parents?”</i><p><i>“Do you feel guilty when you kill mosquitoes?”</i><p><i>"Should I take away my mother's car keys? She is 84 and had two near misses this month."</i><p>As a 58F, I built JuryNow because I wanted to create a truly objective place to get outside opinions that were not from my peer group, but from 12 people in 12 different countries, different ages, professions, cultures, a truly diverse global objective jury with no algorithms.<p>Would love your feedback! It’s totally free, no sign-up needed for a first play.
<a href="https://jurynow.app/" rel="nofollow">https://jurynow.app/</a><p>if there are fewer than 13 people playing (and it only just launched last week and that was just on Reddit!) then a popup will appear saying your verdict is simulated by AI. But this is just a TEMPORARY feature with the MVP. As soon as there are regular players, it will be permanently dismantled and we will celebrate the power of collective human intelligence!
Show HN: Undercutf1 – F1 Live Timing TUI with Driver Tracker, Variable Delay
undercutf1 is a F1 live timing app, built as a TUI. It contains traditional timing pages like a Driver Tracker, Timing Tower, Race Control, along with some more detailed analysis like lap and gap history, so that you can see strategies unfolding.<p>I started to build undercutf1 almost two years ago, after becoming increasingly frustrated with the TV direction and lack of detailed information coming out of the live feed. Overtakes were often missed and strategies were often ill-explained or missed. I discovered that F1 live timing data is available over a simple SignalR stream, so I set out building an app that would let me see all the information I could dream of. Now undercutf1 serves as the perfect companion (like a second Martin Brundle) when I'm watching the sessions live.<p>If you want to test it out, you replay the Suzuka race easily by downloading the timing data, then starting a simulated session:<p>1. Download undercutf1 using the installation instructions in the README.<p>2. Import the Suzuka race session data using `undercutf1 import 2025 -m 1256 -s 10006`.<p>3. Start the app (`undercutf1`) then press S (Session) then F (Simulated Session), then select Suzuka then Race using the arrow keys, then press Enter.<p>4. Use arrow keys to navigate between the timing pages, and use N / Shift+N to fast-forward through the session.<p>If you want to test it out during this weekends Jeddah GP, simply install as in the README then start a live session by pressing S (Session) then L (Live Session).<p>The app is built for a terminal of roughly 110x30 cells, which probably seems an odd size but just so happens to be the size of a fullscreen terminal on a MBP zoomed in far enough that the text is easily glanceable when the laptop is placed on a coffee table some distance away from me :) Other terminal sizes will work fine, but information density/scaling may not be ideal.<p>If you're using the TUI during a live session, you'll want to synchronise the delay of the timing feed to your TV feed. Use the N/M keys to increase/decrease the delay. During non-race session, I find it fairly easy to sync the session clock on TV with the session clock on the bottom left of the timing screen. For race sessions, synchronisation is a little harder. I usually aim to sync the start of the race time (e.g. 13:00 on the timing screen clock) with the start of the formation lap, where the live feed helpfully shows the clock tick over to 0 minutes. I usually delay the feed by 30 to 60 seconds.
Show HN: Undercutf1 – F1 Live Timing TUI with Driver Tracker, Variable Delay
undercutf1 is a F1 live timing app, built as a TUI. It contains traditional timing pages like a Driver Tracker, Timing Tower, Race Control, along with some more detailed analysis like lap and gap history, so that you can see strategies unfolding.<p>I started to build undercutf1 almost two years ago, after becoming increasingly frustrated with the TV direction and lack of detailed information coming out of the live feed. Overtakes were often missed and strategies were often ill-explained or missed. I discovered that F1 live timing data is available over a simple SignalR stream, so I set out building an app that would let me see all the information I could dream of. Now undercutf1 serves as the perfect companion (like a second Martin Brundle) when I'm watching the sessions live.<p>If you want to test it out, you replay the Suzuka race easily by downloading the timing data, then starting a simulated session:<p>1. Download undercutf1 using the installation instructions in the README.<p>2. Import the Suzuka race session data using `undercutf1 import 2025 -m 1256 -s 10006`.<p>3. Start the app (`undercutf1`) then press S (Session) then F (Simulated Session), then select Suzuka then Race using the arrow keys, then press Enter.<p>4. Use arrow keys to navigate between the timing pages, and use N / Shift+N to fast-forward through the session.<p>If you want to test it out during this weekends Jeddah GP, simply install as in the README then start a live session by pressing S (Session) then L (Live Session).<p>The app is built for a terminal of roughly 110x30 cells, which probably seems an odd size but just so happens to be the size of a fullscreen terminal on a MBP zoomed in far enough that the text is easily glanceable when the laptop is placed on a coffee table some distance away from me :) Other terminal sizes will work fine, but information density/scaling may not be ideal.<p>If you're using the TUI during a live session, you'll want to synchronise the delay of the timing feed to your TV feed. Use the N/M keys to increase/decrease the delay. During non-race session, I find it fairly easy to sync the session clock on TV with the session clock on the bottom left of the timing screen. For race sessions, synchronisation is a little harder. I usually aim to sync the start of the race time (e.g. 13:00 on the timing screen clock) with the start of the formation lap, where the live feed helpfully shows the clock tick over to 0 minutes. I usually delay the feed by 30 to 60 seconds.