-
Enhanced file path completion in bash (like in zsh)
Zsh offers a lot of significant improvements over traditional shell experience. Some of those can also be implemented in bash, but others are not. For a long time I've thought that advanced file path expansion is something that can't be done in bash. Today I prove myself wrong. Background When …
-
Liberating effect of Ansible
Maintaining two or three Linux machines is not that hard of a task. For many years I have thought it was not worth the effort to automate - regular backups and version-controlled configuration files seemed to be just enough. And then Ansible had blown my mind. History It all started with …
-
Accidental submersion into web development
The Library Problem I love reading books. My wife loves reading books. We enjoy shopping for books and we live a ten minute commute away from a huge used books store. That means we have a lot of books. Like, really a lot. A little more than one thousand. We …
-
Excel as a CSV editor (with VBA)
One might think that Excel is a decent CSV editor as it is, but it's not. It is a very capable CSV reader, I do not dispute that. When it comes to writing though, Excel does not match what you'd expect from a mature application: It might change the delimiter …
-
Why software translation is a waste of time
Disclaimer: I am not a professional software developer, and my opinion might not be as authoritative as yours. My native language is not English and since my first encounter with computers I have used multiple localized and non-localized computer programs. All these years of "user experience" have led me to …
-
Unit testing in Power Query M Language
As your code base gets bigger, test automation becomes more and more important. This applies to any development platform, including Power Query / PowerBI. If you reuse your code and improve some low level function later, test automation allows you to make sure your changes did not break anything that depends …
-
Getting started with LibPQ
This is a step by step guide to getting started with LibPQ, an illustrated version of "Installation and usage" section of the official documentation. Installation LibPQ source code The source code of the library has to be present in each workbook that uses it. Create a new blank query: Data …
-
Roads and Bridges - sustaining modern digital infrastructure
This week I have stumbled upon a very thorough review of existing problems and hidden costs of sustaining modern (open source) digital infrastructure. Here it is: Roads and Bridges - The Unseen Labor Behind Our Digital Infrastructure by Nadia Eghbal. The essay was created with support from the Ford Foundation and …
-
Expanding Power Query standard library - introducing LibPQ
Power Query formula language (also known as M language) is a very capable yet not very flexible tool. It lacks some features taken for granted by developers who are used to other programming languages such as compatibility with version control systems, extensibility by third-party libraries, etc. That is why I …
-
Loops in Power Query M language
Power Query Formula Language (also known as M language) is sometimes difficult to get your head around. This article explains how someone familiar with loops in other programming languages can approach the same concept in M language. First of all let's look at the definition given by Microsoft: The Power …