Posted by david927 3/30/2025
Ask HN: What are you working on? (March 2025)
Over the last 4.5 years, we've been developing slow-wave enhancement technology which increases the effectiveness of deep sleep.
We've developed the full stack, our own hardware, soft conductive dry (no paste or gel) electrodes, comfortable EEG headband, embedded sleep stage classification and stimulation models, the list goes on and on.
We're currently ramping up for a pre-sale, and getting the marketing inline, along with finalizing industrial design, prepping for manufacturing, etc, etc,
We'll be launching a pre-sale once we complete our fit testing (end of Q2 '25) and shipping Q4.
[1] https://www.affectablesleep.com/blog/is-8-hours-of-sleep-the...
Though, I don't think corrosion is the issue with Muse S, the electrodes tear as I understand it. Either way, they are not robust enough.
https://blog.tombert.com/posts/2025-03-22-swaybar/
I wanted some extra functionality for the Swaybar in the Sway Window Manager. I got a basic thing working with Bash, but I wanted more stuff, and so I rewrote it in Clojure with GraalVM.
I think it's kind of cool, I ended up with a fairly elaborate async framework with multimethods and lots of configuration, and the entire thing has almost no "real" blocking, and can persist state so that it can survive restarts.
The reason for async support was so that I can easily have my Swaybar ping HTTP endpoints and display stuff, without it affecting the synchronous data in the bar. I have TTLs in order to rate-limit stuff, and also have click-event support.
Right now, I have it ping OpenAI to generate a stupid inspirational quote based on something from a list of about two-hundred topics. Right now on the top of my bar it says:
> "Let the flame-grilled passion of life's challenges be your fuel for success" - Patty Royale
I think it's kind of cool, it's building with Nix so it should be reproducible, and with GraalVM, it hovers at around 12-15 megs of RAM on my machine.
One thing you can do is separate the information fetching from your bar completely. I have a service that runs every minute or so to fetch available updates from the arch repositories (including aur), it writes its output to a file and then my bar regularly updates it's displayed information based on that file.
I don't have the service definition uploaded anywhere, but you can see how simple it is to then integrate it with anything here [1]. This is a status bar I'm building with qml. It's not ready to be released yet, I'm at 0.7.0. Only tested on x11/i3wm so far. Last time I launched it in wayland/sway, there were some issues but it's been a while since. Since it's built with qt complex and non-blocking interactions are available out of the box. For example, switching workspace by clicking an icon in the bar, or switching the format of the displayed date time.
I do have the state persisted in a msgpack binary, but the data fetching is done within the app. I don’t know that separating it out would necessarily be better, I kind of like that I have the pipeline set up on such a way that the fetching for sync and async stuff can be reused.
I am debating rewriting this to use the slightly lower level NIO selector class instead of core.async, but the memory on this is low enough to where I am not sure that it’s worth it.
I have been writing a lot of helper apps in Rust for Sway as well, mostly as an excuse to play with Rust more [1] [2].
I will take a look at your stuff. I have wanted an excuse to learn a bit more about Qt.
Anyone else?
Boss of guy from Minnesota was kicked out of the company. I'm told the guy from Minnesota is now sooooo much nicer now.
I wish you luck :)
Capture everything going on in the Family.
Let me elaborate. Families attempt to use a Shared Calendar when things get hectic, but they don't capture everything going on, because most of these events are just too tedious to enter into a traditional Calendar. Voice Assistants are not tailored to capture the kinds of Events that families have. Examples below. So, families either don't use a Calendar, or one person in the family ends up spending too much time keeping everything in sync.
Examples of flexible events that KIN can handle: 1. Aditi has School board meeting on second Tuesday of every month. 2. Aadi has chess on Tuesdays and Thursdays from 6 to 7, and Saturdays at 11. 3. Rushi has after-school Soccer every Wednesday starting April 3rd, for 10 weeks. 4. Create events from Screenshots or Photos.
Coming in next Release: - Send Reminders to other members in the Family! e.g, Remind Aditi to pick up Rushi from School tomorrow at 3 pm.
It started as a personal project a few months back. Since then, I have been using it myself, alongside building the functionality I need. Lately I have been working on polishing it up in order to put it out there for others.
Based on my usage so far, I've come to realize some good second order effects too -
1. having a list of exercises helps me quickly pick something meaningful to practice rather than noodling for most of the time.
2. At the end of a practice session, the total duration is just 15-20 mins yet it feels like quality practice. So now, even if I have just 20-30 mins of free time, I am motivated to squeeze in a quick practice session. Turns out, this is a game changer (at least for myself).
Feature wise, I'm quite happy with the current state of it although I have some ideas for premium features (if it generates enough interest). In the coming weeks, I am planning to switch gears a bit and focus more on marketing/promotion. I also need to play more, because ironically, my practice time has reduced in the last few weeks in the pursuit of "launching" it! Also, I've set a goal to publish one new exercise in the library every week until the end of this year.
Not a professional developer so I suspect these projects look a lot more like slugging through mud and trying to navigate through a maze in a pitch black environment, and I've found these tools to be helpful especially in small refactorings that would normally result in me just slowly losing interest in the project.
Anyways, https://pianobooth.com is the latest one! Gave me an excuse to learn some Blender as well. It'll play your midi files (well, it might play your midi file) and show the notes being played on a keyboard. :)
Lots of room for improvement. It now works on most of the midi files I've tried, but it's still glitchy and buggy. But at least it works sometimes!
Maybe I'll finally get some of the more obvious improvements done and have something a bit more polished this week. :)
I had this idea in mind for some time already, it began with me wanting to build a simple programming language (and learn in the process) and interest in Bazel. I got started about a month ago by going through the Crafting Interpreters book by Bob Nystrom (it’s crazy good), but now Im straying further and further away from it.
Overall I find the project a great mixture of fun and challenging.
It’s a private repo for now because it’s in a pretty rough state, and is still missing a lot of stuff, but I will release as OSS at some point. That said if someone would like it could be fun:)
After spending a few years developing it for internal purposes, a customer decided to contribute a significant amount to its ongoing, open-source development, plus additional closed-source commercial add-on modules for their own use: making the accounting software useful for very specific industries.
Currently it's piloted running payroll & profit/loss/balance sheet for a handful of small businesses, with the rest of the usual modules (accounts payable, invoicing, quoting, etc.) slated for release this year.
Technology stack is currently Python plus Preact; "severless" architecture where each node maintains a replica of the data involved and can replicate it to other nodes. User interfaces is either CLI or web-based, with an eye towards eventually replicating the desktop user experience of popular accounting packages of times past. We are taking a hard look at shifting from Python to Rust simply as we rely heavily on third-party packages, and Rust is where a lot of the active development in that space is going.
The most fun I had was finding a module written in Perl and Postscript, porting the Perl part to Python, and realising the existing Postscript was excellent and needed no improvement. (Our team now has more Postscript competency than we ever planned to have.)
If you're interested, see my profile for an email and put "HN" in the subject.