New Show Hacker News story: Show HN: Ember, a native iOS Hacker News reader I built around accessibility

Show HN: Ember, a native iOS Hacker News reader I built around accessibility
82 by sylwester | 17 comments on Hacker News.
I read HN on my phone every day and never really settled on a reader, so I wrote my own and finally tidied it up enough to put out there. It's plain SwiftUI with no third-party dependencies. A few things I spent the most time on: Comments are parsed and drawn as native text instead of being dumped into a web view. Links, italics, quotes and code blocks behave like the rest of the OS, text selection works, and threads collapse instantly. The whole comment tree comes back from the Algolia API in a single request, which felt a lot nicer than walking the Firebase API node by node. Accessibility. Nothing depends on color on its own, so points, read state and selection all carry a shape or an icon too. VoiceOver reads each story as one coherent element with proper actions, Dynamic Type and Reduce Motion are respected, and there's a color-blind mode. The first-run setup actually looks at your device's accessibility settings, switches on the matching options, and tells you what it changed instead of making you hunt for them. Then the usual things you'd expect: Top/New/Best/Ask/Show/Jobs, search, saved stories, read tracking, an in-app reader, light and dark, and a handful of accent colors. It only talks to the public HN APIs, there's no account and nothing is tracked. Source and screenshots are in the repo. I'd most like feedback on the comment rendering and the accessibility choices, since those were the parts I cared about getting right. Happy to answer anything about how it's put together.

New Show Hacker News story: Show HN: LoopFlow – loop engineering for Claude Code

Show HN: LoopFlow – loop engineering for Claude Code
2 by faisalishfaq | 0 comments on Hacker News.


New ask Hacker News story: Ask HN: What is your #1 practical lesson or "aha" moment from coding with AI?

Ask HN: What is your #1 practical lesson or "aha" moment from coding with AI?
2 by johndavid9991 | 1 comments on Hacker News.
As a developer, my own workflow has shifted completely over the last few months, but I feel like I'm still uncovering the best patterns. I'm curious about the specific inflection points where things clicked for others. Was it a shift in how you prompt, a change in your tech stack, or learning when not to trust the output?

New Show Hacker News story: Show HN: Let agents send/receive SMS using your old Android phone

Show HN: Let agents send/receive SMS using your old Android phone
4 by LukBrezina | 0 comments on Hacker News.
While playing with agents I realised it might be quite handy if they could get access to OTP codes. And while at it, why not give them ability to send the SMS as well. Twillio is expensive and annoying to set up for my taste. I vibe coded simple Android app that can read/send SMS and simple relay server that acts as MCP for agents. Works surprisingly well and my old android phone from a drawer is doing something useful again. Feel free to use it if you find it useful. I put it just to a $5 vps. If it's crashed, you should be able to spin up your own instance on your own VPS just in a few minutes.

New ask Hacker News story: Ask HN: Will programmers write more efficient code during the memory shortage?

Ask HN: Will programmers write more efficient code during the memory shortage?
30 by amichail | 45 comments on Hacker News.
Maybe there will even be more interest in the invention and use of more advanced algorithms and data structures that use less memory?

New Show Hacker News story: Show HN: Jumpjet – a WASM runtime for game developers

Show HN: Jumpjet – a WASM runtime for game developers
2 by lwansbrough | 0 comments on Hacker News.
I built Jumpjet because I realized that engine and indie game developers are always repeating the same work: building the core infrastructure that touches the OS. Webassembly solves this in the Component Model by enabling interop between packages written in different languages. And in my opinion it's sort of the perfect fit for Jumpjet's model: providing a chassis without an engine. Jumpjet works by defining a very close mapping of WebGPU (and a few other WebIDL features) to WIT so that they can be used in any language that can target the wasm Component Model. Your game then runs as a guest application in Jumpjet's host runtime (powered by wasmtime), which shrinks final bundle size considerably versus something like Electron. Right now a bare bones game in Jumpjet is about 40mb. Right now the project is in an alpha or possibly pre-alpha state, it's not production ready. On the commercial side, I think there's an opportunity for cloud storage, game server hosting, a package manager and/or marketplace, distribution, and more. Right now you can target macOS, Windows, Linux, Android and iOS. (I haven't done any real testing on mobile so good luck.) The languages you can use will depend on their support for generating bindings from .wit files. There are a few templates available, I recommend one of the Rust ones. If you are a game developer or just like tinkering, I'd love for you to try the project out and tell me what you think!

New ask Hacker News story: Ask HN: How do you separate intentional test boilerplate from real duplication?

Ask HN: How do you separate intentional test boilerplate from real duplication?
6 by rafaepta | 2 comments on Hacker News.
I am maintaining an open-source project (deterministic open source duplicate-code detector) and a user asked for a feature which I don’t have a clear answer on how to implement. This seems a very hard problem to solve: -Tests repeat the same scenario. For a structural detector, this flags as repetition (duplication). However, tests are not something people want to delete from the codebases. -The repetitions from tests (on purpose) end up looking like undesired code duplication and the tools canno tell which is which. -One way to solve this would be something like a human in the loop (kind of how linters allow user to accept something once, while keeping the default first run zero-config). Wonder how you have seen this handle and if anyone have any ideas. Here is the the repo: https://ift.tt/VqUhiwz And here is the issue with more detail: https://ift.tt/vsODi9V