Recent Changes

Updates in the last 90 days

1 | 3 | 7 | 30 | 90 days
List all changes Include rollbacks Include minor changes
List later changes RSS RSS with pages RSS with pages and diff



  • 18:49 UTC (new) (history) 2019-11-11 Diffing buffer fragments . . . . Marcin Borkowski While working on a certain project, I needed to check the differences between two text fragments. We all know and love diff, but it operates on files, and what I had was two fragments of two files (or sometimes even of one file) which I wanted to compare. There are a few solutions to this problem, but they seemed too complicated for me.



  • 20:12 UTC (new) (history) 2019-11-04 Starting Emacs with custom configuration directory . . . . Marcin Borkowski The usual thing people are told to do when debugging/isolating Emacs problems is to say emacs -Q, that is, start Emacs without reading in any configuration. Sometimes, however, this may not be a good idea. When there is some problem with packages, however, we may actually want to load some things, like a minimal set of packages if we suspect they do not work together. Of course, what we don’t want is changing our configuration.



  • 18:59 UTC (new) (history) 2019-10-21 Clearing the Eshell buffer . . . . Marcin Borkowski Since I’ve been quite busy recently, I only have one short tip today. I sometimes use Eshell, and sometimes want to clear it so that I can e.g. isearch through the result of running some command and not be bothered by the output of previous commands. In such a case, I can say clear, but it does not really clear the Eshell buffer – it only makes the part above point scroll past the visible part (and it seems that it doesn’t even take into account the font – if I make it smaller, clear does not scroll enough). But I can also give clear any argument (e.g., say clear t), and then the previous contents of the buffer are really deleted. Handy.




  • 20:33 UTC (new) (history) 2019-09-30 diff and ignoring lines . . . . Marcin Borkowski One of the most well-known commandline tools is the classical diff program. On my system, it is (of course) the GNU diff, which is a part of the GNU diffutils package. Recently, I found out that GNU diff has an interesting option, -I (or --ignore-matching-lines). You can give it a regex and it will ignore added or deleted lines if they contain a match for this regex. This may be useful in many circumstances.


  • 18:44 UTC (new) (history) 2019-09-23 A comparison between merging and rebasing . . . . Marcin Borkowski Many Git tutorials and howtos discuss the question whether you should merge or rebase your branches on the master branch when ready to include some feature in your code. What they usually do not mention is that rebase may be trickier to perform than merge. Why is that so? Let’s dive in and see.


  • 15:30 UTC (new) (history) 2019-09-16 sponge and other moreutils . . . . Marcin Borkowski GNU coreutils are well-known and loved, especially with pipes (of course!). But what may be slightly less known is the collection of command-line tools called moreutils. As their author says, moreutils is a growing collection of the unix tools that nobody thought to write long ago when unix was young.



  • 11:17 UTC (new) (history) 2019-08-31 A simple tip with overlays and diffs . . . . Marcin Borkowski A few days ago I had an interesting problem. I had to resolve a particlarly nasty Git merge. It involved several files with lines’ lengths in the triple digits and a fair number of very small changes. Seeing those changes (in smerge-mode), even after refining the diffs, was tricky – there were many very small patches (sometimes two, sometimes four characters) of changed text and I was quite afraid that I would miss some of them. I searched for a command to “go to the next patch of changes”, but to no avail. Then I decided to write my own.


  • 20:42 UTC (new) (history) 2019-08-26 PostgreSQL – COALESCE and NULLIF . . . . Marcin Borkowski After the last week’s long post I decided that I needed some rest, so today I only have a short tip. It is a common need to say that we want the value of some variable x unless it is some kind of null value (depending on the language we use), in which case we want the value of some other variable y. The Lisp idiom for that is of course (or x y). In JavaScript, we usually say x || y, although this is risky if 0 is a valid value of x. (Hopefully, we will be able to say x ?? y in JS soon.) In my case, however, I needed this in SQL (more specifically, in PostgreSQL, but that doesn’t matter now).