The best Hacker News stories from Show from the past day
Latest posts:
Show HN: NYC Subway Simulator and Route Designer
Hello HN!<p>As a long term NYC resident, I have read countless articles on ideas tweaking subway services, but always found them hard to follow without visual aid. So over the long weekend I decided to build one. It has all the basic features: trains would spawn at their origin, stop at stations, and slow down if it gets too close to another. You can also design custom routes by piecing tracks together.<p>Have fun, and let me know what you think!
Show HN: NYC Subway Simulator and Route Designer
Hello HN!<p>As a long term NYC resident, I have read countless articles on ideas tweaking subway services, but always found them hard to follow without visual aid. So over the long weekend I decided to build one. It has all the basic features: trains would spawn at their origin, stop at stations, and slow down if it gets too close to another. You can also design custom routes by piecing tracks together.<p>Have fun, and let me know what you think!
Show HN: NYC Subway Simulator and Route Designer
Hello HN!<p>As a long term NYC resident, I have read countless articles on ideas tweaking subway services, but always found them hard to follow without visual aid. So over the long weekend I decided to build one. It has all the basic features: trains would spawn at their origin, stop at stations, and slow down if it gets too close to another. You can also design custom routes by piecing tracks together.<p>Have fun, and let me know what you think!
Show HN: Piano Trainer – Learn piano scales, chords and more using MIDI
Show HN: Piano Trainer – Learn piano scales, chords and more using MIDI
Show HN: Pixel Art Generator Using Genetic Algorithm
This project is a simple but fun demonstration of a genetic algorithm applied to image generation. It starts with a population of random images and evolves them over generations to resemble a target image. The output is an animated GIF that shows the entire evolution process.
Show HN: a community for collaborating on sideprojects
TLDR: I made a community where you can find builders or product owners to collab on sideprojects together with <3<p>A year ago i completed my first sideproject, a digital course on how to "cold email a chief information security officer". I thought and think its a great course, but of course I fell into all the traps (didnt verify a need, i thought id make it and everyone would buy automatically), i tested google ads but hated nerding on that, so i decided to find a marketing person to partner up with! But i knew no one! That got me thinking how many people with relevant knowledge that isnt connected to others who need it, so i started gathering these people in an excel doc with what they know and then we created a slack channel for this etc! (fenomener.framer.website). Suddenly now we are 400 people sharing about our projects and collaborating! But if there is one thing ive been missing its "profile pages", that doesnt work well in slack. Id love to see an awesome project but then lurk a bit on who this person is before engaging in anything. so thats when we made the common decision of: what the heck, lets just build the thing we want.<p>So I partnered up with a fullstack (from the community!!!!!) and built relentlessly.no. we have like 50 users now and 17 projects and just finished our Minimum Lovable Product. Its not good enough yet and we are working on adding notifications and at least optimizing for first the product leader flow, then the builder flow. (we often get product leaders with a demo joining that are HUNGRY for devs, or we get builders hungry for anyone with an idea! its a god damn marketplace maybe!)<p>I actually think this might become 1000x more important than YC, because its place and time independant, and no one or no org has taken a place in the important space of sideprojects, where actually "everything begins". SIdeprojects sound so naive and not important, but after nerding on this a year i kinda see them as the most powerful thing we have. And this feels exactly as counter intuitive as a great idea should feel. So if we can let relentlessly resourceful people around the globe bump into each other, then the next gen of startups will be born here. Thats freaking meaningful stuff. And the hidden gem in all of this is something that didnt strike me before i had been working on it for a year: The point isnt to find someone to collab on your current sideproject. The whole value is the relationships that get formed. Because now after a year in this space then sideprojects have come and gone, but i have like 8 new "cofounder ready" relationships formed, where i actually trust them and "know" them and can build in the future with them. So i guess we are sortof solving "cofounder matching" without the akward "cofounder meetup night", or the slow "you HAVE to go to school with them for four years.<p>business wise this is my passion project for life I feel, and the ethical founder friendly direction im pursuing is just adding this on the site: "if you met your cofounder here, like the product and youre raising money with another confirmed investor: please invite me to your round <3"<p>I dont have money but maybe that will sort itself out, so this just makes me the worlds poorest investor with the most original investment product ever :D
Show HN: a community for collaborating on sideprojects
TLDR: I made a community where you can find builders or product owners to collab on sideprojects together with <3<p>A year ago i completed my first sideproject, a digital course on how to "cold email a chief information security officer". I thought and think its a great course, but of course I fell into all the traps (didnt verify a need, i thought id make it and everyone would buy automatically), i tested google ads but hated nerding on that, so i decided to find a marketing person to partner up with! But i knew no one! That got me thinking how many people with relevant knowledge that isnt connected to others who need it, so i started gathering these people in an excel doc with what they know and then we created a slack channel for this etc! (fenomener.framer.website). Suddenly now we are 400 people sharing about our projects and collaborating! But if there is one thing ive been missing its "profile pages", that doesnt work well in slack. Id love to see an awesome project but then lurk a bit on who this person is before engaging in anything. so thats when we made the common decision of: what the heck, lets just build the thing we want.<p>So I partnered up with a fullstack (from the community!!!!!) and built relentlessly.no. we have like 50 users now and 17 projects and just finished our Minimum Lovable Product. Its not good enough yet and we are working on adding notifications and at least optimizing for first the product leader flow, then the builder flow. (we often get product leaders with a demo joining that are HUNGRY for devs, or we get builders hungry for anyone with an idea! its a god damn marketplace maybe!)<p>I actually think this might become 1000x more important than YC, because its place and time independant, and no one or no org has taken a place in the important space of sideprojects, where actually "everything begins". SIdeprojects sound so naive and not important, but after nerding on this a year i kinda see them as the most powerful thing we have. And this feels exactly as counter intuitive as a great idea should feel. So if we can let relentlessly resourceful people around the globe bump into each other, then the next gen of startups will be born here. Thats freaking meaningful stuff. And the hidden gem in all of this is something that didnt strike me before i had been working on it for a year: The point isnt to find someone to collab on your current sideproject. The whole value is the relationships that get formed. Because now after a year in this space then sideprojects have come and gone, but i have like 8 new "cofounder ready" relationships formed, where i actually trust them and "know" them and can build in the future with them. So i guess we are sortof solving "cofounder matching" without the akward "cofounder meetup night", or the slow "you HAVE to go to school with them for four years.<p>business wise this is my passion project for life I feel, and the ethical founder friendly direction im pursuing is just adding this on the site: "if you met your cofounder here, like the product and youre raising money with another confirmed investor: please invite me to your round <3"<p>I dont have money but maybe that will sort itself out, so this just makes me the worlds poorest investor with the most original investment product ever :D
Show HN: I made Logic gates using CSS if() function
Show HN: I made Logic gates using CSS if() function
Show HN: I wrote a "web OS" based on the Apple Lisa's UI, with 1-bit graphics
<a href="https://lisagui.com/info.html" rel="nofollow">https://lisagui.com/info.html</a><p>This is a web OS I wrote in vanilla JS that looks like the Apple Lisa Office System (1983-85), with other contemporaneous influences and additional improvements and features. It's currently in alpha and isn't remotely bug free. I had been holding off on posting this here until it was somewhat presentable and useful. Please note; the Lisa conforms more literally to the desktop metaphor than most modern GUIs - some of the important differences are mentioned in the readme.<p>This is a complete recreation of the UI in JS; it all renders to a single canvas element. It's not a CSS theme, and not an emulator ported to JS. None of the code is written by Apple. I'll be happy to elaborate more in the comments, but the short version is the entire UI is defined outside the DOM using JS objects. Thus, every interface element - menus, windows, controls, and even typefaces - was recreated from scratch. There are no font files - I wrote my own typesetting system, which supports combining multiple text styles and generates new glyph variants on the fly.<p>Many of the technical decisions I made were motivated by a desire to have this look the same in every browser. That's harder to do with the DOM and CSS, and why I moved as much logic as I could to JS. Also, the only part of the project outside of vanilla JS and standard web APIs is the Gulp toolkit, which I'm using as a minification/build tool. No vibe coding was used to make this!<p>This is based on a UI from the 80s, and won't work well on your phone. If you insist on running it that way, turn on trackpad mode in the touchscreen settings panel of the preferences app. For best results, install it as a PWA (add it to your home screen). Also there are some odd Android bugs; the native touchscreen keyboard is currently broken, and there's an issue with the cursor when dragging windows.<p>I realize there's not a whole lot to do within LisaGUI right now; I've got a big list of additional features and apps I'll be adding in the future. I've been working on this project for a while, and I'm eager to hear people's feedback and answer questions about it.
Show HN: I wrote a "web OS" based on the Apple Lisa's UI, with 1-bit graphics
<a href="https://lisagui.com/info.html" rel="nofollow">https://lisagui.com/info.html</a><p>This is a web OS I wrote in vanilla JS that looks like the Apple Lisa Office System (1983-85), with other contemporaneous influences and additional improvements and features. It's currently in alpha and isn't remotely bug free. I had been holding off on posting this here until it was somewhat presentable and useful. Please note; the Lisa conforms more literally to the desktop metaphor than most modern GUIs - some of the important differences are mentioned in the readme.<p>This is a complete recreation of the UI in JS; it all renders to a single canvas element. It's not a CSS theme, and not an emulator ported to JS. None of the code is written by Apple. I'll be happy to elaborate more in the comments, but the short version is the entire UI is defined outside the DOM using JS objects. Thus, every interface element - menus, windows, controls, and even typefaces - was recreated from scratch. There are no font files - I wrote my own typesetting system, which supports combining multiple text styles and generates new glyph variants on the fly.<p>Many of the technical decisions I made were motivated by a desire to have this look the same in every browser. That's harder to do with the DOM and CSS, and why I moved as much logic as I could to JS. Also, the only part of the project outside of vanilla JS and standard web APIs is the Gulp toolkit, which I'm using as a minification/build tool. No vibe coding was used to make this!<p>This is based on a UI from the 80s, and won't work well on your phone. If you insist on running it that way, turn on trackpad mode in the touchscreen settings panel of the preferences app. For best results, install it as a PWA (add it to your home screen). Also there are some odd Android bugs; the native touchscreen keyboard is currently broken, and there's an issue with the cursor when dragging windows.<p>I realize there's not a whole lot to do within LisaGUI right now; I've got a big list of additional features and apps I'll be adding in the future. I've been working on this project for a while, and I'm eager to hear people's feedback and answer questions about it.
Show HN: I wrote a "web OS" based on the Apple Lisa's UI, with 1-bit graphics
<a href="https://lisagui.com/info.html" rel="nofollow">https://lisagui.com/info.html</a><p>This is a web OS I wrote in vanilla JS that looks like the Apple Lisa Office System (1983-85), with other contemporaneous influences and additional improvements and features. It's currently in alpha and isn't remotely bug free. I had been holding off on posting this here until it was somewhat presentable and useful. Please note; the Lisa conforms more literally to the desktop metaphor than most modern GUIs - some of the important differences are mentioned in the readme.<p>This is a complete recreation of the UI in JS; it all renders to a single canvas element. It's not a CSS theme, and not an emulator ported to JS. None of the code is written by Apple. I'll be happy to elaborate more in the comments, but the short version is the entire UI is defined outside the DOM using JS objects. Thus, every interface element - menus, windows, controls, and even typefaces - was recreated from scratch. There are no font files - I wrote my own typesetting system, which supports combining multiple text styles and generates new glyph variants on the fly.<p>Many of the technical decisions I made were motivated by a desire to have this look the same in every browser. That's harder to do with the DOM and CSS, and why I moved as much logic as I could to JS. Also, the only part of the project outside of vanilla JS and standard web APIs is the Gulp toolkit, which I'm using as a minification/build tool. No vibe coding was used to make this!<p>This is based on a UI from the 80s, and won't work well on your phone. If you insist on running it that way, turn on trackpad mode in the touchscreen settings panel of the preferences app. For best results, install it as a PWA (add it to your home screen). Also there are some odd Android bugs; the native touchscreen keyboard is currently broken, and there's an issue with the cursor when dragging windows.<p>I realize there's not a whole lot to do within LisaGUI right now; I've got a big list of additional features and apps I'll be adding in the future. I've been working on this project for a while, and I'm eager to hear people's feedback and answer questions about it.
Show HN: I wrote a "web OS" based on the Apple Lisa's UI, with 1-bit graphics
<a href="https://lisagui.com/info.html" rel="nofollow">https://lisagui.com/info.html</a><p>This is a web OS I wrote in vanilla JS that looks like the Apple Lisa Office System (1983-85), with other contemporaneous influences and additional improvements and features. It's currently in alpha and isn't remotely bug free. I had been holding off on posting this here until it was somewhat presentable and useful. Please note; the Lisa conforms more literally to the desktop metaphor than most modern GUIs - some of the important differences are mentioned in the readme.<p>This is a complete recreation of the UI in JS; it all renders to a single canvas element. It's not a CSS theme, and not an emulator ported to JS. None of the code is written by Apple. I'll be happy to elaborate more in the comments, but the short version is the entire UI is defined outside the DOM using JS objects. Thus, every interface element - menus, windows, controls, and even typefaces - was recreated from scratch. There are no font files - I wrote my own typesetting system, which supports combining multiple text styles and generates new glyph variants on the fly.<p>Many of the technical decisions I made were motivated by a desire to have this look the same in every browser. That's harder to do with the DOM and CSS, and why I moved as much logic as I could to JS. Also, the only part of the project outside of vanilla JS and standard web APIs is the Gulp toolkit, which I'm using as a minification/build tool. No vibe coding was used to make this!<p>This is based on a UI from the 80s, and won't work well on your phone. If you insist on running it that way, turn on trackpad mode in the touchscreen settings panel of the preferences app. For best results, install it as a PWA (add it to your home screen). Also there are some odd Android bugs; the native touchscreen keyboard is currently broken, and there's an issue with the cursor when dragging windows.<p>I realize there's not a whole lot to do within LisaGUI right now; I've got a big list of additional features and apps I'll be adding in the future. I've been working on this project for a while, and I'm eager to hear people's feedback and answer questions about it.
I extracted the safety filters from Apple Intelligence models
I managed to reverse engineer the encryption (refered to as “Obfuscation” in the framework) responsible for managing the safety filters of Apple Intelligence models. I have extracted them into a repository. I encourage you to take a look around.
Show HN: ASCII Fireworks
Show HN: Semcheck – AI Tool for checking implementation follows spec
Hi HN, like many I've been interested in the direction software engineering is taking now that coding LLMs are becoming prevalent. It seems that we're not quite there for "natural language programming", but it seems new abstractions are already starting to form. In order to explore this further I've built semcheck (semantic checker). It's a simple cli tool that can be used in CI or pre-commit to check that your implementation matches your specification using LLMs.<p>The inspiration came while I was working on another project where I needed a data structure for a GeoJSON object, I passed Claude the text of RFC-7946 and it gave me an implementation. It took some back and forth after that before I was happy with it, but this also meant the RFC went out of context for the LLM. That's why I asked Claude again to check the RFC to make sure we haven't strayed too far from the spec. It occurred to me that it would be good to have a formal way of defining these kinds of checks that can be run in a pre-commit or merge request flow.<p>Creating this tool was itself an experiment to try "spec-driven-development" using Claude Code, a middle ground between completely vibe-coding and traditional programming. My workflow was as follows: ask AI to write a spec and implementation plan, edit these manually to my liking, then ask AI to execute one step at a time. Being careful that the AI doesn't drift too far from what I think is required. My very first commit [1] is the specification of the config file structure and an implementation plan.<p>As soon as semcheck was in a state where it could check itself it started to find issues [2]. I found that this workflow improves not just your implementation but helps you refine your specification at the same time.<p>Besides specification, I also started to include documentation in my rules, making sure that the configuration examples and CLI flags I have in my README.md file stay in line with implementation [3].<p>The best thing is that you can put found issues directly back into your AI editor for a quick iteration cycle.<p>Some learnings:<p>- LLMs are very good at finding discrepancies, as long as the number of files you pass to the comparison function isn't too large, in other words the true-positive results are quite good.<p>- False-positives: the LLM is a know-it-all (literally) and often thinks it knows better. The LLM is eager to use its own world knowledge to find faults. This can both be nice and problematic. I've often had it complain that my Go version doesn't exist, but it was simply released after the knowledge cutoff of that model. I specifically prompt [4] the model to only find discrepancies, but it often "chooses" to use its knowledge anyway.<p>- In an effort to reduce false-positives I ask the model to give me a confidence score (0-1), to indicate to me how sure it was that the issue it found is actually applicable in this scenario. The models are always super confident and output values > 0.7 almost exclusively.<p>- One thing that did reduced false-positives significantly is asking the model to give its reasoning before assigning a severity level to an issue found.<p>- In my (rudimentary) experiments I found that "thinking" models like O3 don't improve on performance much and are not worth the additional tokens/time. (likely because I already ask for the reasoning anyway)<p>- The models that perform best are Claude 4 and GPT-4.1<p>Let me know if you could see this be useful in your workflow, and what feature you would need to make it functional.<p>[1]: <a href="https://github.com/rejot-dev/semcheck/commit/ce0af27ca0077fe158a179bae5f6258b8a1f73d9">https://github.com/rejot-dev/semcheck/commit/ce0af27ca0077fe...</a><p>[2]: <a href="https://github.com/rejot-dev/semcheck/commit/2f96fc428b551d9f48b8fe9bc5321838ac9139f2">https://github.com/rejot-dev/semcheck/commit/2f96fc428b551d9...</a><p>[3]: <a href="https://github.com/rejot-dev/semcheck/blob/47f7aaf98811c54e231a81cb98b1bc9b25d9871d/semcheck.yaml#L26">https://github.com/rejot-dev/semcheck/blob/47f7aaf98811c54e2...</a><p>[4]: <a href="https://github.com/rejot-dev/semcheck/blob/fec2df48304d9eff959c4eda3ee0d3a92295eb22/internal/checker/prompt_template.go">https://github.com/rejot-dev/semcheck/blob/fec2df48304d9eff9...</a>
Show HN: Kuvasz – an open-source uptime and SSL monitoring service
A few months ago I took out my side project - an uptime & SSL monitoring service - from the drawer. I've decided to give it a new life and completely overhauled it, added a lot of new feature, and most importantly, a UI.<p>Highlights<p>- configurable uptime & SSL monitoring<p>- Telegram, Slack, PagerDuty & E-mail notifications (more to come!)<p>- fully-fledged REST API<p>- a responsive, modern & fast UI<p>- monitors are optionally configurable via a single YAML file, or you can choose to use either the UI or the API to maintain them<p>- Cloud-native, distributed as amd64 and arm64 images<p>- Only one dependency: a PostgreSQL database to connect to<p>- Extensive examples in the docs<p>- stable memory usage (max ~360MB) & great performance<p>It's written in Kotlin, under the hood it uses Micronaut with Netty, jOOQ, and PostgreSQL, and the server-side-rendered UI is built with kotlinx.html, Alpine.js, and htmx.<p>It's called Kuvasz (pronounce as [ˈkuvɒs]), and you can find the repository here: <a href="https://github.com/kuvasz-uptime/kuvasz">https://github.com/kuvasz-uptime/kuvasz</a><p>And the website with the extensive documentation here: <a href="https://kuvasz-uptime.dev" rel="nofollow">https://kuvasz-uptime.dev</a>
Show HN: Tinykv – Minimal file-backed key-value store for Rust
I built tinykv because I kept reaching for simple persistent storage in Rust projects but found existing solutions either too complex (sled) or unmaintained (pickledb).<p>tinykv focuses on simplicity: JSON-based, serde-powered, with optional TTL. Perfect for CLI tools, game saves, config storage.<p>Would appreciate any feedback from the HN community!
Show HN: Fast Thermodynamic Calculations in Python
I built gaspype, a Python library for fast thermodynamic calculations, like equilibrium reactions. It's lightweight, written in typed Python/Numpy, and comes with a large species database.<p>Gaspype operates on multidimensional arrays for composition, temperature and pressure. It is designed for a flat learning curve and compact syntax for pocket calculator-like use in Jupyter Notebooks, as well as high performance for integration in large physical models. One central goal is the portability to GPU frameworks like JAX or PyTorch for performance as well as direct integrability in ML pipelines.<p>Checkout the examples, I'd love to hear you feedback, use cases, or feature ideas.<p>Repo is located here: <a href="https://github.com/DLR-Institute-of-Future-Fuels/gaspype">https://github.com/DLR-Institute-of-Future-Fuels/gaspype</a>