aliquote.org

Latest micro-posts

You can also also view the full archives of micro-posts. Longer blog posts are available in the Articles section.

2023-11-08 19:06 #

Editing Lisp dialect in Neovim like a pro: beside Vim’s builtin (e.g., vib to select inside brackets), paredit.vim (e.g., [[ go to top-level form), treesitter and nvim-treesitter-textobjects lets you navigate around your code easily, and incremental selection is a breeze. I originally used vv (init the selection), va (aka increase or <C-a>) and vx (aka decrease or <C-x>), but now I just use <tab> that other folks often use as an alias for %. #vim

  incremental_selection = {
    enable = true,
    keymaps = {
      init_selection = "<tab>",
      node_incremental = "<tab>",
      node_decremental = "<S-tab>",
    },
  }

img

2023-11-07 11:52 #

If you get such a garbage when launching Firefox (official deb package, not the crappy snap one) from the command line or as an external browser for Newsboat, try force disabling accessibility as suggested here.

» firefox

~
» [Parent 25471, Main Thread] WARNING: invalid (NULL) pointer instance: 'glib warning', file /build/firefox-LOPdVD/firefox-119.0+build2/toolkit/xre/nsSigHandlers.cpp:167

(firefox:25471): GLib-GObject-WARNING **: 11:46:47.027: invalid (NULL) pointer instance
[Parent 25471, Main Thread] WARNING: g_signal_emit_by_name: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed: 'glib warning', file /build/firefox-LOPdVD/firefox-119.0+build2/toolkit/xre/nsSigHandlers.cpp:167

(firefox:25471): GLib-GObject-CRITICAL **: 11:46:47.027: g_signal_emit_by_name: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed
[Parent 25471, Main Thread] WARNING: invalid (NULL) pointer instance: 'glib warning', file /build/firefox-LOPdVD/firefox-119.0+build2/toolkit/xre/nsSigHandlers.cpp:167

(firefox:25471): GLib-GObject-WARNING **: 11:46:47.027: invalid (NULL) pointer instance
[Parent 25471, Main Thread] WARNING: g_signal_emit_by_name: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed: 'glib warning', file /build/firefox-LOPdVD/firefox-119.0+build2/toolkit/xre/nsSigHandlers.cpp:167

(firefox:25471): GLib-GObject-CRITICAL **: 11:46:47.027: g_signal_emit_by_name: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed
2023-11-07 09:31 #

Scheme from Scratch by Peter Michaux: intro, and full list of posts. #scheme

2023-11-06 12:45 #

♪ sean thornton · edith says

2023-11-06 12:38 #

Solving the puzzle of the address-of operator. #clang

Other subtleties of the C language: There are two ways to index an array a, either a[i] or i[a], as illustrated below:

#include <stdio.h>

int main(void) {
  int arr[5] = {1, 2, 3, 4, 5};
  int i = 2;

  printf("i[arr]: %d\n", i[arr]);
  printf("arr[i]: %d\n", arr[i]);
}
2023-11-06 08:45 #

Almost 50, I remain philosophical because I spent about the first ~45 of them living without Youtube. Did that well enough. — https://lists.ubuntu.com/mailman/listinfo/ubuntu-users

2023-11-02 10:52 #

I generated a docset for Purescript with pursuit.docset. However, I’m skeptical about its added value. I’m using Dash docset in Neovim via vim-dasht, and I noticed that oftentimes the online help for simple query like filter or partition are pretty vague. E.g., in the case of filter the very first hits are all about _filter :: forall r a. Lens' { ... } a, while none of the first matches for partition yields the same result as a simple query on Pursuit (filter :: forall a. (a -> Boolean) -> Array a -> Array a).

2023-10-28 20:40 #

This document is a sort of quine. If you select the whole page in your browser and paste it into a file, this text shows up encoded in a weird Markdown variant embedded in a string literal inside a Racket lisp script. Evaluating the file with racket -f $FILE evaluates the lisp, converting the weird Markdown and producing the same HTML document that your browser received. — https://cgad.ski/

2023-10-28 20:36 #