I didn't start with Git. Mercurial has become my first DVCS. Because of that, Mercurial actually ate my first source code. I'm a huge Git fan now, and I switched all my single-repo repositories to Git using this awesome tool. Now, long few years later, the tool has finally gotten the Mercurial subrepositories to Git submodules support, so now I'm able to migrate to Git completely.
About two years ago I posted a post that described how you can use Git and Mercurial to create encrypted repositories.
Back to then, I claimed that the encryption cannot be changed and the encryption method will be constant for the entire repository lifecycle.
Well, sort of, from the user's perspective (at least if you don't use versioned
.gitattributes that refer different crypto-filters).
Using and maintaining such repositories can be not a fun, and you might want to decrypt the whole repository some rainy day.
git filter-branch (a bit of a cryptic name, as well, yeah?) is a right tool.
It features a lot of filtering options that can transform the original repository from scratch, and we're going to use
I'm not sure if the Java language goes a right way. The new Java language features look really not I would like to have in Java.
A simple Python script to detect excessively redirected pages in MediaWiki.
My recent project had a lot of fun to work with.
And, as I said before, working with RethinkDB was fun too.
Since that project implemented a virtual file system, it also had to share a file by a unique file by a unique code (say,
How did it share a file by a unique code similarly to what Dropbox or YouTube do?
RethinkDB is a beautiful document-oriented database I was lucky to use for my most recent project. Unfortunately, I don't work for that project anymore, but I would like to share some ideas I implemented while working on that project.
That project implemented a virtual file system table in a RethinDB database, and one of the requirements while creating a new file entry was making its filename unique.
A usual filename generated chain named as if you downloading a same-named file:
file (2).ext and so on.