From 9232b8d817d4cd4122947375156fa2fa1e9fba14 Mon Sep 17 00:00:00 2001 From: Jasper Ras Date: Mon, 13 Jan 2025 13:16:06 +0100 Subject: vault backup: 2025-01-13 13:16:06 --- 3 resources/Helix/Inline diagnostics.md | 13 + 3 resources/MermaidJS.md | 24 + 3 resources/Obsidian.md | 6 + 3 resources/Puppet/Documentation.md | 1 + 3 resources/Puppet/Replace a line in a file.md | 31 + 3 resources/Puppet/User management.md | 10 + 3 resources/Statistics/Moving average.md | 20 + 3 resources/Technical definitions.md | 7 + 3 resources/ansible/nested-loops.md | 2 +- 3 resources/astal-ags/building-with-nix.md | 1 - 3 resources/css/Display.md | 6 + 3 resources/css/Flexbox.md | 14 + 3 resources/css/Grid.md | 681 +++++++++++++++++++++ 3 resources/css/display.md | 3 - 3 resources/css/flexbox.md | 12 - 3 resources/css/grids.md | 681 --------------------- 3 resources/elixir/elixir.md | 228 ------- 3 resources/libvirt/Mediated devices.md | 11 + 3 resources/libvirt/SR-IOV.md | 9 + 3 resources/libvirt/mediated-devices.md | 8 - 3 resources/libvirt/sr-iov.md | 6 - 3 resources/linux/APT.md | 5 + 3 resources/linux/Definitions.md | 6 + 3 resources/linux/Device drivers.md | 22 + 3 resources/linux/Device mapper.md | 28 + 3 resources/linux/LSOF.md | 69 +++ 3 resources/linux/Users.md | 22 + 3 resources/linux/Watch.md | 5 +- 3 resources/linux/apt.md | 2 - 3 resources/linux/bootloader.md | 1 - 3 resources/linux/device-drivers.md | 19 - 3 resources/linux/device-mapper.md | 25 - 3 resources/linux/filesystems/Tmpfs.md | 16 + 3 resources/linux/filesystems/tmpfs.md | 13 - .../linux/filesystems/virtual filesystem.md | 0 3 resources/linux/glibc.md | 1 - 3 resources/linux/lsof.md | 65 -- 3 resources/linux/man pages.md | 2 - 3 resources/linux/networking/DHCP.md | 5 + 3 resources/linux/networking/IP masquerade.md | 17 + 3 resources/linux/networking/PXE.md | 18 + 3 resources/linux/networking/dhcp.md | 4 - 3 resources/linux/networking/ip-masquerade-nat.md | 14 - 3 resources/linux/networking/nbp.md | 3 - 3 resources/linux/networking/pxe-boot.md | 15 - 3 resources/linux/networking/udp.md | 0 3 resources/linux/nic.md | 1 - .../linux/shared anonymous memory mappings.md | 2 - 3 resources/linux/system v shared memory.md | 2 - 3 resources/linux/tftp.md | 2 - 3 resources/math/Cartesian product.md | 4 + 3 resources/math/cartesian-product.md | 1 - 3 resources/mathematics/convolution.md | 0 3 resources/mermaidjs/mermaidjs.md | 21 - 3 resources/nix/Flake.md | 22 + 3 resources/nix/Overlays.md | 11 + 3 resources/nix/Package.md | 6 + 3 resources/nix/REPL.md | 5 + 3 resources/nix/Shell.nix.md | 42 ++ 3 resources/nix/flakes.md | 19 - 3 resources/nix/language.md | 5 - 3 resources/nix/language/Import.md | 5 + 3 resources/nix/language/Let.md | 12 + 3 resources/nix/language/Rec.md | 20 + 3 resources/nix/language/With.md | 15 + 3 resources/nix/language/keyword-import.md | 2 - 3 resources/nix/language/keyword-let.md | 9 - 3 resources/nix/language/keyword-rec.md | 17 - 3 resources/nix/language/keyword-with.md | 12 - 3 resources/nix/overlays.md | 8 - 3 resources/nix/package.md | 3 - 3 resources/nix/packages/Apply custom patches.md | 17 + 3 resources/nix/packages/apply-patches.md | 14 - 3 resources/nix/repl.md | 2 - 3 resources/nix/shell.nix.md | 39 -- 3 resources/openstack/Creating ports.md | 4 + 3 resources/openstack/Libvirt pmsuspended.md | 6 + .../openstack/Nova live migration volume.md | 18 + 3 resources/openstack/create-port-fixed-ip.md | 1 - 3 resources/openstack/guest-pmsuspended.md | 3 - .../openstack/nova-live-migration-volume.md | 14 - 3 resources/puppet/replace-line-file.md | 28 - 3 resources/slug.md | 3 - 3 resources/statistics/moving-average.md | 17 - 84 files changed, 1233 insertions(+), 1330 deletions(-) create mode 100644 3 resources/Helix/Inline diagnostics.md create mode 100644 3 resources/MermaidJS.md create mode 100644 3 resources/Obsidian.md create mode 100644 3 resources/Puppet/Documentation.md create mode 100644 3 resources/Puppet/Replace a line in a file.md create mode 100644 3 resources/Puppet/User management.md create mode 100644 3 resources/Statistics/Moving average.md create mode 100644 3 resources/Technical definitions.md delete mode 100644 3 resources/astal-ags/building-with-nix.md create mode 100644 3 resources/css/Display.md create mode 100644 3 resources/css/Flexbox.md create mode 100644 3 resources/css/Grid.md delete mode 100644 3 resources/css/display.md delete mode 100644 3 resources/css/flexbox.md delete mode 100644 3 resources/css/grids.md delete mode 100644 3 resources/elixir/elixir.md create mode 100644 3 resources/libvirt/Mediated devices.md create mode 100644 3 resources/libvirt/SR-IOV.md delete mode 100644 3 resources/libvirt/mediated-devices.md delete mode 100644 3 resources/libvirt/sr-iov.md create mode 100644 3 resources/linux/APT.md create mode 100644 3 resources/linux/Definitions.md create mode 100644 3 resources/linux/Device drivers.md create mode 100644 3 resources/linux/Device mapper.md create mode 100644 3 resources/linux/LSOF.md create mode 100644 3 resources/linux/Users.md delete mode 100644 3 resources/linux/apt.md delete mode 100644 3 resources/linux/bootloader.md delete mode 100644 3 resources/linux/device-drivers.md delete mode 100644 3 resources/linux/device-mapper.md create mode 100644 3 resources/linux/filesystems/Tmpfs.md delete mode 100644 3 resources/linux/filesystems/tmpfs.md delete mode 100644 3 resources/linux/filesystems/virtual filesystem.md delete mode 100644 3 resources/linux/glibc.md delete mode 100644 3 resources/linux/lsof.md delete mode 100644 3 resources/linux/man pages.md create mode 100644 3 resources/linux/networking/DHCP.md create mode 100644 3 resources/linux/networking/IP masquerade.md create mode 100644 3 resources/linux/networking/PXE.md delete mode 100644 3 resources/linux/networking/dhcp.md delete mode 100644 3 resources/linux/networking/ip-masquerade-nat.md delete mode 100644 3 resources/linux/networking/nbp.md delete mode 100644 3 resources/linux/networking/pxe-boot.md delete mode 100644 3 resources/linux/networking/udp.md delete mode 100644 3 resources/linux/nic.md delete mode 100644 3 resources/linux/shared anonymous memory mappings.md delete mode 100644 3 resources/linux/system v shared memory.md delete mode 100644 3 resources/linux/tftp.md create mode 100644 3 resources/math/Cartesian product.md delete mode 100644 3 resources/math/cartesian-product.md delete mode 100644 3 resources/mathematics/convolution.md delete mode 100644 3 resources/mermaidjs/mermaidjs.md create mode 100644 3 resources/nix/Flake.md create mode 100644 3 resources/nix/Overlays.md create mode 100644 3 resources/nix/Package.md create mode 100644 3 resources/nix/REPL.md create mode 100644 3 resources/nix/Shell.nix.md delete mode 100644 3 resources/nix/flakes.md delete mode 100644 3 resources/nix/language.md create mode 100644 3 resources/nix/language/Import.md create mode 100644 3 resources/nix/language/Let.md create mode 100644 3 resources/nix/language/Rec.md create mode 100644 3 resources/nix/language/With.md delete mode 100644 3 resources/nix/language/keyword-import.md delete mode 100644 3 resources/nix/language/keyword-let.md delete mode 100644 3 resources/nix/language/keyword-rec.md delete mode 100644 3 resources/nix/language/keyword-with.md delete mode 100644 3 resources/nix/overlays.md delete mode 100644 3 resources/nix/package.md create mode 100644 3 resources/nix/packages/Apply custom patches.md delete mode 100644 3 resources/nix/packages/apply-patches.md delete mode 100644 3 resources/nix/repl.md delete mode 100644 3 resources/nix/shell.nix.md create mode 100644 3 resources/openstack/Creating ports.md create mode 100644 3 resources/openstack/Libvirt pmsuspended.md create mode 100644 3 resources/openstack/Nova live migration volume.md delete mode 100644 3 resources/openstack/create-port-fixed-ip.md delete mode 100644 3 resources/openstack/guest-pmsuspended.md delete mode 100644 3 resources/openstack/nova-live-migration-volume.md delete mode 100644 3 resources/puppet/replace-line-file.md delete mode 100644 3 resources/slug.md delete mode 100644 3 resources/statistics/moving-average.md (limited to '3 resources') diff --git a/3 resources/Helix/Inline diagnostics.md b/3 resources/Helix/Inline diagnostics.md new file mode 100644 index 0000000..2a84825 --- /dev/null +++ b/3 resources/Helix/Inline diagnostics.md @@ -0,0 +1,13 @@ +#helix #editor + + +completion supports paths (filepaths etc). +snippet completion from LSP supported +inline diagnostics can be enabled with: +``` +[editor] +end-of-line-diagnostics = "hint"; + +[editor.inline-diagnostics] +cursor-line = "error"; +``` \ No newline at end of file diff --git a/3 resources/MermaidJS.md b/3 resources/MermaidJS.md new file mode 100644 index 0000000..2e4b71e --- /dev/null +++ b/3 resources/MermaidJS.md @@ -0,0 +1,24 @@ +#resource + +--- +**ZenUML** +Optional **Title** +**Participants** can be declared when used or at the start. +**Annotators** give **participants** a special icon, defined at the doc site. +**Aliases** give a short **participant** name a more descriptive name when rendered, e.g: A as Alice <- Alice will be rendered, but the code can use A. +**Messages** between **participants** can be **sync, async, creation or reply**. +**Sync** use A.\ have a block {} for nested messages +**Async** use an arrow A->B: How are you? +**Creation** new keyword new A(optional params) +**Reply** three ways to define: +* Assign var from **Sync** message, e.g: OptionalType a = A.SyncMessage() +* Return A.SyncMessage { return blaat } +* @return or @reply on an **async** message +**Nesting** can be done on both creation and sync messages using blocks {}. +**Comments** can be added using `// comment` and support markdown. +**Loops** can be defined using keywords: **while, for, foreach and loop**. +**Alternative** paths can be sequenced using **if, else** statements. if(blaat) { A.syncMessage(B) } +**Opt** fragments rendered via `opt { ... }`. This can be useful for optional responses or paths. +**Parallel** paths can be defined using `par { ... }`. +**Try/catch/finally** statements are supported as well. +**@Starter(participant)** to make the line start from a **participant** \ No newline at end of file diff --git a/3 resources/Obsidian.md b/3 resources/Obsidian.md new file mode 100644 index 0000000..2c256d2 --- /dev/null +++ b/3 resources/Obsidian.md @@ -0,0 +1,6 @@ +#resource #obsidian + +Command-palette: CTRL+P +# Templates +Templates can be configured in Settings > Core Plugins > Templates. It requires to have a directory dedicated to templates. We can then insert templates into notes using the command: Insert highlight. +We can also configure a templare for our daily notes, via Settings > Core Plugins > Daily note. \ No newline at end of file diff --git a/3 resources/Puppet/Documentation.md b/3 resources/Puppet/Documentation.md new file mode 100644 index 0000000..7afdf72 --- /dev/null +++ b/3 resources/Puppet/Documentation.md @@ -0,0 +1 @@ +The documentation for the Puppet that we use is found at https://www.puppet.com/docs/puppet/8/puppet_index.html. \ No newline at end of file diff --git a/3 resources/Puppet/Replace a line in a file.md b/3 resources/Puppet/Replace a line in a file.md new file mode 100644 index 0000000..2369e84 --- /dev/null +++ b/3 resources/Puppet/Replace a line in a file.md @@ -0,0 +1,31 @@ +#puppet + + +``` + file_line { + '/etc/sysconfig/libvirt-guests onboot': + path => '/etc/default/libvirt-guests', + line => 'ON_BOOT=ignore', + match => 'ON_BOOT='; + '/etc/libvirt/qemu.conf vnctls': + path => '/etc/libvirt/qemu.conf', + line => 'vnc_tls = 0', + match => '^#?vnc_tls = ', + notify => Service['libvirt']; + '/etc/libvirt/qemu.conf vnctls_verify': + path => '/etc/libvirt/qemu.conf', + line => 'vnc_tls_x509_verify = 0', + match => 'vnc_tls_x509_verify =', + notify => Service['libvirt']; + '/etc/libvirt/qemu.conf tls': + path => '/etc/libvirt/qemu.conf', + match => '^default_tls_x509_cert_dir = "/etc/pki/qemu"$', + line => '#default_tls_x509_cert_dir = "/etc/pki/qemu"', + notify => Service['libvirt']; + '/etc/libvirt/qemu.conf tls_verify': + path => '/etc/libvirt/qemu.conf', + match => '^default_tls_x509_verify = 1$', + line => '#default_tls_x509_verify = 1', + notify => Service['libvirt']; + } +``` diff --git a/3 resources/Puppet/User management.md b/3 resources/Puppet/User management.md new file mode 100644 index 0000000..a452089 --- /dev/null +++ b/3 resources/Puppet/User management.md @@ -0,0 +1,10 @@ +#puppet + +Users can be managed with the [user resource](https://www.puppet.com/docs/puppet/7/types/user.html) + +[System users](https://www.puppet.com/docs/puppet/7/types/user.html#user-attribute-system) can be defined as follows; +``` +user { + system => true|false +} +``` diff --git a/3 resources/Statistics/Moving average.md b/3 resources/Statistics/Moving average.md new file mode 100644 index 0000000..c87f0e4 --- /dev/null +++ b/3 resources/Statistics/Moving average.md @@ -0,0 +1,20 @@ +#statistics + +--- +Also known as; rolling-average, running-average, moving-mean, running-mean, rolling-mean. + +Has three variations: simple, weighted, cumulative. + +A type of [[convolution]]. + +Reduces noisiness in a time-series graph which makes long-term trends or cycles more easily visible. + +Keeps averaging a subset of given set and move the subset one space to the right. +Example with sample-size of 3: +``` +set: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] +i=1: avg([0, 1, 2]) = 1 +i=2: avg([1, 2, 3]) = 2 +i=3: avg([2, 3, 4]) = 3 +... +``` diff --git a/3 resources/Technical definitions.md b/3 resources/Technical definitions.md new file mode 100644 index 0000000..6093a57 --- /dev/null +++ b/3 resources/Technical definitions.md @@ -0,0 +1,7 @@ +#definitions + +--- +# Slug +A user-friendly representation of the name of a page used in the path of an URL. +For example a page titled: My Friends And I, would be referenced via its slug: my-friends-and-i or my-friends-i. +It can be optimized for brevity so its easier to type and remember. diff --git a/3 resources/ansible/nested-loops.md b/3 resources/ansible/nested-loops.md index 3a5be97..fded56a 100644 --- a/3 resources/ansible/nested-loops.md +++ b/3 resources/ansible/nested-loops.md @@ -1,3 +1,3 @@ -Nested loops can be done not by nesting loops over two separate lists, but by looping over the [[cartesian-product]] of the two using the `product` filter. +Nested loops can be done not by nesting loops over two separate lists, but by looping over the [[Cartesian product]] of the two using the `product` filter. `{{ list1 | product(list) | list }}` \ No newline at end of file diff --git a/3 resources/astal-ags/building-with-nix.md b/3 resources/astal-ags/building-with-nix.md deleted file mode 100644 index c059716..0000000 --- a/3 resources/astal-ags/building-with-nix.md +++ /dev/null @@ -1 +0,0 @@ -`ags init` creates us a nice flake that exposes our bundled project as an installable package. That can be used to install it via nix and reference it in hyprland config to exec-once. \ No newline at end of file diff --git a/3 resources/css/Display.md b/3 resources/css/Display.md new file mode 100644 index 0000000..d145d43 --- /dev/null +++ b/3 resources/css/Display.md @@ -0,0 +1,6 @@ +#css + +--- +display none vs visibility hidden: display: none is really like the element does not exist. Visibility hidden just hides it but it still takes space. + +A display: none element can still have size and be coloured with a background image. It still doesn't take space. This can be used for a timeline bar for example! \ No newline at end of file diff --git a/3 resources/css/Flexbox.md b/3 resources/css/Flexbox.md new file mode 100644 index 0000000..04d5af2 --- /dev/null +++ b/3 resources/css/Flexbox.md @@ -0,0 +1,14 @@ +#css + +--- +Flexbox deals with layout always in only one dimension; it's possible to specify which dimension: either vertical or horizontal. + +Two axes: main and cross + +Control main axis: `flex-direction: row|row-reverse|column|column-reverse`. The first two make it a horizontal layout and the latter make it a vertical layout. + +Cross axis is always the opposite of `flex-direction`, so if `flex-direction: row-reverse` the cross axis is `column-reverse`. + +The writing mode determines where the start and end are, based on for example languages. Japanese is written from right-to-left rather than western left-to-right. +So while in Europe the start of a flexbox is at the left and the end at the right in Japan this would be reversed. + diff --git a/3 resources/css/Grid.md b/3 resources/css/Grid.md new file mode 100644 index 0000000..66b0ec8 --- /dev/null +++ b/3 resources/css/Grid.md @@ -0,0 +1,681 @@ +--- + +excalidraw-plugin: parsed +tags: [excalidraw] + +--- +==⚠ Switch to EXCALIDRAW VIEW in the MORE OPTIONS menu of this document. ⚠== You can decompress Drawing data with the command palette: 'Decompress current Excalidraw file'. For more info check in plugin settings under 'Saving' + + +# Excalidraw Data +## Text Elements +%% +## Drawing +```compressed-json +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 + +hwAEnYKu5DTGAAF2AQABdgIAA=== +``` +%% \ No newline at end of file diff --git a/3 resources/css/display.md b/3 resources/css/display.md deleted file mode 100644 index cf27f55..0000000 --- a/3 resources/css/display.md +++ /dev/null @@ -1,3 +0,0 @@ -display none vs visibility hidden: display: none is really like the element does not exist. Visibility hidden just hides it but it still takes space. - -A display: none element can still have size and be coloured with a background image. It still doesn't take space. This can be used for a timeline bar for example! \ No newline at end of file diff --git a/3 resources/css/flexbox.md b/3 resources/css/flexbox.md deleted file mode 100644 index 9e8f95e..0000000 --- a/3 resources/css/flexbox.md +++ /dev/null @@ -1,12 +0,0 @@ -Flexbox deals with layout always in only one dimension; it's possible to specify which dimension: either vertical or horizontal. - -Two axes: main and cross - -Control main axis: `flex-direction: row|row-reverse|column|column-reverse`. The first two make it a horizontal layout and the latter make it a vertical layout. - -Cross axis is always the opposite of `flex-direction`, so if `flex-direction: row-reverse` the cross axis is `column-reverse`. - -[[TODO]] What is: "writing mode of the document"? Mentioned on the docs. -This document explains: https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_flexible_box_layout/Relationship_of_flexbox_to_other_layout_methods#writing_modes - - diff --git a/3 resources/css/grids.md b/3 resources/css/grids.md deleted file mode 100644 index 66b0ec8..0000000 --- a/3 resources/css/grids.md +++ /dev/null @@ -1,681 +0,0 @@ ---- - -excalidraw-plugin: parsed -tags: [excalidraw] - ---- -==⚠ Switch to EXCALIDRAW VIEW in the MORE OPTIONS menu of this document. ⚠== You can decompress Drawing data with the command palette: 'Decompress current Excalidraw file'. For more info check in plugin settings under 'Saving' - - -# Excalidraw Data -## Text Elements -%% -## Drawing -```compressed-json -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 - -hwAEnYKu5DTGAAF2AQABdgIAA=== -``` -%% \ No newline at end of file diff --git a/3 resources/elixir/elixir.md b/3 resources/elixir/elixir.md deleted file mode 100644 index 4d38de1..0000000 --- a/3 resources/elixir/elixir.md +++ /dev/null @@ -1,228 +0,0 @@ -Elixir supports "macro's", which is Elixir code that runs at compile time. They receive the AST of the source code as input and can apply transformations to it. This is how Elixir is written itself, using Elixir macro's. - -Elixir functions can be organized into [[elixir - modules]]. -``` -defmodule MyModule do - # Comment - @moduledoc "Documentation for the module" - import IO - alias IO, as MyIO # Alias import - - @pi 3.14 # Module attribute - - @doc "Describe what the function does" - def hello do - MyIO.puts("blaat") - 3*@pi # Module attribute reference - done - - @spec hello_private(string) # typespec, can be used by dialyzer, very useful - defp hello_private(hello) do - puts(hello) - done -done -``` - -The [[Elixir - Kernel]] module is always imported, so functions we use without prefix come from Kernel. - -Elixir introduces a concept called [[Elixir - Atoms]]. They are named constants, like enumerations in C. -``` -:blaat -:"Bla at" -Blaat == :"Elixir.Blaat" # Alias - -var = :blaat # var contains only a reference to the atom, thus is small and fast. -``` - -[[Elixir - Aliases]] are internally represented as "Elixir.RealThing", in the case of the module alias above `MyIO == Elixir.IO`. - -[[Elixir - Tuples]] group a, usually small, fixed number of elements together. Kernel.elem/2 for access, Kernel.put_elem/3 for updating. - -[[Elixir - Lists]] are a recursive structure with a head of any type and a tail which is another list. They are notated as regular arrays in other languages, but can be written as `[head | tail]`. Therefore it's easy and efficient to push a new item to the top, we can use the head | tail notation -> -https://hexdocs.pm/elixir/List.html -https://hexdocs.pm/elixir/Enum.html -``` -list = [1, 2, 3] -list = [4 | list] -list -[4, 1, 2, 3] -``` - -[[Elixir - Immutable functions]] give a form of atomicity, because operations (other functions) they call do not mutate data if anything fails we can just return the original data without having changed anything. - -[[Elixir - Maps]] %{}, can also be created with Map.new([{1, 2}, {3, 4}]) (2-tuples). -https://hexdocs.pm/elixir/Map.html -``` -a = %{1 => 1} -a[1] -1 -``` -Maps can also be used to define structures, -``` -person = %{name: "Jasper"} -``` - -[[Elixir - Binaries]] are consecutive sequences of bytes. -``` -<<1, 1>> is a two-byte binary where each byte has value of, thus -0000 0001 0000 0001 -<<1>> <> <<2>> concatenate two binaries -0000 0001 0000 0010 -``` - -[[Elixir - Strings]] -``` -"This is a stringt" -" -Multiline -string -" -a = 1337 -"Print number #{a}" # #{} allows evaluation of values strings - -~s(This is a sigil which is also a string) -~s(Is useful to "use" quotes) -str = "INTERPOLATION!" -~S(Capital-S sigil allows prevention of string #{str} and \nescaping) -"Capital-S sigil allows prevention of string \#{str} and \\nescaping" - -"Blaat" <> " henk" # Concatenation works like binaries, because strings are binaries -``` - -[[Elixir - Lambda]] -``` -square = fn x -> # lambda's use fn - x*x -end - -square.(5) # lambda is called with name period arguments enclosed by parens. The dot is to make it known that we are calling a lambda and not a regular function. -``` - -For cases where the lambda just forwards its arguments to another function there is a special syntax, example: -[[Elixir - capture operator]] -``` -Enum.each([1, 2, 3], fn x -> IO.puts(x) end) -Enum.each([1, 2, 3], &IO.puts/1) # The & is called the "capture operator" and can also be used to shorten a lambda definition: -lambda = fn x, y, z -> x * y + z end -lambda = &(&1 * &2 + &3) # Like bash arguments ${1} ${2} etc -``` - -[[Elixir - Closure]] -A lambda can reference variables from the outside scope. If we rebind the variable in the parent scope, the lambda will still reference the old one. -``` -outside = "Abc" -lambda = &IO.puts/1 -outside = "cdef" -lambda.() -"Abc" -``` - -Range -0..1, internally represented as a map with bounds set, therefore small no matter how "big" the range. Is also an enumeration so can use the Enum module. - -Keyword list -List of 2-tuple where the 1st element is an atom. E.g. `[{:monday, 1}, {:tuesday, 2}]` can be written more elegant as `[monday: 1, tuesday: 2]` -https://hexdocs.pm/elixir/Keyword.html -Can be used as kwargs like in python. - -MapSet -https://hexdocs.pm/elixir/MapSet.html -Also an enumeration. -Initialize with MapSet.new - -Times and Dates -Have modules: Date, Time, DateTime, NaiveDateTime -Created with sigil ~D for dates, and ~T for time -``` -dt = ~D[2023-01-01] -dt.year -2023 - -tm = ~T[19:03:32] -tm.second -32 -``` - -IO lists -Are lists that can consist of one of three types: -- Int in range 0..255 -- Binaries -- Another IO list -It is thus a tree. Input operations are O(1) - - -Pattern matching -The '=' operator is not an assignment operator, but a match operator. -pattern = expression -Pattern can be list, map, tuple, variable, binaries, binary strings -constants, atom can be matched to discriminate results of expressions. -{:ok, result} = expr, fails is expr returns for example {:error, result} -Patterns can be nested: `{_, {hour, _, }, _} = :calendar.local_time()` - -Maps can partial match, to extract a property from a complex map. -Lists can abuse their recursive naturs: `[head | tail] = [1, 2, 3] head = 1, tail = [2,3]` -Pin-operator `^` is used to match against the value of a variable: -``` -a = "Bob" -{^a, _} = {"Bob", 25} <- Matches because the value of a is "Bob" -{^a, _} = {"Alice", 25} <- Doesn't match -``` - -Pattern matching using strings it's possible to match the beginning of a string and assign the rest to a var: -``` -command = "ping www.hostnet.nl" -"ping " <> url = command -url = "www.hostnet.nl" -``` - -Pattern matching can be done in function arguments and enabled "multiclause functions", which is a sort of function overloading. It's multiple definitions of the same function, with the same arity, but with different argument patterns. They are treated as a single function, so with the capture operator you can use all "variants". -``` -defmodule Geo do - def area({:square, a, b}), do a * b end - def area({:circle, r}), do r * r * pi end - def area(unknown), do {:error, {:unknown_shape, unknown}} end - # ^ do mind that the arity has to match for this catch-all error, also - # ordering is important. The runtime matches from top to bottom. -end - -fn = &Geo.area/1 - -fn.({:square, 1, 2}) -2 -fn.({:circle, 23}) -whatever this is -``` - -Conditionals can be implemented using multiclause functions, but also with the regular if..else statements, cond do .. end and case expression do ... end. - -A with-clause can be used to match multiple patterns in order and halt if a pattern doesn't match. -``` -defp extract_login(%{"login" => login}%) do, %{:ok, login} end -defp extract_login(_) do, {:error, "login missing"} end - -defp extract_email(%{"email" => email}) do, %{:ok, email} end -defp extract_email(_) do, %{:error, "email missing"} end - -def extract_user(user) do - case extract_login(user) do - {:error, reason} -> {:error, reason} - {:ok, login} -> - case extract_email(user) do - {:error, reason} -> {:error, reason} - {ok, email} -> %{login: login, email: email} - end - end -end - -# can be written as - -def extract_user(user) do - with {:ok, login} <- extract_login(user), - {:ok, email} <- extract_email(user) do - {:ok, %{login: login, email: email}} - end -end -``` - -Looping is mainly implemented via recursion. The break condition is implemented via a multiclause function matching the condition that you want to break at. -Recursion can be expensive, unless the recursive call is at the end of a function, which is called a tail-call. Tail-calls are optimized to not require any additional memory, because their result is also the result of the caller, so we don't need to come back to the caller. \ No newline at end of file diff --git a/3 resources/libvirt/Mediated devices.md b/3 resources/libvirt/Mediated devices.md new file mode 100644 index 0000000..fe9e551 --- /dev/null +++ b/3 resources/libvirt/Mediated devices.md @@ -0,0 +1,11 @@ +#libvirt #linux #virtualisation + +--- +https://libvirt.org/drvnodedev.html#mediated-devices-mdevs + +They are virtual devices that share a single physical device. + +Similar to [[SR-IOV]] but sr-iov required registering and unregistering devices with the host PCIe bus via a host driver. +Mediated devices don't have to do this. + +So why would we still choose sriov? \ No newline at end of file diff --git a/3 resources/libvirt/SR-IOV.md b/3 resources/libvirt/SR-IOV.md new file mode 100644 index 0000000..0881ec0 --- /dev/null +++ b/3 resources/libvirt/SR-IOV.md @@ -0,0 +1,9 @@ +#linux #libvirt #virtualisation + +--- +Single root input/output virtualization: enables sharing of single PCI-e devices with multiple guests. + +Physical device = PF (Physical Function) +Virtual device = VF (Virtual Function) + +A PF is divided (by manufacturer) into *n* VFs. Thus a PF can be shared at most with *n* guests. \ No newline at end of file diff --git a/3 resources/libvirt/mediated-devices.md b/3 resources/libvirt/mediated-devices.md deleted file mode 100644 index 3011a28..0000000 --- a/3 resources/libvirt/mediated-devices.md +++ /dev/null @@ -1,8 +0,0 @@ -https://libvirt.org/drvnodedev.html#mediated-devices-mdevs - -They are virtual devices that share a single physical device. - -Similar to [[sr-iov]] but sr-iov required registering and unregistering devices with the host PCIe bus via a host driver. -Mediated devices don't have to do this. - -So why would we still choose sriov? \ No newline at end of file diff --git a/3 resources/libvirt/sr-iov.md b/3 resources/libvirt/sr-iov.md deleted file mode 100644 index e7eec8e..0000000 --- a/3 resources/libvirt/sr-iov.md +++ /dev/null @@ -1,6 +0,0 @@ -Single root input/output virtualization: enables sharing of single PCI-e devices with multiple guests. - -Physical device = PF (Physical Function) -Virtual device = VF (Virtual Function) - -A PF is divided (by manufacturer) into *n* VFs. Thus a PF can be shared at most with *n* guests. \ No newline at end of file diff --git a/3 resources/linux/APT.md b/3 resources/linux/APT.md new file mode 100644 index 0000000..9231d40 --- /dev/null +++ b/3 resources/linux/APT.md @@ -0,0 +1,5 @@ +#linux #packages #how-to + +--- +reinstall packages: +`apt reinstall ` \ No newline at end of file diff --git a/3 resources/linux/Definitions.md b/3 resources/linux/Definitions.md new file mode 100644 index 0000000..c0ca4dd --- /dev/null +++ b/3 resources/linux/Definitions.md @@ -0,0 +1,6 @@ +#linux #definitions + +--- +NBP = Network Bootstrap Program +PXE = Preboot Execution Environment +NIC = Network Interface Card \ No newline at end of file diff --git a/3 resources/linux/Device drivers.md b/3 resources/linux/Device drivers.md new file mode 100644 index 0000000..95f1a75 --- /dev/null +++ b/3 resources/linux/Device drivers.md @@ -0,0 +1,22 @@ +#linux #devices + +--- +major, minor numbers +major = driver (used by kernel when opening device to dispatch to correct driver) +minor = used by driver to differentiate device(s) + +after disk the major, minor numbers are shown: +``` +[jasras@n04.compute.vps2-lej1 ~]$ ls -l /dev/dm-* +brw-rw---- 1 root disk 253, 0 Oct 25 10:10 /dev/dm-0 +brw-rw---- 1 root disk 253, 1 Oct 25 10:11 /dev/dm-1 +brw-rw---- 1 root root 253, 11 Oct 28 19:58 /dev/dm-11 +brw-rw---- 1 root root 253, 12 Oct 28 19:58 /dev/dm-12 +``` + +available devices: `cat /proc/devices` + +character devices vs block devices; what is the difference? + +--- +[oreilly-device-drivers](https://www.oreilly.com/library/view/linux-device-drivers/0596000081/ch03s02.html) \ No newline at end of file diff --git a/3 resources/linux/Device mapper.md b/3 resources/linux/Device mapper.md new file mode 100644 index 0000000..059a0d1 --- /dev/null +++ b/3 resources/linux/Device mapper.md @@ -0,0 +1,28 @@ +#linux #device-mapper + +--- +Device mapper is a kernel driver to map physical block devices to virtual ones; this means that for example we can have many physical devices be represented by a single virtual one (linear mapping). + +How does it work? +[[1 projects/Inwerken Mohammed/TODO]] +What is its function in relation to multipath? + +Logical devices using device-mapper can be managed using `man 8 dmsetup` +``` +[jasras@n04.compute.vps2-lej1 ~]$ sudo dmsetup info 3600a098038314d736724566a67346538 +Name: 3600a098038314d736724566a67346538 +State: ACTIVE +Read Ahead: 256 +Tables present: LIVE +Open count: 1 +Event number: 3 +Major, minor: 253, 12 +Number of targets: 1 +UUID: mpath-3600a098038314d736724566a67346538 +``` + +If dmsetup cannot remove a device because a process still has it open, but lsof does not show any processes that open it, use `-f` which replaces the device with a fake that rejects all I/O. + +--- +[device-mapper](https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/7/html/logical_volume_manager_administration/device_mapper#device_mapper) +[dmsetup](https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/7/html/logical_volume_manager_administration/dmsetup#dmsetup) \ No newline at end of file diff --git a/3 resources/linux/LSOF.md b/3 resources/linux/LSOF.md new file mode 100644 index 0000000..5a3aa95 --- /dev/null +++ b/3 resources/linux/LSOF.md @@ -0,0 +1,69 @@ +#linux #how-to + +--- + +``` +lsof -p 1111 # show open files for this PID +lsof /path/to/file # show which process has this open +``` + +A usage in the wild; using lsof to find the qemu process for a specific base image and using that to get instance name and disk path: +``` +lsof -F p {{ item['path'] }} | cut -b 2- | head -1 | xargs ps | grep -oP '(instance\\-[a-z0-9]+)|(\\/var\\/lib\\/nova\\/instances\\/[a-z0-9\\-]+\\/disk)' | uniq +``` + +(man lsof: search "OUTPUT FOR OTHER PROGRAMS") +output for other programs +``` +specify -F +These are the fields that lsof will produce. The single character listed first is the field identifier. + a file access mode + c process command name (all characters from proc or + user structure) + C file structure share count + d file's device character code + D file's major/minor device number (0x) + f file descriptor (always selected) + F file structure address (0x) + G file flaGs (0x; names if +fg follows) + g process group ID + i file's inode number + K tasK ID + k link count + l file's lock status + L process login name + m marker between repeated output + M the task comMand name + n file name, comment, Internet address + N node identifier (ox + o file's offset (decimal) + p process ID (always selected) + P protocol name + r raw device number (0x) + R parent process ID + s file's size (decimal) + S file's stream identification + t file's type + T TCP/TPI information, identified by prefixes (the + `=' is part of the prefix): + QR= + QS= + SO= (not all dialects) + SS= (not all dialects) + ST= + TF= (not all dialects) + WR= (not all dialects) + WW= (not all dialects) + (TCP/TPI information isn't reported for all supported + UNIX dialects. The -h or -? help output for the + -T option will show what TCP/TPI reporting can be + requested.) + u process user ID + z Solaris 10 and higher zone name + Z SELinux security context (inhibited when SELinux is disabled) + 0 use NUL field terminator character in place of NL + 1-9 dialect-specific field identifiers (The output + of -F? identifies the information to be found + in dialect-specific fields.) + +``` \ No newline at end of file diff --git a/3 resources/linux/Users.md b/3 resources/linux/Users.md new file mode 100644 index 0000000..885a7cc --- /dev/null +++ b/3 resources/linux/Users.md @@ -0,0 +1,22 @@ +#linux #user-management + +Change uid/gid of user +`usermod -u newnumber user` +`groupmod -g newnumber user` + +File permissions in homedir will be automatically updated; file perms outside home dir will not be automatically updated. + +Finding files of a specific user, and printing their uid/gid; +`sudo find / -user 4109 -printf '%p %u(%U) %g(%G)\n'` + +To change only the group: `chgrp`. + +Or using find to chmod/chgrp: +`sudo find / -user 4109 -group 4109 -exec chmod 998:998 {} \;` +`sudo find / -group 4109 -exec chgrp 998 {} \;` + +Dirty way to find "system users" (uid < 999) - note that this is not fool-proof, it also lists groups +`getent passwd | grep -oP '\b[0-9]{3}\b' | uniq | sort` + +--- +https://www.cyberciti.biz/faq/linux-change-user-group-uid-gid-for-all-owned-files/ diff --git a/3 resources/linux/Watch.md b/3 resources/linux/Watch.md index dafeb80..0c167b7 100644 --- a/3 resources/linux/Watch.md +++ b/3 resources/linux/Watch.md @@ -1 +1,4 @@ -`watch (1)` periodically executes the executable on argv. It can be used to reload the output of a command, like `sudo watch ovs-dpctl dump-flows` . \ No newline at end of file +#linux #how-to + +--- +`watch (1)` periodically executes the executable on argv. It can be used to reload the output of a command, like `sudo watch ovs-dpctl dump-flows` . diff --git a/3 resources/linux/apt.md b/3 resources/linux/apt.md deleted file mode 100644 index 36a098c..0000000 --- a/3 resources/linux/apt.md +++ /dev/null @@ -1,2 +0,0 @@ -reinstall packages: -`apt reinstall ` \ No newline at end of file diff --git a/3 resources/linux/bootloader.md b/3 resources/linux/bootloader.md deleted file mode 100644 index e9c2fff..0000000 --- a/3 resources/linux/bootloader.md +++ /dev/null @@ -1 +0,0 @@ -[[TODO]] \ No newline at end of file diff --git a/3 resources/linux/device-drivers.md b/3 resources/linux/device-drivers.md deleted file mode 100644 index e4fe9d2..0000000 --- a/3 resources/linux/device-drivers.md +++ /dev/null @@ -1,19 +0,0 @@ -major, minor numbers -major = driver (used by kernel when opening device to dispatch to correct driver) -minor = used by driver to differentiate device(s) - -after disk the major, minor numbers are shown: -``` -[jasras@n04.compute.vps2-lej1 ~]$ ls -l /dev/dm-* -brw-rw---- 1 root disk 253, 0 Oct 25 10:10 /dev/dm-0 -brw-rw---- 1 root disk 253, 1 Oct 25 10:11 /dev/dm-1 -brw-rw---- 1 root root 253, 11 Oct 28 19:58 /dev/dm-11 -brw-rw---- 1 root root 253, 12 Oct 28 19:58 /dev/dm-12 -``` - -available devices: `cat /proc/devices` - -character devices vs block devices; what is the difference? - ---- -[oreilly-device-drivers](https://www.oreilly.com/library/view/linux-device-drivers/0596000081/ch03s02.html) \ No newline at end of file diff --git a/3 resources/linux/device-mapper.md b/3 resources/linux/device-mapper.md deleted file mode 100644 index f862496..0000000 --- a/3 resources/linux/device-mapper.md +++ /dev/null @@ -1,25 +0,0 @@ -Device mapper is a kernel driver to map physical block devices to virtual ones; this means that for example we can have many physical devices be represented by a single virtual one (linear mapping). - -How does it work? -[[TODO]] -What is its function in relation to multipath? - -Logical devices using device-mapper can be managed using `man 8 dmsetup` -``` -[jasras@n04.compute.vps2-lej1 ~]$ sudo dmsetup info 3600a098038314d736724566a67346538 -Name: 3600a098038314d736724566a67346538 -State: ACTIVE -Read Ahead: 256 -Tables present: LIVE -Open count: 1 -Event number: 3 -Major, minor: 253, 12 -Number of targets: 1 -UUID: mpath-3600a098038314d736724566a67346538 -``` - -If dmsetup cannot remove a device because a process still has it open, but lsof does not show any processes that open it, use `-f` which replaces the device with a fake that rejects all I/O. - ---- -[device-mapper](https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/7/html/logical_volume_manager_administration/device_mapper#device_mapper) -[dmsetup](https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/7/html/logical_volume_manager_administration/dmsetup#dmsetup) \ No newline at end of file diff --git a/3 resources/linux/filesystems/Tmpfs.md b/3 resources/linux/filesystems/Tmpfs.md new file mode 100644 index 0000000..b8fe839 --- /dev/null +++ b/3 resources/linux/filesystems/Tmpfs.md @@ -0,0 +1,16 @@ +#linux #filesystem + +--- +Is a [[virtual filesystem]] that is stored in memory; it uses both RAM and swap space. +> Kernel option: CONFIG_TMPFS + +`mount -t tmpfs source target` + +A tmpfs can only grow to 50% of RAM avail. unless overridden with size=nbytes mount option. +Only consumes RAM for actual usage. +Data is ephemeral/volatile. + +Mount stacking: mount over existing /tmp, to improve speed of apps using alot of tmp files, then unmount to delete data. + +Kernel uses tmpfs for [[system v shared memory]] and [[shared anonymous memory mappings]]. +`/dev/shm` or `/run/shm`: [[glibc]] of [[POSIX]] shared memory and [[POSIX]] semaphores. \ No newline at end of file diff --git a/3 resources/linux/filesystems/tmpfs.md b/3 resources/linux/filesystems/tmpfs.md deleted file mode 100644 index 624c835..0000000 --- a/3 resources/linux/filesystems/tmpfs.md +++ /dev/null @@ -1,13 +0,0 @@ -Is a [[virtual filesystem]] that is stored in memory; it uses both RAM and swap space. -> Kernel option: CONFIG_TMPFS - -`mount -t tmpfs source target` - -A tmpfs can only grow to 50% of RAM avail. unless overridden with size=nbytes mount option. -Only consumes RAM for actual usage. -Data is ephemeral/volatile. - -Mount stacking: mount over existing /tmp, to improve speed of apps using alot of tmp files, then unmount to delete data. - -Kernel uses tmpfs for [[system v shared memory]] and [[shared anonymous memory mappings]]. -`/dev/shm` or `/run/shm`: [[glibc]] of [[POSIX]] shared memory and [[POSIX]] semaphores. \ No newline at end of file diff --git a/3 resources/linux/filesystems/virtual filesystem.md b/3 resources/linux/filesystems/virtual filesystem.md deleted file mode 100644 index e69de29..0000000 diff --git a/3 resources/linux/glibc.md b/3 resources/linux/glibc.md deleted file mode 100644 index 18d18e1..0000000 --- a/3 resources/linux/glibc.md +++ /dev/null @@ -1 +0,0 @@ -The GNU C standard library. \ No newline at end of file diff --git a/3 resources/linux/lsof.md b/3 resources/linux/lsof.md deleted file mode 100644 index e95b968..0000000 --- a/3 resources/linux/lsof.md +++ /dev/null @@ -1,65 +0,0 @@ -``` -lsof -p 1111 # show open files for this PID -lsof /path/to/file # show which process has this open -``` - -A usage in the wild; using lsof to find the qemu process for a specific base image and using that to get instance name and disk path: -``` -lsof -F p {{ item['path'] }} | cut -b 2- | head -1 | xargs ps | grep -oP '(instance\\-[a-z0-9]+)|(\\/var\\/lib\\/nova\\/instances\\/[a-z0-9\\-]+\\/disk)' | uniq -``` - -(man lsof: search "OUTPUT FOR OTHER PROGRAMS") -output for other programs -``` -specify -F -These are the fields that lsof will produce. The single character listed first is the field identifier. - a file access mode - c process command name (all characters from proc or - user structure) - C file structure share count - d file's device character code - D file's major/minor device number (0x) - f file descriptor (always selected) - F file structure address (0x) - G file flaGs (0x; names if +fg follows) - g process group ID - i file's inode number - K tasK ID - k link count - l file's lock status - L process login name - m marker between repeated output - M the task comMand name - n file name, comment, Internet address - N node identifier (ox - o file's offset (decimal) - p process ID (always selected) - P protocol name - r raw device number (0x) - R parent process ID - s file's size (decimal) - S file's stream identification - t file's type - T TCP/TPI information, identified by prefixes (the - `=' is part of the prefix): - QR= - QS= - SO= (not all dialects) - SS= (not all dialects) - ST= - TF= (not all dialects) - WR= (not all dialects) - WW= (not all dialects) - (TCP/TPI information isn't reported for all supported - UNIX dialects. The -h or -? help output for the - -T option will show what TCP/TPI reporting can be - requested.) - u process user ID - z Solaris 10 and higher zone name - Z SELinux security context (inhibited when SELinux is disabled) - 0 use NUL field terminator character in place of NL - 1-9 dialect-specific field identifiers (The output - of -F? identifies the information to be found - in dialect-specific fields.) - -``` \ No newline at end of file diff --git a/3 resources/linux/man pages.md b/3 resources/linux/man pages.md deleted file mode 100644 index 576d4b8..0000000 --- a/3 resources/linux/man pages.md +++ /dev/null @@ -1,2 +0,0 @@ -I need to more consistently read man pages. Example is `man task` to see how taskwarrior works, after reading it today I found that it is actually quite easy. -They often contain good information on how to use a certain tool. \ No newline at end of file diff --git a/3 resources/linux/networking/DHCP.md b/3 resources/linux/networking/DHCP.md new file mode 100644 index 0000000..e7e8e38 --- /dev/null +++ b/3 resources/linux/networking/DHCP.md @@ -0,0 +1,5 @@ +#networking #linux + +--- +Dynamic Host Configuration Protocol +Allows hosts dynamically receive an IP address. \ No newline at end of file diff --git a/3 resources/linux/networking/IP masquerade.md b/3 resources/linux/networking/IP masquerade.md new file mode 100644 index 0000000..2ccc8e6 --- /dev/null +++ b/3 resources/linux/networking/IP masquerade.md @@ -0,0 +1,17 @@ +#linux #networking + +--- +A function in the kernel that allows guests with internal/private IPs to access the internet by using the hosts' public IP similar to 1 to many NAT. + +Differences with Proxy, IP Masq, NAT: + +**Proxy** +Requires special configuration on internal client side. Can be used for caching. + +**IP Masq** +A form of NAT used primarily in Linux devices. Translates IP address and uses the connection tracking table and ports to map responses back to the internal connection. + +**NAT** +Has different types with different use-cases. +Static NAT: 1-1 mapping of pub/private IP. Dynamic NAT: pool of pub ips to dynamically map private IPs to based on availability. +PAT (Port): similar to IP Masq; 1-many using ports. \ No newline at end of file diff --git a/3 resources/linux/networking/PXE.md b/3 resources/linux/networking/PXE.md new file mode 100644 index 0000000..d5fe4d1 --- /dev/null +++ b/3 resources/linux/networking/PXE.md @@ -0,0 +1,18 @@ +#linux #pxe + +--- +The NBP is a bootloader that is obtained via the network typically via [[TFTP]]. It handles setting up an environment in which an OS can run or install. For example, it displays a boot menu and downloads the kernel images. It sets up hardware, for example the [[NIC]]s. + +PXE boot process: +1. Modified [[DHCP]] request: request to include boot information (PXE boot request). +2. Process DHCP response which includes an IP address of [[TFTP]] server and filename of [[NBP]]. +3. Download NBP over TFTP. +4. NBP executes + 1. Loads additional stuff over network, like kernel images. + 2. Handles the boot menu +5. Kernel takes over boot process and potentially downloads additional files required to complete booting. + +Popular NBP's: +- PXELINUX +- iPXE +- GRUB2 diff --git a/3 resources/linux/networking/dhcp.md b/3 resources/linux/networking/dhcp.md deleted file mode 100644 index e426d6f..0000000 --- a/3 resources/linux/networking/dhcp.md +++ /dev/null @@ -1,4 +0,0 @@ -Dynamic Host Configuration Protocol -Allows hosts dynamically receive an IP address. - -[[TODO]] learn exactly how it works \ No newline at end of file diff --git a/3 resources/linux/networking/ip-masquerade-nat.md b/3 resources/linux/networking/ip-masquerade-nat.md deleted file mode 100644 index 8b722f4..0000000 --- a/3 resources/linux/networking/ip-masquerade-nat.md +++ /dev/null @@ -1,14 +0,0 @@ -A function in the kernel that allows guests with internal/private IPs to access the internet by using the hosts' public IP similar to 1 to many NAT. - -Differences with Proxy, IP Masq, NAT: - -**Proxy** -Requires special configuration on internal client side. Can be used for caching. - -**IP Masq** -A form of NAT used primarily in Linux devices. Translates IP address and uses the connection tracking table and ports to map responses back to the internal connection. - -**NAT** -Has different types with different use-cases. -Static NAT: 1-1 mapping of pub/private IP. Dynamic NAT: pool of pub ips to dynamically map private IPs to based on availability. -PAT (Port): similar to IP Masq; 1-many using ports. \ No newline at end of file diff --git a/3 resources/linux/networking/nbp.md b/3 resources/linux/networking/nbp.md deleted file mode 100644 index 19676ea..0000000 --- a/3 resources/linux/networking/nbp.md +++ /dev/null @@ -1,3 +0,0 @@ -Network Bootstrap Program - -Is a bootloader that is obtained via the network typically via [[TFTP]]. It handles setting up an environment in which an OS can run or install. For example, it displays a boot menu and downloads the kernel images. It sets up hardware, for example the [[NIC]]s. \ No newline at end of file diff --git a/3 resources/linux/networking/pxe-boot.md b/3 resources/linux/networking/pxe-boot.md deleted file mode 100644 index d532ac3..0000000 --- a/3 resources/linux/networking/pxe-boot.md +++ /dev/null @@ -1,15 +0,0 @@ -PXE = Preboot Execution Environment. - -PXE boot process: -1. Modified [[DHCP]] request: request to include boot information (PXE boot request). -2. Process DHCP response which includes an IP address of [[TFTP]] server and filename of [[NBP]]. -3. Download NBP over TFTP. -4. NBP executes - 1. Loads additional stuff over network, like kernel images. - 2. Handles the boot menu -5. Kernel takes over boot process and potentially downloads additional files required to complete booting. - -Popular NBP's: -- PXELINUX -- iPXE -- GRUB2 diff --git a/3 resources/linux/networking/udp.md b/3 resources/linux/networking/udp.md deleted file mode 100644 index e69de29..0000000 diff --git a/3 resources/linux/nic.md b/3 resources/linux/nic.md deleted file mode 100644 index 592ad1c..0000000 --- a/3 resources/linux/nic.md +++ /dev/null @@ -1 +0,0 @@ -Network Interface Card \ No newline at end of file diff --git a/3 resources/linux/shared anonymous memory mappings.md b/3 resources/linux/shared anonymous memory mappings.md deleted file mode 100644 index 71d1cfc..0000000 --- a/3 resources/linux/shared anonymous memory mappings.md +++ /dev/null @@ -1,2 +0,0 @@ -[[TODO]] -Linux API book: chapter 49 \ No newline at end of file diff --git a/3 resources/linux/system v shared memory.md b/3 resources/linux/system v shared memory.md deleted file mode 100644 index d1f690d..0000000 --- a/3 resources/linux/system v shared memory.md +++ /dev/null @@ -1,2 +0,0 @@ -[[TODO]] -Linux API book chapter 48 \ No newline at end of file diff --git a/3 resources/linux/tftp.md b/3 resources/linux/tftp.md deleted file mode 100644 index 259fdec..0000000 --- a/3 resources/linux/tftp.md +++ /dev/null @@ -1,2 +0,0 @@ -Trivial File Transfer Protocol -[[TODO]] \ No newline at end of file diff --git a/3 resources/math/Cartesian product.md b/3 resources/math/Cartesian product.md new file mode 100644 index 0000000..161b405 --- /dev/null +++ b/3 resources/math/Cartesian product.md @@ -0,0 +1,4 @@ +#math #definitions + +--- +The Cartesian product in [[set theory]] denoted as A x B where A and B are both sets and it would result in pairs of (a, b) for each a and b in A and B respectively. \ No newline at end of file diff --git a/3 resources/math/cartesian-product.md b/3 resources/math/cartesian-product.md deleted file mode 100644 index 0e0a9a4..0000000 --- a/3 resources/math/cartesian-product.md +++ /dev/null @@ -1 +0,0 @@ -The Cartesian product in [[set theory]] denoted as A x B where A and B are both sets and it would result in pairs of (a, b) for each a and b in A and B respectively. \ No newline at end of file diff --git a/3 resources/mathematics/convolution.md b/3 resources/mathematics/convolution.md deleted file mode 100644 index e69de29..0000000 diff --git a/3 resources/mermaidjs/mermaidjs.md b/3 resources/mermaidjs/mermaidjs.md deleted file mode 100644 index e468459..0000000 --- a/3 resources/mermaidjs/mermaidjs.md +++ /dev/null @@ -1,21 +0,0 @@ -**ZenUML** -Optional **Title** -**Participants** can be declared when used or at the start. -**Annotators** give **participants** a special icon, defined at the doc site. -**Aliases** give a short **participant** name a more descriptive name when rendered, e.g: A as Alice <- Alice will be rendered, but the code can use A. -**Messages** between **participants** can be **sync, async, creation or reply**. -**Sync** use A.\ have a block {} for nested messages -**Async** use an arrow A->B: How are you? -**Creation** new keyword new A(optional params) -**Reply** three ways to define: -* Assign var from **Sync** message, e.g: OptionalType a = A.SyncMessage() -* Return A.SyncMessage { return blaat } -* @return or @reply on an **async** message -**Nesting** can be done on both creation and sync messages using blocks {}. -**Comments** can be added using `// comment` and support markdown. -**Loops** can be defined using keywords: **while, for, foreach and loop**. -**Alternative** paths can be sequenced using **if, else** statements. if(blaat) { A.syncMessage(B) } -**Opt** fragments rendered via `opt { ... }`. This can be useful for optional responses or paths. -**Parallel** paths can be defined using `par { ... }`. -**Try/catch/finally** statements are supported as well. -**@Starter(participant)** to make the line start from a **participant** \ No newline at end of file diff --git a/3 resources/nix/Flake.md b/3 resources/nix/Flake.md new file mode 100644 index 0000000..754556f --- /dev/null +++ b/3 resources/nix/Flake.md @@ -0,0 +1,22 @@ +#nix #flake + +--- +Nix flakes are source trees containing a file `flake.nix` at their root. The file `flake.nix` provides a standardized way to provide [[Zettelkast/Index/Nix]] artifacts. It's like a package manager for [[Zettelkast/Index/Nix]]. A flake can be dependent on other Flakes and it's possible to pin dependencies to exact revisions by using a `flake.lock` file. + +Nix flake evaluation is hermetic, meaning that it produces the same result wherever it's built.k + +The feature can be enabled in `~/.config/nix/nix.conf`: + +``` +experimental-features = nix-command flakes +``` + +To initialize in a repo: `nix flake init`. + +In flakes dependencies have to be specified explicitly and MUST be locked to specific versions therefore it's no longer allowed to use the nixpkgs found in `NIX_PATH` by referencing it like ``. + +Output of a Flake is an arbitrary [[Zettelkast/Index/Nix]] value such as a package, [[NixOS]] module or library function. +Commands `nix build` and `nix shell` will build the output `packages..default` unless we specify another output, for example: `nix shell .#checks.aarch64-linux.build`. + +--- +[Flakes Wiki](https://nixos.wiki/wiki/Flakes) \ No newline at end of file diff --git a/3 resources/nix/Overlays.md b/3 resources/nix/Overlays.md new file mode 100644 index 0000000..8ee33f3 --- /dev/null +++ b/3 resources/nix/Overlays.md @@ -0,0 +1,11 @@ +#nix #overlay + +--- +Functions that accept two args (conventionally: final, prev) and return a set of [[Package]]s. + +The `prev` arguments holds the set of packages of the "parent" overlay while the `final` argument holds the end result of **all** overlays applied. This means that overlays depend on each other. It is unclear how we can tell on which overlay an overlay depends. + +We can use it to override existing packages or add new packages. + +--- +https://nixos.wiki/wiki/Overlays diff --git a/3 resources/nix/Package.md b/3 resources/nix/Package.md new file mode 100644 index 0000000..32c6bd4 --- /dev/null +++ b/3 resources/nix/Package.md @@ -0,0 +1,6 @@ +#nix #packages + +--- +Packages != NixOS Modules + +Packages come from Nixpkgs. \ No newline at end of file diff --git a/3 resources/nix/REPL.md b/3 resources/nix/REPL.md new file mode 100644 index 0000000..210b980 --- /dev/null +++ b/3 resources/nix/REPL.md @@ -0,0 +1,5 @@ +#nix #repl + +--- +`nix repl` to interactively evaluate Nix expressions. `:p` if output is not full. + `nix-instantiate --eval .nix` to evaluate a Nix expression from a file. `--strict`. \ No newline at end of file diff --git a/3 resources/nix/Shell.nix.md b/3 resources/nix/Shell.nix.md new file mode 100644 index 0000000..13715c2 --- /dev/null +++ b/3 resources/nix/Shell.nix.md @@ -0,0 +1,42 @@ +#nix #shell + +--- +Can be used to set up per dir environments, e.g using direnv to automatically activate them. +## Python +https://nixos.org/manual/nixpkgs/stable/#python + +```nix +{ pkgs ? import {}}: + +pkgs.mkShell { + packages = [ pkgs.virtualenv ]; +} +``` + +```nix +with import {}; +let + my_toolz = python311.pkgs.buildPythonPackage rec { + pname = "toolz"; + version = "0.10.0"; + pyproject = true; + src = fetchPypi { + inherit pname version; + hash = "sha256-CP3V73yWSArRHBLUct4hrNMjWZlvaaUlkpm1QP66RWA="; + }; + nativeBuildInputs = [ + python311.pkgs.setuptools + python311.pkgs.wheel + ]; # has no tests + doCheck = false; + meta = { + homepage = "https://github.com/pytoolz/toolz/"; + description = "List processing tools and functional utilities"; + # [...] + }; + }; +in python311.withPackages (ps: with ps; [ numpy my_toolz ]) ).env +``` + +The [[Import]] is required here because imports a nix expression from another source, in this case nixpkgs. +It is not required at line two, because python310Packages itself is already in the local scope. \ No newline at end of file diff --git a/3 resources/nix/flakes.md b/3 resources/nix/flakes.md deleted file mode 100644 index fb99500..0000000 --- a/3 resources/nix/flakes.md +++ /dev/null @@ -1,19 +0,0 @@ -Nix flakes are source trees containing a file `flake.nix` at their root. The file `flake.nix` provides a standardized way to provide [[Zettelkast/Index/Nix]] artifacts. It's like a package manager for [[Zettelkast/Index/Nix]]. A flake can be dependent on other Flakes and it's possible to pin dependencies to exact revisions by using a `flake.lock` file. - -Nix flake evaluation is hermetic, meaning that it produces the same result wherever it's built.k - -The feature can be enabled in `~/.config/nix/nix.conf`: - -``` -experimental-features = nix-command flakes -``` - -To initialize in a repo: `nix flake init`. - -In flakes dependencies have to be specified explicitly and MUST be locked to specific versions therefore it's no longer allowed to use the nixpkgs found in `NIX_PATH` by referencing it like ``. - -Output of a Flake is an arbitrary [[Zettelkast/Index/Nix]] value such as a package, [[NixOS]] module or library function. -Commands `nix build` and `nix shell` will build the output `packages..default` unless we specify another output, for example: `nix shell .#checks.aarch64-linux.build`. - ---- -[Flakes Wiki](https://nixos.wiki/wiki/Flakes) \ No newline at end of file diff --git a/3 resources/nix/language.md b/3 resources/nix/language.md deleted file mode 100644 index 01101d9..0000000 --- a/3 resources/nix/language.md +++ /dev/null @@ -1,5 +0,0 @@ -"Nix is like JSON, but with functions". - -[[keyword-rec]] -[[keyword-let]] -[[keyword-with]] diff --git a/3 resources/nix/language/Import.md b/3 resources/nix/language/Import.md new file mode 100644 index 0000000..d201c74 --- /dev/null +++ b/3 resources/nix/language/Import.md @@ -0,0 +1,5 @@ +#nix #keyword + +--- +The import keyword brings a Nix expression from another source into scope such that we can reference it. For example, we can `import ` and it would bring the entire attribute set that is Nixpkgs into scope and allows us to reference any of its attributes. + diff --git a/3 resources/nix/language/Let.md b/3 resources/nix/language/Let.md new file mode 100644 index 0000000..bfb4b31 --- /dev/null +++ b/3 resources/nix/language/Let.md @@ -0,0 +1,12 @@ +#nix #keyword + +--- +Keyword: `let` +Used to assign variables that can be used in an expression immediately following the let-binding. +```nix +let + one = 1; +in { + two = one + 1; +} +``` diff --git a/3 resources/nix/language/Rec.md b/3 resources/nix/language/Rec.md new file mode 100644 index 0000000..b7050d3 --- /dev/null +++ b/3 resources/nix/language/Rec.md @@ -0,0 +1,20 @@ +#nix #keyword + +--- +Recursive attribute sets can reference values declared earlier in the same set. +keyword: `rec` +```nix +rec { + one = 1; + two = one + 1; +} +``` + +Ordering does not matter: +```nix +nix-repl> rec { two = one + 1; one = 1; } +{ + one = 1; + two = 2; +} +``` diff --git a/3 resources/nix/language/With.md b/3 resources/nix/language/With.md new file mode 100644 index 0000000..b291907 --- /dev/null +++ b/3 resources/nix/language/With.md @@ -0,0 +1,15 @@ +#nix #keyword + +--- +The `with` keyword brings all attributes from a given set, e.g nixpkgs, into the local scope. Making them accessible as if they were declared in the same file. + +An example, bringing everything from nixpkgs into scope: +``` +with import ; +with python310Packages; <-- declared in nixpkgs + +buildPythonPackage <-- declared in python310Packages +``` + +The import statement is required here because imports a nix expression from another source, in this case nixpkgs. +It is not required at line two, because python310Packages itself is already in the local scope. \ No newline at end of file diff --git a/3 resources/nix/language/keyword-import.md b/3 resources/nix/language/keyword-import.md deleted file mode 100644 index 616c155..0000000 --- a/3 resources/nix/language/keyword-import.md +++ /dev/null @@ -1,2 +0,0 @@ -The import keyword brings a Nix expression from another source into scope such that we can reference it. For example, we can `import ` and it would bring the entire attribute set that is Nixpkgs into scope and allows us to reference any of its attributes. - diff --git a/3 resources/nix/language/keyword-let.md b/3 resources/nix/language/keyword-let.md deleted file mode 100644 index 3b2f401..0000000 --- a/3 resources/nix/language/keyword-let.md +++ /dev/null @@ -1,9 +0,0 @@ -Keyword: `let` -Used to assign variables that can be used in an expression immediately following the let-binding. -```nix -let - one = 1; -in { - two = one + 1; -} -``` diff --git a/3 resources/nix/language/keyword-rec.md b/3 resources/nix/language/keyword-rec.md deleted file mode 100644 index 456f877..0000000 --- a/3 resources/nix/language/keyword-rec.md +++ /dev/null @@ -1,17 +0,0 @@ -Recursive attribute sets can reference values declared earlier in the same set. -keyword: `rec` -```nix -rec { - one = 1; - two = one + 1; -} -``` - -Ordering does not matter: -```nix -nix-repl> rec { two = one + 1; one = 1; } -{ - one = 1; - two = 2; -} -``` diff --git a/3 resources/nix/language/keyword-with.md b/3 resources/nix/language/keyword-with.md deleted file mode 100644 index 10763ff..0000000 --- a/3 resources/nix/language/keyword-with.md +++ /dev/null @@ -1,12 +0,0 @@ -The `with` keyword brings all attributes from a given set, e.g nixpkgs, into the local scope. Making them accessible as if they were declared in the same file. - -An example, bringing everything from nixpkgs into scope: -``` -with import ; -with python310Packages; <-- declared in nixpkgs - -buildPythonPackage <-- declared in python310Packages -``` - -The import statement is required here because imports a nix expression from another source, in this case nixpkgs. -It is not required at line two, because python310Packages itself is already in the local scope. \ No newline at end of file diff --git a/3 resources/nix/overlays.md b/3 resources/nix/overlays.md deleted file mode 100644 index 70dad85..0000000 --- a/3 resources/nix/overlays.md +++ /dev/null @@ -1,8 +0,0 @@ -Functions that accept two args (conventionally: final, prev) and return a set of [[package]]s. - -The `prev` arguments holds the set of packages of the "parent" overlay while the `final` argument holds the end result of **all** overlays applied. This means that overlays depend on each other. It is unclear how we can tell on which overlay an overlay depends. - -We can use it to override existing packages or add new packages. - ---- -https://nixos.wiki/wiki/Overlays diff --git a/3 resources/nix/package.md b/3 resources/nix/package.md deleted file mode 100644 index 231e3a6..0000000 --- a/3 resources/nix/package.md +++ /dev/null @@ -1,3 +0,0 @@ -Packages != NixOS Modules - -Packages are from Nixpkgs. \ No newline at end of file diff --git a/3 resources/nix/packages/Apply custom patches.md b/3 resources/nix/packages/Apply custom patches.md new file mode 100644 index 0000000..370c53a --- /dev/null +++ b/3 resources/nix/packages/Apply custom patches.md @@ -0,0 +1,17 @@ +#nix #packages #overlay + +--- +We can apply patches to existing packages using [[Overlays]]: +```nix +final: prev { + nova = prev.nova.overrideAttrs (old: { + patches = (old.patches or []) ++ [ + prev.fetchpatch { + url = "https://github.com/owner/repo/commit/hash.patch"; + hash = "somehash"; + }) + ./relative.patch + ] + }) +} +``` diff --git a/3 resources/nix/packages/apply-patches.md b/3 resources/nix/packages/apply-patches.md deleted file mode 100644 index e703f81..0000000 --- a/3 resources/nix/packages/apply-patches.md +++ /dev/null @@ -1,14 +0,0 @@ -We can apply patches to existing packages using [[overlays]]: -```nix -final: prev { - nova = prev.nova.overrideAttrs (old: { - patches = (old.patches or []) ++ [ - prev.fetchpatch { - url = "https://github.com/owner/repo/commit/hash.patch"; - hash = "somehash"; - }) - ./relative.patch - ] - }) -} -``` diff --git a/3 resources/nix/repl.md b/3 resources/nix/repl.md deleted file mode 100644 index 6a0fd4a..0000000 --- a/3 resources/nix/repl.md +++ /dev/null @@ -1,2 +0,0 @@ -`nix repl` to interactively evaluate Nix expressions. `:p` if output is not full. - `nix-instantiate --eval .nix` to evaluate a Nix expression from a file. `--strict`. \ No newline at end of file diff --git a/3 resources/nix/shell.nix.md b/3 resources/nix/shell.nix.md deleted file mode 100644 index d5fa8ce..0000000 --- a/3 resources/nix/shell.nix.md +++ /dev/null @@ -1,39 +0,0 @@ -Can be used to set up per dir environments, e.g using direnv to automatically activate them. -## Python -https://nixos.org/manual/nixpkgs/stable/#python - -```nix -{ pkgs ? import {}}: - -pkgs.mkShell { - packages = [ pkgs.virtualenv ]; -} -``` - -```nix -with import {}; -let - my_toolz = python311.pkgs.buildPythonPackage rec { - pname = "toolz"; - version = "0.10.0"; - pyproject = true; - src = fetchPypi { - inherit pname version; - hash = "sha256-CP3V73yWSArRHBLUct4hrNMjWZlvaaUlkpm1QP66RWA="; - }; - nativeBuildInputs = [ - python311.pkgs.setuptools - python311.pkgs.wheel - ]; # has no tests - doCheck = false; - meta = { - homepage = "https://github.com/pytoolz/toolz/"; - description = "List processing tools and functional utilities"; - # [...] - }; - }; -in python311.withPackages (ps: with ps; [ numpy my_toolz ]) ).env -``` - -The [[keyword-import]] is required here because imports a nix expression from another source, in this case nixpkgs. -It is not required at line two, because python310Packages itself is already in the local scope. \ No newline at end of file diff --git a/3 resources/openstack/Creating ports.md b/3 resources/openstack/Creating ports.md new file mode 100644 index 0000000..90223bf --- /dev/null +++ b/3 resources/openstack/Creating ports.md @@ -0,0 +1,4 @@ +#openstack #port + +--- +Creating a port with a fixed IP requires admin privileges. It is not sufficient to have an RBAC policy that shares the network with a tenant. \ No newline at end of file diff --git a/3 resources/openstack/Libvirt pmsuspended.md b/3 resources/openstack/Libvirt pmsuspended.md new file mode 100644 index 0000000..4749c76 --- /dev/null +++ b/3 resources/openstack/Libvirt pmsuspended.md @@ -0,0 +1,6 @@ +#openstack #libvirt + +--- +Encountered a guest running some desktop image that sleeps and puts libvirt domain in state pmsuspend. + +Openstack does not sync power states in this case so the nova instance is still ACTIVE. \ No newline at end of file diff --git a/3 resources/openstack/Nova live migration volume.md b/3 resources/openstack/Nova live migration volume.md new file mode 100644 index 0000000..8b37f67 --- /dev/null +++ b/3 resources/openstack/Nova live migration volume.md @@ -0,0 +1,18 @@ +#openstack #nova #live-migration #volume + + +--- +Table cinder.volume_attachment, contains which volume_driver. target_lun `()` here maps to `dm-`. +Luns are not unique across pod, each node has a target_lun 2 and thus dm-2 connected. + +os-brick is responsible for connecting volumes; +if connection_info it receives contains target_iqns, target_luns etc it will not do a scan and just returns those. +`@see os_brick/initiator/connectors/iscsi.py` + +`nova/virt/libvirt/driver.py -> def _connect_volume` does attaching of volumes using os-brick. Driver exposes some methods that do this and are called elsewhere: `swap_volume`, `attach_volume`, `pre_live_migration`. + +`pre_live_migration` is called by `nova/compute/manager.py` + +So in `nova/compute/manager.py` there is a function that does the rollback, and it rollbacks bdm's and deletes volume attachments before it calls `rollback_live_migration_at_destination` which in turn makes an attempt at deleting the actual volume attachment to the node. But at that point all objects have been rollbacked already so it has invalid information. + +If the code in new versions of openstack isn't any different i'll just make a bug report and see what they come up with. diff --git a/3 resources/openstack/create-port-fixed-ip.md b/3 resources/openstack/create-port-fixed-ip.md deleted file mode 100644 index 3b6ab46..0000000 --- a/3 resources/openstack/create-port-fixed-ip.md +++ /dev/null @@ -1 +0,0 @@ -Creating a port with a fixed IP requires admin privileges. It is not sufficient to have an RBAC policy that shares the network with a tenant. \ No newline at end of file diff --git a/3 resources/openstack/guest-pmsuspended.md b/3 resources/openstack/guest-pmsuspended.md deleted file mode 100644 index 8995e6e..0000000 --- a/3 resources/openstack/guest-pmsuspended.md +++ /dev/null @@ -1,3 +0,0 @@ -Encountered a guest running some desktop image that sleeps and puts libvirt domain in state pmsuspend. - -Openstack does not sync power states in this case so the nova instance is still ACTIVE. \ No newline at end of file diff --git a/3 resources/openstack/nova-live-migration-volume.md b/3 resources/openstack/nova-live-migration-volume.md deleted file mode 100644 index 50bb6d0..0000000 --- a/3 resources/openstack/nova-live-migration-volume.md +++ /dev/null @@ -1,14 +0,0 @@ -Table cinder.volume_attachment, contains which volume_driver. target_lun `()` here maps to `dm-`. -Luns are not unique across pod, each node has a target_lun 2 and thus dm-2 connected. - -os-brick is responsible for connecting volumes; -if connection_info it receives contains target_iqns, target_luns etc it will not do a scan and just returns those. -`@see os_brick/initiator/connectors/iscsi.py` - -`nova/virt/libvirt/driver.py -> def _connect_volume` does attaching of volumes using os-brick. Driver exposes some methods that do this and are called elsewhere: `swap_volume`, `attach_volume`, `pre_live_migration`. - -`pre_live_migration` is called by `nova/compute/manager.py` - -So in `nova/compute/manager.py` there is a function that does the rollback, and it rollbacks bdm's and deletes volume attachments before it calls `rollback_live_migration_at_destination` which in turn makes an attempt at deleting the actual volume attachment to the node. But at that point all objects have been rollbacked already so it has invalid information. - -If the code in new versions of openstack isn't any different i'll just make a bug report and see what they come up with. diff --git a/3 resources/puppet/replace-line-file.md b/3 resources/puppet/replace-line-file.md deleted file mode 100644 index 985ce91..0000000 --- a/3 resources/puppet/replace-line-file.md +++ /dev/null @@ -1,28 +0,0 @@ -``` - file_line { - '/etc/sysconfig/libvirt-guests onboot': - path => '/etc/default/libvirt-guests', - line => 'ON_BOOT=ignore', - match => 'ON_BOOT='; - '/etc/libvirt/qemu.conf vnctls': - path => '/etc/libvirt/qemu.conf', - line => 'vnc_tls = 0', - match => '^#?vnc_tls = ', - notify => Service['libvirt']; - '/etc/libvirt/qemu.conf vnctls_verify': - path => '/etc/libvirt/qemu.conf', - line => 'vnc_tls_x509_verify = 0', - match => 'vnc_tls_x509_verify =', - notify => Service['libvirt']; - '/etc/libvirt/qemu.conf tls': - path => '/etc/libvirt/qemu.conf', - match => '^default_tls_x509_cert_dir = "/etc/pki/qemu"$', - line => '#default_tls_x509_cert_dir = "/etc/pki/qemu"', - notify => Service['libvirt']; - '/etc/libvirt/qemu.conf tls_verify': - path => '/etc/libvirt/qemu.conf', - match => '^default_tls_x509_verify = 1$', - line => '#default_tls_x509_verify = 1', - notify => Service['libvirt']; - } -``` diff --git a/3 resources/slug.md b/3 resources/slug.md deleted file mode 100644 index 08904e6..0000000 --- a/3 resources/slug.md +++ /dev/null @@ -1,3 +0,0 @@ -A user-friendly representation of the name of a page used in the path of an URL. -For example a page titled: My Friends And I, would be referenced via its slug: my-friends-and-i or my-friends-i. -It can be optimized for brevity so its easier to type and remember. diff --git a/3 resources/statistics/moving-average.md b/3 resources/statistics/moving-average.md deleted file mode 100644 index 5622d3f..0000000 --- a/3 resources/statistics/moving-average.md +++ /dev/null @@ -1,17 +0,0 @@ -Also known as; rolling-average, running-average, moving-mean, running-mean, rolling-mean. - -Has three variations: simple, weighted, cumulative. - -A type of [[convolution]]. - -Reduces noisiness in a time-series graph which makes long-term trends or cycles more easily visible. - -Keeps averaging a subset of given set and move the subset one space to the right. -Example with sample-size of 3: -``` -set: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] -i=1: avg([0, 1, 2]) = 1 -i=2: avg([1, 2, 3]) = 2 -i=3: avg([2, 3, 4]) = 3 -... -``` -- cgit v1.2.3