Hacker News new | past | comments | ask | show | jobs | submit login
Disassembling Rewind.ai (kevinchen.co)
37 points by dvrp on Jan 20, 2023 | hide | past | favorite | 8 comments



I've been using Rewind for about a month now. This is something that feels so obvious in hindsight—it's not just search for all your files, but search for everything you've and done. The only reason why I don't use it more is jsut remembering to do Shift-Command-Space instead of Command-Space for searches...

I'm increasingly convinced that, if Apple had just continued developing Time Machine and Spotlight, this would have been the natural progression. Instead, These features haven't gotten significant product love and attention for several updates, and they've redesigned the soul out of Time Machine to just be, well, bland. (Apple, maybe M&A Rewind and build it into a Time Machine 2?)


> The Rewind Helper contains a statically linked FFmpeg.

Wait a minute, that means source code must be provided for the entire binary right?

FFmpeg is LGPL, but that only saves you from opening up your whole application if you dynamically link to it. If the helper binary has a statically-linked ffmpeg, that means LGPL applies for the non-ffmpeg code too.

Anyone care to make a source code request?


That depends on how hard it is to replace the library despite it being statically linked.

But if they are violating LGPL, that doesn't mean LGPL applies to their code. It just means they're violating LGPL.


They would be violating LGPL if they didn't provide the code upon request.

> That depends on how hard it is to replace the library despite it being statically linked.

The requirements for providing a way to replace the library are for dynamic linking. Static linking means your program is now fully LGPL, not just the library you linked with.


> They would be violating LGPL if they didn't provide the code upon request.

In an indirect way. There is an important difference between "they are obligated to make their code LGPL" and "their code is not LGPL, so they seem to be in violation, but they could make their code LGPL to avoid a violation".

> Static linking means your program is now fully LGPL, not just the library you linked with.

No it doesn't. Making the program fully LGPL is just an option they have. You can't force them to choose that option, and it does not happen automatically.

> The requirements for providing a way to replace the library are for dynamic linking. Static linking means your program is now fully LGPL, not just the library you linked with.

Dynamic linking is just one way to do it. Even gnu.org says you can accomplish it with static linking! https://www.gnu.org/licenses/gpl-faq.html#LGPLStaticVsDynami... And "must also provide" likely includes "upon request".


That was fantastic. Now I think I can finally extract text from all my ebooks so they’re more useful


What prevented you from doing that before this tool existed?


HA, ya know what? til your comment I was like "well clearly they wouldn't just make that super easy through the kindle web app", and then after exploring what that would take, uhh. It's super freaking easy.

Thanks for the gut check.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: