4
votes
What programming/technical projects have you been working on?
This is a recurring post to discuss programming or other technical projects that we've been working on. Tell us about one of your recent projects, either at work or personal projects. What's interesting about it? Are you having trouble with anything?
On repeat-test, I was all set to do a release, but I wanted to explain what the API differences were in the changelog. So I wrote some code to parse the output of ‘deno doc —json’ and turn it into a short, diffable summary of an API. I used repeat-test’s Domain class to do JSON validation (sort of like Zod) and discovered places I wanted to improve the API.
Here’s the schema. I wouldn’t expect anyone to switch from Zod, but I think it’s looking pretty nice. It’s unfortunate that TypeScript can’t infer recursive types, so many type definitions in the schema has to be written out twice. But that does make it easy to compare the two. (I should add comments about what all these types are for, though.)
I use Telegram for all of my communication, and I want my chats to be safely backed up in case something happens to Telegram or to my account.
Telegram Desktop includes chat export functionality, but:
I wanted a solution that I could schedule to run on a server and have all my chats safely backed up. So I made one.
https://github.com/flexagoon/ream
I also made it fully compatible with TDesktop's export JSON. From the readme:
This was a pretty fun project as it required me to dig into Telegram Desktop's messy C++ codebase to figure out how it's export works, and learning more about the weird custom MTProto protocol that telegram uses for it's API