News for hackers. Stuff that matters.

dredozubov

I'd be interested to learn what you think when you try hazmat.

Running TLA+ via coding agents became a productivity hack for me to quickly catch invariant breaks, especially in concurrency-sensitive settings. LLM-based coding agents improved to the point of trivializing the process of encoding and running these models.

For this project, I was really concerned with the correctness of the init/rollback logic since it deals with users and groups, and it's easy to make life uncomfortable if you implement it incorrectly. So I decided to formalize migration paths for configurations I set up with 'hazmat init', and revert with 'hazmat rollback', which effectively returns the system to the state it was before running hazmat. I had a workspace concept in 0.1.0, which was removed in 0.2.0, and I wanted to check that I don't leave the system in a weird state. Then I reused and updated this migration model for 0.2.0 -> 0.3.0 and so on.

Also, I found multiple issues with seatbelt policy generation, a flaw that would allow a launch without a firewall, nasty cloud restore bug for s3 snapshots.

Show HN: Hazmat – I made unrestricted Claude Code safe on macOS

https://github.com/dredozubov/hazmat

Hazmat gives AI coding agents full autonomy by containing them at the OS level — dedicated macOS user, kernel sandbox (Seatbelt), pf firewall, DNS blocklist, supply chain hardening (npm ignore-scripts), and automatic snapshots.I built it because manual approval mode is the worst of both worlds: fake security (any prompt injection bypasses it) and a productivity killer (you become the...

( Read More... | 2 comments | on HN )
If anyone is interested what can be made with Poly, I've composed this earlier today: https://soundcloud.com/createdestroyforget/out?si=1745dbb1c6...
Do you mind shooting me an email or opening an issue on github? I was thinking about doing the UI myself, but I wasn’t sure how to do make it nice for the end user. It’s certainly a good idea to rework the API to be UI-friendly.
Very cool! I enjoy digging into dependent typing applications.
I'd love to have some feedback from other users, let me know if you need any help!
It defaults to 4/4, unless you supply a different time signature through CLI.
This is a very cool approach to UI. I've been struggling to design a reasonable UI for poly. I think I saw a similar thing on the youtube channel of Yogev Gabay, but I forgot the name.
I've been learning a lot about the other projects in the space from comments. Thanks everyone!
Glad it makes sense not only to me! I've tried to make an understandable description in a README, but if you have an idea of how to explain it better, it's very welcome.
I'll definitely take a look at that! I've decided against an UI for Polyrhythmix for now, as I don't have a good sense of how to make it easy to use, but retain the flexibility I can get with a DSL programmable input.
I've been mostly doing Haskell for last 9 years, but I find Rust to be awesome nowadays. Great feedback from the type checker, no unnecessary runtime, great tooling. It's unique in a sense that it's fast, but quite safe at the same type. If it would have Higher-Kinded Types, it would be even better for me personally, but it's a tricky compromise from a compiler design perspective.
Thanks, I'll make a note to look at it later.
DAWs and tablature editors mimic musical notation anyway. I suppose replication over the bars lines can be done more easily in DAWs that in tablature editors, but I still wanted a tool to generate the part from the "blueprint" rather than copy-pasting and double-checking all over the place.

What I want to do is to learn a bit more about Konnakol, which is the Indian musical art expressed in percussive syllables. I have an impression that building a bridge between Konnakol and western notation can really get the creative juices flowing.

Thanks for commenting and reaching out, would love to know what you think of poly. I was learning Rust along the way, so there is definitely room for improvement. From the memory allocation perspective at least, I didn't paid it much mind as the practical applications are not that memory intensive.

No clue what intonation pitch lattices are, but now I'm interested to learn!

I’m a guitar player, and I use tablature notation editors such as Guitar Pro a lot. However, it gets complicated fast when I write polyrhythmic/polymetric drum parts, because shifts tend to go over the bar lines and it’s hard to make sense it’s correct visually (may be even harder if you listen to it). The other property of such parts is: it tends to unfold from simple ideas such as “I want to create a drum part that will have a 3 against 4 feel with a kick drum against a snare drum”. The other way to think about it is that it has a simple blueprint, but it’s tricky and error-prone to express in Western musical notation. This is why Polyrhythmix exists. I wanted to have a simple tool to workshop/brainstorm rhythmic ideas and evaluate them by having a MIDI playback. I’m into modern Progressive Rock/Metal music, Fusion, so it all applies very well. I have an impression it may be useful for Indian Carnatic music as well, but I would like to get some insightful confirmation on that.