The best Hacker News stories from Show from the past day
Latest posts:
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>
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>
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>
Show HN: A cross-platform terminal emulator written in Java
It's based on the jediterm library developed for IDEs, but it can also be put to work as a standalone terminal emulator with tabs. The library has been around for more than 10 years, but I don't think anyone made a terminal emulator app from it?
Show HN: A cross-platform terminal emulator written in Java
It's based on the jediterm library developed for IDEs, but it can also be put to work as a standalone terminal emulator with tabs. The library has been around for more than 10 years, but I don't think anyone made a terminal emulator app from it?
Show HN: A cross-platform terminal emulator written in Java
It's based on the jediterm library developed for IDEs, but it can also be put to work as a standalone terminal emulator with tabs. The library has been around for more than 10 years, but I don't think anyone made a terminal emulator app from it?
Show HN: AirBending – Hand gesture based macOS app MIDI controller
Show HN: AirBending – Hand gesture based macOS app MIDI controller
Show HN: AirBending – Hand gesture based macOS app MIDI controller
Show HN: BunkerWeb – the open-source and cloud-native WAF
Show HN: BunkerWeb – the open-source and cloud-native WAF