jq: deep comparison of 5GB files

I’ve blogged about jq – a lightweight and flexible command line JSON processor – a few times already (look here and here).  Today I came across this blog post that showcases jq in deep comparison of really large JSON files (5 GB or so).  This is not something that I need on a daily basis, but I’m sure it’ll come in handy one day.

DevHub: TweetDeck for GitHub

If you are spending a lot of time on GitHub, following people, teams, and projects, then checkout DevHub – a TweetDeck-like application for GitHub that works on Android, iOS, and as a web application.

It conveniently brings together your repositories, notifications, and all the other goodies, helping you to significantly cut down the time and mouse clicks.

On good commit messages

The evolution goes on.  Now that we’ve kind of sorted out most of our infrastructure, development tools, flows and processes, I guess, it’s time to look deeper into the things we’ve had for a while and reiterate over them.

Recently, I’m seeing a lot of blog posts on articles on how to write good commit messages.  Sure, we’ve had these for a while.  But lately things get a little bit more serious.

Here’s one (in Russian) that I’ve read recently.  Here’s another one (in English) that shares some of the concepts and suggestions.

What are they saying?  Well, “write better commit messages”, obviously.  But there are a couple of specific bits which I found interesting.  They are:

  • Conventional Commits – a specification for adding human and machine readable meaning to commit messages.
  • Commitizen (git cz) – a tool that help to write conventional commits.

For the skeptics among you, I slightly share your feeling.  It does seem like a bit too much overhead.  But as someone who works with an ever-growing team on a large number of projects, I think there is a place for it.  It’ll take a while to integrate, update the process, and enforce the discipline, but I think it’s well worth it.  At the very least, it deserves a try.

Awesome git addons

Awesome git addons is yet another one of those curated awesome lists.  This time it’s for git version control tool.  And once again, it’s mind blowing.

Git itself is a very flexible and powerful tool.  But it truly amazing how far some people take it.  In the list you can find anything from aliases for complex commands, to full-featured integrations with GitHub, git flow process, deployment tools, and much more.

Practical programming projects

Mega Project List is a list of practical projects that anyone can solve in any programming language. These projects are divided in multiple categories, such as algorithms, data structures, networking, security, threading, files, web, databases, graphics, and more.

There’s also a separate repository with solutions, in case you need some assistance.