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.

Unix Folklore

Unix Folklore brings back a few bits of UNIX history from the Bell Labs:

The UNIX operating system, which was created by Ken ThompsonDennis Ritchie, and others at Bell Labs in the early 1970’s, revolutionized the computer industry in ways that are still felt today. Researchers at Bell Labs continued to develop UNIX (in various forms) for more than 30 years. For most of that time, UNIX researchers shared the same physical lab space which allowed a lot of folklore to accumulate over the decades. The lab is now gone but archivists at Bell Labs saved everything that was in the room – creating a time capsule of computing’s past. These are some of the curiosities taken from the UNIX research lab at Bell Labs headquarters in Murray Hill, New Jersey. Each has its own story – some widely known, others now forgotten.

Visa List – visa and documents info for 238+ countries

Visa requirements and document checklists are a tricky subject when it comes to travel and tourism.  On one hand, most of this information is public.  On the other – it is often hidden deep in government websites, or not available in English, etc.

Visa List is an excellent website with a really easy user interface, which presents all that information and more for 238+ countries.

Excellent work!

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.

Jon Richardson: A Little Bit OCD

I really enjoyed Jon Richardson’s documentary on the obsessive–compulsive disorder (OCD).  OCD is one of those weird mental disorders where almost everyone has it to some degree.  It can even be funny at times (especially during those code review or paired programming sessions).  But it can get extremely serious, to the point of people actually dying from it.  And it can progress real quick too.

It’s OK to have a laugh here or there, but it’s also important to remember that it’s not just a hip thing to say, and that there are people who suffer significantly from the OCD.

Very eye-opening. 

Internet Search Tips

This title almost sounds stupid, right?  I mean, pretty much everyone who has ever been online knows how to Google.  Even kids.

But I promise you it’s not.  Searching for quick and simple stuff – yes, sure, is easy.  But not many people I’ve met know how to use even Google’s advanced search options (despite there being a gadzillion articles online), let alone other search engines.  Searching for something non-trivial, like research papers and books, is even trickier.

Hence the Internet Search Tips.  Here’s the intro from the author:

Over time, I developed a certain google-fu and expertise in finding references, papers, and books online. Some of these tricks are not well-known, like checking the Internet Archive (IA) for books. I try to write down my search workflow, and give general advice about finding and hosting documents.

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.

Cyprus National Internet Portal for Open Data

It is via this Cyprus Mail article that I’ve learned that not only Cyprus has an official Open Data portal, but that it’s also the best in Europe:

Cyprus is one of the top five European Union countries in the field of Open Data for 2018, while the new National Open Data Portal data.gov.cy scored highest among 31 open data portals in Europe, a special honour and recognition for the Open University of Cyprus (OUC) that developed and implemented the National Open Data Portal in collaboration with the public administration and personnel department of the finance ministry.

So far I’ve only had a quick look around, and I have to say that it’s quite impressive!  Even though most of it is in Greek, Google Chrome translation handles it nicely.  Here are a couple of interesting bits to get you started:

And there is so much more … Well done, Open University of Cyprus!