Files
oam/knowledge base
2025-01-21 21:03:32 +01:00
..
2024-05-04 14:09:03 +02:00
2025-01-18 00:34:23 +01:00
2025-01-06 17:41:02 +01:00
2024-11-30 01:29:13 +01:00
2023-11-18 19:48:55 +01:00
2023-11-18 19:48:55 +01:00
2024-05-15 18:59:18 +02:00
2024-05-31 01:38:18 +02:00
2024-05-08 18:52:58 +02:00
2025-01-06 17:41:02 +01:00
2023-12-26 12:02:34 +01:00
2024-06-08 01:31:04 +02:00
2022-08-30 10:46:37 +02:00
2024-09-06 08:45:29 +02:00
2023-11-18 19:48:55 +01:00
2022-08-23 16:35:33 +02:00
2024-12-08 17:55:40 +01:00
2023-09-14 00:24:11 +02:00
2024-06-28 23:46:56 +02:00
2023-11-18 19:48:55 +01:00
2023-09-20 20:24:37 +02:00
2023-03-04 12:56:49 +01:00
2024-05-04 12:44:14 +02:00
2024-09-06 08:46:47 +02:00
2024-11-30 01:28:41 +01:00
2025-01-06 17:37:39 +01:00
2025-01-06 17:37:39 +01:00
2023-09-10 15:38:43 +02:00
2023-08-06 15:26:09 +02:00
2024-10-13 20:43:18 +02:00
2023-11-18 19:48:55 +01:00
2024-04-24 14:01:09 +02:00
2024-05-12 00:00:02 +02:00
2025-01-06 17:37:39 +01:00
2024-09-14 23:11:29 +02:00
2022-10-30 21:24:31 +01:00
2024-10-24 09:04:31 +02:00
2024-11-03 14:52:07 +01:00
2024-05-15 19:03:37 +02:00
2023-11-18 19:48:55 +01:00
2024-06-12 21:50:25 +02:00
2025-01-06 17:37:39 +01:00
2025-01-21 21:03:32 +01:00
2025-01-21 21:03:32 +01:00
2024-02-16 21:28:21 +01:00
2024-06-08 01:31:04 +02:00
2024-09-14 23:11:29 +02:00
2023-11-18 19:48:55 +01:00
2023-11-13 23:17:19 +01:00
2024-08-07 22:30:59 +02:00
2024-01-16 18:01:16 +01:00
2024-11-06 21:19:10 +01:00
2023-09-19 23:31:18 +02:00
2024-09-25 18:21:33 +02:00
2024-01-31 12:33:07 +01:00
2024-10-29 23:30:39 +01:00
2023-09-14 00:24:11 +02:00
2024-06-15 14:09:45 +02:00
2023-12-24 19:35:27 +01:00
2023-08-04 20:56:53 +02:00
2023-11-18 19:48:55 +01:00
2024-09-16 20:18:19 +02:00
2024-10-16 17:30:02 +02:00
2022-05-15 00:24:53 +02:00
2023-07-30 21:29:57 +02:00
2024-03-03 13:40:32 +01:00
2023-12-24 19:35:27 +01:00
2024-11-03 12:57:41 +01:00
2024-04-04 19:28:08 +02:00
2024-02-29 22:15:10 +01:00
2023-07-14 22:16:12 +02:00
2023-11-18 19:48:55 +01:00
2023-09-14 00:24:11 +02:00
2023-08-12 16:56:31 +02:00
2024-05-29 10:09:22 +02:00
2023-11-18 19:48:55 +01:00
2023-11-18 19:48:55 +01:00
2023-08-06 15:26:32 +02:00
2024-06-30 21:35:14 +02:00

Knowledge base

This is the collection of all notes, reminders and whatnot I gathered during the years.

Conventions

  • Prefer keeping an 80 characters width limit in code blocks.
    This improves readability on most locations.

  • Always use an highlighting annotation when writing code blocks
    Default to txt if none is available.

  • Use sh as highlighting annotation instead of shell when writing shell snippets in code blocks.
    The local renderer just displays them better like this.

    - ```shell
    + ```sh
      #!/usr/bin/env zsh
    
  • Group related options in commands where possible.
    It gives enhanced clarity and a sense of continuation.

      az deployment group validate \
    -   -f 'template.bicep' -g 'resource_group_name' -p 'parameter1=value' parameter2="value" -n 'deployment_group_name'
    +   -n 'deployment_group_name' -g 'resource_group_name' \
    +   -f 'template.bicep' -p 'parameter1=value' parameter2="value"
    
  • Split piped or concatenated commands into multiple lines.
    It emphasizes they are indeed multiple commands.

    - find . -type 'f' -o -type 'l' | awk 'BEGIN {FS="/"; OFS="|"} {print $NF,$0}' | sort --field-separator '|' --numeric-sort | cut -d '|' -f2
    + find . -type 'f' -o -type 'l' \
    + | awk 'BEGIN {FS="/"; OFS="|"} {print $NF,$0}' \
    + | sort --field-separator '|' --numeric-sort \
    + | cut -d '|' -f2
    
  • Indent the arguments of a command when splitting it into multiple lines.
    It makes sooo much easier to have clear what are arguments and what are different commands altogether.

      dnf -y install --setopt='install_weak_deps=False' \
    - 'Downloads/tito-0.6.2-1.fc22.noarch.rpm'
    +   'Downloads/tito-0.6.2-1.fc22.noarch.rpm'
    
  • Do not indent pipes or concatenations when splitting commands into multiple lines.
    It makes clear those are different commands.

      jq --sort-keys '.' datapipeline.json > /tmp/sorted.json \
    -   && jq '.objects = [(.objects[] as $in | {type,name,id} + $in | with_entries(select(.value != null)))]' \
    -        /tmp/sorted.json > /tmp/reordered.json \
    -     && mv /tmp/reordered.json datapipeline.json
    + && jq '.objects = [(
    +   .objects[] as $in
    +   | {type,name,id} + $in
    +   | with_entries(select(.value != null))
    + )]' /tmp/sorted.json > /tmp/reordered.json \
    + && mv /tmp/reordered.json datapipeline.json