News for hackers. Stuff that matters.

css

Re:Mitchellh starts a new company: Superlogical on Wednesday July 29, 2026 @06:20PM (#49103841)
I like the concept. I maintain something similar [0], a daemon-backed supervisor where each task is one command in its own PTY (builds, servers, agent sessions), rather than a persistent shell workspace.

[0]: https://github.com/reagentX/fleetcom

What's wrong with `imessage-exporter`?

https://github.com/ReagentX/imessage-exporter

Re:I am sorry, but everyone is getting syntax highlighting wrong on Wednesday October 15, 2025 @04:24PM (#45597938)
I love the concept of lexical differential highlighting [0] (discussed here [1]). It makes reading math so much easier, especially in dense code. However I don't know of any editor that implements a feature like this.

If you paste the following code into the example block in [0] you can see how useful this can be:

    while (b - a).abs() > EPSILON {
        let c = a + (a - b) * f_a / (f_b - f_a);
        let f_c = J(c);
        if f_c * f_b == 0.0 {
            a = b;
            f_a = f_b;
        } else {
            f_a /= 2.0;
        }
        b = c;
        f_b = f_c;
    }
[0]: https://wordsandbuttons.online/lexical_differential_highligh...

[1]: https://news.ycombinator.com/item?id=20414528

Re:Too Many Open Files on Friday June 06, 2025 @11:58AM (#44202146)
I ran into this issue recently [0]. Apparently the integrated VSCode terminal sets its own (very high) cap by default, but other shells don't, so all of my testing in the VSCode shell "hid" the bug that other shells exposed.

[0]: https://github.com/ReagentX/imessage-exporter/issues/314#iss...

Re:Reverse Engineering Apple's typedstream Format on Tuesday February 04, 2025 @12:16PM (#42935445)
Semi-related, one of the `imessage-exporter` contributors provided a great write-up on reverse engineering the handwritten and digital touch message protobufs [0]. The reconstructed proto files are [1] [2].

[0]: https://github.com/trymoose/handwriting2svg/blob/0eb56cf4582...

[1]: https://github.com/ReagentX/imessage-exporter/blob/beeb853b2...

[2]: https://github.com/ReagentX/imessage-exporter/blob/beeb853b2...

Re:Reverse Engineering Apple's typedstream Format on Monday February 03, 2025 @04:44PM (#42923637)
The plist is probably a binary plist (header bytes `bplist00`) generated by NSKeyedArchiver, and then the specific data you need is encoded inside. Edited iMessages are stored in the exact same way. Luckily the plist itself is not that complex–but typedstream is pesky to work with.
Re:Reverse Engineering Apple's typedstream Format on Monday February 03, 2025 @12:19PM (#42920484)
iMessage uses a very strange amalgamation of typedstream (message content), keyed archives (app messages, sticker data), and protobufs (Digital Touch, handwriting) for different features. I wonder what motivated all of those design decisions.
Re:Reverse Engineering Apple's typedstream Format on Monday February 03, 2025 @11:26AM (#42919883)
Apple provides Messages for Business [0], but if you have a machine that can read the iMessages as they come in, you could use the library [1] that powers `imessage-exporter` as a bridge.

[0]: https://register.apple.com/messages

[1]: https://docs.rs/imessage-database/latest/

If you want something a bit more robust and cross-platform, including support for the undocumented TypedStream-stored text data, you can use my open source software: https://github.com/ReagentX/imessage-exporter
You can probably do this using the library: https://docs.rs/imessage-database/latest/imessage_database/
The California Poppy release [0] of `imessage-exporter` is the biggest update yet. Most notably, it implements a novel `typedstream` deserializer [1], allowing it to understand the data stored in `NSAttributedString` binary data that is stored in the iMessage database.

I've spent a long time reverse engineering nearly every aspect of Apple's iMessage SQLite tables to build this program. As far as I know, there are no other tools that support the full corpus of iMessage features [2], including edited messages, app messages, reactions, text range formatting, and threads.

[0]: https://github.com/ReagentX/imessage-exporter/releases/tag/2...

[1]: https://docs.rs/imessage-database/latest/imessage_database/u...

[2]: https://docs.rs/imessage-database/2.0.1/imessage_database/me...

I use different editor themes for each project; by doing this you end up associating the colors with not only the language but what specific components that the project works on. I find that it has lowered the cognitive load for not only switching languages but also switching between projects in the same language that have access to different things.

If you use a fancy terminal emulator you can even do the same thing there, so your logs match the color of the code you are editing to generate said logs!

Awesome to see someone using my library [0] in the wild! Very cool use case.

[0]: https://github.com/ReagentX/imessage-exporter

Re:Cleaning up my 200GB iCloud with some JavaScript on Friday January 05, 2024 @12:09PM (#38881506)
Cheers! It was fun to build.
Re:Cleaning up my 200GB iCloud with some JavaScript on Friday January 05, 2024 @10:51AM (#38880336)
Hey, this sounds like an interesting problem. I am always looking for edge cases to test, if you have time would you mind checking if https://github.com/ReagentX/imessage-exporter works for you and if it crashes in that spot?
Re:Beeper is giving up on its iMessage dream on Friday December 22, 2023 @11:51PM (#38741716)
Thanks for sharing my work!
Re:Show HN: Beeper Mini – iMessage Client for Android on Wednesday December 06, 2023 @02:46AM (#38541404)
Even if they rule that it is collusion, what mechanism would the Government use to prevent corporations from using the same algorithm?
n = 43

The scents in question:

> Individuals assigned to the olfactory enrichment group were provided with an odorant diffuser (Diffuser World) and 7 essential oil odorants (rose, orange, eucalyptus, lemon, peppermint, rosemary, and lavender)

The effects were not broken down by scent.

Maybe cartel is a strong word, but there are many states in the US where, in order to operate a medical facility or provide a service, you must get permission from all of the existing facilities in the locality: https://en.wikipedia.org/wiki/Certificate_of_need

This extends to even purchasing medical equipment.

Re:Removal of Mazda Connected Services Integration on Friday October 13, 2023 @03:33PM (#37874584)
If anyone wants to see what the integration used to do: https://web.archive.org/web/20230728021205/https://www.home-...
You can buy a Navigation SD card from Amazon or Ebay for under $50 and update it with their free (as in gratis) tool: https://mazda.welcome.naviextras.com/how-to-update.php
Courts are adverse to addressing key issues because they want to avoid creating precedent.
If you are talking about data missing from the `text` column, for some reason it disappears after you read a message. The content is stored in a binary blob in a different column, which I parse like this: https://github.com/ReagentX/imessage-exporter/blob/c73bc4d66...
Maybe something like https://github.com/libimobiledevice/libimobiledevice? I'm not sure, I haven't tried to do this.
The database file is the same across both platforms, you just need to choose the right path: https://github.com/ReagentX/imessage-exporter/blob/c73bc4d66...

You can get this file from an unencrypted iOS backup: https://github.com/ReagentX/imessage-exporter/blob/c73bc4d66...

Older »