Hacker News new | ask | show | jobs
by dunham 1338 days ago
For lucene / sqlite, I used the docs on the web site.

SQLite got me a little experience with b-trees (as did couch), and I got to write a little query planner.

Lucene was interesting because it was compact, had some skip lists for fast lookup, and was a log-structured merge tree. I borrowed bits of it for an index in a binary file format for work.

For realmdb / couchdb, I looked at the source code.

I did realm so I could extract my Craft.app docs. It's interesting because it's a column structured database, so I got to learn a little bit about that. I also learned that C++ had changed a bit since I last used it (lambdas!).

And couch is an append-only btree. I got to learn to read Erlang with that project.

I've also have a web scraper that reads from the Chrome cache (whose format keeps changing). I archive things like recipes that show up in the cache.

And I've got code on github that decodes iOS desktop backups, which some people have found useful. (Written mainly so I could poke around in various applications' data and extract stuff from my keychain.)

1 comments

Re keychain, you're probably aware of it, but https://github.com/ptoomey3/Keychain-Dumper/ is very thorough in extracting keychain data (including data that one would expect to no longer be in there).