June 18, 2016

Collapsing all filter groups in ibuffer

If you have to cope with large number of buffers, ibuffer is the only way to keep things manageable. It has support for filtering, sorting and, my favorite, grouping, which is indispensable when you are switching often between various projects and file groups like I do.

However, one thing I always missed is ability to collapse all groups at once - a handy functionality when you have 10-30 groups and you'd not like to be distracted with not important buffers at that point.

Is short, I want from this:

Continue reading →

May 9, 2016

Unique buffer names in Emacs

When I work on large codebase done by more than one developer, I often find this pattern:

src/clj/module/submodule1/user.clj
src/clj/module/submodule1/db.clj
src/clj/module/submodule2/user.clj
src/clj/module/submodule2/db.clj
src/clj/module/submodule3/user.clj

Of course, this isn't the case with Java or Clojure only; this can be found in almost any larger project no matter what language is used. After all, folders are invented to keep the files under different namespaces, right?

Continue reading →

February 28, 2016

Installing Grafana, Riemann and InfluxDB

This tutorial covers Grafana 2.6.0, InfluxDB 0.9.6.1 and Riemann 0.2.10, but it should be fine for all future micro versions.

If you are like me, living under the rock last couple of years, you probably have no clue what this how-to is about. In short, it is about setting up a modern monitoring system, capable of high throughput, flexible routing, and good scalability.

Modern systems these days are pushing a lot of small services (or microservices), often scattered over many servers (dedicated or VPS), service providers (AWS, Google CP, IBM Bluemix, you name it) or your applications; decoupled architecture, as experts would call it.

Continue reading →