From 40a6e4facc661eb0da778ee1ed73425554d806ea Mon Sep 17 00:00:00 2001 From: Lyz Date: Wed, 27 Nov 2024 16:36:58 +0100 Subject: [PATCH] fix: deprecate not-by-ai MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit As they have introduced pricing, which makes no sense, and we had a discussion that using that badge it's a nice way to tell the AI which content to use and which not to feat(android_sdk): introduce android_sdk [Android SDK Platform tools](https://developer.android.com/tools/releases/platform-tools) is a component for the Android SDK. It includes tools that interface with the Android platform, primarily adb and fastboot. **[Installation](https://developer.android.com/tools/releases/platform-tools)** While many Linux distributions already package Android Platform Tools (for example `android-platform-tools-base` on Debian), it is preferable to install the most recent version from the official website. Packaged versions might be outdated and incompatible with most recent Android handsets. - Download [the latest toolset](https://dl.google.com/android/repository/platform-tools-latest-linux.zip) - Extract it somewhere in your filesystem - Create links to the programs you want to use in your `$PATH` Next you will need to enable debugging on the Android device you are testing. [Please follow the official instructions on how to do so.](https://developer.android.com/studio/command-line/adb) **Usage** **Connecting over USB** To use `adb` with a device connected over USB, you must enable USB debugging in the device system settings, under Developer options. On Android 4.2 (API level 17) and higher, the Developer options screen is hidden by default. *Enable the Developer options* To make it visible, [enable Developer options](https://developer.android.com/studio/debug/dev-options#enable). On Android 4.1 and lower, the Developer options screen is available by default. On Android 4.2 and higher, you must enable this screen. - On your device, find the Build number option (Settings > About phone > Build number) - Tap the Build Number option seven times until you see the message You are now a developer! This enables developer options on your device. - Return to the previous screen to find Developer options at the bottom. *Enable USB debugging* Before you can use the debugger and other tools, you need to enable USB debugging, which allows Android Studio and other SDK tools to recognize your device when connected via USB. Enable USB debugging in the device system settings under Developer options. You can find this option in one of the following locations, depending on your Android version: - Android 9 (API level 28) and higher: Settings > System > Advanced > Developer Options > USB debugging - Android 8.0.0 (API level 26) and Android 8.1.0 (API level 27): Settings > System > Developer Options > USB debugging - Android 7.1 (API level 25) and lower: Settings > Developer Options > USB debugging *Test it works* If everything is configured appropriately you should see your device when launching the command `adb devices`. *Create udev rules if it fails* If you see the next error: ``` failed to open device: Access denied (insufficient permissions) * failed to start daemon adb: failed to check server version: cannot connect to daemon ``` It indicates an issue with permissions when `adb` tries to communicate with the device via USB. Here are some steps you can take to resolve this issue: - Check USB permissions - Ensure that you have the necessary permissions to access the USB device. If you're running on Linux, check if the device has appropriate udev rules. - You can try adding your user to the `plugdev` group: ```bash sudo usermod -aG plugdev $USER ``` - Make sure you have a `udev` rule for Android devices in `/etc/udev/rules.d/`. If not, you can create one by adding a file like `51-android.rules`: ```bash sudo touch /etc/udev/rules.d/51-android.rules ``` - Add this line to the file to grant access to Android devices: ```bash SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0666", GROUP="plugdev" ``` - Reload the `udev` rules: ```bash sudo udevadm control --reload-rules sudo service udev restart ``` - Unplug and reconnect the USB device. **References** - [Home](https://developer.android.com/tools/releases/platform-tools) feat(antitourism#artículos): Nuevo artículo contra el turismo - [Abolir el turismo - Escuela de las periferias](https://www.elsaltodiario.com/turismo/abolir-turismo): Lleguemos a donde lleguemos, no puede ser que sea más fácil imaginar el fin del capitalismo que el fin del turismo. feat(himalaya#Configure navigation bindings): Configure navigation bindings The default bindings conflict with my git bindings, and to make them similar to orgmode agenda I'm changing the next and previous page: ```lua return { { "pimalaya/himalaya-vim", keys = { { "b", "(himalaya-folder-select-previous-page)", desc = "Go to the previous email page" }, { "f", "(himalaya-folder-select-next-page)", desc = "Go to the next email page" }, }, }, } ``` fix(himalaya#Configure the account bindings): Configure the account bindings ### Configure the account bindings - In the email write view: - `q` or ``: Save and send the email If you want them too set the next config: ```lua -- get the current buffer's full file path local filepath = vim.api.nvim_buf_get_name(0) -- bind `q` and `` to close the window if string.match(filepath, "write") then vim.api.nvim_buf_set_keymap(0, "n", "", ":w:bd", { noremap = true, silent = true }) vim.api.nvim_buf_set_keymap(0, "n", "q", ":w:bd", { noremap = true, silent = true }) else -- in read mode you can't save the buffer vim.api.nvim_buf_set_keymap(0, "n", "q", ":bd", { noremap = true, silent = true }) end ``` fix(himalaya): Refresh the active account ```lua keys = { -- Email refreshing bindings { "r", ":lua FetchEmails()", desc = "Fetch emails" }, }, config = function() function FetchEmails() local account = vim.api.nvim_eval("himalaya#domain#account#current()") vim.notify("Fetching emails for " .. account .. ", please wait...", vim.log.levels.INFO) vim.cmd("redraw") -- Start the mbsync job vim.fn.jobstart("mbsync " .. account, { on_exit = function(_, exit_code, _) if exit_code == 0 then vim.notify("Emails for " .. account .. " fetched successfully!", vim.log.levels.INFO) -- Reload Himalaya only after successful mbsync vim.cmd("Himalaya " .. account) else vim.notify("Failed to fetch emails for " .. account .. ". Check the logs.", vim.log.levels.ERROR) end ``` fix(himalaya#Emails are shown with different timezones): Emails are shown with different timezones Set the account configuration `envelope.list.datetime-local-tz = true` fix(himalaya#Emails are not being copied to Sent ): Emails are not being copied to Sent Set the account configuration `message.send.save-copy = true` feat(linux_snippets#How to debug a CPU Throttling high alert): How to debug a CPU Throttling high alert It may be because it has hit a limit set by kubernetes or docker. If the metrics don't show that it may be because the machine has run out of CPU credits. feat(mobile_verification_toolkit): Introduce mobile verification toolkit [Mobile Verification Toolkit](https://github.com/mvt-project/mvt) (MVT) is a collection of utilities to simplify and automate the process of gathering forensic traces helpful to identify a potential compromise of Android and iOS devices. MVT's capabilities are continuously evolving, but some of its key features include: - Decrypt encrypted iOS backups. - Process and parse records from numerous iOS system and apps databases, logs and system analytics. - Extract installed applications from Android devices. - Extract diagnostic information from Android devices through the adb protocol. - Compare extracted records to a provided list of malicious indicators in STIX2 format. - Generate JSON logs of extracted records, and separate JSON logs of all detected malicious traces. - Generate a unified chronological timeline of extracted records, along with a timeline all detected malicious traces. MVT is a forensic research tool intended for technologists and investigators. Using it requires understanding the basics of forensic analysis and using command-line tools. MVT is not intended for end-user self-assessment. If you are concerned with the security of your device please seek expert assistance. It has been developed and released by the Amnesty International Security Lab in July 2021 in the context of the Pegasus Project along with a technical forensic methodology. It continues to be maintained by Amnesty International and other contributors. MVT supports using public indicators of compromise (IOCs) to scan mobile devices for potential traces of targeting or infection by known spyware campaigns. **Warning** Public indicators of compromise are insufficient to determine that a device is "clean", and not targeted with a particular spyware tool. Reliance on public indicators alone can miss recent forensic traces and give a false sense of security. Reliable and comprehensive digital forensic support and triage requires access to non-public indicators, research and threat intelligence. Such support is available to civil society through [Amnesty International's Security Lab](https://securitylab.amnesty.org/get-help/?c=mvt_docs) or through their forensic partnership with [Access Now’s Digital Security Helpline](https://www.accessnow.org/help/). **How it works** *[Indicators of compromise](https://docs.mvt.re/en/latest/iocs/)* MVT uses [Structured Threat Information Expression (STIX)](https://oasis-open.github.io/cti-documentation/stix/intro.html) files to identify potential traces of compromise. These indicators of compromise are contained in a file with a particular structure of [JSON](https://en.wikipedia.org/wiki/JSON) with the `.stix2` or `.json` extensions. *STIX2 Support* So far MVT implements only a subset of [STIX2 specifications](https://docs.oasis-open.org/cti/stix/v2.1/csprd01/stix-v2.1-csprd01.html): * It only supports checks for one value (such as `[domain-name:value='DOMAIN']`) and not boolean expressions over multiple comparisons * It only supports the following types: `domain-name:value`, `process:name`, `email-addr:value`, `file:name`, `file:path`, `file:hashes.md5`, `file:hashes.sha1`, `file:hashes.sha256`, `app:id`, `configuration-profile:id`, `android-property:name`, `url:value` (but each type will only be checked by a module if it is relevant to the type of data obtained) *Known repositories of STIX2 IOCs* - The [Amnesty International investigations repository](https://github.com/AmnestyTech/investigations) contains STIX-formatted IOCs for: - [Pegasus](https://en.wikipedia.org/wiki/Pegasus_(spyware)) ([STIX2](https://raw.githubusercontent.com/AmnestyTech/investigations/master/2021-07-18_nso/pegasus.stix2)) - [Predator from Cytrox](https://citizenlab.ca/2021/12/pegasus-vs-predator-dissidents-doubly-infected-iphone-reveals-cytrox-mercenary-spyware/) ([STIX2](https://raw.githubusercontent.com/AmnestyTech/investigations/master/2021-12-16_cytrox/cytrox.stix2)) - [An Android Spyware Campaign Linked to a Mercenary Company](https://github.com/AmnestyTech/investigations/tree/master/2023-03-29_android_campaign) ([STIX2](https://github.com/AmnestyTech/investigations/blob/master/2023-03-29_android_campaign/malware.stix2)) - [This repository](https://github.com/Te-k/stalkerware-indicators) contains IOCs for Android stalkerware including [a STIX MVT-compatible file](https://raw.githubusercontent.com/Te-k/stalkerware-indicators/master/generated/stalkerware.stix2). - They are also maintaining [a list of IOCs](https://github.com/mvt-project/mvt-indicators) in STIX format from public spyware campaigns. You can automatically download the latest public indicator files with the command `mvt-ios download-iocs` or `mvt-android download-iocs`. These commands download the list of indicators from the [mvt-indicators](https://github.com/mvt-project/mvt-indicators/blob/main/indicators.yaml) repository and store them in the [appdir](https://pypi.org/project/appdirs/) folder. They are then loaded automatically by MVT. Please [open an issue](https://github.com/mvt-project/mvt/issues/) to suggest new sources of STIX-formatted IOCs. **[Consensual Forensics](https://docs.mvt.re/en/latest/introduction/)** While MVT is capable of extracting and processing various types of very personal records typically found on a mobile phone (such as calls history, SMS and WhatsApp messages, etc.), this is intended to help identify potential attack vectors such as malicious SMS messages leading to exploitation. MVT's purpose is not to facilitate adversarial forensics of non-consenting individuals' devices. The use of MVT and derivative products to extract and/or analyse data originating from devices used by individuals not consenting to the procedure is explicitly prohibited in the [license](license.md). **[Installation](https://docs.mvt.re/en/latest/install/)** **[Using docker](https://docs.mvt.re/en/latest/docker/)** **Not using docker** Before proceeding, please note that MVT requires Python 3.6+ to run. While it should be available on most operating systems, please make sure of that before proceeding. *Dependencies on Linux* First install some basic dependencies that will be necessary to build all required tools: ```bash sudo apt install python3 python3-venv python3-pip sqlite3 libusb-1.0-0 ``` `libusb-1.0-0` is not required if you intend to only use `mvt-ios` and not `mvt-android`. (Recommended) Set up `pipx` For Ubuntu 23.04 or above: ```bash sudo apt install pipx pipx ensurepath ``` For Ubuntu 22.04 or below: ``` python3 -m pip install --user pipx python3 -m pipx ensurepath ``` Other distributions: check for a `pipx` or `python-pipx` via your package manager. When working with Android devices you should additionally install [Android SDK Platform Tools](https://developer.android.com/studio/releases/platform-tools). If you prefer to install a package made available by your distribution of choice, please make sure the version is recent to ensure compatibility with modern Android devices. *Installing ADB* Follow the steps of [android_sdk.md#installation]. *Installing MVT* 1. Install `pipx` following the instructions above for your OS/distribution. Make sure to run `pipx ensurepath` and open a new terminal window. 2. ```bash pipx install mvt ``` You now should have the `mvt-ios` and `mvt-android` utilities installed. If you run into problems with these commands not being found, ensure you have run `pipx ensurepath` and opened a new terminal window. **Usage** **Download the indicators** If you want to check android: ```bash mvt-android download-iocs ``` If you want to check ios: ```bash mvt-ios download-iocs ``` **[Checking an Android mobile](https://docs.mvt.re/en/latest/android/methodology/)** Unfortunately Android devices provide much less observability than their iOS cousins. Android stores very little diagnostic information useful to triage potential compromises, and because of this `mvt-android` capabilities are limited as well. However, not all is lost. First [make sure `adb` works fine](android_sdk.md#connecting-over-usb). Then you can run: ```bash mvt-android check-adb --output . ``` **Check installed Apps** Because malware attacks over Android typically take the form of malicious or backdoored apps, the very first thing you might want to do is to extract and verify all installed Android packages and triage quickly if there are any which stand out as malicious or which might be atypical. While it is out of the scope of this documentation to dwell into details on how to analyze Android apps, MVT does allow to easily and automatically extract information about installed apps, download copies of them, and quickly look them up on services such as [VirusTotal](https://www.virustotal.com). You can [download all the apks](https://docs.mvt.re/en/latest/android/download_apks/) with the next command: ```bash mvt-android download-apks --output /path/to/folder ``` MVT will likely warn you it was unable to download certain installed packages. There is no reason to be alarmed: this is typically expected behavior when MVT attempts to download a system package it has no privileges to access. *Upload apks to VirusTotal* Be warned thought that each apk you upload to VirusTotal can be downloaded by any VirusTotal user, so if you have private apps that may have confidential information stored in the apk you should not use the upload to VirusTotal feature. !!! info "Using VirusTotal" Please note that in order to use VirusTotal lookups you are required to provide your own API key through the `MVT_VT_API_KEY` environment variable. You should also note that VirusTotal enforces strict API usage. Be mindful that MVT might consume your hourly search quota. *Register in VirusTotal* You can register a new account [here](https://www.virustotal.com/gui/join-us). Then get your key from [here](https://www.virustotal.com/gui/my-apikey). The standard free end-user account. It is not tied to any corporate group and so it does not have access to Premium services. You are subjected to the following limitations: - Request rate: 4 lookups / min - Daily quota:500 lookups / day - Monthly quota: 15.5 K lookups / month I've tried to find the [pricing](https://docs.virustotal.com/docs/difference-public-private#price) but got nowhere. Maybe the default limits are enough **Check the device over Android Debug Bridge** Some additional diagnostic information can be extracted from the phone using the [Android Debug Bridge (adb)](https://developer.android.com/studio/command-line/adb). `mvt-android` allows to automatically extract information including [dumpsys](https://developer.android.com/studio/command-line/dumpsys) results, details on installed packages (without download), running processes, presence of root binaries and packages, and more. **[Work with the indicators of compromise](https://docs.mvt.re/en/latest/iocs/)** You can indicate a path to a STIX2 indicators file when checking iPhone backups or filesystem dumps. For example: ```bash mvt-ios check-backup --iocs ~/ios/malware.stix2 --output /path/to/iphone/output /path/to/backup ``` Or, with data from an Android backup: ```bash mvt-android check-backup --iocs ~/iocs/malware.stix2 /path/to/android/backup/ ``` After extracting forensics data from a device, you are also able to compare it with any STIX2 file you indicate: ```bash mvt-ios check-iocs --iocs ~/iocs/malware.stix2 /path/to/iphone/output/ ``` The `--iocs` option can be invoked multiple times to let MVT import multiple STIX2 files at once. For example: ```bash mvt-ios check-backup --iocs ~/iocs/malware1.stix --iocs ~/iocs/malware2.stix2 /path/to/backup ``` It is also possible to load STIX2 files automatically from the environment variable `MVT_STIX2`: ```bash export MVT_STIX2="/home/user/IOC1.stix2:/home/user/IOC2.stix2" ``` **Troubleshooting** **Suspicious org.thoughtcrime.securesms in trace logs** It's the signal app. **Seeing applications of other profiles** `adb` is able to extract the applications of other profiles, so it's able to analyse them. That's why you may see receivers (monitoring telephony state/incoming calls or to intercept incoming SMS messages) in the logs, as the program checks signatures on those apps. **References** - [Source](https://github.com/mvt-project/mvt) - [Docs](https://docs.mvt.re/en/latest/) feat(orgmode#Custom agendas): Custom agendas There is still no easy way to define your [custom agenda views](https://orgmode.org/manual/Custom-Agenda-Views.html), but it looks possible [1](https://github.com/nvim-orgmode/orgmode/issues/478) and [2](https://github.com/nvim-orgmode/orgmode/issues/135). I've made an [ugly fix](https://github.com/nvim-orgmode/orgmode/pull/831) to be able to use it with the `tags` agenda. Until it's solved you can use [my fork](https://github.com/lyz-code/orgmode). To define your custom agenda you can set for example: ```Lua keys = { { "gt", function() require("orgmode.api.agenda").tags({ query = "+today/-INACTIVE-DONE-REJECTED", todo_only = true, }) end, desc = "Open orgmode agenda for today", }, } ``` feat(orgmode): Trigger capture outside vim If you're outside vim you can trigger the capture (if you're using i3) by adding this config: ```bash for_window [title="Capture"] floating enable, resize set 50 ppt 30 ppt bindsym $mod+c exec PATH="$PATH:/home/lyz/.local/bin" kitty --title Capture nvim +"lua require('orgmode').action('capture.prompt')" ``` By pressing `alt+c` a floating terminal will open with the capture template. feat(orgmode#Clocking): Clocking There is partial support for [Clocking work time](https://orgmode.org/manual/Clocking-Work-Time.html). I've changed the default bindings to make them more comfortable: ```lua mappings = { org = { org_clock_in = "ci", org_clock_out = "co", org_clock_cancel = "cx", org_clock_goto = "cj", }, agenda = { org_agenda_clock_in = "i", org_agenda_clock_out = "o", org_agenda_clock_cancel = "x", org_agenda_clock_goto = "cj", }, ``` In theory you can use the key `R` in any agenda to report the time, although I still find it kind of buggy. feat(orgzly#All files give conflicts when nothing has changed): All files give conflicts when nothing has changed Thinks broke bad, so I exported and sent the files I knew had changed since it broke and then I cleared the orgzly by: - Removing the repositories connection (Settings / Sync / Repositories): Hard press (copy the path) and then remove - Removing the database (Settings / Application / Clean local database) - Restarting the app - Adding again the repository - Do a sync feat(rabbitmq): Introduce Rabbitmq [Rabbitmq](https://www.rabbitmq.com/) is a reliable and mature messaging and streaming broker, which is easy to deploy on cloud environments, on-premises, and on your local machine. **Check that it's working** If RabbitMQ's Management Plugin is enabled, you can use a browser or curl to check the status of the server: ```bash curl -i http://:15672/api/overview ``` Replace `` with your RabbitMQ server’s hostname or IP address. The default port for the management interface is 15672. You might need to provide credentials if the management plugin requires authentication: ```bash curl -i -u guest:guest http://:15672/api/overview ``` If successful, you will get a JSON response with information about the server. **References** - [Home](https://www.rabbitmq.com/) fix(vim_plugin_development#Neovim plugin debug): Neovim plugin debug If you use `lazy` your plugins will be installed in `~/.local/share/nvim/lazy/pack/packer/start/`. You can manually edit those files to develop new feature or fix issues on the plugins. fix(vim_plugin_development#Debugging using Snacks): Debugging using Snacks Utility functions you can use in your code. Personally, I have the code below at the top of my `init.lua`: ```lua _G.dd = function(...) Snacks.debug.inspect(...) end _G.bt = function() Snacks.debug.backtrace() end vim.print = _G.dd ``` What this does: - Add a global `dd(...)` you can use anywhere to quickly show a notification with a pretty printed dump of the object(s) with lua treesitter highlighting - Add a global `bt()` to show a notification with a pretty backtrace. - Override Neovim's `vim.print`, which is also used by `:= {something = 123}` ![image](https://github.com/user-attachments/assets/0517aed7-fbd0-42ee-8058-c213410d80a7) --- .gitignore | 2 + docs/abstract_syntax_trees.md | 1 - docs/action_management.md | 1 - docs/activism.md | 1 - docs/activitywatch.md | 1 - docs/adr.md | 1 - docs/aerial_silk.md | 1 - docs/afew.md | 1 - docs/age_of_empires.md | 1 - docs/ai.md | 1 - docs/aiohttp.md | 1 - docs/aleph.md | 1 - docs/alot.md | 1 - docs/amazfit_band_5.md | 1 - docs/analytical_web_reading.md | 1 - docs/android_sdk.md | 84 +++++++ docs/android_tips.md | 1 - docs/anki.md | 1 - docs/anonymous_feedback.md | 1 - docs/ansible_snippets.md | 1 - docs/anticolonialism.md | 1 - docs/antifascism.md | 1 - docs/antifascist_actions.md | 1 - docs/antiracism.md | 1 - docs/antitourism.md | 4 + docs/antitransphobia.md | 1 - docs/architecture/database_architecture.md | 1 - docs/architecture/domain_driven_design.md | 1 - docs/architecture/microservices.md | 1 - .../orm_builder_query_or_raw_sql.md | 1 - docs/architecture/redis.md | 1 - docs/architecture/repository_pattern.md | 1 - docs/architecture/restful_apis.md | 1 - docs/architecture/service_layer_pattern.md | 1 - docs/architecture/solid.md | 1 - docs/argocd.md | 1 - docs/asyncio.md | 1 - docs/authentik.md | 1 - docs/aws_savings_plan.md | 1 - docs/aws_snippets.md | 1 - docs/aws_waf.md | 1 - docs/bash_snippets.md | 1 - docs/bats.md | 1 - docs/bean_sql.md | 1 - docs/beancount.md | 1 - docs/beautifulsoup.md | 1 - docs/beets.md | 1 - docs/book_binding.md | 1 - docs/book_management.md | 1 - docs/bookwyrm.md | 1 - docs/botany/trees.md | 1 - docs/boto3.md | 1 - docs/calendar_management.md | 1 - docs/calendar_versioning.md | 1 - docs/castellano.md | 1 - docs/changelog.md | 1 - docs/chezmoi.md | 1 - docs/chromium.md | 1 - docs/cleaning_tips.md | 1 - docs/code_learning.md | 1 - docs/coding/javascript/javascript.md | 1 - docs/coding/json/json.md | 1 - docs/coding/promql/promql.md | 1 - docs/coding/python/alembic.md | 1 - docs/coding/python/click.md | 1 - docs/coding/python/dash.md | 1 - docs/coding/python/dash_leaflet.md | 1 - docs/coding/python/data_classes.md | 1 - docs/coding/python/deepdiff.md | 1 - docs/coding/python/docstrings.md | 1 - docs/coding/python/factoryboy.md | 1 - docs/coding/python/faker.md | 1 - docs/coding/python/feedparser.md | 1 - docs/coding/python/flask.md | 1 - docs/coding/python/flask_restplus.md | 1 - docs/coding/python/folium.md | 1 - docs/coding/python/gitpython.md | 1 - docs/coding/python/mkdocstrings.md | 1 - docs/coding/python/pandas.md | 1 - docs/coding/python/passpy.md | 1 - docs/coding/python/plotly.md | 1 - docs/coding/python/prompt_toolkit.md | 1 - docs/coding/python/pydantic.md | 1 - docs/coding/python/pydantic_exporting.md | 1 - docs/coding/python/pydantic_functions.md | 1 - docs/coding/python/pydantic_mypy_plugin.md | 1 - docs/coding/python/pydantic_types.md | 1 - docs/coding/python/pydantic_validators.md | 1 - docs/coding/python/pypika.md | 1 - docs/coding/python/pytest.md | 1 - docs/coding/python/pytest_cases.md | 1 - .../python/pytest_parametrized_testing.md | 1 - docs/coding/python/python_anti_patterns.md | 1 - docs/coding/python/python_code_styling.md | 1 - docs/coding/python/python_config_yaml.md | 1 - docs/coding/python/python_project_template.md | 1 - .../python_cli_template.md | 1 - .../python_project_template/python_docker.md | 1 - .../python_project_template/python_docs.md | 1 - .../python_flask_template.md | 1 - .../python_microservices_template.md | 1 - .../python_sqlalchemy_mariadb.md | 1 - .../python_sqlalchemy_without_flask.md | 1 - docs/coding/python/python_snippets.md | 1 - docs/coding/python/redis-py.md | 1 - docs/coding/python/requests_mock.md | 1 - docs/coding/python/rq.md | 1 - docs/coding/python/ruamel_yaml.md | 1 - docs/coding/python/sqlalchemy.md | 1 - docs/coding/python/tinydb.md | 1 - docs/coding/python/type_hints.md | 1 - docs/coding/python/yoyo.md | 1 - docs/coding/react/react.md | 1 - docs/coding/sql/sql.md | 1 - docs/coding/tdd.md | 1 - docs/coding/yaml/yaml.md | 1 - docs/coding_by_voice.md | 1 - docs/collaborating_tools.md | 1 - docs/cone.md | 1 - docs/configuration_management.md | 1 - docs/contact.md | 1 - docs/cooking.md | 1 - docs/cooking_basics.md | 1 - docs/cooking_software.md | 1 - docs/copier.md | 1 - docs/cpu.md | 1 - docs/css.md | 1 - docs/cypress.md | 1 - docs/dancing/cutting_shapes_basics.md | 1 - docs/dancing/rave_dances.md | 1 - docs/dancing/shuffle_basics.md | 1 - docs/dancing/shuffle_kicks.md | 1 - docs/dancing/shuffle_spins.md | 1 - .../recommender_systems.md | 1 - docs/detox.md | 1 - docs/devops/alex.md | 1 - docs/devops/api_management.md | 1 - docs/devops/aws/aws.md | 1 - docs/devops/aws/eks.md | 1 - docs/devops/aws/iam/iam.md | 1 - docs/devops/aws/iam/iam_commands.md | 1 - docs/devops/aws/iam/iam_debug.md | 1 - docs/devops/aws/s3.md | 1 - docs/devops/aws/security_groups.md | 1 - docs/devops/bandit.md | 1 - docs/devops/black.md | 1 - docs/devops/ci.md | 1 - docs/devops/devops.md | 1 - docs/devops/flake8.md | 1 - docs/devops/helm/helm.md | 1 - docs/devops/helm/helm_commands.md | 1 - docs/devops/helm/helm_installation.md | 1 - docs/devops/helm/helm_secrets.md | 1 - docs/devops/helmfile.md | 1 - docs/devops/jwt.md | 1 - docs/devops/kong/kong.md | 1 - docs/devops/kubectl/kubectl.md | 1 - docs/devops/kubectl/kubectl_commands.md | 1 - docs/devops/kubectl/kubectl_installation.md | 1 - docs/devops/kubernetes/kubernetes.md | 1 - .../kubernetes/kubernetes_annotations.md | 1 - .../kubernetes/kubernetes_architecture.md | 1 - .../kubernetes_cluster_autoscaler.md | 1 - .../devops/kubernetes/kubernetes_dashboard.md | 1 - .../kubernetes/kubernetes_deployments.md | 1 - .../kubernetes/kubernetes_external_dns.md | 1 - docs/devops/kubernetes/kubernetes_hpa.md | 1 - docs/devops/kubernetes/kubernetes_ingress.md | 1 - .../kubernetes_ingress_controller.md | 1 - docs/devops/kubernetes/kubernetes_jobs.md | 1 - docs/devops/kubernetes/kubernetes_labels.md | 1 - .../kubernetes/kubernetes_metric_server.md | 1 - .../kubernetes/kubernetes_namespaces.md | 1 - .../kubernetes/kubernetes_networking.md | 1 - .../devops/kubernetes/kubernetes_operators.md | 1 - docs/devops/kubernetes/kubernetes_pods.md | 1 - .../kubernetes/kubernetes_replicasets.md | 1 - docs/devops/kubernetes/kubernetes_services.md | 1 - .../kubernetes/kubernetes_storage_driver.md | 1 - docs/devops/kubernetes/kubernetes_tools.md | 1 - .../kubernetes_vertical_pod_autoscaler.md | 1 - docs/devops/kubernetes/kubernetes_volumes.md | 1 - docs/devops/markdownlint.md | 1 - docs/devops/mypy.md | 1 - docs/devops/pip_tools.md | 1 - docs/devops/prometheus/alertmanager.md | 1 - docs/devops/prometheus/blackbox_exporter.md | 1 - .../prometheus/instance_sizing_analysis.md | 1 - docs/devops/prometheus/node_exporter.md | 1 - docs/devops/prometheus/prometheus.md | 1 - .../prometheus/prometheus_architecture.md | 1 - .../prometheus/prometheus_installation.md | 1 - docs/devops/prometheus/prometheus_operator.md | 1 - .../prometheus/prometheus_troubleshooting.md | 1 - docs/devops/proselint.md | 1 - docs/devops/safety.md | 1 - docs/devops/write_good.md | 1 - docs/devops/yamllint.md | 1 - docs/diccionario_galego.md | 1 - docs/diffview.md | 1 - docs/digital_garden.md | 3 - docs/dino.md | 1 - docs/diversity.md | 1 - docs/docker.md | 1 - docs/documentation.md | 1 - docs/dotdrop.md | 1 - docs/dotfiles.md | 1 - docs/drawing/drawing.md | 1 - docs/drawing/exercise_pool.md | 1 - docs/drone.md | 1 - docs/dunst.md | 1 - docs/dynamicdns.md | 1 - docs/ecc.md | 1 - docs/elastic_security.md | 1 - docs/elasticsearch_exporter.md | 1 - docs/email_automation.md | 1 - docs/email_management.md | 1 - docs/emojis.md | 1 - docs/environmentalism.md | 1 - docs/fastapi.md | 1 - docs/fava_dashboards.md | 1 - docs/feminism/privileges.md | 1 - docs/ferdium.md | 1 - docs/ffmpeg.md | 1 - docs/finnix.md | 1 - docs/fitness_band.md | 1 - docs/flakeheaven.md | 1 - docs/food_management.md | 1 - docs/forgejo.md | 1 - docs/forking_this_wiki.md | 1 - docs/free_knowledge.md | 1 - docs/free_software.md | 1 - docs/frontend_development.md | 1 - docs/frontend_learning.md | 1 - docs/fun.md | 1 - docs/gadgetbridge.md | 1 - docs/gajim.md | 1 - docs/galego.md | 1 - docs/game_theory.md | 1 - docs/gancio.md | 1 - docs/gardening.md | 1 - docs/gettext.md | 1 - docs/gh.md | 1 - docs/git.md | 1 - docs/gitea.md | 1 - docs/gitsigns.md | 1 - docs/goaccess.md | 1 - docs/goodconf.md | 1 - docs/gotify.md | 1 - docs/gpu.md | 1 - docs/grafana.md | 1 - docs/grapheneos.md | 1 - docs/graylog.md | 1 - docs/grocy_management.md | 2 +- docs/gtd.md | 1 - docs/habit_management.md | 1 - docs/happycow.md | 1 - docs/hard_drive_health.md | 1 - docs/helm_git.md | 1 - docs/himalaya.md | 57 ++++- docs/home-manager.md | 1 - docs/how_to_code.md | 1 - docs/html.md | 1 - docs/husboard.md | 1 - docs/i3wm.md | 1 - docs/ics.md | 1 - docs/icsx5.md | 1 - docs/immich.md | 1 - docs/index.md | 1 - docs/instant_messages_management.md | 1 - docs/interruption_management.md | 1 - docs/issues.md | 1 - docs/javascript_snippets.md | 1 - docs/jellyfin.md | 1 - docs/journald.md | 1 - docs/kag.md | 1 - docs/khal.md | 1 - docs/kitty.md | 1 - docs/kodi.md | 1 - docs/koel.md | 1 - docs/krew.md | 1 - docs/ksniff.md | 1 - docs/kubernetes_debugging.md | 1 - docs/laboral.md | 1 - docs/latex.md | 1 - docs/lazy_loading.md | 1 - docs/lazyvim.md | 1 - docs/letsencrypt.md | 1 - docs/libreelec.md | 1 - docs/libretube.md | 1 - docs/life_logging.md | 1 - docs/life_management.md | 1 - docs/life_review.md | 40 ---- docs/lindy.md | 1 - docs/linux.md | 1 - docs/linux/brew.md | 1 - docs/linux/cookiecutter.md | 1 - docs/linux/cruft.md | 1 - docs/linux/elasticsearch.md | 1 - docs/linux/fail2ban.md | 1 - docs/linux/google_chrome.md | 1 - docs/linux/haproxy.md | 1 - docs/linux/hypothesis.md | 1 - docs/linux/luks/luks.md | 1 - docs/linux/mkdocs.md | 1 - docs/linux/monica.md | 1 - docs/linux/nodejs.md | 1 - docs/linux/rm.md | 1 - docs/linux/syncthing.md | 1 - docs/linux/vim/vim_plugins.md | 1 - docs/linux/wireguard.md | 1 - docs/linux/zfs.md | 1 - docs/linux/zip.md | 1 - docs/linux_resilience.md | 1 - docs/linux_snippets.md | 5 +- docs/logql.md | 1 - docs/loki.md | 1 - docs/lua.md | 1 - docs/luasnip.md | 1 - docs/luddites.md | 1 - docs/magic_keys.md | 1 - docs/maison.md | 1 - docs/map_management.md | 1 - docs/math.md | 1 - docs/matrix.md | 1 - docs/matrix_highlight.md | 1 - docs/mbsync.md | 1 - docs/mdformat.md | 1 - docs/mediatracker.md | 1 - docs/meditation.md | 1 - docs/memoria_historica.md | 1 - docs/memtest.md | 1 - docs/mentoring.md | 1 - docs/mermaidjs.md | 1 - docs/mizu.md | 1 - docs/mobile_verification_toolkit.md | 212 ++++++++++++++++++ docs/molecule.md | 1 - docs/money_management.md | 1 - docs/monitoring_comparison.md | 1 - docs/moonlight.md | 1 - docs/mopidy.md | 1 - docs/music_management.md | 1 - docs/musicbrainz.md | 1 - docs/nas.md | 1 - docs/neotree.md | 1 - docs/networkx.md | 1 - docs/news_management.md | 1 - docs/newsletter/0_newsletter_index.md | 1 - docs/newsletter/2020.md | 1 - docs/newsletter/2020_07.md | 1 - docs/newsletter/2020_07_14.md | 1 - docs/newsletter/2020_07_15.md | 1 - docs/newsletter/2020_07_16.md | 1 - docs/newsletter/2020_07_17.md | 1 - docs/newsletter/2020_07_20.md | 1 - docs/newsletter/2020_08.md | 1 - docs/newsletter/2020_08_06.md | 1 - docs/newsletter/2020_08_07.md | 1 - docs/newsletter/2020_08_19.md | 1 - docs/newsletter/2020_08_20.md | 1 - docs/newsletter/2020_08_26.md | 1 - docs/newsletter/2020_08_27.md | 1 - docs/newsletter/2020_08_28.md | 1 - docs/newsletter/2020_08_29.md | 1 - docs/newsletter/2020_08_31.md | 1 - docs/newsletter/2020_09.md | 1 - docs/newsletter/2020_09_01.md | 1 - docs/newsletter/2020_09_02.md | 1 - docs/newsletter/2020_09_04.md | 1 - docs/newsletter/2020_09_07.md | 1 - docs/newsletter/2020_09_08.md | 1 - docs/newsletter/2020_09_10.md | 1 - docs/newsletter/2020_09_16.md | 1 - docs/newsletter/2020_09_21.md | 1 - docs/newsletter/2020_09_25.md | 1 - docs/newsletter/2020_09_30.md | 1 - docs/newsletter/2020_10.md | 1 - docs/newsletter/2020_10_01.md | 1 - docs/newsletter/2020_10_08.md | 1 - docs/newsletter/2020_10_09.md | 1 - docs/newsletter/2020_10_10.md | 1 - docs/newsletter/2020_10_15.md | 1 - docs/newsletter/2020_10_16.md | 1 - docs/newsletter/2020_10_19.md | 1 - docs/newsletter/2020_10_22.md | 1 - docs/newsletter/2020_10_23.md | 1 - docs/newsletter/2020_10_26.md | 1 - docs/newsletter/2020_10_29.md | 1 - docs/newsletter/2020_11.md | 1 - docs/newsletter/2020_11_07.md | 1 - docs/newsletter/2020_11_11.md | 1 - docs/newsletter/2020_11_12.md | 1 - docs/newsletter/2020_11_13.md | 1 - docs/newsletter/2020_11_18.md | 1 - docs/newsletter/2020_11_19.md | 1 - docs/newsletter/2020_11_20.md | 1 - docs/newsletter/2020_11_24.md | 1 - docs/newsletter/2020_11_25.md | 1 - docs/newsletter/2020_12.md | 1 - docs/newsletter/2020_12_01.md | 1 - docs/newsletter/2020_12_03.md | 1 - docs/newsletter/2020_12_07.md | 1 - docs/newsletter/2020_12_10.md | 1 - docs/newsletter/2020_12_11.md | 1 - docs/newsletter/2020_12_15.md | 1 - docs/newsletter/2020_12_16.md | 1 - docs/newsletter/2020_12_18.md | 1 - docs/newsletter/2020_12_21.md | 1 - docs/newsletter/2020_12_27.md | 1 - docs/newsletter/2020_12_29.md | 1 - docs/newsletter/2020_12_30.md | 1 - docs/newsletter/2020_w28.md | 1 - docs/newsletter/2020_w29.md | 1 - docs/newsletter/2020_w31.md | 1 - docs/newsletter/2020_w33.md | 1 - docs/newsletter/2020_w34.md | 1 - docs/newsletter/2020_w35.md | 1 - docs/newsletter/2020_w36.md | 1 - docs/newsletter/2020_w37.md | 1 - docs/newsletter/2020_w38.md | 1 - docs/newsletter/2020_w39.md | 1 - docs/newsletter/2020_w40.md | 1 - docs/newsletter/2020_w41.md | 1 - docs/newsletter/2020_w42.md | 1 - docs/newsletter/2020_w43.md | 1 - docs/newsletter/2020_w44.md | 1 - docs/newsletter/2020_w45.md | 1 - docs/newsletter/2020_w46.md | 1 - docs/newsletter/2020_w47.md | 1 - docs/newsletter/2020_w48.md | 1 - docs/newsletter/2020_w49.md | 1 - docs/newsletter/2020_w50.md | 1 - docs/newsletter/2020_w51.md | 1 - docs/newsletter/2020_w52.md | 1 - docs/newsletter/2021.md | 1 - docs/newsletter/2021_01.md | 1 - docs/newsletter/2021_01_05.md | 1 - docs/newsletter/2021_01_20.md | 1 - docs/newsletter/2021_01_21.md | 1 - docs/newsletter/2021_01_22.md | 1 - docs/newsletter/2021_01_26.md | 1 - docs/newsletter/2021_01_29.md | 1 - docs/newsletter/2021_01_30.md | 1 - docs/newsletter/2021_02.md | 1 - docs/newsletter/2021_02_02.md | 1 - docs/newsletter/2021_02_04.md | 1 - docs/newsletter/2021_02_05.md | 1 - docs/newsletter/2021_02_08.md | 1 - docs/newsletter/2021_02_09.md | 1 - docs/newsletter/2021_02_10.md | 1 - docs/newsletter/2021_02_12.md | 1 - docs/newsletter/2021_02_22.md | 1 - docs/newsletter/2021_02_23.md | 1 - docs/newsletter/2021_02_25.md | 1 - docs/newsletter/2021_02_26.md | 1 - docs/newsletter/2021_02_28.md | 1 - docs/newsletter/2021_03.md | 1 - docs/newsletter/2021_03_02.md | 1 - docs/newsletter/2021_03_03.md | 1 - docs/newsletter/2021_03_04.md | 1 - docs/newsletter/2021_03_10.md | 1 - docs/newsletter/2021_03_13.md | 1 - docs/newsletter/2021_03_18.md | 1 - docs/newsletter/2021_03_19.md | 1 - docs/newsletter/2021_03_26.md | 1 - docs/newsletter/2021_03_29.md | 1 - docs/newsletter/2021_03_30.md | 1 - docs/newsletter/2021_04.md | 1 - docs/newsletter/2021_04_05.md | 1 - docs/newsletter/2021_04_06.md | 1 - docs/newsletter/2021_04_07.md | 1 - docs/newsletter/2021_04_08.md | 1 - docs/newsletter/2021_04_10.md | 1 - docs/newsletter/2021_04_13.md | 1 - docs/newsletter/2021_04_14.md | 1 - docs/newsletter/2021_04_15.md | 1 - docs/newsletter/2021_04_19.md | 1 - docs/newsletter/2021_04_20.md | 1 - docs/newsletter/2021_04_23.md | 1 - docs/newsletter/2021_04_24.md | 1 - docs/newsletter/2021_04_25.md | 1 - docs/newsletter/2021_04_26.md | 1 - docs/newsletter/2021_05.md | 1 - docs/newsletter/2021_05_01.md | 1 - docs/newsletter/2021_05_11.md | 1 - docs/newsletter/2021_05_14.md | 1 - docs/newsletter/2021_05_17.md | 1 - docs/newsletter/2021_05_20.md | 1 - docs/newsletter/2021_05_24.md | 1 - docs/newsletter/2021_05_25.md | 1 - docs/newsletter/2021_05_26.md | 1 - docs/newsletter/2021_05_27.md | 1 - docs/newsletter/2021_06.md | 1 - docs/newsletter/2021_06_01.md | 1 - docs/newsletter/2021_06_03.md | 1 - docs/newsletter/2021_06_04.md | 1 - docs/newsletter/2021_06_07.md | 1 - docs/newsletter/2021_06_09.md | 1 - docs/newsletter/2021_06_11.md | 1 - docs/newsletter/2021_06_15.md | 1 - docs/newsletter/2021_06_16.md | 1 - docs/newsletter/2021_06_22.md | 1 - docs/newsletter/2021_06_25.md | 1 - docs/newsletter/2021_06_28.md | 1 - docs/newsletter/2021_06_29.md | 1 - docs/newsletter/2021_07.md | 1 - docs/newsletter/2021_07_12.md | 1 - docs/newsletter/2021_07_15.md | 1 - docs/newsletter/2021_07_20.md | 1 - docs/newsletter/2021_07_30.md | 1 - docs/newsletter/2021_08.md | 1 - docs/newsletter/2021_08_04.md | 1 - docs/newsletter/2021_08_06.md | 1 - docs/newsletter/2021_08_12.md | 1 - docs/newsletter/2021_08_13.md | 1 - docs/newsletter/2021_08_20.md | 1 - docs/newsletter/2021_08_23.md | 1 - docs/newsletter/2021_08_25.md | 1 - docs/newsletter/2021_08_26.md | 1 - docs/newsletter/2021_09.md | 1 - docs/newsletter/2021_09_25.md | 1 - docs/newsletter/2021_09_28.md | 1 - docs/newsletter/2021_10.md | 1 - docs/newsletter/2021_10_01.md | 1 - docs/newsletter/2021_10_05.md | 1 - docs/newsletter/2021_10_08.md | 1 - docs/newsletter/2021_10_15.md | 1 - docs/newsletter/2021_10_25.md | 1 - docs/newsletter/2021_10_28.md | 1 - docs/newsletter/2021_11.md | 1 - docs/newsletter/2021_11_05.md | 1 - docs/newsletter/2021_11_15.md | 1 - docs/newsletter/2021_11_17.md | 1 - docs/newsletter/2021_11_18.md | 1 - docs/newsletter/2021_11_19.md | 1 - docs/newsletter/2021_11_27.md | 1 - docs/newsletter/2021_12.md | 1 - docs/newsletter/2021_12_03.md | 1 - docs/newsletter/2021_12_07.md | 1 - docs/newsletter/2021_12_08.md | 1 - docs/newsletter/2021_12_09.md | 1 - docs/newsletter/2021_12_17.md | 1 - docs/newsletter/2021_12_29.md | 1 - docs/newsletter/2021_w01.md | 1 - docs/newsletter/2021_w03.md | 1 - docs/newsletter/2021_w04.md | 1 - docs/newsletter/2021_w05.md | 1 - docs/newsletter/2021_w06.md | 1 - docs/newsletter/2021_w08.md | 1 - docs/newsletter/2021_w09.md | 1 - docs/newsletter/2021_w10.md | 1 - docs/newsletter/2021_w11.md | 1 - docs/newsletter/2021_w12.md | 1 - docs/newsletter/2021_w13.md | 1 - docs/newsletter/2021_w14.md | 1 - docs/newsletter/2021_w15.md | 1 - docs/newsletter/2021_w16.md | 1 - docs/newsletter/2021_w17.md | 1 - docs/newsletter/2021_w19.md | 1 - docs/newsletter/2021_w20.md | 1 - docs/newsletter/2021_w21.md | 1 - docs/newsletter/2021_w22.md | 1 - docs/newsletter/2021_w23.md | 1 - docs/newsletter/2021_w24.md | 1 - docs/newsletter/2021_w25.md | 1 - docs/newsletter/2021_w26.md | 1 - docs/newsletter/2021_w28.md | 1 - docs/newsletter/2021_w29.md | 1 - docs/newsletter/2021_w30.md | 1 - docs/newsletter/2021_w31.md | 1 - docs/newsletter/2021_w32.md | 1 - docs/newsletter/2021_w33.md | 1 - docs/newsletter/2021_w34.md | 1 - docs/newsletter/2021_w38.md | 1 - docs/newsletter/2021_w39.md | 1 - docs/newsletter/2021_w40.md | 1 - docs/newsletter/2021_w41.md | 1 - docs/newsletter/2021_w43.md | 1 - docs/newsletter/2021_w44.md | 1 - docs/newsletter/2021_w46.md | 1 - docs/newsletter/2021_w47.md | 1 - docs/newsletter/2021_w48.md | 1 - docs/newsletter/2021_w49.md | 1 - docs/newsletter/2021_w50.md | 1 - docs/newsletter/2021_w52.md | 1 - docs/newsletter/2022.md | 1 - docs/newsletter/2022_01.md | 1 - docs/newsletter/2022_01_19.md | 1 - docs/newsletter/2022_01_31.md | 1 - docs/newsletter/2022_02.md | 1 - docs/newsletter/2022_02_03.md | 1 - docs/newsletter/2022_02_09.md | 1 - docs/newsletter/2022_02_17.md | 1 - docs/newsletter/2022_03.md | 1 - docs/newsletter/2022_03_04.md | 1 - docs/newsletter/2022_03_07.md | 1 - docs/newsletter/2022_03_10.md | 1 - docs/newsletter/2022_03_14.md | 1 - docs/newsletter/2022_03_15.md | 1 - docs/newsletter/2022_03_16.md | 1 - docs/newsletter/2022_03_25.md | 1 - docs/newsletter/2022_03_28.md | 1 - docs/newsletter/2022_03_30.md | 1 - docs/newsletter/2022_04.md | 1 - docs/newsletter/2022_04_05.md | 1 - docs/newsletter/2022_04_08.md | 1 - docs/newsletter/2022_04_11.md | 1 - docs/newsletter/2022_04_21.md | 1 - docs/newsletter/2022_04_24.md | 1 - docs/newsletter/2022_04_25.md | 1 - docs/newsletter/2022_04_27.md | 1 - docs/newsletter/2022_04_29.md | 1 - docs/newsletter/2022_05.md | 1 - docs/newsletter/2022_05_13.md | 1 - docs/newsletter/2022_05_16.md | 1 - docs/newsletter/2022_05_18.md | 1 - docs/newsletter/2022_05_24.md | 1 - docs/newsletter/2022_06.md | 1 - docs/newsletter/2022_06_01.md | 1 - docs/newsletter/2022_06_08.md | 1 - docs/newsletter/2022_06_17.md | 1 - docs/newsletter/2022_07.md | 1 - docs/newsletter/2022_07_04.md | 1 - docs/newsletter/2022_07_08.md | 1 - docs/newsletter/2022_08.md | 1 - docs/newsletter/2022_08_01.md | 1 - docs/newsletter/2022_08_02.md | 1 - docs/newsletter/2022_08_12.md | 1 - docs/newsletter/2022_08_28.md | 1 - docs/newsletter/2022_08_30.md | 1 - docs/newsletter/2022_08_31.md | 1 - docs/newsletter/2022_09.md | 1 - docs/newsletter/2022_09_04.md | 1 - docs/newsletter/2022_09_05.md | 1 - docs/newsletter/2022_09_12.md | 1 - docs/newsletter/2022_10.md | 1 - docs/newsletter/2022_10_07.md | 1 - docs/newsletter/2022_10_14.md | 1 - docs/newsletter/2022_10_16.md | 1 - docs/newsletter/2022_10_18.md | 1 - docs/newsletter/2022_10_27.md | 1 - docs/newsletter/2022_11.md | 1 - docs/newsletter/2022_11_04.md | 1 - docs/newsletter/2022_11_08.md | 1 - docs/newsletter/2022_11_11.md | 1 - docs/newsletter/2022_11_16.md | 1 - docs/newsletter/2022_11_24.md | 1 - docs/newsletter/2022_11_25.md | 1 - docs/newsletter/2022_11_29.md | 1 - docs/newsletter/2022_12.md | 1 - docs/newsletter/2022_12_01.md | 1 - docs/newsletter/2022_12_14.md | 1 - docs/newsletter/2022_12_15.md | 1 - docs/newsletter/2022_12_27.md | 1 - docs/newsletter/2022_12_28.md | 1 - docs/newsletter/2022_12_30.md | 1 - docs/newsletter/2022_w03.md | 1 - docs/newsletter/2022_w05.md | 1 - docs/newsletter/2022_w06.md | 1 - docs/newsletter/2022_w07.md | 1 - docs/newsletter/2022_w09.md | 1 - docs/newsletter/2022_w10.md | 1 - docs/newsletter/2022_w11.md | 1 - docs/newsletter/2022_w12.md | 1 - docs/newsletter/2022_w13.md | 1 - docs/newsletter/2022_w14.md | 1 - docs/newsletter/2022_w15.md | 1 - docs/newsletter/2022_w16.md | 1 - docs/newsletter/2022_w17.md | 1 - docs/newsletter/2022_w19.md | 1 - docs/newsletter/2022_w20.md | 1 - docs/newsletter/2022_w21.md | 1 - docs/newsletter/2022_w22.md | 1 - docs/newsletter/2022_w23.md | 1 - docs/newsletter/2022_w24.md | 1 - docs/newsletter/2022_w27.md | 1 - docs/newsletter/2022_w31.md | 1 - docs/newsletter/2022_w32.md | 1 - docs/newsletter/2022_w34.md | 1 - docs/newsletter/2022_w35.md | 1 - docs/newsletter/2022_w36.md | 1 - docs/newsletter/2022_w37.md | 1 - docs/newsletter/2022_w40.md | 1 - docs/newsletter/2022_w41.md | 1 - docs/newsletter/2022_w42.md | 1 - docs/newsletter/2022_w43.md | 1 - docs/newsletter/2022_w44.md | 1 - docs/newsletter/2022_w45.md | 1 - docs/newsletter/2022_w46.md | 1 - docs/newsletter/2022_w47.md | 1 - docs/newsletter/2022_w48.md | 1 - docs/newsletter/2022_w50.md | 1 - docs/newsletter/2022_w52.md | 1 - docs/newsletter/2023.md | 1 - docs/newsletter/2023_01.md | 1 - docs/newsletter/2023_01_11.md | 1 - docs/newsletter/2023_01_12.md | 1 - docs/newsletter/2023_02.md | 1 - docs/newsletter/2023_02_06.md | 1 - docs/newsletter/2023_02_13.md | 1 - docs/newsletter/2023_02_14.md | 1 - docs/newsletter/2023_02_26.md | 1 - docs/newsletter/2023_03.md | 1 - docs/newsletter/2023_03_02.md | 1 - docs/newsletter/2023_03_17.md | 1 - docs/newsletter/2023_03_18.md | 1 - docs/newsletter/2023_03_28.md | 1 - docs/newsletter/2023_04.md | 1 - docs/newsletter/2023_04_03.md | 1 - docs/newsletter/2023_04_05.md | 1 - docs/newsletter/2023_05.md | 1 - docs/newsletter/2023_05_05.md | 1 - docs/newsletter/2023_05_24.md | 1 - docs/newsletter/2023_06.md | 1 - docs/newsletter/2023_06_12.md | 1 - docs/newsletter/2023_06_16.md | 1 - docs/newsletter/2023_07.md | 1 - docs/newsletter/2023_07_02.md | 1 - docs/newsletter/2023_07_03.md | 1 - docs/newsletter/2023_08.md | 1 - docs/newsletter/2023_08_15.md | 1 - docs/newsletter/2023_09.md | 1 - docs/newsletter/2023_09_07.md | 1 - docs/newsletter/2023_09_25.md | 1 - docs/newsletter/2023_10.md | 1 - docs/newsletter/2023_10_19.md | 1 - docs/newsletter/2023_11.md | 1 - docs/newsletter/2023_11_10.md | 1 - docs/newsletter/2023_11_27.md | 1 - docs/newsletter/2023_w02.md | 1 - docs/newsletter/2023_w06.md | 1 - docs/newsletter/2023_w07.md | 1 - docs/newsletter/2023_w08.md | 1 - docs/newsletter/2023_w09.md | 1 - docs/newsletter/2023_w11.md | 1 - docs/newsletter/2023_w13.md | 1 - docs/newsletter/2023_w14.md | 1 - docs/newsletter/2023_w18.md | 1 - docs/newsletter/2023_w21.md | 1 - docs/newsletter/2023_w24.md | 1 - docs/newsletter/2023_w26.md | 1 - docs/newsletter/2023_w27.md | 1 - docs/newsletter/2023_w33.md | 1 - docs/newsletter/2023_w36.md | 1 - docs/newsletter/2023_w39.md | 1 - docs/newsletter/2023_w42.md | 1 - docs/newsletter/2023_w45.md | 1 - docs/newsletter/2023_w48.md | 1 - docs/newsletter/2024_01.md | 1 - docs/newsletter/2024_01_08.md | 1 - docs/newsletter/2024_01_12.md | 1 - docs/newsletter/2024_01_15.md | 1 - docs/newsletter/2024_01_23.md | 1 - docs/newsletter/2024_02.md | 1 - docs/newsletter/2024_02_05.md | 1 - docs/newsletter/2024_02_12.md | 1 - docs/newsletter/2024_03.md | 2 - docs/newsletter/2024_03_05.md | 1 - docs/newsletter/2024_03_08.md | 2 - docs/newsletter/2024_03_26.md | 1 - docs/newsletter/2024_04.md | 1 - docs/newsletter/2024_04_04.md | 1 - docs/newsletter/2024_04_09.md | 1 - docs/newsletter/2024_04_17.md | 1 - docs/newsletter/2024_05.md | 1 - docs/newsletter/2024_05_13.md | 1 - docs/newsletter/2024_w02.md | 1 - docs/newsletter/2024_w03.md | 1 - docs/newsletter/2024_w04.md | 1 - docs/newsletter/2024_w06.md | 1 - docs/newsletter/2024_w07.md | 1 - docs/newsletter/2024_w10.md | 2 - docs/newsletter/2024_w13.md | 1 - docs/newsletter/2024_w14.md | 1 - docs/newsletter/2024_w15.md | 1 - docs/newsletter/2024_w16.md | 1 - docs/newsletter/2024_w20.md | 1 - docs/nix.md | 1 - docs/notmuch.md | 1 - docs/ombi.md | 1 - docs/openproject.md | 1 - docs/oracle_database.md | 1 - docs/org_rw.md | 1 - docs/orgmode.md | 55 ++++- docs/orgzly.md | 11 +- docs/origami.md | 1 - docs/osmand.md | 1 - docs/outrun.md | 1 - docs/park_programming.md | 1 - docs/parsers.md | 1 - docs/pass.md | 1 - docs/pdm.md | 1 - docs/pedal_pc.md | 1 - docs/peek.md | 1 - docs/personal_interruption_analysis.md | 1 - docs/pexpect.md | 1 - docs/photo_self_hosted.md | 1 - docs/pilates.md | 1 - docs/pipenv.md | 1 - docs/pipx.md | 1 - docs/postgres.md | 1 - docs/postgres_operators.md | 1 - docs/process_automation.md | 1 - docs/process_exporter.md | 1 - docs/profanity.md | 1 - docs/projects.md | 1 - .../prompt_toolkit_fullscreen_applications.md | 1 - docs/prompt_toolkit_repl.md | 1 - docs/promtail.md | 1 - docs/psu.md | 1 - docs/psychology.md | 1 - docs/psychology/the_xy_problem.md | 1 - docs/psycopg2.md | 1 - docs/pydantic_factories.md | 1 - docs/pyment.md | 1 - docs/pytelegrambotapi.md | 1 - docs/pytest-xprocess.md | 1 - docs/pytest_httpserver.md | 1 - docs/python-prometheus.md | 1 - docs/python-telegram.md | 1 - docs/python.md | 1 - docs/python_elasticsearch.md | 1 - docs/python_gnupg.md | 1 - docs/python_internationalization.md | 1 - docs/python_jinja2.md | 1 - docs/python_mysql.md | 1 - docs/python_optimization.md | 1 - docs/python_package_management.md | 1 - docs/python_plugin_system.md | 1 - docs/python_poetry.md | 1 - docs/python_profiling.md | 1 - docs/python_properties.md | 1 - docs/python_protocols.md | 1 - docs/python_sh.md | 1 - docs/python_systemd.md | 1 - docs/python_vlc.md | 1 - docs/pythonping.md | 1 - docs/qbittorrent.md | 1 - docs/questionary.md | 1 - docs/qwik.md | 1 - docs/rabbitmq.md | 21 ++ docs/ram.md | 1 - docs/rasdaemon.md | 1 - docs/redox.md | 1 - docs/refinement_template.md | 1 - docs/regicide.md | 1 - docs/relationship_management.md | 1 - docs/remote_work.md | 1 - docs/renovate.md | 1 - docs/requests.md | 1 - docs/retroarch.md | 1 - docs/rich.md | 1 - docs/roadmap_adjustment.md | 137 ++++++++--- docs/roadmap_tools.md | 1 - docs/rocketchat.md | 1 - docs/rofi.md | 1 - docs/route_management.md | 1 - docs/rss.md | 1 - docs/rtorrent.md | 1 - docs/sanoid.md | 1 - docs/scrum.md | 1 - docs/sed.md | 1 - docs/seedvault.md | 1 - docs/selenium.md | 1 - docs/semantic_versioning.md | 1 - docs/shag.md | 1 - docs/shellcheck.md | 1 - docs/siem.md | 1 - docs/signal.md | 1 - docs/sister_rosetta_tharpe.md | 1 - docs/sleep.md | 1 - docs/spaced_repetition.md | 1 - docs/speech_recognition.md | 1 - docs/sponsor.md | 1 - docs/sqlite.md | 1 - docs/sqlite3.md | 1 - docs/storage.md | 1 - docs/strategy.md | 1 - docs/sudokus.md | 1 - docs/systems_thinking.md | 1 - docs/tahoe.md | 1 - docs/tails.md | 1 - docs/talkey.md | 1 - docs/teeth.md | 1 - docs/teeth_deep_cleaning.md | 1 - docs/telescope.md | 1 - docs/tenacity.md | 1 - docs/terraform.md | 1 - docs/time_management.md | 1 - docs/time_management_abstraction_levels.md | 8 - docs/tool_management.md | 1 - docs/torrents.md | 1 - docs/tridactyl.md | 1 - docs/typer.md | 1 - docs/unpackerr.md | 1 - docs/use_warnings.md | 1 - docs/vdirsyncer.md | 1 - docs/velero.md | 1 - docs/versioning.md | 1 - docs/vial.md | 1 - docs/vim.md | 1 - docs/vim_autosave.md | 1 - docs/vim_coding_plugins.md | 1 - docs/vim_config.md | 1 - docs/vim_dap.md | 1 - docs/vim_editor_plugins.md | 1 - docs/vim_email.md | 1 - docs/vim_foldings.md | 1 - docs/vim_git.md | 1 - docs/vim_keymaps.md | 1 - docs/vim_lsp.md | 1 - docs/vim_markdown.md | 1 - docs/vim_movement.md | 1 - docs/vim_packer.md | 1 - docs/vim_plugin_development.md | 31 ++- docs/vim_plugin_managers.md | 1 - docs/vim_snippets.md | 1 - docs/vim_spelling.md | 1 - docs/vim_tabs.md | 1 - docs/vim_testing.md | 1 - docs/vim_treesitter.md | 1 - docs/vim_troubleshooting.md | 1 - docs/vim_vs_neovim.md | 1 - docs/virtual_assistant.md | 1 - docs/vite.md | 1 - docs/vitest.md | 1 - docs/vscodium.md | 1 - docs/vue_snippets.md | 1 - docs/vuejs.md | 1 - docs/vuetify.md | 1 - docs/wake_on_lan.md | 1 - docs/wallabag.md | 1 - docs/watchdog.md | 1 - docs/week_management.md | 1 - docs/wesnoth.md | 1 - docs/wesnoth_loyalist.md | 1 - docs/wesnoth_northerners.md | 1 - docs/wesnoth_rebels.md | 1 - docs/wireshark.md | 1 - docs/wordpress.md | 1 - docs/work_interruption_analysis.md | 1 - docs/writing/build_your_own_wiki.md | 1 - docs/writing/orthography.md | 1 - docs/writing/writing.md | 1 - docs/writing_style.md | 1 - docs/yamlfix.md | 1 - docs/yq.md | 1 - docs/yt-dlp.md | 1 - docs/zalando_postgres_operator.md | 1 - docs/zfs_storage_planning.md | 1 - mkdocs.yml | 7 +- 951 files changed, 575 insertions(+), 1042 deletions(-) create mode 100644 docs/android_sdk.md create mode 100644 docs/mobile_verification_toolkit.md create mode 100644 docs/rabbitmq.md diff --git a/.gitignore b/.gitignore index 4c95dad54a8..7278067f4a5 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,4 @@ site .pdm-python +cheatsheet +red diff --git a/docs/abstract_syntax_trees.md b/docs/abstract_syntax_trees.md index 988cf38a684..7b096da8d8f 100644 --- a/docs/abstract_syntax_trees.md +++ b/docs/abstract_syntax_trees.md @@ -30,4 +30,3 @@ TBD [`pyparsing`](https://github.com/pyparsing/pyparsing/) looks to be a good candidate to implement ASTs. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/action_management.md b/docs/action_management.md index 84f6b0110c6..8754c77899d 100644 --- a/docs/action_management.md +++ b/docs/action_management.md @@ -65,4 +65,3 @@ switch to a stricter plan to be able to deliver value in time. This makes more sense in work environments, at personal level I usually just surf the hype unless I have a clear objective with a due date to reach. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/activism.md b/docs/activism.md index 2aea0c26b4b..5ff536a4ed8 100644 --- a/docs/activism.md +++ b/docs/activism.md @@ -3,4 +3,3 @@ # Random thoughts on activism - If you find it uncomfortable selling activist content to the people maybe it's because you don't fully trust in the content. If you did, you'd be eager to spread the word. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/activitywatch.md b/docs/activitywatch.md index ef72c7153a5..1f782e02e07 100644 --- a/docs/activitywatch.md +++ b/docs/activitywatch.md @@ -113,4 +113,3 @@ tweak it so it can be imported, or analyze the data through other processes. * [Home](https://activitywatch.net/) * [Docs](https://docs.activitywatch.net/en/latest/introduction.html) * [Git](https://github.com/ActivityWatch/activitywatch) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/adr.md b/docs/adr.md index f93533a3dfa..0b863b64a69 100644 --- a/docs/adr.md +++ b/docs/adr.md @@ -187,4 +187,3 @@ used to using other tools for the similar purpose, like Vim or grep. * [Joel Parker guide on ADRs](https://github.com/joelparkerhenderson/architecture_decision_record) * [Michael Nygard post on ARDs](https://cognitect.com/blog/2011/11/15/documenting-architecture-decisions) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/aerial_silk.md b/docs/aerial_silk.md index 8278bdf5f5d..b4ee61e5bf4 100644 --- a/docs/aerial_silk.md +++ b/docs/aerial_silk.md @@ -117,4 +117,3 @@ other direction until your wrists are between you and the tissue. * When rolling up silk over your legs, always leave room for the knee, do loops above and below but never over. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/afew.md b/docs/afew.md index 2a5e92dbb2d..071b7950416 100644 --- a/docs/afew.md +++ b/docs/afew.md @@ -47,4 +47,3 @@ afew -v --tag --new * [Git](https://github.com/afewmail/afew) * [Docs](https://afew.readthedocs.io/en/latest/) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/age_of_empires.md b/docs/age_of_empires.md index 5a7fbd322f5..7217d546dd0 100644 --- a/docs/age_of_empires.md +++ b/docs/age_of_empires.md @@ -206,4 +206,3 @@ Build new houses when you're 2 of population down to the limit - [Hera channel](https://www.youtube.com/@HeraAgeofEmpires2): Awesome to learn to play - [Hera gameplay channel](https://www.youtube.com/@Hera-Gameplay): Good 1st person point of view games - [Tatoh channel](https://www.youtube.com/@TaToHAoE): Good spanish content. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/ai.md b/docs/ai.md index 26d49e09389..236b1806093 100644 --- a/docs/ai.md +++ b/docs/ai.md @@ -7,4 +7,3 @@ ## Philosophy of Artificial Intelligence - [ChatGPT, la educación, y los loros](https://escritura.social/astrojuanlu/chatgpt-la-educacion-y-los-loros) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/aiohttp.md b/docs/aiohttp.md index d0863801139..4cda784f8e9 100644 --- a/docs/aiohttp.md +++ b/docs/aiohttp.md @@ -344,4 +344,3 @@ Because `aiohttp` is asynchronous, its API is designed to make the most out of n # References - [Docs](https://docs.aiohttp.org/en/stable/) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/aleph.md b/docs/aleph.md index 0cd0a637b13..3f9373ecf83 100644 --- a/docs/aleph.md +++ b/docs/aleph.md @@ -580,4 +580,3 @@ Once you have the files that triggered the errors, the best way to handle them i - [Docs](https://docs.alephdata.org/) - [Support chat](https://alephdata.slack.com) - [API docs](https://redocly.github.io/redoc/?url=https://aleph.occrp.org/api/openapi.json) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/alot.md b/docs/alot.md index 682a9e6e873..1c297166d84 100644 --- a/docs/alot.md +++ b/docs/alot.md @@ -68,4 +68,3 @@ directory](https://github.com/pazz/alot/tree/master/extra/themes). * [Docs](https://alot.readthedocs.io/en/latest/) * [Wiki](https://github.com/pazz/alot/wiki) * [FAQ](https://alot.readthedocs.io/en/latest/faq.html) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/amazfit_band_5.md b/docs/amazfit_band_5.md index 6f80c180d14..5473c65fa93 100644 --- a/docs/amazfit_band_5.md +++ b/docs/amazfit_band_5.md @@ -42,4 +42,3 @@ firmware](https://codeberg.org/Freeyourgadget/Gadgetbridge/wiki/Amazfit-Band-5-F you need to get the firmware from the [geek doing forum](https://geekdoing.com/threads/amazfit-band-5-original-firmwares-resources-fonts.2331/) though, so it is interesting to create an account and watch the post. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/analytical_web_reading.md b/docs/analytical_web_reading.md index 1f40a42d028..2fd9840cd86 100644 --- a/docs/analytical_web_reading.md +++ b/docs/analytical_web_reading.md @@ -96,4 +96,3 @@ Glasp is a “social web highlighter” for the desktop. This means that your h # References - [MakeUseof article](https://www.makeuseof.com/tools-annotate-highlight-web-pages-research-study/) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/android_sdk.md b/docs/android_sdk.md new file mode 100644 index 00000000000..e181c8b757d --- /dev/null +++ b/docs/android_sdk.md @@ -0,0 +1,84 @@ +[Android SDK Platform tools](https://developer.android.com/tools/releases/platform-tools) is a component for the Android SDK. It includes tools that interface with the Android platform, primarily adb and fastboot. + +# [Installation](https://developer.android.com/tools/releases/platform-tools) + +While many Linux distributions already package Android Platform Tools (for example `android-platform-tools-base` on Debian), it is preferable to install the most recent version from the official website. Packaged versions might be outdated and incompatible with most recent Android handsets. + +- Download [the latest toolset](https://dl.google.com/android/repository/platform-tools-latest-linux.zip) +- Extract it somewhere in your filesystem +- Create links to the programs you want to use in your `$PATH` + +Next you will need to enable debugging on the Android device you are testing. [Please follow the official instructions on how to do so.](https://developer.android.com/studio/command-line/adb) + +# Usage + + +## Connecting over USB + +To use `adb` with a device connected over USB, you must enable USB debugging in the device system settings, under Developer options. On Android 4.2 (API level 17) and higher, the Developer options screen is hidden by default. + +### Enable the Developer options + +To make it visible, [enable Developer options](https://developer.android.com/studio/debug/dev-options#enable). On Android 4.1 and lower, the Developer options screen is available by default. On Android 4.2 and higher, you must enable this screen. + +- On your device, find the Build number option (Settings > About phone > Build number) +- Tap the Build Number option seven times until you see the message You are now a developer! This enables developer options on your device. +- Return to the previous screen to find Developer options at the bottom. + +### Enable USB debugging + +Before you can use the debugger and other tools, you need to enable USB debugging, which allows Android Studio and other SDK tools to recognize your device when connected via USB. + +Enable USB debugging in the device system settings under Developer options. You can find this option in one of the following locations, depending on your Android version: + +- Android 9 (API level 28) and higher: Settings > System > Advanced > Developer Options > USB debugging +- Android 8.0.0 (API level 26) and Android 8.1.0 (API level 27): Settings > System > Developer Options > USB debugging +- Android 7.1 (API level 25) and lower: Settings > Developer Options > USB debugging + +### Test it works + +If everything is configured appropriately you should see your device when launching the command `adb devices`. + +#### Create udev rules if it fails + +If you see the next error: + +``` +failed to open device: Access denied (insufficient permissions) + +* failed to start daemon +adb: failed to check server version: cannot connect to daemon +``` + +It indicates an issue with permissions when `adb` tries to communicate with the device via USB. Here are some steps you can take to resolve this issue: + +- Check USB permissions + - Ensure that you have the necessary permissions to access the USB device. If you're running on Linux, check if the device has appropriate udev rules. + - You can try adding your user to the `plugdev` group: + + ```bash + sudo usermod -aG plugdev $USER + ``` + + - Make sure you have a `udev` rule for Android devices in `/etc/udev/rules.d/`. If not, you can create one by adding a file like `51-android.rules`: + + ```bash + sudo touch /etc/udev/rules.d/51-android.rules + ``` + + - Add this line to the file to grant access to Android devices: + + ```bash + SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0666", GROUP="plugdev" + ``` + + - Reload the `udev` rules: + + ```bash + sudo udevadm control --reload-rules + sudo service udev restart + ``` + + - Unplug and reconnect the USB device. +# References +- [Home](https://developer.android.com/tools/releases/platform-tools) diff --git a/docs/android_tips.md b/docs/android_tips.md index 5b8672abdea..bdde6bd7fe2 100644 --- a/docs/android_tips.md +++ b/docs/android_tips.md @@ -17,4 +17,3 @@ As a non root user you can can manually unplug it. Instead of leaving the mobile charge in the night and stay connected at 100% a lot of hours until you unplug, charge it throughout the day. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/anki.md b/docs/anki.md index bd0485afcd3..ded81209c02 100644 --- a/docs/anki.md +++ b/docs/anki.md @@ -485,4 +485,3 @@ If you want to interact with anki directly without opening the GUI application [ * [Homepage](https://apps.ankiweb.net/) * [Forums](https://forums.ankiweb.net/) * [Anki-Connect reference](https://foosoft.net/projects/anki-connect/) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/anonymous_feedback.md b/docs/anonymous_feedback.md index 2b0f50e1fb4..961a3026d79 100644 --- a/docs/anonymous_feedback.md +++ b/docs/anonymous_feedback.md @@ -182,4 +182,3 @@ Once you have sent the anonymous feedback, be sure to: * [Julian Cook article](https://www.linkedin.com/pulse/three-reasons-why-anonymous-workplace-feedback-better-julian-cook). I haven't used it's text, but it's written for managers in their language, it may help someone there. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/ansible_snippets.md b/docs/ansible_snippets.md index 03a168c8a96..a9db563e3f0 100644 --- a/docs/ansible_snippets.md +++ b/docs/ansible_snippets.md @@ -604,4 +604,3 @@ To make the `command` idempotent you can use a `stat` task before. command: mv /path/to/foo /path/to/bar when: foo_stat.stat.exists ``` -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/anticolonialism.md b/docs/anticolonialism.md index f57fd4c99fe..abf56f65aec 100644 --- a/docs/anticolonialism.md +++ b/docs/anticolonialism.md @@ -7,4 +7,3 @@ ## Music - [We Will Not Go Down (Song for Gaza Palestine) - Michael Heart](https://yewtu.be/watch?v=dlfhoU66s4Y) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/antifascism.md b/docs/antifascism.md index 0d4d9cf20c3..ed954b4049e 100644 --- a/docs/antifascism.md +++ b/docs/antifascism.md @@ -131,4 +131,3 @@ falls into a pity image then it may strengthen their victim role. ## Campañas - [Crowdfunding para la libertad de los 6 de Zaragoza](https://www.goteo.org/project/libertad-6-de-zaragoza) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/antifascist_actions.md b/docs/antifascist_actions.md index b457bd616da..49b9afac8c9 100644 --- a/docs/antifascist_actions.md +++ b/docs/antifascist_actions.md @@ -42,4 +42,3 @@ citizen can freely do, we have only industrialized the process". They've done a [crowdfunding](https://afd-muell.de/) to fund the legal process that may result. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/antiracism.md b/docs/antiracism.md index eff7831052b..855f742fff0 100644 --- a/docs/antiracism.md +++ b/docs/antiracism.md @@ -11,4 +11,3 @@ Videos: Podcasts: - [Diario de Jadiya](https://deesonosehabla.com/episodios/episodio-2-jadiya/) ([link al archivo](https://dts.podtrac.com/redirect.mp3/dovetail.prxu.org/302/7fa33dd2-3f29-48f5-ad96-f6874909d9fb/Master_ep.2_Jadiya.mp3)): es algo que todo xenófobo debería de escuchar, es un diario de una chavala saharaui que formó parte del programa de veranos en familias españolas. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/antitourism.md b/docs/antitourism.md index d0e78383767..a13fb6738f3 100644 --- a/docs/antitourism.md +++ b/docs/antitourism.md @@ -1,6 +1,10 @@ # References +## Artículos + +- [Abolir el turismo - Escuela de las periferias](https://www.elsaltodiario.com/turismo/abolir-turismo): Lleguemos a donde lleguemos, no puede ser que sea más fácil imaginar el fin del capitalismo que el fin del turismo. + ## Libros - [Verano sin vacaciones. Las hijas de la Costa del Sol de ana geranios](https://piedrapapellibros.com/producto/verano-sin-vacaciones-las-hijas-de-la-costa-del-sol/) diff --git a/docs/antitransphobia.md b/docs/antitransphobia.md index c3553ab0575..c09bb8ee58f 100644 --- a/docs/antitransphobia.md +++ b/docs/antitransphobia.md @@ -107,4 +107,3 @@ mandatory for all society, and shouldn't be used against the trans people. # References * [Wikipedia page on Transphobia](https://en.wikipedia.org/wiki/Transphobia) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/architecture/database_architecture.md b/docs/architecture/database_architecture.md index 2747ac3bcce..f2f40bbfe45 100644 --- a/docs/architecture/database_architecture.md +++ b/docs/architecture/database_architecture.md @@ -98,4 +98,3 @@ Suitable for: # References * [Decoupling database migrations from server startup](https://pythonspeed.com/articles/schema-migrations-server-startup/) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/architecture/domain_driven_design.md b/docs/architecture/domain_driven_design.md index 859cd5cfa8b..5cf64c0371a 100644 --- a/docs/architecture/domain_driven_design.md +++ b/docs/architecture/domain_driven_design.md @@ -250,4 +250,3 @@ for [click command line tests](click.md#injecting-fake-dependencies). * Domain-Driven Design by Eric Evans. * Implementing Domain-Driven Design by Vaughn Vermon. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/architecture/microservices.md b/docs/architecture/microservices.md index 5e0fd40164a..4da997e95a0 100644 --- a/docs/architecture/microservices.md +++ b/docs/architecture/microservices.md @@ -27,4 +27,3 @@ backwards compatibility to avoid sudden dependency breakage. * [Hands-On RESTful Python Web Services by Gaston C.Hillar](https://www.packtpub.com/eu/application-development/hands-restful-python-web-services-second-edition): I didn't like it at all. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/architecture/orm_builder_query_or_raw_sql.md b/docs/architecture/orm_builder_query_or_raw_sql.md index 9c6ad52888f..18485f7d913 100644 --- a/docs/architecture/orm_builder_query_or_raw_sql.md +++ b/docs/architecture/orm_builder_query_or_raw_sql.md @@ -211,4 +211,3 @@ through classical mappings to split the storage logic from the business one. * [Raw SQL vs Query Builder vs ORM by Martin Thoma](https://levelup.gitconnected.com/raw-sql-vs-query-builder-vs-orm-eee72dbdd275) * [ORMs vs Plain SQL in Python by Koby Bass](https://medium.com/@kobybum/orms-vs-plain-sql-in-python-2ba5362bca21) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/architecture/redis.md b/docs/architecture/redis.md index 12bce079741..99acd39b143 100644 --- a/docs/architecture/redis.md +++ b/docs/architecture/redis.md @@ -46,4 +46,3 @@ There are several ways to interact with a Redis server, such as: # Reference * [Real Python Redis introduction](https://realpython.com/python-redis/) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/architecture/repository_pattern.md b/docs/architecture/repository_pattern.md index a321ad2dcd7..67282817267 100644 --- a/docs/architecture/repository_pattern.md +++ b/docs/architecture/repository_pattern.md @@ -252,4 +252,3 @@ class Task: * [The repository pattern chapter of the Architecture Patterns with Python](https://www.cosmicpython.com/book/preface.html) book by Harry J.W. Percival and Bob Gregory. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/architecture/restful_apis.md b/docs/architecture/restful_apis.md index a9fb329a1c0..3e4693ac7cc 100644 --- a/docs/architecture/restful_apis.md +++ b/docs/architecture/restful_apis.md @@ -216,4 +216,3 @@ Build it with `docker-compose build test-sqlite` and run the tests with # References * [Rest API tutorial](https://restfulapi.net/) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/architecture/service_layer_pattern.md b/docs/architecture/service_layer_pattern.md index 0764f58419a..70bb5bba7ca 100644 --- a/docs/architecture/service_layer_pattern.md +++ b/docs/architecture/service_layer_pattern.md @@ -21,4 +21,3 @@ entire workflow for a use case. * [The service layer pattern chapter of the Architecture Patterns with Python](https://www.cosmicpython.com/book/chapter_04_service_layer.html) book by Harry J.W. Percival and Bob Gregory. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/architecture/solid.md b/docs/architecture/solid.md index 0fd1c3b6d51..06094d9be71 100644 --- a/docs/architecture/solid.md +++ b/docs/architecture/solid.md @@ -128,4 +128,3 @@ and less implementation dependent interaction schema. * [Architecture Patterns with Python](https://www.cosmicpython.com/book/preface.html) by Harry J.W. Percival and Bob Gregory. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/argocd.md b/docs/argocd.md index 66ba5731998..558010d6349 100644 --- a/docs/argocd.md +++ b/docs/argocd.md @@ -294,4 +294,3 @@ This is tricky, because ingress is one of theses cases were you have to delete t # References * [Docs](https://argo-cd.readthedocs.io/en/stable/) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/asyncio.md b/docs/asyncio.md index 06a7f153d45..02a68cb7eaf 100644 --- a/docs/asyncio.md +++ b/docs/asyncio.md @@ -609,4 +609,3 @@ addopts = "--asyncio-mode=auto" ## Libraries to explore * [Asyncer](https://github.com/tiangolo/asyncer) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/authentik.md b/docs/authentik.md index 552d72c3893..4aab4d72510 100644 --- a/docs/authentik.md +++ b/docs/authentik.md @@ -922,4 +922,3 @@ This will output a link, that can be used to instantly gain access to authentik * [Terraform provider docs](https://registry.terraform.io/providers/goauthentik/authentik/latest/docs) * [Terraform provider source code](https://github.com/goauthentik/terraform-provider-authentik) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/aws_savings_plan.md b/docs/aws_savings_plan.md index 7d810ae03d6..ab6269581f6 100644 --- a/docs/aws_savings_plan.md +++ b/docs/aws_savings_plan.md @@ -372,4 +372,3 @@ Go to the [AWS savings plan simulator](https://aws.amazon.com/savingsplans/compute-pricing/) and check the different instances you were evaluating. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/aws_snippets.md b/docs/aws_snippets.md index 96741990b04..9b8bee48769 100644 --- a/docs/aws_snippets.md +++ b/docs/aws_snippets.md @@ -39,4 +39,3 @@ You can list the network interfaces that match the IP you're searching for ```bash aws ec2 describe-network-interfaces --filters Name=association.public-ip,Values="{{ your_ip_address}}" ``` -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/aws_waf.md b/docs/aws_waf.md index 81f498602b5..a1f4d37344b 100644 --- a/docs/aws_waf.md +++ b/docs/aws_waf.md @@ -259,4 +259,3 @@ To process an problematic IP: # References * [Homepage](https://aws.amazon.com/waf/) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/bash_snippets.md b/docs/bash_snippets.md index 09d0467f3b7..01fa958ad28 100644 --- a/docs/bash_snippets.md +++ b/docs/bash_snippets.md @@ -403,4 +403,3 @@ And then you'll have: "other_property": "value" } ``` -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/bats.md b/docs/bats.md index 922a6bac749..1e42f657399 100644 --- a/docs/bats.md +++ b/docs/bats.md @@ -21,4 +21,3 @@ Bats is most useful when testing software written in Bash, but you can use it to # References - [Source](https://github.com/bats-core/bats-core) - [Docs](https://bats-core.readthedocs.io/) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/bean_sql.md b/docs/bean_sql.md index c059eb6556e..1f897e58aa4 100644 --- a/docs/bean_sql.md +++ b/docs/bean_sql.md @@ -22,4 +22,3 @@ It will return the quarter in the format `YYYY-QX`. - [Examples](https://aumayr.github.io/beancount-sql-queries/) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/beancount.md b/docs/beancount.md index 9447a764dd3..e9042a8ec5c 100644 --- a/docs/beancount.md +++ b/docs/beancount.md @@ -545,4 +545,3 @@ I'm going to try with [fava dashboards](fava_dashboards.md) and see how it goes * [Awesome beancount](https://awesome-beancount.com/) * [Docs in google](https://docs.google.com/document/d/1RaondTJCS_IUPBHFNdT8oqFKJjVJDsfsn6JEjBG04eA/edit) * [Vim plugin](https://github.com/nathangrigg/vim-beancount) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/beautifulsoup.md b/docs/beautifulsoup.md index 2ed1ec68b82..9ad70c18351 100644 --- a/docs/beautifulsoup.md +++ b/docs/beautifulsoup.md @@ -755,4 +755,3 @@ soup = BeautifulSoup(s.replace(r"\"", '"').replace(r"\/", "/"), "html.parser") # References * [Docs](https://beautiful-soup-4.readthedocs.io/en/latest/) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/beets.md b/docs/beets.md index dfe3ef8d787..003d9296356 100644 --- a/docs/beets.md +++ b/docs/beets.md @@ -92,4 +92,3 @@ Note that you just need to add `-A` for “don’t autotag”. * [Git](https://github.com/beetbox/beets) * [Docs](https://beets.readthedocs.io/en/stable/guides/main.html) * [Homepage](https://beets.io/) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/book_binding.md b/docs/book_binding.md index bfcf87c03d5..b6e9bf68fc1 100644 --- a/docs/book_binding.md +++ b/docs/book_binding.md @@ -23,4 +23,3 @@ along one edge with a thick needle and sturdy thread. * https://www.youtube.com/watch?v=Av_rU-yOPd4 * https://www.youtube.com/watch?v=9O4kFTOEh6k * https://www.youtube.com/watch?v=XGQ5P8QVHSg -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/book_management.md b/docs/book_management.md index ca0f78deff7..8ce4c9c4049 100644 --- a/docs/book_management.md +++ b/docs/book_management.md @@ -172,4 +172,3 @@ This is a nasty operation, my suggestion is to export it with Calibre and then p The search works by using a Python regular expression. All matched text is simply removed from the document or replaced using the replacement pattern. The replacement pattern is optional, if left blank then text matching the search pattern will be deleted from the document. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/bookwyrm.md b/docs/bookwyrm.md index 2da188abb7f..19524db0a7e 100644 --- a/docs/bookwyrm.md +++ b/docs/bookwyrm.md @@ -4,4 +4,3 @@ - [Home](https://joinbookwyrm.com/) - [Popular instances](https://joinbookwyrm.com/instances/) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/botany/trees.md b/docs/botany/trees.md index ebfc42be8a8..923ef38c763 100644 --- a/docs/botany/trees.md +++ b/docs/botany/trees.md @@ -183,4 +183,3 @@ Below there are some guides to differentiate it from the | Size | 30-45m | 10-15m (in Europe) | | Same colour both sides | no (darker and glossy up) | yes | | Where they grow | everywhere | very close to each other | -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/boto3.md b/docs/boto3.md index faca7f89ac0..0966ea00a0d 100644 --- a/docs/boto3.md +++ b/docs/boto3.md @@ -676,4 +676,3 @@ Check the official docs to check the method arguments: * [Git](https://github.com/boto/boto3) * [Docs](https://boto3.amazonaws.com/v1/documentation/api/latest/index.html) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/calendar_management.md b/docs/calendar_management.md index b53fa4222fe..47e8ad270d7 100644 --- a/docs/calendar_management.md +++ b/docs/calendar_management.md @@ -45,4 +45,3 @@ I've created a small tool that: - Tells me the number of [pomodoros](roadmap_tools.md#pomodoro) that I have until the next event. - Once a pomodoro finishes it makes me focus on the amount left so that I can prepare for the event - Catches my attention when the event is starting. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/calendar_versioning.md b/docs/calendar_versioning.md index 27807ee21bb..77dbd14a415 100644 --- a/docs/calendar_versioning.md +++ b/docs/calendar_versioning.md @@ -34,4 +34,3 @@ article section. # References * [Home](https://calver.org/) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/castellano.md b/docs/castellano.md index c536ce870a6..59ded5a9357 100644 --- a/docs/castellano.md +++ b/docs/castellano.md @@ -7,4 +7,3 @@ Por su parte, el indefinido `una` toma generalmente la forma `un` cuando anteced Al tratarse de sustantivos femeninos, con los demostrativos este, ese, aquel o con cualquier otro adjetivo determinativo, como todo, mucho, poco, otro, etc., deben usarse las formas femeninas correspondientes: esta hacha, aquella misma arma, toda el agua, mucha hambre, etc. (y no este hacha, aquel mismo arma, todo el agua, mucho hambre, etc.) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/changelog.md b/docs/changelog.md index 374e511fec1..990075aa1e9 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -85,4 +85,3 @@ This serves two purposes: # References * [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/chezmoi.md b/docs/chezmoi.md index 7e467f5e2fb..327c61bc47f 100644 --- a/docs/chezmoi.md +++ b/docs/chezmoi.md @@ -167,4 +167,3 @@ the `velero` binary and save it to `~/.local/bin/velero`. # References - [Home](https://www.chezmoi.io/) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/chromium.md b/docs/chromium.md index 1da406fc424..9b8980c6f4e 100644 --- a/docs/chromium.md +++ b/docs/chromium.md @@ -2,4 +2,3 @@ ``` apt-get install chromium ``` -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/cleaning_tips.md b/docs/cleaning_tips.md index 8b7e1a50261..c241a2d73b3 100644 --- a/docs/cleaning_tips.md +++ b/docs/cleaning_tips.md @@ -1,2 +1 @@ - If you need to clean the car headlights you can use a mixture of one squeezed lemon and two spoonfuls of baking soda -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/code_learning.md b/docs/code_learning.md index 7abf3c092a0..504516bdf5c 100644 --- a/docs/code_learning.md +++ b/docs/code_learning.md @@ -119,4 +119,3 @@ TBD ## Senior TBD -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/coding/javascript/javascript.md b/docs/coding/javascript/javascript.md index 980266e28cc..44c2b027509 100644 --- a/docs/coding/javascript/javascript.md +++ b/docs/coding/javascript/javascript.md @@ -1802,4 +1802,3 @@ document.getElementById("demo").innerHTML = x; * [Re-introduction to JavaScript](https://developer.mozilla.org/en-US/docs/Web/JavaScript/A_re-introduction_to_JavaScript) * [Chikwekwe's articles on cookies vs LocalStorage](https://medium.com/swlh/cookies-vs-localstorage-whats-the-difference-d99f0eb09b44) * [Jeff's post on xmlhttprequest vs Fetch API](https://jeffdevslife.com/p/xmlhttprequest-vs-fetch-api/) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/coding/json/json.md b/docs/coding/json/json.md index 5701f55721b..16f97bfe19f 100644 --- a/docs/coding/json/json.md +++ b/docs/coding/json/json.md @@ -35,4 +35,3 @@ apt-get install jq ``` Vim supports this linter through [ALE](vim_plugins.md#ale). -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/coding/promql/promql.md b/docs/coding/promql/promql.md index 337353cbe9e..37348a167fa 100644 --- a/docs/coding/promql/promql.md +++ b/docs/coding/promql/promql.md @@ -171,4 +171,3 @@ You may need to specify a subquery range such as `[1w:1d]`. # Links - [Prometheus cheatsheet](https://promlabs.com/promql-cheat-sheet/) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/coding/python/alembic.md b/docs/coding/python/alembic.md index 5652b8f106a..5b7eed76d3f 100644 --- a/docs/coding/python/alembic.md +++ b/docs/coding/python/alembic.md @@ -255,4 +255,3 @@ need to manually remove the revision python file. ## Articles * [Migrate SQLAlchemy databases with Alembic](https://www.pythoncentral.io/migrate-sqlalchemy-databases-alembic/) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/coding/python/click.md b/docs/coding/python/click.md index f5df0c3412f..1a90ee191cb 100644 --- a/docs/coding/python/click.md +++ b/docs/coding/python/click.md @@ -648,4 +648,3 @@ Count: 42 - [Homepage](https://click.palletsprojects.com/) - [Click vs other argument parsers](https://click.palletsprojects.com/en/7.x/why/) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/coding/python/dash.md b/docs/coding/python/dash.md index 4d28a48f798..731c143b764 100644 --- a/docs/coding/python/dash.md +++ b/docs/coding/python/dash.md @@ -148,4 +148,3 @@ Check the Dash documentation for more * [Docs](https://dash.plotly.com/) * [Gallery](https://dash-gallery.plotly.host/Portal) * [Introduction video](https://www.youtube.com/watch?v=5BAthiN0htc) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/coding/python/dash_leaflet.md b/docs/coding/python/dash_leaflet.md index 25ee4d6beca..af78f9bf752 100644 --- a/docs/coding/python/dash_leaflet.md +++ b/docs/coding/python/dash_leaflet.md @@ -167,4 +167,3 @@ Add a custom css file: * [Docs](https://dash-leaflet.herokuapp.com/) * [Git](https://github.com/thedirtyfew/dash-leaflet) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/coding/python/data_classes.md b/docs/coding/python/data_classes.md index 1d427e12277..8aaf76071ed 100644 --- a/docs/coding/python/data_classes.md +++ b/docs/coding/python/data_classes.md @@ -396,4 +396,3 @@ Furthermore, **a slots class may not have default values**. # References * [Real Python Data classes article](https://realpython.com/python-data-classes/) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/coding/python/deepdiff.md b/docs/coding/python/deepdiff.md index 27e3371b1f3..9ffc6711aa2 100644 --- a/docs/coding/python/deepdiff.md +++ b/docs/coding/python/deepdiff.md @@ -83,4 +83,3 @@ To obtain the keys and values of the matched objects, you can use the - [Source](https://github.com/seperman/deepdiff) * [Homepage/Docs](https://zepworks.com/deepdiff/5.0.0/index.html) * [Old Docs](https://deepdiff.readthedocs.io/en/latest/index.html) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/coding/python/docstrings.md b/docs/coding/python/docstrings.md index 0998d4a82f4..6b3b6b5b6d9 100644 --- a/docs/coding/python/docstrings.md +++ b/docs/coding/python/docstrings.md @@ -222,4 +222,3 @@ documentation. # References * [Real Python post on docstrings by James Mertz](https://realpython.com/documenting-python-code/) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/coding/python/factoryboy.md b/docs/coding/python/factoryboy.md index d70f036d968..b0ba751b8bd 100644 --- a/docs/coding/python/factoryboy.md +++ b/docs/coding/python/factoryboy.md @@ -257,4 +257,3 @@ dataclasses. * [Docs](https://factoryboy.readthedocs.io/en/latest/) * [Git](https://github.com/FactoryBoy/factory_boy) * [Common recipes](https://factoryboy.readthedocs.io/en/latest/recipes.html#dependent-objects-foreignkey) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/coding/python/faker.md b/docs/coding/python/faker.md index a7ca9dec9eb..8dcefd6e543 100644 --- a/docs/coding/python/faker.md +++ b/docs/coding/python/faker.md @@ -211,4 +211,3 @@ provider method. * [Docs](https://faker.readthedocs.io/en/master/) * [Faker python providers](https://faker.readthedocs.io/en/master/providers/faker.providers.python.html) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/coding/python/feedparser.md b/docs/coding/python/feedparser.md index 3481a21379e..162ed3a476c 100644 --- a/docs/coding/python/feedparser.md +++ b/docs/coding/python/feedparser.md @@ -141,4 +141,3 @@ credentials](https://pythonhosted.org/feedparser/http-authentication.html). * [Git](https://github.com/kurtmckee/feedparser) * [Docs](https://pythonhosted.org/feedparser/) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/coding/python/flask.md b/docs/coding/python/flask.md index a213329a720..680f6e4a95d 100644 --- a/docs/coding/python/flask.md +++ b/docs/coding/python/flask.md @@ -41,4 +41,3 @@ Blueprint. * [Flask docs on blueprints](https://flask.palletsprojects.com/en/1.1.x/blueprints) * [Explore flask article on Blueprints](https://exploreflask.com/en/latest/blueprints.html#functional-structure) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/coding/python/flask_restplus.md b/docs/coding/python/flask_restplus.md index 779716e05eb..ca991c8e9fc 100644 --- a/docs/coding/python/flask_restplus.md +++ b/docs/coding/python/flask_restplus.md @@ -36,4 +36,3 @@ pip install flask-restplus * [Docs](https://flask-restplus.readthedocs.io/en/stable/) * [Git](https://github.com/noirbizarre/flask-restplus) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/coding/python/folium.md b/docs/coding/python/folium.md index 9d2dd136f0f..164c0df3021 100644 --- a/docs/coding/python/folium.md +++ b/docs/coding/python/folium.md @@ -150,4 +150,3 @@ gpx = gpxpy.parse(gpx_file) It seems that it doesn't yet support searching for [multiple attributes in the geojson data](https://github.com/stefanocudini/leaflet-search/issues/34) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/coding/python/gitpython.md b/docs/coding/python/gitpython.md index 7101e838d41..13dd61fa200 100644 --- a/docs/coding/python/gitpython.md +++ b/docs/coding/python/gitpython.md @@ -246,4 +246,3 @@ def test_assert_true(full_repo: Repo) -> None: - [Docs](https://gitpython.readthedocs.io) - [Git](https://github.com/gitpython-developers/GitPython) - [Tutorial](https://gitpython.readthedocs.io/en/stable/tutorial.html#tutorial-label) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/coding/python/mkdocstrings.md b/docs/coding/python/mkdocstrings.md index 4e611f94d2a..a8346b13511 100644 --- a/docs/coding/python/mkdocstrings.md +++ b/docs/coding/python/mkdocstrings.md @@ -154,4 +154,3 @@ details. # References * [Docs](https://pawamoy.github.io/mkdocstrings) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/coding/python/pandas.md b/docs/coding/python/pandas.md index bba40ef554d..d17c012af76 100644 --- a/docs/coding/python/pandas.md +++ b/docs/coding/python/pandas.md @@ -98,4 +98,3 @@ df.loc[df['Value'].idxmax()] * [Homepage](https://pandas.pydata.org/) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/coding/python/passpy.md b/docs/coding/python/passpy.md index c000f1f5d9b..954a0f3c539 100644 --- a/docs/coding/python/passpy.md +++ b/docs/coding/python/passpy.md @@ -58,4 +58,3 @@ For a full overview over all available methods see * [Docs](https://passpy.readthedocs.org/) * [Git](https://github.com/bfrascher/passpy) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/coding/python/plotly.md b/docs/coding/python/plotly.md index 250ff8d1f17..ffa25541a80 100644 --- a/docs/coding/python/plotly.md +++ b/docs/coding/python/plotly.md @@ -62,4 +62,3 @@ fig.show() * [Homepage](https://plotly.com/python/) * [Git](https://github.com/plotly/plotly.py) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/coding/python/prompt_toolkit.md b/docs/coding/python/prompt_toolkit.md index a7b8697a218..d342afcdde5 100644 --- a/docs/coding/python/prompt_toolkit.md +++ b/docs/coding/python/prompt_toolkit.md @@ -30,4 +30,3 @@ print('You said: %s' % text) It can be used to build [REPL applications](prompt_toolkit_repl.md) or [full screen ones](prompt_toolkit_fullscreen_applications.md). -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/coding/python/pydantic.md b/docs/coding/python/pydantic.md index 5788f31d6df..323273d24dd 100644 --- a/docs/coding/python/pydantic.md +++ b/docs/coding/python/pydantic.md @@ -736,4 +736,3 @@ Or if it fails, add to the line `# pylint: extension-pkg-whitelist`. - [Docs](https://pydantic-docs.helpmanual.io/) - [Source](https://github.com/samuelcolvin/pydantic/) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/coding/python/pydantic_exporting.md b/docs/coding/python/pydantic_exporting.md index a5ef911fe48..9c76a563f90 100644 --- a/docs/coding/python/pydantic_exporting.md +++ b/docs/coding/python/pydantic_exporting.md @@ -357,4 +357,3 @@ The same holds for the `json` and `copy` methods. # References * [Pydantic exporting models](https://pydantic-docs.helpmanual.io/usage/exporting_models) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/coding/python/pydantic_functions.md b/docs/coding/python/pydantic_functions.md index 5df317a637d..777bb3c651f 100644 --- a/docs/coding/python/pydantic_functions.md +++ b/docs/coding/python/pydantic_functions.md @@ -65,4 +65,3 @@ other attributes will require `type: ignore`. # References * [Pydantic validation decorator docs](https://pydantic-docs.helpmanual.io/usage/validation_decorator/) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/coding/python/pydantic_mypy_plugin.md b/docs/coding/python/pydantic_mypy_plugin.md index 545e60cd6c1..f6a2d1aebb9 100644 --- a/docs/coding/python/pydantic_mypy_plugin.md +++ b/docs/coding/python/pydantic_mypy_plugin.md @@ -32,4 +32,3 @@ docs for more details. # References * [Pydantic mypy plugin docs](https://pydantic-docs.helpmanual.io/mypy_plugin/) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/coding/python/pydantic_types.md b/docs/coding/python/pydantic_types.md index 255356b1fab..05c13f204b2 100644 --- a/docs/coding/python/pydantic_types.md +++ b/docs/coding/python/pydantic_types.md @@ -768,4 +768,3 @@ from `str`, it can be used as a string in most places. # References - [Field types](https://pydantic-docs.helpmanual.io/usage/types) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/coding/python/pydantic_validators.md b/docs/coding/python/pydantic_validators.md index 5b770dd5358..99204182426 100644 --- a/docs/coding/python/pydantic_validators.md +++ b/docs/coding/python/pydantic_validators.md @@ -399,4 +399,3 @@ the `validator` decorator. # References * [Pydantic validators](https://pydantic-docs.helpmanual.io/usage/validators/) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/coding/python/pypika.md b/docs/coding/python/pypika.md index 486eedfb69f..f3a03690b01 100644 --- a/docs/coding/python/pypika.md +++ b/docs/coding/python/pypika.md @@ -600,4 +600,3 @@ Query.from_(table).delete().where(table.id == id) * [Docs](https://pypika.readthedocs.io/en/latest/) * [Source](https://github.com/kayak/pypika) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/coding/python/pytest.md b/docs/coding/python/pytest.md index 96c8f842319..d7ed2fdbb9e 100644 --- a/docs/coding/python/pytest.md +++ b/docs/coding/python/pytest.md @@ -1194,4 +1194,3 @@ en parallel and any pdb trace will fail. - [Docs](https://docs.pytest.org/en/latest/) - [Vim-test plugin](https://github.com/janko-m/vim-test) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/coding/python/pytest_cases.md b/docs/coding/python/pytest_cases.md index 037b5aff38c..c3784e49e5f 100644 --- a/docs/coding/python/pytest_cases.md +++ b/docs/coding/python/pytest_cases.md @@ -602,4 +602,3 @@ yields * [Docs](https://smarie.github.io/python-pytest-cases/) * [Git](https://github.com/smarie/python-pytest-cases/) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/coding/python/pytest_parametrized_testing.md b/docs/coding/python/pytest_parametrized_testing.md index 74ce9ffa477..c3d407c9510 100644 --- a/docs/coding/python/pytest_parametrized_testing.md +++ b/docs/coding/python/pytest_parametrized_testing.md @@ -200,4 +200,3 @@ test_add_variety.py::test_add_6[summary/owner]PASSED * [A deep dive into Pytest parametrization by George Shulkin](https://medium.com/opsops/deepdive-into-pytest-parametrization-cb21665c05b9) * Book [Python Testing with pytest by Brian Okken](https://www.oreilly.com/library/view/python-testing-with/9781680502848/). -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/coding/python/python_anti_patterns.md b/docs/coding/python/python_anti_patterns.md index 7f73e0b763a..4daf38602d6 100644 --- a/docs/coding/python/python_anti_patterns.md +++ b/docs/coding/python/python_anti_patterns.md @@ -67,4 +67,3 @@ Do not forget, you are passing a list object as the second argument. Sometimes you can specifically “exploit” this behavior to maintain state between calls of a function. This is often done when writing a caching function. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/coding/python/python_code_styling.md b/docs/coding/python/python_code_styling.md index a9d543ece25..a25984ad220 100644 --- a/docs/coding/python/python_code_styling.md +++ b/docs/coding/python/python_code_styling.md @@ -155,4 +155,3 @@ try: except FileNotFoundError: pass ``` -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/coding/python/python_config_yaml.md b/docs/coding/python/python_config_yaml.md index 679415f54b7..1b6bd880017 100644 --- a/docs/coding/python/python_config_yaml.md +++ b/docs/coding/python/python_config_yaml.md @@ -348,4 +348,3 @@ Variables to substitute in both files: It's also necessary to add the `ruamel.yaml` pip package to your `setup.py` and `requirements.txt` files. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/coding/python/python_project_template.md b/docs/coding/python/python_project_template.md index 8a0a4818fd0..87ae70ad657 100644 --- a/docs/coding/python/python_project_template.md +++ b/docs/coding/python/python_project_template.md @@ -182,4 +182,3 @@ Trigger hooks: * [ionel packaging a python library post](https://blog.ionelmc.ro/2014/05/25/python-packaging/) and he's [cookiecutter template](https://github.com/ionelmc/cookiecutter-pylibrary) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/coding/python/python_project_template/python_cli_template.md b/docs/coding/python/python_project_template/python_cli_template.md index 187b7abb300..9b638e45462 100644 --- a/docs/coding/python/python_project_template/python_cli_template.md +++ b/docs/coding/python/python_project_template/python_cli_template.md @@ -68,4 +68,3 @@ author: Lyz * [Configure SQLAlchemy for projects without flask](python_sqlalchemy_without_flask.md) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/coding/python/python_project_template/python_docker.md b/docs/coding/python/python_project_template/python_docker.md index 4c9d85618de..278ab2ce5cd 100644 --- a/docs/coding/python/python_project_template/python_docker.md +++ b/docs/coding/python/python_project_template/python_docker.md @@ -188,4 +188,3 @@ COPY . /opt/app # continue as before... ``` -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/coding/python/python_project_template/python_docs.md b/docs/coding/python/python_project_template/python_docs.md index f5edff37938..5d6bc37989f 100644 --- a/docs/coding/python/python_project_template/python_docs.md +++ b/docs/coding/python/python_project_template/python_docs.md @@ -14,4 +14,3 @@ Follow the steps under [Installation](mkdocs.md#installation) to configure it. !!! note "" I've automated the creation of the mkdocs site in [this cookiecutter template](https://github.com/lyz-code/cookiecutter-python-project). -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/coding/python/python_project_template/python_flask_template.md b/docs/coding/python/python_project_template/python_flask_template.md index 0e9dd31b541..8a8d2a083fb 100644 --- a/docs/coding/python/python_project_template/python_flask_template.md +++ b/docs/coding/python/python_project_template/python_flask_template.md @@ -62,4 +62,3 @@ book to glue everything together. Finally, I'll follow Jaime's book to merge the different microservices into an integrated project. As well as defining the deployment process, CI definition, logging, metrics and integration with Kubernetes. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/coding/python/python_project_template/python_microservices_template.md b/docs/coding/python/python_project_template/python_microservices_template.md index d93f5e52a40..8258155b5ba 100644 --- a/docs/coding/python/python_project_template/python_microservices_template.md +++ b/docs/coding/python/python_project_template/python_microservices_template.md @@ -15,4 +15,3 @@ Follow this template if you want to build a project that meets these requirement Defining the project layout of a flask application [is not easy](python_flask_template.md), even less one with several -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/coding/python/python_project_template/python_sqlalchemy_mariadb.md b/docs/coding/python/python_project_template/python_sqlalchemy_mariadb.md index 5efb4d4aae3..1bb75cdcd68 100644 --- a/docs/coding/python/python_project_template/python_sqlalchemy_mariadb.md +++ b/docs/coding/python/python_project_template/python_sqlalchemy_mariadb.md @@ -47,4 +47,3 @@ services: - '--character-set-server=utf8mb4' - '--collation-server=utf8mb4_unicode_ci' ``` -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/coding/python/python_project_template/python_sqlalchemy_without_flask.md b/docs/coding/python/python_project_template/python_sqlalchemy_without_flask.md index 1ec586b7639..d58d8f31228 100644 --- a/docs/coding/python/python_project_template/python_sqlalchemy_without_flask.md +++ b/docs/coding/python/python_project_template/python_sqlalchemy_without_flask.md @@ -67,4 +67,3 @@ author: Lyz -m "Initial schema" ``` * [Set up the testing environment for SQLAlchemy](../sqlalchemy.md#testing-sqlalchemy-code) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/coding/python/python_snippets.md b/docs/coding/python/python_snippets.md index 9af8d8d4961..c8bd5dd2cd6 100644 --- a/docs/coding/python/python_snippets.md +++ b/docs/coding/python/python_snippets.md @@ -2023,4 +2023,3 @@ last_monday = today - datetime.timedelta(days=today.weekday()) - [Pypi won't allow you to upload packages with direct dependencies](https://github.com/BaderLab/saber/issues/35): update the section above. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/coding/python/redis-py.md b/docs/coding/python/redis-py.md index 0c92ab67b5b..81840aaa994 100644 --- a/docs/coding/python/redis-py.md +++ b/docs/coding/python/redis-py.md @@ -49,4 +49,3 @@ is 16 by default. * [Real Python introduction to Redis-py](https://realpython.com/python-redis/) * [Git](https://github.com/andymccurdy/redis-py) * [Docs](https://redis-py.readthedocs.io/en/stable/#): Very technical and small. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/coding/python/requests_mock.md b/docs/coding/python/requests_mock.md index 4c9530532f7..ef3116a7a55 100644 --- a/docs/coding/python/requests_mock.md +++ b/docs/coding/python/requests_mock.md @@ -147,4 +147,3 @@ retrieved. * [Docs](https://requests-mock.readthedocs.io/en/latest/index.html) * [Git](https://github.com/jamielennox/requests-mock) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/coding/python/rq.md b/docs/coding/python/rq.md index d2d6495e664..8fd7f6dce14 100644 --- a/docs/coding/python/rq.md +++ b/docs/coding/python/rq.md @@ -61,4 +61,3 @@ pip install rq * [Homepage](https://python-rq.org/) * [Git](https://github.com/rq/rq) * [Docs](https://python-rq.org/docs/) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/coding/python/ruamel_yaml.md b/docs/coding/python/ruamel_yaml.md index 2d650d59253..16afeb80110 100644 --- a/docs/coding/python/ruamel_yaml.md +++ b/docs/coding/python/ruamel_yaml.md @@ -100,4 +100,3 @@ I've opened [an issue](https://github.com/pycontribs/ruyaml/issues/27) in the * [Docs](https://yaml.readthedocs.io/en/latest/) * [Code](https://sourceforge.net/projects/ruamel-yaml/) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/coding/python/sqlalchemy.md b/docs/coding/python/sqlalchemy.md index f874a7a8dd9..48697c60370 100644 --- a/docs/coding/python/sqlalchemy.md +++ b/docs/coding/python/sqlalchemy.md @@ -528,4 +528,3 @@ def clone_model(model, **kwargs): * [Home](https://www.sqlalchemy.org/) * [Docs](https://docs.sqlalchemy.org) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/coding/python/tinydb.md b/docs/coding/python/tinydb.md index a7f97492cf9..69ba3d2bbf8 100644 --- a/docs/coding/python/tinydb.md +++ b/docs/coding/python/tinydb.md @@ -435,4 +435,3 @@ prettified JSON files like this: * [Git](https://github.com/msiemens/tinydb) * [Issues](https://github.com/msiemens/tinydb/issues) * [Reference](https://tinydb.readthedocs.io/en/latest/api.html) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/coding/python/type_hints.md b/docs/coding/python/type_hints.md index 197e5d6336e..18ee883426a 100644 --- a/docs/coding/python/type_hints.md +++ b/docs/coding/python/type_hints.md @@ -810,4 +810,3 @@ setup( * [Bernat gabor article on the state of type hints in python](https://www.bernat.tech/the-state-of-type-hints-in-python/) * [Real python article on type checking](https://realpython.com/python-type-checking/#type-systems) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/coding/python/yoyo.md b/docs/coding/python/yoyo.md index 3e34a137f8c..106395cff67 100644 --- a/docs/coding/python/yoyo.md +++ b/docs/coding/python/yoyo.md @@ -250,4 +250,3 @@ with backend.lock(): * [Source](https://hg.sr.ht/~olly/yoyo) * [Issue Tracker](https://todo.sr.ht/~olly/yoyo) * [Mailing list](https://lists.sr.ht/~olly/yoyo) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/coding/react/react.md b/docs/coding/react/react.md index f04b3894bb8..cb133993551 100644 --- a/docs/coding/react/react.md +++ b/docs/coding/react/react.md @@ -390,4 +390,3 @@ which components to update. A component cannot inquire about its `key`. * [How to create a react + flask project](https://blog.miguelgrinberg.com/post/how-to-create-a-react--flask-project) * [How to deploy a react + flask project](https://blog.miguelgrinberg.com/post/how-to-deploy-a-react--flask-project) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/coding/sql/sql.md b/docs/coding/sql/sql.md index 1dc7111acce..0a9a9ba01f2 100644 --- a/docs/coding/sql/sql.md +++ b/docs/coding/sql/sql.md @@ -234,4 +234,3 @@ ON users.id == checkouts.user_id Left OUTER JOIN books ON checkouts.book_id == books.id ``` -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/coding/tdd.md b/docs/coding/tdd.md index 868e6bd9cc0..b63db37def9 100644 --- a/docs/coding/tdd.md +++ b/docs/coding/tdd.md @@ -119,4 +119,3 @@ feedback and executable documentation of our intent. # Further reading * [Martin Fowler o Mocks aren't stubs](https://martinfowler.com/articles/mocksArentStubs.html) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/coding/yaml/yaml.md b/docs/coding/yaml/yaml.md index 85b059ac032..b85fe2f279a 100644 --- a/docs/coding/yaml/yaml.md +++ b/docs/coding/yaml/yaml.md @@ -46,4 +46,3 @@ YAML 1.2 a superset of JSON. ``` * YAML is crazy. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/coding_by_voice.md b/docs/coding_by_voice.md index 66584fb2991..e663ea9cc1d 100644 --- a/docs/coding_by_voice.md +++ b/docs/coding_by_voice.md @@ -26,4 +26,3 @@ After the initial learning curve, users often create custom prompts for commonly # References - [Nature article of coding by voice](https://www.nature.com/articles/d41586-018-05588-x) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/collaborating_tools.md b/docs/collaborating_tools.md index 5ed95516312..dbbc4ea177e 100644 --- a/docs/collaborating_tools.md +++ b/docs/collaborating_tools.md @@ -7,4 +7,3 @@ # Collaborating through terminals - [sshx](https://sshx.io/) looks promising although I think it uses their servers to do the connection, which is troublesome. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/cone.md b/docs/cone.md index 8a89d7f8fe8..a8544c23855 100644 --- a/docs/cone.md +++ b/docs/cone.md @@ -40,4 +40,3 @@ HTTP](https://f-droid.org/en/packages/com.MarcosDiez.shareviahttp/) or * [Git](https://github.com/bradyt/cone) * [Docs](https://cone.tangential.info/) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/configuration_management.md b/docs/configuration_management.md index 7499af7d95e..de25b456d16 100644 --- a/docs/configuration_management.md +++ b/docs/configuration_management.md @@ -50,4 +50,3 @@ In that playbook I use roles in these ways: issues than using the `roles` directory directly. ## Home configuration -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/contact.md b/docs/contact.md index 0bf28924404..292f123baa1 100644 --- a/docs/contact.md +++ b/docs/contact.md @@ -64,4 +64,3 @@ I'm available through: ``` * XMPP at `lyz` at `disroot.org` * Through Github by [opening an issue](https://github.com/lyz-code/blue-book/issues). -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/cooking.md b/docs/cooking.md index c71b3259b56..d8721172429 100644 --- a/docs/cooking.md +++ b/docs/cooking.md @@ -39,4 +39,3 @@ Estas frutas tienen un gran efecto antioxidante. Además, su gran contenido en v - [Por qué no vale con quitar la parte del moho de los alimentos](https://www.eldiario.es/consumoclaro/micotoxinas-alimentos-no-basta-quitar-parte-enmohecida_1_11275873.html) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/cooking_basics.md b/docs/cooking_basics.md index 2f2dd3523ba..24bf59bf290 100644 --- a/docs/cooking_basics.md +++ b/docs/cooking_basics.md @@ -69,4 +69,3 @@ cook them as usual. When not using a fast pot, you'll need to periodically remove the foam that will be created. The problem with this method is that you don't discard the first water round, and they can be more indigestible. Another option is to cook them for an hour, change the water and then cook them again. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/cooking_software.md b/docs/cooking_software.md index 6194227aa4b..c4fd42acb28 100644 --- a/docs/cooking_software.md +++ b/docs/cooking_software.md @@ -232,4 +232,3 @@ https://www.paprikaapp.com/ https://docs.tandoor.dev/features/authentication/ ## [Chef](https://esolangs.org/wiki/Chef) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/copier.md b/docs/copier.md index 694538eed80..f048681fc49 100644 --- a/docs/copier.md +++ b/docs/copier.md @@ -874,4 +874,3 @@ pipx inject copier copier-templates-extensions - [Source](https://github.com/copier-org/copier) - [Docs](https://copier.readthedocs.io/en/latest/) - [Example templates](https://github.com/topics/copier-template) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/cpu.md b/docs/cpu.md index e6096faa62e..7c35c58b722 100644 --- a/docs/cpu.md +++ b/docs/cpu.md @@ -293,4 +293,3 @@ motherboard socket. * [Tom's hardware CPU cooling guide](https://www.tomshardware.com/reviews/cooling-buying-guide,6105.html) * [How to select the best processor for your server](https://www.techmaish.com/how-to-select-the-best-processor-for-your-server/) * [Cloudzy best server processor](https://cloudzy.com/best-server-processor/) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/css.md b/docs/css.md index 06d544dc6ac..8251588ad76 100644 --- a/docs/css.md +++ b/docs/css.md @@ -551,4 +551,3 @@ To see how to use it read the [Vuetify Flexbox section](vuetify.md#flex). * [W3 Tutorial](https://www.w3schools.com/css/default.asp) * [W3 CSS templates](https://www.w3schools.com/css/css_rwd_templates.asp) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/cypress.md b/docs/cypress.md index 98f9cdf1550..13f29a80a6f 100644 --- a/docs/cypress.md +++ b/docs/cypress.md @@ -1686,4 +1686,3 @@ storage after each command to make sure everything happens as expected. * [Tutorial on writing tests](https://docs.cypress.io/guides/getting-started/writing-your-first-test) * [Video tutorials](https://docs.cypress.io/examples/examples/tutorials) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/dancing/cutting_shapes_basics.md b/docs/dancing/cutting_shapes_basics.md index f25b8fc6945..704e4986fb7 100644 --- a/docs/dancing/cutting_shapes_basics.md +++ b/docs/dancing/cutting_shapes_basics.md @@ -49,4 +49,3 @@ Sources: [1](https://www.youtube.com/embed/NVISfLc_z8c?start=119) * [Elements tutorial playlist](https://www.youtube.com/playlist?list=PLv695483ty5Nj0L0ZsAIiSAN62-lT6-3U) * [Anderson Jovani playlist](https://www.youtube.com/playlist?list=PLPAWfysb_wUx259mARAAWuYttD7b6nauh) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/dancing/rave_dances.md b/docs/dancing/rave_dances.md index 7f34940b778..314290d3831 100644 --- a/docs/dancing/rave_dances.md +++ b/docs/dancing/rave_dances.md @@ -83,4 +83,3 @@ tempo is usually between 140 and 150 BPM. Here are another Jumpstyle videos: [1](https://www.youtube.com/watch?v=b1e1yFlZUH4), [2](https://www.youtube.com/watch?v=yPjk-wJjEXU). -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/dancing/shuffle_basics.md b/docs/dancing/shuffle_basics.md index 78db5a26f1f..1c64f414afc 100644 --- a/docs/dancing/shuffle_basics.md +++ b/docs/dancing/shuffle_basics.md @@ -195,4 +195,3 @@ the kicks. * [Francis Shuffle compilation](https://www.youtube.com/watch?v=ia-06zXLa5E) * [Siera Shuffle compilation](https://www.youtube.com/watch?v=bUOR1KOhLXE) * [Bulldog Shuffle compilation](https://www.youtube.com/watch?v=AscmjFyXenQ) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/dancing/shuffle_kicks.md b/docs/dancing/shuffle_kicks.md index befc74362d8..b2184a10b85 100644 --- a/docs/dancing/shuffle_kicks.md +++ b/docs/dancing/shuffle_kicks.md @@ -50,4 +50,3 @@ put all your weight in your left leg because you need to twist). (The guy is crazy, shuffling barefoot over gravel soil `(╯°□°)╯ ┻━┻`). Source: [1](https://www.youtube.com/embed/1RHfw0IYrU8?start=598) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/dancing/shuffle_spins.md b/docs/dancing/shuffle_spins.md index 99d2071cc66..de82af4e9a6 100644 --- a/docs/dancing/shuffle_spins.md +++ b/docs/dancing/shuffle_spins.md @@ -61,4 +61,3 @@ To get there : Source: [1](https://www.youtube.com/embed/TaUz1KCVdJg?start=160) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/data_analysis/recommender_systems/recommender_systems.md b/docs/data_analysis/recommender_systems/recommender_systems.md index bb98ee09aac..382de7c1202 100644 --- a/docs/data_analysis/recommender_systems/recommender_systems.md +++ b/docs/data_analysis/recommender_systems/recommender_systems.md @@ -267,4 +267,3 @@ book recommender systems. ## Awesome recommender systems * [Grahamjenson](https://github.com/grahamjenson/list_of_recommender_systems) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/detox.md b/docs/detox.md index 47a9424f277..007278ecc61 100644 --- a/docs/detox.md +++ b/docs/detox.md @@ -10,4 +10,3 @@ apt-get install detox ```bash detox * ``` -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/devops/alex.md b/docs/devops/alex.md index 2c1af4bfd3e..0de4910d7da 100644 --- a/docs/devops/alex.md +++ b/docs/devops/alex.md @@ -27,4 +27,3 @@ a soft linter. # References * [Git](https://github.com/get-alex/alex) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/devops/api_management.md b/docs/devops/api_management.md index 471df17821e..7d1655577e7 100644 --- a/docs/devops/api_management.md +++ b/docs/devops/api_management.md @@ -56,4 +56,3 @@ typically found in API management products: APIs. This functionality can include support for setting up pricing rules, based on usage, load and functionality, issuing invoices and collecting payments including multiple types of credit card payments. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/devops/aws/aws.md b/docs/devops/aws/aws.md index dcd1fcc5541..3b455150c0d 100644 --- a/docs/devops/aws/aws.md +++ b/docs/devops/aws/aws.md @@ -54,4 +54,3 @@ aws ec2 stop-instances --instance-ids i-xxxxxxxx # References - [Compare aws ec2 instance types and prices](https://instances.vantage.sh/) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/devops/aws/eks.md b/docs/devops/aws/eks.md index 17f891a323e..b969016cc22 100644 --- a/docs/devops/aws/eks.md +++ b/docs/devops/aws/eks.md @@ -79,4 +79,3 @@ To upgrade a cluster follow these steps: # References * [Docs](https://docs.aws.amazon.com/eks/latest/userguide) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/devops/aws/iam/iam.md b/docs/devops/aws/iam/iam.md index 5a9539a3a46..0b32e0c397b 100644 --- a/docs/devops/aws/iam/iam.md +++ b/docs/devops/aws/iam/iam.md @@ -27,4 +27,3 @@ Configurable AWS access controls: # Links * [Docs](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/devops/aws/iam/iam_commands.md b/docs/devops/aws/iam/iam_commands.md index d587df5008f..347d2e9a6d5 100644 --- a/docs/devops/aws/iam/iam_commands.md +++ b/docs/devops/aws/iam/iam_commands.md @@ -35,4 +35,3 @@ aws iam get-role --role-name {{ role_name }} ```bash aws iam list-role-policies --role-name {{ role_name }} ``` -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/devops/aws/iam/iam_debug.md b/docs/devops/aws/iam/iam_debug.md index bcccf6b1faf..a505797a105 100644 --- a/docs/devops/aws/iam/iam_debug.md +++ b/docs/devops/aws/iam/iam_debug.md @@ -22,4 +22,3 @@ Delete the conflictive one ```bash aws iam delete-virtual-mfa-device --serial-number {{ mfa_arn }} ``` -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/devops/aws/s3.md b/docs/devops/aws/s3.md index efc4b541fd9..f2710830817 100644 --- a/docs/devops/aws/s3.md +++ b/docs/devops/aws/s3.md @@ -141,4 +141,3 @@ sudo pip3 install --upgrade boto3 # Links * [User guide](https://docs.aws.amazon.com/AmazonS3/latest/user-guide) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/devops/aws/security_groups.md b/docs/devops/aws/security_groups.md index 87f192b5713..de2b6d76e09 100644 --- a/docs/devops/aws/security_groups.md +++ b/docs/devops/aws/security_groups.md @@ -268,4 +268,3 @@ resource "aws_instance" "gitea_production" { data.terraform_remote_state.security_groups.outputs.egress_https_to_debian_repositories_from_publicdmz_id, ] ``` -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/devops/bandit.md b/docs/devops/bandit.md index e9be0dbb045..a83e7d7d32b 100644 --- a/docs/devops/bandit.md +++ b/docs/devops/bandit.md @@ -130,4 +130,3 @@ To fix it: # References * [Docs](https://bandit.readthedocs.io/en/latest/) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/devops/black.md b/docs/devops/black.md index b974db6165f..afdac9f9096 100644 --- a/docs/devops/black.md +++ b/docs/devops/black.md @@ -104,4 +104,3 @@ You can use the comments `# fmt: off` and `# fmt: on` * [Docs](https://black.readthedocs.io/en/stable/) * [Git](https://github.com/psf/black) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/devops/ci.md b/docs/devops/ci.md index 049ed9fa878..b9fccd83123 100644 --- a/docs/devops/ci.md +++ b/docs/devops/ci.md @@ -148,4 +148,3 @@ If you have this error while making a commit through a pipeline step, it may be the pre-commits stepping in. To fix it, remove all git hooks with `rm -r .git/hooks`. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/devops/devops.md b/docs/devops/devops.md index e23238957b7..659e7df3d45 100644 --- a/docs/devops/devops.md +++ b/docs/devops/devops.md @@ -192,4 +192,3 @@ To get the basic knowledge of the Dev side I would: * Once you're comfortable, try to collaborate with existent projects (right now you may not now where to look for projects to collaborate, but when you reach this point, I promise you will). -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/devops/flake8.md b/docs/devops/flake8.md index 614f341fb6a..af1b0bba9ae 100644 --- a/docs/devops/flake8.md +++ b/docs/devops/flake8.md @@ -55,4 +55,3 @@ You can use it both with: # References * [Docs](https://flake8.pycqa.org/en/latest/) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/devops/helm/helm.md b/docs/devops/helm/helm.md index d2795cbbcfb..2c5c07c8578 100644 --- a/docs/devops/helm/helm.md +++ b/docs/devops/helm/helm.md @@ -71,4 +71,3 @@ You may then try to issue your original command again to upgrade or reinstall. * [Git](https://github.com/kubernetes/helm) * [Chart hub](https://hub.helm.sh) * [Git charts repositories](https://github.com/kubernetes/charts) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/devops/helm/helm_commands.md b/docs/devops/helm/helm_commands.md index 23941b818cd..ebec493f1b2 100644 --- a/docs/devops/helm/helm_commands.md +++ b/docs/devops/helm/helm_commands.md @@ -117,4 +117,3 @@ helm repo add {{ repo_name }} {{ repo_url }} ```bash helm repo update ``` -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/devops/helm/helm_installation.md b/docs/devops/helm/helm_installation.md index df02d7e344d..2bb1cfa053a 100644 --- a/docs/devops/helm/helm_installation.md +++ b/docs/devops/helm/helm_installation.md @@ -36,4 +36,3 @@ helm plugin install https://github.com/databus23/helm-diff Now that you've got Helm installed, you'll probably want to install [Helmfile](helmfile.md). -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/devops/helm/helm_secrets.md b/docs/devops/helm/helm_secrets.md index 37219ef7c74..5276b99d906 100644 --- a/docs/devops/helm/helm_secrets.md +++ b/docs/devops/helm/helm_secrets.md @@ -136,4 +136,3 @@ more options. # Links * [Git](https://github.com/jkroepke/helm-secrets) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/devops/helmfile.md b/docs/devops/helmfile.md index 6e75781f428..54c53d4ad66 100644 --- a/docs/devops/helmfile.md +++ b/docs/devops/helmfile.md @@ -605,4 +605,3 @@ done). # Links * [Git](https://github.com/helmfile/helmfile) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/devops/jwt.md b/docs/devops/jwt.md index bf57b5486ba..e6eb6814915 100644 --- a/docs/devops/jwt.md +++ b/docs/devops/jwt.md @@ -12,4 +12,3 @@ The tokens are signed either using a private secret or a public/private key. # References * [Hasura.io best practices using jwt](https://hasura.io/blog/best-practices-of-using-jwt-with-graphql/) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/devops/kong/kong.md b/docs/devops/kong/kong.md index b260437fe78..9752767f3fa 100644 --- a/docs/devops/kong/kong.md +++ b/docs/devops/kong/kong.md @@ -113,4 +113,3 @@ dashboard](https://grafana.com/grafana/dashboards/7424) you can also use. * [Homepage](https://konghq.com/) * [Docs](https://docs.konghq.com/?itm_source=website&itm_medium=nav) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/devops/kubectl/kubectl.md b/docs/devops/kubectl/kubectl.md index 4254a8c1ce5..422a544e804 100644 --- a/docs/devops/kubectl/kubectl.md +++ b/docs/devops/kubectl/kubectl.md @@ -122,4 +122,3 @@ To unset the namespace use `kubectl config set-context --current --namespace=""` * [Overview](https://kubernetes.io/docs/reference/kubectl/overview/). * [Cheatsheet](https://kubernetes.io/docs/user-guide/kubectl-cheatsheet/). * [Kbenv](https://github.com/alexppg/kbenv): Virtualenv for kubectl. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/devops/kubectl/kubectl_commands.md b/docs/devops/kubectl/kubectl_commands.md index c33a8a034f4..6580e7164a3 100644 --- a/docs/devops/kubectl/kubectl_commands.md +++ b/docs/devops/kubectl/kubectl_commands.md @@ -634,4 +634,3 @@ kubectl get rs,secrets -o json --namespace old | jq '.items[].metadata.namespace # References - [kubectl hackery](https://clux.dev/post/2024-08-11-kubectl-hackery/) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/devops/kubectl/kubectl_installation.md b/docs/devops/kubectl/kubectl_installation.md index 88557f6b897..d0191b344ac 100644 --- a/docs/devops/kubectl/kubectl_installation.md +++ b/docs/devops/kubectl/kubectl_installation.md @@ -43,4 +43,3 @@ required files: ```bash aws eks update-kubeconfig --name {{ cluster_name }} ``` -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/devops/kubernetes/kubernetes.md b/docs/devops/kubernetes/kubernetes.md index 3994e0010db..be26ae5c0bf 100644 --- a/docs/devops/kubernetes/kubernetes.md +++ b/docs/devops/kubernetes/kubernetes.md @@ -127,4 +127,3 @@ now](https://github.com/ramitsurana/awesome-kubernetes#starting-point): * [References](https://kubernetes.io/docs/reference/) * [API conventions](https://github.com/kubernetes/community/blob/master/contributors/devel/api-conventions.md) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/devops/kubernetes/kubernetes_annotations.md b/docs/devops/kubernetes/kubernetes_annotations.md index 3223a7723ff..eacb9cc5038 100644 --- a/docs/devops/kubernetes/kubernetes_annotations.md +++ b/docs/devops/kubernetes/kubernetes_annotations.md @@ -32,4 +32,3 @@ Here are some examples of information that could be recorded in annotations: * User or tool/system provenance information, such as URLs of related objects from other ecosystem components. * Lightweight rollout tool metadata: for example, config or checkpoints. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/devops/kubernetes/kubernetes_architecture.md b/docs/devops/kubernetes/kubernetes_architecture.md index b64c6bfabdb..c88101b75f3 100644 --- a/docs/devops/kubernetes/kubernetes_architecture.md +++ b/docs/devops/kubernetes/kubernetes_architecture.md @@ -273,4 +273,3 @@ environment. # References * [Kubernetes components overview](https://kubernetes.io/docs/concepts/overview/components/) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/devops/kubernetes/kubernetes_cluster_autoscaler.md b/docs/devops/kubernetes/kubernetes_cluster_autoscaler.md index 9bb9b6a68d0..b53f5c6cb79 100644 --- a/docs/devops/kubernetes/kubernetes_cluster_autoscaler.md +++ b/docs/devops/kubernetes/kubernetes_cluster_autoscaler.md @@ -16,4 +16,3 @@ it](https://docs.aws.amazon.com/eks/latest/userguide/cluster-autoscaler.html). But I'd use the [`cluster-autoscaler`](https://github.com/helm/charts/tree/master/stable/cluster-autoscaler) [helm](helm.md) chart. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/devops/kubernetes/kubernetes_dashboard.md b/docs/devops/kubernetes/kubernetes_dashboard.md index 7aea9e4450c..8ee088871ce 100644 --- a/docs/devops/kubernetes/kubernetes_dashboard.md +++ b/docs/devops/kubernetes/kubernetes_dashboard.md @@ -31,4 +31,3 @@ chart with * [Documentation](https://github.com/kubernetes/dashboard/tree/master/docs) * [Kubernetes introduction to the dashboard](https://kubernetes.io/docs/tasks/access-application-cluster/web-ui-dashboard/) * [Hasham Haider guide](https://www.replex.io/blog/how-to-install-access-and-add-heapster-metrics-to-the-kubernetes-dashboard) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/devops/kubernetes/kubernetes_deployments.md b/docs/devops/kubernetes/kubernetes_deployments.md index 2315a8014b8..4f7b93a2d53 100644 --- a/docs/devops/kubernetes/kubernetes_deployments.md +++ b/docs/devops/kubernetes/kubernetes_deployments.md @@ -95,4 +95,3 @@ Concrete examples: fluentd, linkerd Jobs are the controller to run batch processing workloads. It creates multiple pods running in parallel to process independent but related work items. This can be the emails to be sent or frames to be rendered. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/devops/kubernetes/kubernetes_external_dns.md b/docs/devops/kubernetes/kubernetes_external_dns.md index 59fddb38b76..245bca1c557 100644 --- a/docs/devops/kubernetes/kubernetes_external_dns.md +++ b/docs/devops/kubernetes/kubernetes_external_dns.md @@ -134,4 +134,3 @@ specific role. The second worked flawlessly. For more information visit the [official external-dns aws documentation](https://github.com/kubernetes-sigs/external-dns/blob/master/docs/tutorials/aws.md). -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/devops/kubernetes/kubernetes_hpa.md b/docs/devops/kubernetes/kubernetes_hpa.md index fc04f20b629..717e06de313 100644 --- a/docs/devops/kubernetes/kubernetes_hpa.md +++ b/docs/devops/kubernetes/kubernetes_hpa.md @@ -20,4 +20,3 @@ To make it work, the definition of [pod resource consumption](https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/) needs to be specified. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/devops/kubernetes/kubernetes_ingress.md b/docs/devops/kubernetes/kubernetes_ingress.md index 1e1c9851bbd..2b9db82ae52 100644 --- a/docs/devops/kubernetes/kubernetes_ingress.md +++ b/docs/devops/kubernetes/kubernetes_ingress.md @@ -30,4 +30,3 @@ than HTTP and HTTPS to the internet typically uses a [service](kubernetes_services.md) of type [NodePort](kubernetes_services.md#nodeport) or [LoadBalancer](kubernetes_services.md#loadbalancer). -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/devops/kubernetes/kubernetes_ingress_controller.md b/docs/devops/kubernetes/kubernetes_ingress_controller.md index 9eb508b6525..5aeebede96c 100644 --- a/docs/devops/kubernetes/kubernetes_ingress_controller.md +++ b/docs/devops/kubernetes/kubernetes_ingress_controller.md @@ -199,4 +199,3 @@ service account will be able to do so. * [ITNext ingress controller comparison](https://itnext.io/kubernetes-ingress-controllers-how-to-choose-the-right-one-part-1-41d3554978d2) * [Flant ingress controller comparison](https://medium.com/flant-com/comparing-ingress-controllers-for-kubernetes-9b397483b46b) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/devops/kubernetes/kubernetes_jobs.md b/docs/devops/kubernetes/kubernetes_jobs.md index c3104f9faf7..bb9bfa65bf8 100644 --- a/docs/devops/kubernetes/kubernetes_jobs.md +++ b/docs/devops/kubernetes/kubernetes_jobs.md @@ -317,4 +317,3 @@ now construct the alert: We use the `kube_cronjob_labels` here to merge in labels from the original cronjob. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/devops/kubernetes/kubernetes_labels.md b/docs/devops/kubernetes/kubernetes_labels.md index c5a0c61e9cf..1a15946e7df 100644 --- a/docs/devops/kubernetes/kubernetes_labels.md +++ b/docs/devops/kubernetes/kubernetes_labels.md @@ -15,4 +15,3 @@ which do not directly imply semantics to the core system. "key2" : "value2" } ``` -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/devops/kubernetes/kubernetes_metric_server.md b/docs/devops/kubernetes/kubernetes_metric_server.md index 14f54f7dabf..6ff8c0ef930 100644 --- a/docs/devops/kubernetes/kubernetes_metric_server.md +++ b/docs/devops/kubernetes/kubernetes_metric_server.md @@ -15,4 +15,3 @@ To install it, you can use the [`metrics-server`](https://github.com/helm/charts To test that the horizontal pod autoscaling is working, follow the [AWS EKS guide](https://docs.aws.amazon.com/eks/latest/userguide/horizontal-pod-autoscaler.html). -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/devops/kubernetes/kubernetes_namespaces.md b/docs/devops/kubernetes/kubernetes_namespaces.md index be3f13a7fc2..b3079214f10 100644 --- a/docs/devops/kubernetes/kubernetes_namespaces.md +++ b/docs/devops/kubernetes/kubernetes_namespaces.md @@ -26,4 +26,3 @@ It is not necessary to use multiple namespaces just to separate slightly different resources, such as different versions of the same software: use labels to distinguish resources within the same namespace. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/devops/kubernetes/kubernetes_networking.md b/docs/devops/kubernetes/kubernetes_networking.md index f11783f0742..e86e0014cc6 100644 --- a/docs/devops/kubernetes/kubernetes_networking.md +++ b/docs/devops/kubernetes/kubernetes_networking.md @@ -357,4 +357,3 @@ different CNI backends. Which from my point of view, seems a bad and ugly idea. article](https://www.stackrox.com/post/2020/01/kubernetes-networking-demystified/). * [Writing your own simple CNI plug in](https://www.altoros.com/blog/kubernetes-networking-writing-your-own-simple-cni-plug-in-with-bash/). -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/devops/kubernetes/kubernetes_operators.md b/docs/devops/kubernetes/kubernetes_operators.md index f2221aa0a6a..a58cc0ea4f9 100644 --- a/docs/devops/kubernetes/kubernetes_operators.md +++ b/docs/devops/kubernetes/kubernetes_operators.md @@ -49,4 +49,3 @@ with the etcd Operator a user can simply increase the etcd cluster size field by * [CoreOS introduction to Operators](https://coreos.com/blog/introducing-operators.html) * [Sysdig Prometheus Operator guide part 3](https://sysdig.com/blog/kubernetes-monitoring-prometheus-operator-part3/) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/devops/kubernetes/kubernetes_pods.md b/docs/devops/kubernetes/kubernetes_pods.md index 6a067c6768c..3aba029cef4 100644 --- a/docs/devops/kubernetes/kubernetes_pods.md +++ b/docs/devops/kubernetes/kubernetes_pods.md @@ -15,4 +15,3 @@ A Pod represents a unit of deployment. It encapsulates: * A unique network IP. * Options that govern how the container(s) should run. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/devops/kubernetes/kubernetes_replicasets.md b/docs/devops/kubernetes/kubernetes_replicasets.md index 0bc2101e79b..5e919d7f7c7 100644 --- a/docs/devops/kubernetes/kubernetes_replicasets.md +++ b/docs/devops/kubernetes/kubernetes_replicasets.md @@ -13,4 +13,3 @@ You'll probably never manually use these resources, as they are defined inside the [deployments](kubernetes_deployments.md). The older version of this resource are the [Replication controllers](https://kubernetes.io/docs/concepts/workloads/controllers/replicationcontroller/). -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/devops/kubernetes/kubernetes_services.md b/docs/devops/kubernetes/kubernetes_services.md index af2f51a4092..316bdedfd33 100644 --- a/docs/devops/kubernetes/kubernetes_services.md +++ b/docs/devops/kubernetes/kubernetes_services.md @@ -39,4 +39,3 @@ you can call a service of another namespace with the following nomenclature. ```bash curl {{ service_name}}.{{ service_namespace }}.svc.cluster.local ``` -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/devops/kubernetes/kubernetes_storage_driver.md b/docs/devops/kubernetes/kubernetes_storage_driver.md index 6ee8a9aa828..eccf7bb4593 100644 --- a/docs/devops/kubernetes/kubernetes_storage_driver.md +++ b/docs/devops/kubernetes/kubernetes_storage_driver.md @@ -23,4 +23,3 @@ to the worker nodes. Then you can use the To test it worked follow [the steps](https://docs.aws.amazon.com/eks/latest/userguide/ebs-csi.html) under *To deploy a sample application and verify that the CSI driver is working*. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/devops/kubernetes/kubernetes_tools.md b/docs/devops/kubernetes/kubernetes_tools.md index f2fa85d7388..8e75537bb02 100644 --- a/docs/devops/kubernetes/kubernetes_tools.md +++ b/docs/devops/kubernetes/kubernetes_tools.md @@ -34,4 +34,3 @@ Kubernetes. cluster. * [kubeview](https://learnk8s.io/visualise-dependencies-kubernetes/): Visualize dependencies kubernetes. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/devops/kubernetes/kubernetes_vertical_pod_autoscaler.md b/docs/devops/kubernetes/kubernetes_vertical_pod_autoscaler.md index 1693db068bd..e58540dcd80 100644 --- a/docs/devops/kubernetes/kubernetes_vertical_pod_autoscaler.md +++ b/docs/devops/kubernetes/kubernetes_vertical_pod_autoscaler.md @@ -15,4 +15,3 @@ does data analysis on the pod metrics to automatically adjust these values. Nevertheless it's still not suggested to use it in conjunction with the [horizontal pod autoscaler](kubernetes_hpa.md), so we'll need to watch out for future improvements. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/devops/kubernetes/kubernetes_volumes.md b/docs/devops/kubernetes/kubernetes_volumes.md index 80437f9d741..18d490fce60 100644 --- a/docs/devops/kubernetes/kubernetes_volumes.md +++ b/docs/devops/kubernetes/kubernetes_volumes.md @@ -111,4 +111,3 @@ durability characteristics of the underlying disk. * [glusterfs](https://kubernetes.io/docs/concepts/storage/volumes/#glusterfs) * [cephfs](https://kubernetes.io/docs/concepts/storage/volumes/#cephfs) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/devops/markdownlint.md b/docs/devops/markdownlint.md index fc72729bbbf..fe5a7313cd6 100644 --- a/docs/devops/markdownlint.md +++ b/docs/devops/markdownlint.md @@ -66,4 +66,3 @@ merged you need to change the `let l:pattern=.*` file to make the linting work t # References * [Git](https://github.com/igorshubovych/markdownlint-cli) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/devops/mypy.md b/docs/devops/mypy.md index 0baeaf444e1..3ebe55020e2 100644 --- a/docs/devops/mypy.md +++ b/docs/devops/mypy.md @@ -175,4 +175,3 @@ except ImportError: * [Docs](https://mypy.readthedocs.io/en/stable/) * [Git](https://github.com/python/mypy) * [Homepage](http://mypy-lang.org/) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/devops/pip_tools.md b/docs/devops/pip_tools.md index 89eef358748..ab621627030 100644 --- a/docs/devops/pip_tools.md +++ b/docs/devops/pip_tools.md @@ -118,4 +118,3 @@ Trigger hooks: # References * [Git](https://github.com/jazzband/pip-tools) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/devops/prometheus/alertmanager.md b/docs/devops/prometheus/alertmanager.md index 9e040c5fdf3..6a89a63a7ea 100644 --- a/docs/devops/prometheus/alertmanager.md +++ b/docs/devops/prometheus/alertmanager.md @@ -400,4 +400,3 @@ To silence an alert with a regular expression use the matcher - [Source](https://github.com/prometheus/alertmanager) - [Docs](https://prometheus.io/docs/alerting/latest/alertmanager/ - [Awesome prometheus alert rules](https://awesome-prometheus-alerts.grep.to/rules) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/devops/prometheus/blackbox_exporter.md b/docs/devops/prometheus/blackbox_exporter.md index 96ecc240eb1..8ccefda9908 100644 --- a/docs/devops/prometheus/blackbox_exporter.md +++ b/docs/devops/prometheus/blackbox_exporter.md @@ -743,4 +743,3 @@ internal DNS server so the probe sees it exist. configuration](https://github.com/prometheus/blackbox_exporter/blob/master/CONFIGURATION.md). * [Devconnected introduction to blackbox exporter](https://devconnected.com/how-to-install-and-configure-blackbox-exporter-for-prometheus/). -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/devops/prometheus/instance_sizing_analysis.md b/docs/devops/prometheus/instance_sizing_analysis.md index d0ee0364538..0a16a046668 100644 --- a/docs/devops/prometheus/instance_sizing_analysis.md +++ b/docs/devops/prometheus/instance_sizing_analysis.md @@ -385,4 +385,3 @@ metrics. * [Gitlab post on anomaly detection using Prometheus](https://about.gitlab.com/blog/2019/07/23/anomaly-detection-using-prometheus/). -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/devops/prometheus/node_exporter.md b/docs/devops/prometheus/node_exporter.md index 23891cabcab..e0eb53cfc0b 100644 --- a/docs/devops/prometheus/node_exporter.md +++ b/docs/devops/prometheus/node_exporter.md @@ -525,4 +525,3 @@ printf "%.0f" $value }}` transmit errors in the last five minutes. * [Git](https://github.com/prometheus/node_exporter) * [Prometheus node exporter guide](https://prometheus.io/docs/guides/node-exporter/) * [Node exporter alerts](https://awesome-prometheus-alerts.grep.to/rules) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/devops/prometheus/prometheus.md b/docs/devops/prometheus/prometheus.md index 4f7df981fce..1983670eabd 100644 --- a/docs/devops/prometheus/prometheus.md +++ b/docs/devops/prometheus/prometheus.md @@ -222,4 +222,3 @@ response = requests.get( * [Prometheus Up & Running](http://shop.oreilly.com/product/0636920147343.do). * [Monitoring With Prometheus](https://www.prometheusbook.com/). -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/devops/prometheus/prometheus_architecture.md b/docs/devops/prometheus/prometheus_architecture.md index 7a9d7062761..19fa1c687a6 100644 --- a/docs/devops/prometheus/prometheus_architecture.md +++ b/docs/devops/prometheus/prometheus_architecture.md @@ -98,4 +98,3 @@ own clients, you can do that too. * [Prometheus Overview](https://prometheus.io/docs/introduction/overview/) * [Open Source for U architecture overview](https://opensourceforu.com/2017/04/prometheus/) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/devops/prometheus/prometheus_installation.md b/docs/devops/prometheus/prometheus_installation.md index 1edb01e589a..ce1d36d5a63 100644 --- a/docs/devops/prometheus/prometheus_installation.md +++ b/docs/devops/prometheus/prometheus_installation.md @@ -390,4 +390,3 @@ And some basic rules: * [Error: apiVersion 'v2' is not valid. The value must be "v1"](https://github.com/prometheus-community/helm-charts/issues/607): Update the warning above and update the clusters. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/devops/prometheus/prometheus_operator.md b/docs/devops/prometheus/prometheus_operator.md index 7fefdb519d6..8f12c9e061b 100644 --- a/docs/devops/prometheus/prometheus_operator.md +++ b/docs/devops/prometheus/prometheus_operator.md @@ -52,4 +52,3 @@ The Operator acts on the following [custom resource definitions](https://github. * [Homepage](https://github.com/coreos/prometheus-operator) * [CoreOS Prometheus operator presentation](https://coreos.com/blog/the-prometheus-operator.html) * [Sysdig Prometheus operator guide part 3](https://sysdig.com/blog/kubernetes-monitoring-prometheus-operator-part3/) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/devops/prometheus/prometheus_troubleshooting.md b/docs/devops/prometheus/prometheus_troubleshooting.md index 5cad59d104e..592ad3f5482 100644 --- a/docs/devops/prometheus/prometheus_troubleshooting.md +++ b/docs/devops/prometheus/prometheus_troubleshooting.md @@ -63,4 +63,3 @@ kubectl get MutatingWebhookConfiguration ``` Before executing `helmfile apply` again. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/devops/proselint.md b/docs/devops/proselint.md index e80b39681fe..a739cce8925 100644 --- a/docs/devops/proselint.md +++ b/docs/devops/proselint.md @@ -41,4 +41,3 @@ the `~/.config/proselint/config` file, such as: # References * [Git](https://github.com/amperser/proselint/) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/devops/safety.md b/docs/devops/safety.md index ba7d365ad22..1d7131cc80e 100644 --- a/docs/devops/safety.md +++ b/docs/devops/safety.md @@ -70,4 +70,3 @@ safety generate policy_file * [Source](https://github.com/pyupio/safety) * [Docs](https://docs.safetycli.com/safety-docs) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/devops/write_good.md b/docs/devops/write_good.md index b23c7093d41..bbdb49b0766 100644 --- a/docs/devops/write_good.md +++ b/docs/devops/write_good.md @@ -31,4 +31,3 @@ a soft linter. # References * [Git](https://github.com/btford/write-good) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/devops/yamllint.md b/docs/devops/yamllint.md index c797e524060..2af894ec128 100644 --- a/docs/devops/yamllint.md +++ b/docs/devops/yamllint.md @@ -52,4 +52,3 @@ ignore: * [Git](https://github.com/adrienverge/yamllint) * [Docs](https://yamllint.readthedocs.io/) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/diccionario_galego.md b/docs/diccionario_galego.md index 8c27e1a670a..f5c68cb8838 100644 --- a/docs/diccionario_galego.md +++ b/docs/diccionario_galego.md @@ -547,4 +547,3 @@ * zume: zumo -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/diffview.md b/docs/diffview.md index 3c93561da92..8f8496fcaa3 100644 --- a/docs/diffview.md +++ b/docs/diffview.md @@ -125,4 +125,3 @@ It may be because you have an outdated version of git. To fix it update to the l # References - [Source](https://github.com/sindrets/diffview.nvim) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/digital_garden.md b/docs/digital_garden.md index 2fbe199d34b..d696f60b93b 100644 --- a/docs/digital_garden.md +++ b/docs/digital_garden.md @@ -61,9 +61,7 @@ To automatically add the badge to all your content you can use the next script: echo "Checking the Not by AI badge" find docs -iname '*md' -print0 | while read -r -d $'\0' file; do - if ! grep -q not-by-ai.svg "$file"; then echo "Adding the Not by AI badge to $file" - echo "[![](not-by-ai.svg){: .center}](https://notbyai.fyi)" >>"$file" fi done ``` @@ -82,4 +80,3 @@ archive.org has an API and a python library. * [Joel Hooks article on Digital Gardens](https://joelhooks.com/digital-garden) * [Tom Critchlow article on Digital Gardens](https://tomcritchlow.com/2019/02/17/building-digital-garden/) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/dino.md b/docs/dino.md index ab862f50de3..d053be7ddf7 100644 --- a/docs/dino.md +++ b/docs/dino.md @@ -51,4 +51,3 @@ If you have more detailed follow [this article](https://t-hinrichs.net/DinoTails echo 'alias dino="torsocks dino-im &> /dev/null &"' >> ~/.bashrc ``` -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/diversity.md b/docs/diversity.md index 6688b120b76..0781352469e 100644 --- a/docs/diversity.md +++ b/docs/diversity.md @@ -29,4 +29,3 @@ as](https://pulitzercenter.org/diversity-equity-and-inclusion): * [Pulitzer center DEI page](https://pulitzercenter.org/diversity-equity-and-inclusion) * [Journalist's Toolbox DEI links](https://www.journaliststoolbox.org/2021/03/01/diversity_links/) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/docker.md b/docs/docker.md index 0389a1f075a..8ad65a758b8 100644 --- a/docs/docker.md +++ b/docs/docker.md @@ -579,4 +579,3 @@ Shutdown the VPN and it will work. If it doesn't inspect the output of sysctl net.ipv6.conf.all.disable_ipv6=1 sysctl net.ipv6.conf.default.disable_ipv6=1 ``` -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/documentation.md b/docs/documentation.md index 779534b64bc..f3b0edd25ed 100644 --- a/docs/documentation.md +++ b/docs/documentation.md @@ -156,4 +156,3 @@ about those in order to make progress. * [divio's documentation wiki](https://documentation.divio.com/introduction/) * [Vue's guidelines](https://v3.vuejs.org/guide/contributing/writing-guide.html#principles) * [FastAPI awesome docs](https://fastapi.tiangolo.com/tutorial/) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/dotdrop.md b/docs/dotdrop.md index d93564a9891..3acd34c3e30 100644 --- a/docs/dotdrop.md +++ b/docs/dotdrop.md @@ -30,4 +30,3 @@ What I don't like: - [Source](https://github.com/deadc0de6/dotdrop) - [Docs](https://dotdrop.readthedocs.io/en/latest/) - [Blog post](https://deadc0de.re/articles/dotfiles.html) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/dotfiles.md b/docs/dotfiles.md index b94060c5d4b..2491e9f953f 100644 --- a/docs/dotfiles.md +++ b/docs/dotfiles.md @@ -108,4 +108,3 @@ I think I'll give `chezmoi` a try. [3]: https://github.com/jbernard/dotfiles [4]: https://github.com/EvanPurkhiser/dots [5]: https://github.com/lra/mackup -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/drawing/drawing.md b/docs/drawing/drawing.md index 5413742430d..4e4ebb156fa 100644 --- a/docs/drawing/drawing.md +++ b/docs/drawing/drawing.md @@ -226,4 +226,3 @@ skills. ## Books - [Drawing on the Right Side of the Brain by Betty Edwards ](https://bookshop.org/p/books/drawing-on-the-right-side-of-the-brain-betty-edwards/16199928?ean=9781585429202&ref=https%3A%2F%2Fncase.me%2F&source=IndieBound&title=): Recommended by ncase.me -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/drawing/exercise_pool.md b/docs/drawing/exercise_pool.md index 3cecde7e251..0404eec73a0 100644 --- a/docs/drawing/exercise_pool.md +++ b/docs/drawing/exercise_pool.md @@ -112,4 +112,3 @@ Everything should fit in there snugly, and nothing should be floating around. As you get better, your ellipses will tighten up - the gaps between your successive passes will shrink and eventually your ellipses will appear much cleaner. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/drone.md b/docs/drone.md index 462c9f12a31..8d24b66974a 100644 --- a/docs/drone.md +++ b/docs/drone.md @@ -265,4 +265,3 @@ drone repo info * [Docs](https://docs.drone.io/) * [Home](https://www.drone.io/) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/dunst.md b/docs/dunst.md index 299ac7ade69..7530fe75115 100644 --- a/docs/dunst.md +++ b/docs/dunst.md @@ -43,4 +43,3 @@ Read and tweak the `~/.dunst/dunstrc` file to your liking. * [Git](https://github.com/dunst-project/dunst) * [Home](https://dunst-project.org/) * [Archwiki page on dunst](https://wiki.archlinux.org/title/Dunst) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/dynamicdns.md b/docs/dynamicdns.md index ba81378a612..6339c758529 100644 --- a/docs/dynamicdns.md +++ b/docs/dynamicdns.md @@ -12,4 +12,3 @@ addresses or other information. There are different DDNS providers, I use [Duckdns](https://www.duckdns.org) as it is easy to setup and the Linuxserver people have a [docker that makes it work](https://hub.docker.com/r/linuxserver/duckdns/). -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/ecc.md b/docs/ecc.md index 4a595f16539..c934e33b684 100644 --- a/docs/ecc.md +++ b/docs/ecc.md @@ -78,4 +78,3 @@ $: dmidecode -t memory | grep ECC ``` You can also test it with [`rasdaemon`](rasdaemon.md) -\n\n[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/elastic_security.md b/docs/elastic_security.md index fb51f95cc6f..a6f401a73fa 100644 --- a/docs/elastic_security.md +++ b/docs/elastic_security.md @@ -4,4 +4,3 @@ # References - [Home](https://www.elastic.co/security) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/elasticsearch_exporter.md b/docs/elasticsearch_exporter.md index 0195eb1a6ba..54fbeb3b501 100644 --- a/docs/elasticsearch_exporter.md +++ b/docs/elasticsearch_exporter.md @@ -439,4 +439,3 @@ The most basic probes, test if the service is healthy # Links * [Git](https://github.com/prometheus-community/elasticsearch_exporter) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/email_automation.md b/docs/email_automation.md index 9ef57914878..e38e43c1426 100644 --- a/docs/email_automation.md +++ b/docs/email_automation.md @@ -402,4 +402,3 @@ And add the entry in your `crontab -e`. If you want to process your emails with this system through a command line interface, you can configure [alot](alot.md). -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/email_management.md b/docs/email_management.md index 7f566fcfa72..43aced23a14 100644 --- a/docs/email_management.md +++ b/docs/email_management.md @@ -126,4 +126,3 @@ with your own. If you use [vim](vim.md) or emacs, there's a good chance that the email client has a plugin that allows you to use it. Or you can always migrate to a command line client. I'll probably do that once I set up the [email automation system](projects.md#automate-email-management). -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/emojis.md b/docs/emojis.md index 61d521b5600..414e276d7fd 100644 --- a/docs/emojis.md +++ b/docs/emojis.md @@ -234,4 +234,3 @@ _へ__(‾◡◝ )> # Links - [Japanese Emoticons](http://japaneseemoticons.me) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/environmentalism.md b/docs/environmentalism.md index e0252d20e9a..ba169de15fe 100644 --- a/docs/environmentalism.md +++ b/docs/environmentalism.md @@ -22,4 +22,3 @@ Here are some small things I'm doing to save some water each day: possible to fill up the toilet's deposit, but it's not easy. - Use a glass of water to wet the toothbrush and rinse my mouth instead of using running water. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/fastapi.md b/docs/fastapi.md index 61393f687e9..39407e7a95d 100644 --- a/docs/fastapi.md +++ b/docs/fastapi.md @@ -992,4 +992,3 @@ against `http://localhost:8000`. - [Testdriven.io course](https://testdriven.io/courses/tdd-fastapi/): suggested by the developer. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/fava_dashboards.md b/docs/fava_dashboards.md index e2d925e94d7..9178214915e 100644 --- a/docs/fava_dashboards.md +++ b/docs/fava_dashboards.md @@ -256,4 +256,3 @@ Add `console.log` strings in the javascript code to debug it. - [Fava investor](https://github.com/andreasgerstmayr/fava-portfolio-returns) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/feminism/privileges.md b/docs/feminism/privileges.md index 058f30965e3..ca96e71fef9 100644 --- a/docs/feminism/privileges.md +++ b/docs/feminism/privileges.md @@ -96,4 +96,3 @@ to the [Michael Kimmel book](https://www.goodreads.com/book/show/7400069-privile ## Videos - [La intuición femenina, gracias al lenguaje](https://twitter.com/almuariza/status/1772889815131807765?t=HH1W17VGbQ7K-_XmoCy_SQ&s=19) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/ferdium.md b/docs/ferdium.md index 367283a0b1d..5bfe19f0cf7 100644 --- a/docs/ferdium.md +++ b/docs/ferdium.md @@ -36,4 +36,3 @@ device. So only add services that are not critical to you. # References * [Homepage](https://ferdium.org) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/ffmpeg.md b/docs/ffmpeg.md index c7a6e81e69c..2931f6fb8fc 100644 --- a/docs/ffmpeg.md +++ b/docs/ffmpeg.md @@ -374,4 +374,3 @@ trac.ffmpeg.org to know about all the possible things you can do with FFmpeg. # References * [Home](https://www.ffmpeg.org/) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/finnix.md b/docs/finnix.md index d22e7fdc995..78c375b639c 100644 --- a/docs/finnix.md +++ b/docs/finnix.md @@ -22,4 +22,3 @@ overwrite, you may end up fucking your device hard drive instead!" # References * [Home](https://www.finnix.org/) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/fitness_band.md b/docs/fitness_band.md index 0118f16b14b..64f07325235 100644 --- a/docs/fitness_band.md +++ b/docs/fitness_band.md @@ -37,4 +37,3 @@ looks good too but wasp-os is lacking touch screen support. So if I had to choose now, I'd try the Colmi P8, the only thing that I'd miss is the possible voice assistant support. They say that you can take one for 18$ in aliexpress. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/flakeheaven.md b/docs/flakeheaven.md index f391968d8fd..38d0bfb6e39 100644 --- a/docs/flakeheaven.md +++ b/docs/flakeheaven.md @@ -240,4 +240,3 @@ extended_default_ignore=[] * [Using Flake8 and pyproject.toml with Flakeheaven article by Jonathan Bowman](https://dev.to/bowmanjd/using-flake8-and-pyproject-toml-with-flakeheaven-1cn1) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/food_management.md b/docs/food_management.md index eb9e0ed3e91..7f44f004a5d 100644 --- a/docs/food_management.md +++ b/docs/food_management.md @@ -35,4 +35,3 @@ Check [grocy management](grocy_management.md) for more details. # Cooking Week batch cooking, yearly batch cooking -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/forgejo.md b/docs/forgejo.md index fa3bdaa6b1d..e09a9579b04 100644 --- a/docs/forgejo.md +++ b/docs/forgejo.md @@ -50,4 +50,3 @@ Now you can use static pages similar to Github Pages in forgejo/gitea! check [ho - [Docs](https://forgejo.org/docs/latest) - [Home](https://forgejo.org/) - [News](https://forgejo.org/news/) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/forking_this_wiki.md b/docs/forking_this_wiki.md index d01d7d01b3a..7974d0ded6f 100644 --- a/docs/forking_this_wiki.md +++ b/docs/forking_this_wiki.md @@ -132,4 +132,3 @@ To enable the Github Pages website associated with your repo, follow these steps Now, the site will be built whenever you push new commits and periodically, according to the `cron` configuration from *.github/workflows/gh-pages.yml*. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/free_knowledge.md b/docs/free_knowledge.md index f006325961c..544bac27614 100644 --- a/docs/free_knowledge.md +++ b/docs/free_knowledge.md @@ -38,4 +38,3 @@ the site. * [Libgen reddit](https://www.reddit.com/r/libgen/) * [Sci-Hub reddit](https://www.reddit.com/r/scihub/) * [DataHoarder reddit](https://www.reddit.com/r/DataHoarder/) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/free_software.md b/docs/free_software.md index 2c535608142..0930ec0a9aa 100644 --- a/docs/free_software.md +++ b/docs/free_software.md @@ -1,4 +1,3 @@ # References - [El software libre también necesita jardineros](https://escritura.social/astrojuanlu/el-software-libre-tambien-necesita-jardineros) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/frontend_development.md b/docs/frontend_development.md index 59c14cdd5ea..ea36790b35c 100644 --- a/docs/frontend_development.md +++ b/docs/frontend_development.md @@ -133,4 +133,3 @@ Some interesting cases and their solutions: * [Welcome wizard](https://docs.cypress.io/guides/core-concepts/conditional-testing#Use-your-server-or-database) * [A/B Campaign](https://docs.cypress.io/guides/core-concepts/conditional-testing#A-B-campaign) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/frontend_learning.md b/docs/frontend_learning.md index 91260316ba7..28cd0e4c0b3 100644 --- a/docs/frontend_learning.md +++ b/docs/frontend_learning.md @@ -47,4 +47,3 @@ built upon, that means learning the basics of: If you follow other [learning methods](code_learning.md#learning-methods), make sure that they cover more less the same concepts. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/fun.md b/docs/fun.md index f17ee6af65c..d9e2af3347d 100644 --- a/docs/fun.md +++ b/docs/fun.md @@ -8,4 +8,3 @@ author: Lyz ![ ](xkcd-workflow.png) [(source)](https://imgs.xkcd.com/comics/workflow.png) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/gadgetbridge.md b/docs/gadgetbridge.md index f80a16a325f..2e96b7a59ec 100644 --- a/docs/gadgetbridge.md +++ b/docs/gadgetbridge.md @@ -96,4 +96,3 @@ pairing](https://codeberg.org/Freeyourgadget/Gadgetbridge/wiki/Huami-Server-Pair * [Blog](https://blog.freeyourgadget.org/), although the [RSS](https://blog.freeyourgadget.org/feeds/all.atom.xml) is [not working](https://codeberg.org/Freeyourgadget/Gadgetbridge/issues/2204). -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/gajim.md b/docs/gajim.md index c37eb3d392f..e92e9a6f038 100644 --- a/docs/gajim.md +++ b/docs/gajim.md @@ -38,4 +38,3 @@ started. # References * [Homepage](https://gajim.org/) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/galego.md b/docs/galego.md index ac122418d1c..fa1079ae37f 100644 --- a/docs/galego.md +++ b/docs/galego.md @@ -180,4 +180,3 @@ Artigos determinados: * [Como falar e escribir en galego con corrección e fluidez de Carlos Callón](https://www.xerais.gal/libro.php?id=3337926) * [Manual de conxugación verbal da lingua galega de Avelino Hermida](https://editorialgalaxia.gal/produto/manual-de-conxugacion-verbal-da-lingua-galega/) * [Dicionario Galaxia de usos e dificultades da lingua galega de Benigno Fernández Salgado](https://editorialgalaxia.gal/produto/dicionario-galaxia-de-usos-e-dificultades-da-lingua-galega/) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/game_theory.md b/docs/game_theory.md index 39e2b24bd09..f9691481922 100644 --- a/docs/game_theory.md +++ b/docs/game_theory.md @@ -5,4 +5,3 @@ Game theory shows us the three things we need for the evolution of trust: - Repeat interactions: Trust keeps a relationship going, but you need the knowledge of possible future repeat interactions before trust can evolve - Possible win-wins: You must be playing a non-zero-sum game, a game where it's at least possible that both players can be better off -- a win-win. - Low miscommunication: If the level of miscommunication is too high, trust breaks down. But when there's a little bit of miscommunication, it pays to be more forgiving -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/gancio.md b/docs/gancio.md index 0eacf18289f..1ab7a46716e 100644 --- a/docs/gancio.md +++ b/docs/gancio.md @@ -24,4 +24,3 @@ The source code of the plugin is [in the wp-plugin](https://framagit.org/les/gan - [List of gancio instances](http://demo.fedilist.com/instance?q=&ip=&software=gancio®istrations=&onion=) - [Radar Squat](https://radar.squat.net) - [Create A3 paper flyers with Gancio agenda](https://git.lattuga.net/balotta/gancio-flyers) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/gardening.md b/docs/gardening.md index eb8bfc56ed9..08875dd8aae 100644 --- a/docs/gardening.md +++ b/docs/gardening.md @@ -15,4 +15,3 @@ The best moment to use it is at spring and depending on the type of plant you sh Manure can be obtained in dust or liquid state. The first is perfect to scatter directly over the earth, while the second is better used on plant pots. You don't need to use much, in fact, with just a pair of spoons per pot is enough. Apply it around the base of the plant, avoiding it's touch with leaves, stem or exposed roots, as it may burn them. After you apply them remember to water them often, keep in mind that it's like a heavy greasy sandwich for the plants, and they need water to digest it. For my indoor plants I'm going to apply a small dose (one spoon per plant) at the start of Autumn (first days of September), and two spoons at the start of spring (first days of March). -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/gettext.md b/docs/gettext.md index c60cd955750..cef83317d9b 100644 --- a/docs/gettext.md +++ b/docs/gettext.md @@ -335,4 +335,3 @@ You can use it with * [Homepage](https://docs.python.org/3/library/gettext.html) * [Reference](https://docs.python.org/3/library/gettext.html) * [Phrase blog on Localizing with GNU gettext](https://phrase.com/blog/posts/translate-python-gnu-gettext/) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/gh.md b/docs/gh.md index 89158aa091a..26faf2ddb05 100644 --- a/docs/gh.md +++ b/docs/gh.md @@ -72,4 +72,3 @@ where you can get the `workflow_name` with `gh workflow list` # References * [Git](https://github.com/cli/cli) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/git.md b/docs/git.md index 5720383b994..6ede87a0008 100644 --- a/docs/git.md +++ b/docs/git.md @@ -846,4 +846,3 @@ If you get this error when you're adding a `git submodule` follow the next steps - [git-extras](https://github.com/tj/git-extras/blob/master/Commands.md) - [archaeologit](https://github.com/peterjaric/archaeologit): Tool to search strings in the history of a github user -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/gitea.md b/docs/gitea.md index 5201e596e23..afce9e98c39 100644 --- a/docs/gitea.md +++ b/docs/gitea.md @@ -574,4 +574,3 @@ Fetching the whole history with fetch-depth: 0 worked for us: * [Terraform provider docs](https://registry.terraform.io/providers/Lerentis/gitea/latest/docs) * [Terraform provider source code](https://github.com/Lerentis/terraform-provider-gitea) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/gitsigns.md b/docs/gitsigns.md index 0addcb1d0e1..a18416ec8cb 100644 --- a/docs/gitsigns.md +++ b/docs/gitsigns.md @@ -73,4 +73,3 @@ Some interesting bindings: - [Source](https://github.com/lewis6991/gitsigns.nvim) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/goaccess.md b/docs/goaccess.md index 4eaa9c3e8cb..234361d4ff4 100644 --- a/docs/goaccess.md +++ b/docs/goaccess.md @@ -42,4 +42,3 @@ goaccess \ * [Docs](https://goaccess.io/man) * [Tweaking goaccess for analytics post](https://www.thedroneely.com/posts/tweaking-goaccess-for-analytics/) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/goodconf.md b/docs/goodconf.md index 61dc71c5006..fbc137a203e 100644 --- a/docs/goodconf.md +++ b/docs/goodconf.md @@ -115,4 +115,3 @@ class YamlStorage(GoodConf): - [Source](https://github.com/lincolnloop/goodconf/) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/gotify.md b/docs/gotify.md index fa01d7fd6ae..c0517493183 100644 --- a/docs/gotify.md +++ b/docs/gotify.md @@ -189,4 +189,3 @@ Here are some guides to connect it to authentik. The problem is that the clients - [Source](https://github.com/gotify/server) - [Docs](https://gotify.net/docs/) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/gpu.md b/docs/gpu.md index e8df002253d..d19e978b2ad 100644 --- a/docs/gpu.md +++ b/docs/gpu.md @@ -1225,4 +1225,3 @@ The best graphics card is objectively Nvidia's RTX 4090 but it's too expensive. On the other end of the market, Nvidia has a rather uninspired upgrade in the RTX 4060. We also met the release of AMD's RX 7600 with a shrug, but at least it's cheap enough now to feel more competitive. And Intel still has a dog in the budget game: the Arc A750. When this card drops down to around $200, it's a steal, though the drivers aren't always up to the standard we'd like to see. That leaves AMD's RX 7600 as the best budget graphics card today, mostly for being a boringly safe pick. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/grafana.md b/docs/grafana.md index f57895c1d97..29f7ebe6c79 100644 --- a/docs/grafana.md +++ b/docs/grafana.md @@ -384,4 +384,3 @@ So far you [can't do this for rows](https://github.com/grafana/grafana/issues/23 # References - [Home](https://grafana.com/grafana) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/grapheneos.md b/docs/grapheneos.md index dfc521ce9e4..0141daed98a 100644 --- a/docs/grapheneos.md +++ b/docs/grapheneos.md @@ -190,4 +190,3 @@ Go into app switcher, tap on the app icon above the active app and then select " - [Home](https://grapheneos.org/) * [Articles](https://grapheneos.org/articles/) * [Features](https://grapheneos.org/features) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/graylog.md b/docs/graylog.md index 3044571d6f9..e85f3fb7f15 100644 --- a/docs/graylog.md +++ b/docs/graylog.md @@ -34,4 +34,3 @@ ngrep -d any '' udp port 12201 # References * [Homepage](https://www.graylog.org/) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/grocy_management.md b/docs/grocy_management.md index 2e96eb835b8..caa3fe2cf07 100644 --- a/docs/grocy_management.md +++ b/docs/grocy_management.md @@ -127,6 +127,7 @@ To do the inventory review I use a tablet and the [android app](https://github.c - [ ] Open the stock overview and iterate through the locations to: - [ ] Make sure that the number of products match the reality - [ ] Iterate over the list of products checking the quantity + - [ ] If you know the product is in many locations, check the stock entry quantity instead of the overall - [ ] Look at the location to see if there are missing products in the inventory - [ ] Adjust the product properties (default location, minimum amount) - [ ] Check the resulting shopping list and adjust the minimum values. @@ -235,4 +236,3 @@ There is no active python library, although it existed [pygrocy](https://github. * [Homepage](https://grocy.info/) * [API Docs](https://demo.grocy.info/api) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/gtd.md b/docs/gtd.md index e603ec0cb19..9a1eb3b01f5 100644 --- a/docs/gtd.md +++ b/docs/gtd.md @@ -854,4 +854,3 @@ Follow the steps of [Clarify and organize](#clarify-and-organize) until you've r * One of the best tricks for enhancing your productivity is having organizing tools you love to use. - Being organized means nothing more or less than where something is matches what it means to you. - Your organisation system is not something that you'll create all at once. It will evolve as you process yuor stuff and test out whether you have put everything in the best place for you. It won't remain static, it will evolve as you do. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/habit_management.md b/docs/habit_management.md index f34f7393804..f59c87f3acc 100644 --- a/docs/habit_management.md +++ b/docs/habit_management.md @@ -201,4 +201,3 @@ Likewise, if you're trying to run from a bad habit cut your ties to communities ## Working with the habit responses ## Working with the habit rewards -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/happycow.md b/docs/happycow.md index 411c6710106..26ef87ea288 100644 --- a/docs/happycow.md +++ b/docs/happycow.md @@ -1,4 +1,3 @@ [Happycow](https://www.happycow.net/) is a web application and android app to search vegan restaurants nearby. The android app requires google services to work :(. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/hard_drive_health.md b/docs/hard_drive_health.md index 5be0e12bc10..c58152e0333 100644 --- a/docs/hard_drive_health.md +++ b/docs/hard_drive_health.md @@ -248,4 +248,3 @@ to be failing then read-only mode is probably still the safest. count](https://harddrivegeek.com/current-pending-sector-count/). * [Hiddencode guide on how to check bad sectors](https://hiddenc0de.wordpress.com/2015/06/12/how-to-check-bad-sectors-or-bad-blocks-on-hard-disk-in-linux/) * [Hiddencode guide on how to fix bad sectors](https://hiddenc0de.wordpress.com/2015/06/12/how-to-fix-bad-sectors-or-bad-blocks-on-hard-disk/) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/helm_git.md b/docs/helm_git.md index cc2691791df..09f56ec75fa 100644 --- a/docs/helm_git.md +++ b/docs/helm_git.md @@ -65,4 +65,3 @@ helm fetch git+https://github.com/jetstack/cert-manager@deploy/charts/cert-manag * [Git](https://github.com/aslafy-z/helm-git) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/himalaya.md b/docs/himalaya.md index a65cf095120..7bc37c8a584 100644 --- a/docs/himalaya.md +++ b/docs/himalaya.md @@ -71,7 +71,7 @@ Once you've set it then you need to [fix the INBOX directory](#cannot-find-maild Then you can check if it works by running `himalaya envelopes list -a lyz-example` -## Vim plugin installation +## [Vim plugin installation](https://github.com/pimalaya/himalaya-vim) Using lazy: @@ -85,6 +85,22 @@ return { You can then run `:Himalaya account_name` and it will open himalaya in your editor. +### Configure navigation bindings + +The default bindings conflict with my git bindings, and to make them similar to orgmode agenda I'm changing the next and previous page: + +```lua +return { + { + "pimalaya/himalaya-vim", + keys = { + { "b", "(himalaya-folder-select-previous-page)", desc = "Go to the previous email page" }, + { "f", "(himalaya-folder-select-next-page)", desc = "Go to the next email page" }, + }, + }, +} + +``` ### Configure the account bindings To avoid typing `:Himalaya account_name` each time you want to check the email you can set some bindings: @@ -111,10 +127,13 @@ The default plugin doesn't yet have all the bindings I'd like so I've added the - `dd` in normal mode or `d` in visual: Delete emails - `q`: exit the program -- In the email view: +- In the email read view: - `d`: Delete email - `q`: Return to the list of emails view +- In the email write view: + - `q` or ``: Save and send the email + If you want them too set the next config: ```lua @@ -140,8 +159,18 @@ return { group = "HimalayaEmailCustomBindings", pattern = "mail", callback = function() - -- Bind `q` to close the window - vim.api.nvim_buf_set_keymap(0, "n", "q", ":q", { noremap = true, silent = true }) + -- Get the current buffer's full file path + local filepath = vim.api.nvim_buf_get_name(0) + + -- Bind `q` and `` to close the window + if string.match(filepath, "write") then + vim.api.nvim_buf_set_keymap(0, "n", "", ":w:bd", { noremap = true, silent = true }) + vim.api.nvim_buf_set_keymap(0, "n", "q", ":w:bd", { noremap = true, silent = true }) + else + -- In read mode you can't save the buffer + vim.api.nvim_buf_set_keymap(0, "n", "q", ":bd", { noremap = true, silent = true }) + end + -- Bind `d` to delete the email and close the window vim.api.nvim_buf_set_keymap( 0, @@ -167,16 +196,22 @@ return { "pimalaya/himalaya-vim", keys = { -- Email refreshing bindings - { "rj", ':lua FetchEmails("lyz")', desc = "Fetch lyz@example.org" }, + { "r", ":lua FetchEmails()", desc = "Fetch emails" }, }, config = function() - function FetchEmails(account) + function FetchEmails() + local account = vim.api.nvim_eval("himalaya#domain#account#current()") + vim.notify("Fetching emails for " .. account .. ", please wait...", vim.log.levels.INFO) vim.cmd("redraw") + + -- Start the mbsync job vim.fn.jobstart("mbsync " .. account, { on_exit = function(_, exit_code, _) if exit_code == 0 then vim.notify("Emails for " .. account .. " fetched successfully!", vim.log.levels.INFO) + -- Reload Himalaya only after successful mbsync + vim.cmd("Himalaya " .. account) else vim.notify("Failed to fetch emails for " .. account .. ". Check the logs.", vim.log.levels.ERROR) end @@ -188,8 +223,6 @@ return { } ``` -You still need to open again `:Himalaya account_name` as the plugin does not reload if there are new emails. - ## Show notifications when emails arrive You can set up [mirador](mirador.md) to get those notifications. @@ -201,6 +234,14 @@ You can set up [mirador](mirador.md) to get those notifications. # Troubleshooting +## Emails are shown with different timezones + +Set the account configuration `envelope.list.datetime-local-tz = true` + +## Emails are not being copied to Sent + +Set the account configuration `message.send.save-copy = true` + ## [Cannot find maildir matching name INBOX](https://github.com/pimalaya/himalaya/issues/490) `mbrsync` uses `Inbox` instead of the default `INBOX` so it doesn't find it. In theory you can use `folder.alias.inbox = "Inbox"` but it didn't work with me, so I finally ended up doing a symbolic link from `INBOX` to `Inbox`. diff --git a/docs/home-manager.md b/docs/home-manager.md index 9c635494415..7f9a0555e80 100644 --- a/docs/home-manager.md +++ b/docs/home-manager.md @@ -28,4 +28,3 @@ Once finished, Home Manager should be active and available in your user environm - [Source](https://github.com/nix-community/home-manager) - [Manual](https://nix-community.github.io/home-manager/) - [Nixpkgs](https://github.com/NixOS/nixpkgs) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/how_to_code.md b/docs/how_to_code.md index a7fd1553233..c361dbc43e3 100644 --- a/docs/how_to_code.md +++ b/docs/how_to_code.md @@ -16,4 +16,3 @@ Each has it's advantages and disadvantages. After trying them all and given that Once the spike is over I'll wait for a new spike to come either because I have time or because something breaks and I need to fix it. If the code to edit is already at production quality level and has tests, then do a test for each of the changes with TDD. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/html.md b/docs/html.md index ea49e54ca48..eb8181f8ce0 100644 --- a/docs/html.md +++ b/docs/html.md @@ -668,4 +668,3 @@ beautify](https://htmlbeautify.com). # References * [W3 tutorial](https://www.w3schools.com/html/default.asp) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/husboard.md b/docs/husboard.md index ee0801dd0a3..db31ac948f6 100644 --- a/docs/husboard.md +++ b/docs/husboard.md @@ -53,4 +53,3 @@ exec --no-startup-id ~/scripts/hushboard.sh # Reference * [M0wer Husboard article](https://m0wer.github.io/memento/computer_science/gnu_linux/hushboard/) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/i3wm.md b/docs/i3wm.md index d3f9c39cd89..cb0cca105c6 100644 --- a/docs/i3wm.md +++ b/docs/i3wm.md @@ -156,4 +156,3 @@ i3.main() * [Home](https://i3wm.org/) * [`i3ipc` Docs](https://i3ipc-python.readthedocs.io/en/latest/) * [`i3ipc` Source](https://github.com/altdesktop/i3ipc-python) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/ics.md b/docs/ics.md index 6dddf091f8c..bff182e31ea 100644 --- a/docs/ics.md +++ b/docs/ics.md @@ -54,4 +54,3 @@ calendar.serialize() # References * [Docs](https://icspy.readthedocs.io/en/stable/index.html) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/icsx5.md b/docs/icsx5.md index e595c514409..d84eab5d558 100644 --- a/docs/icsx5.md +++ b/docs/icsx5.md @@ -3,4 +3,3 @@ # References - [Source](https://github.com/bitfireAT/icsx5) - [F-droid](https://f-droid.org/packages/at.bitfire.icsdroid/) -\n\n[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/immich.md b/docs/immich.md index 4ae87ef8589..fa065974c9e 100644 --- a/docs/immich.md +++ b/docs/immich.md @@ -266,4 +266,3 @@ There are some features that are still lacking: - [Source](https://github.com/immich-app/immich). - [Blog](https://immich.app/blog) - [Demo](https://demo.immich.app/photos) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/index.md b/docs/index.md index c54801cd419..7a6af191756 100644 --- a/docs/index.md +++ b/docs/index.md @@ -105,4 +105,3 @@ bit more your work, or get your product ready faster, this is a great way to show your appreciation. Thanks for that! [![CC0](https://img.shields.io/badge/license-CC0-0a0a0a.svg?style=flat&colorA=0a0a0a)](https://creativecommons.org/publicdomain/zero/1.0/) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/instant_messages_management.md b/docs/instant_messages_management.md index 0d2bc2d8779..8ffe5a178e5 100644 --- a/docs/instant_messages_management.md +++ b/docs/instant_messages_management.md @@ -155,4 +155,3 @@ Sometimes the client applications don't give enough granularity, or you would like to show notifications based on more complex conditions, that's why I created the seed project to [improve the notification management in Linux](projects.md#improve-the-notification-management-in-linux). -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/interruption_management.md b/docs/interruption_management.md index 3f38d7f03d9..8c78981ff5b 100644 --- a/docs/interruption_management.md +++ b/docs/interruption_management.md @@ -84,4 +84,3 @@ You can schedule the next interruption events: When an interruption event arrives, process sequentially each source following [the inbox emptying guidelines](roadmap_tools.md#inbox). -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/issues.md b/docs/issues.md index 732b417a86d..2ec955ce016 100644 --- a/docs/issues.md +++ b/docs/issues.md @@ -95,4 +95,3 @@ still some usability issues that need to be fixed first: * [Allow search by genre](https://features.ombi.io/suggestions/115149/search-by-genres): Notify the people and start using it. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/javascript_snippets.md b/docs/javascript_snippets.md index 8bc5974232b..49df6640e23 100644 --- a/docs/javascript_snippets.md +++ b/docs/javascript_snippets.md @@ -53,4 +53,3 @@ Math.round(2.5) ```javascript document.activeElement.blur(); ``` -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/jellyfin.md b/docs/jellyfin.md index 82d8fa5521e..b6b2f1e7ce8 100644 --- a/docs/jellyfin.md +++ b/docs/jellyfin.md @@ -305,4 +305,3 @@ not introduced again. * [Home](https://jellyfin.org/) * [Git](https://github.com/jellyfin/jellyfin) * [Blog](https://jellyfin.org/posts/)([RSS](https://jellyfin.org/index.xml)) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/journald.md b/docs/journald.md index 6ee9ba12d54..062e431ae1d 100644 --- a/docs/journald.md +++ b/docs/journald.md @@ -23,4 +23,3 @@ It provides lots of features, most importantly: # References - [Sematext post on journald](https://sematext.com/blog/journald-logging-tutorial/#journald-vs-syslog) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/kag.md b/docs/kag.md index 9c0d9b7f29e..c95350548d9 100644 --- a/docs/kag.md +++ b/docs/kag.md @@ -22,4 +22,3 @@ and action of Metal Slug, brought to you by the creators of Soldat. ## Builder guides * [Turtlebutt and Bunnie](https://deynarde.github.io/kag-builder-guide) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/khal.md b/docs/khal.md index ff80e178f05..4c65d463a25 100644 --- a/docs/khal.md +++ b/docs/khal.md @@ -316,4 +316,3 @@ export = meta e - [Docs](https://khal.readthedocs.io/en/latest/index.html) - [Git](https://github.com/pimutils/khal) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/kitty.md b/docs/kitty.md index 73faea99b91..378a46a15e0 100644 --- a/docs/kitty.md +++ b/docs/kitty.md @@ -200,4 +200,3 @@ sudo copy -r ~/.terminfo /root # References * [Homepage](https://sw.kovidgoyal.net/) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/kodi.md b/docs/kodi.md index a4ef4281f78..ee6a27faa43 100644 --- a/docs/kodi.md +++ b/docs/kodi.md @@ -61,4 +61,3 @@ and import it again, as the scanning doesn't import the data from the nfos. # References - [Home](https://kodi.tv/) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/koel.md b/docs/koel.md index c8c5a598793..ebb4b61162d 100644 --- a/docs/koel.md +++ b/docs/koel.md @@ -20,4 +20,3 @@ The API is [not very well documented](https://github.com/koel/koel/issues/535): - [Home](https://koel.dev/) - [Docs](https://docs.koel.dev/#using-docker) - [Source](https://github.com/koel/koel) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/krew.md b/docs/krew.md index 88273846d27..3aaa045bd24 100644 --- a/docs/krew.md +++ b/docs/krew.md @@ -39,4 +39,3 @@ your machine. It is similar to tools like apt, dnf or brew. * [Git](https://github.com/kubernetes-sigs/krew) * [Docs](https://krew.sigs.k8s.io/) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/ksniff.md b/docs/ksniff.md index 0c1f9dad626..7fd7eda4c48 100644 --- a/docs/ksniff.md +++ b/docs/ksniff.md @@ -52,4 +52,3 @@ Upgrade your [wireshark](wireshark.md) to a version greater or equal to `3.3.0`. # References * [Git](https://github.com/eldadru/ksniff) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/kubernetes_debugging.md b/docs/kubernetes_debugging.md index ea06b893993..3631bc3dbb3 100644 --- a/docs/kubernetes_debugging.md +++ b/docs/kubernetes_debugging.md @@ -53,4 +53,3 @@ Where `nicolaka/netshoot` is an optimized network troubleshooting docker. There's some issues with this too, for example, as of Kubernetes 1.21 Ephemeral containers are not enabled by default, so chances are you won't have access to them yet in your environment. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/laboral.md b/docs/laboral.md index e7f48ad4bfd..b19b0faa426 100644 --- a/docs/laboral.md +++ b/docs/laboral.md @@ -1,4 +1,3 @@ # References - [Unai video on laboral struggles in the IT world](https://yewtu.be/watch?v=rGD8ZA09-O4) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/latex.md b/docs/latex.md index ca2a7c6f98f..f3ee632b7c8 100644 --- a/docs/latex.md +++ b/docs/latex.md @@ -1,3 +1,2 @@ https://en.wikibooks.org/wiki/LaTeX/Mathematics -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/lazy_loading.md b/docs/lazy_loading.md index 06bb31ed044..04e3af13f63 100644 --- a/docs/lazy_loading.md +++ b/docs/lazy_loading.md @@ -90,4 +90,3 @@ method](https://medium.com/better-programming/how-to-create-lazy-attributes-to-i * [Steven Loria article on Lazy Properties](https://stevenloria.com/lazy-properties/) * [Yong Cui article on Lazy attributes](https://medium.com/better-programming/how-to-create-lazy-attributes-to-improve-performance-in-python-b369fd72e1b6) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/lazyvim.md b/docs/lazyvim.md index 75332f1d626..1c84cf628b5 100644 --- a/docs/lazyvim.md +++ b/docs/lazyvim.md @@ -146,4 +146,3 @@ return { - [Docs](https://lazyvim.github.io/) - [Home](https://lazyvim.github.io/) - [Keymaps](https://www.lazyvim.org/keymaps) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/letsencrypt.md b/docs/letsencrypt.md index 4be39bdfe4c..d25fcfc6d56 100644 --- a/docs/letsencrypt.md +++ b/docs/letsencrypt.md @@ -17,4 +17,3 @@ pipx install certbot -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/libreelec.md b/docs/libreelec.md index 58c1ae93078..949d3d67134 100644 --- a/docs/libreelec.md +++ b/docs/libreelec.md @@ -29,4 +29,3 @@ Where=/storage/media [Install] WantedBy=multi-user.target ``` -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/libretube.md b/docs/libretube.md index 46f489c983f..1953b406274 100644 --- a/docs/libretube.md +++ b/docs/libretube.md @@ -31,4 +31,3 @@ Both are great clients for watching YouTube videos. It depends on the individual # References - [Source](https://github.com/libre-tube/LibreTube) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/life_logging.md b/docs/life_logging.md index 6cd29ab55bd..c169431b79d 100644 --- a/docs/life_logging.md +++ b/docs/life_logging.md @@ -2,4 +2,3 @@ # Mobile call log and sms log Use Slight backup app. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/life_management.md b/docs/life_management.md index 391cfa9d529..81b2add9b2f 100644 --- a/docs/life_management.md +++ b/docs/life_management.md @@ -7,4 +7,3 @@ author: Lyz I understand life management as the act of analyzing yourself and your interactions with the world to define processes and automations that shape the way to efficiently achieve your goals. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/life_review.md b/docs/life_review.md index 2d5f1a4ccea..616c442d0ee 100644 --- a/docs/life_review.md +++ b/docs/life_review.md @@ -1,42 +1,3 @@ ---- -title: Life review -date: 20221227 -author: Lyz ---- - - -# Type of reviews - - -#### Define the areas' objectives -I've had a hard time choosing how must those objectives be defined. Should they be generic? or would it be better for them to be concrete and measurable? - -Given the mindset of this review, it's better to have generic open goals. As you climb up the abstraction ladder and work with greater time slots you need to reduce the precision because you have more uncertainty. You don't know what's going to happen tomorrow so adding hard [SMART goals](https://en.wikipedia.org/wiki/SMART_criteria) is unrealistic and a certain path to frustration. - -They should be guidelines that help you define the direction of where do you want to go and leave to the lower abstraction level reviews particularize those principles into more specific goals. - -- Create a new review document with the next structure: - - ```orgmode - * Area objectives - ** Area 1 - ``` -- Put a timer of 20 mins and for each of the areas answer the next questions (remember to make it general and not project dependent): - - What differences will the area have in three months? - -- Complete your gathered results by: - - Reading the current area document objectives - - Gather more objectives through skimming through the projects of the areas - - Your gathered notes in `think.org`. -#### Review the previous trimester area tactics -- Review what are you doing in the area -- Review what you should be doing - -### Trimester analyze -#### Choose the trimester area tactics -### Trimester decide -#### Order, prioritize and choose the area objectives -Gather them in the roadmap document. # Semester reviews The objectives of the trimester review are: @@ -146,4 +107,3 @@ Follow the With the analysis of what I've read I research for new books and create an ordered list per genre. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/lindy.md b/docs/lindy.md index bc0304b7a3a..ea934e5d484 100644 --- a/docs/lindy.md +++ b/docs/lindy.md @@ -20,4 +20,3 @@ - [Compromise - agreement in the moment](https://youtu.be/3DhD2u5Eyv8?si=2WKisSvEB3Z8TVMy) - [Lindy hop improv](https://www.youtube.com/watch?v=qkdxcdeicLE) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/linux.md b/docs/linux.md index a75688429ee..7ef8365e3e6 100644 --- a/docs/linux.md +++ b/docs/linux.md @@ -25,4 +25,3 @@ - https://explainshell.com/ - https://linuxcommandlibrary.com/ -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/linux/brew.md b/docs/linux/brew.md index 097575be78b..d3c508b5f5d 100644 --- a/docs/linux/brew.md +++ b/docs/linux/brew.md @@ -14,4 +14,3 @@ TBC # References * [Homebrew formula for a Go app](https://gist.github.com/mickep76/ca29cca70f0b458aee4d) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/linux/cookiecutter.md b/docs/linux/cookiecutter.md index ed57f0b7513..ce193f2582d 100644 --- a/docs/linux/cookiecutter.md +++ b/docs/linux/cookiecutter.md @@ -274,4 +274,3 @@ attribute but it doesn't seem to work for me. * [Git](https://github.com/cookiecutter/cookiecutter) * [Docs](https://cookiecutter.readthedocs.io/) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/linux/cruft.md b/docs/linux/cruft.md index 6fcc9282537..164c71ccbf3 100644 --- a/docs/linux/cruft.md +++ b/docs/linux/cruft.md @@ -159,4 +159,3 @@ directory: * [Docs](https://cruft.github.io/cruft/) * [Git](https://github.com/cruft/cruft/) * [Issues](https://github.com/cruft/cruft/issues) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/linux/elasticsearch.md b/docs/linux/elasticsearch.md index 6a5cd1f61d2..308d877cc1d 100644 --- a/docs/linux/elasticsearch.md +++ b/docs/linux/elasticsearch.md @@ -640,4 +640,3 @@ You can disable the replicas on the failing index and then enable replicas back. Please note that it will take some time for the shards to be completely assigned and hence you might see intermittent cluster status as YELLOW. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/linux/fail2ban.md b/docs/linux/fail2ban.md index 37aa320945a..8e2b8be4182 100644 --- a/docs/linux/fail2ban.md +++ b/docs/linux/fail2ban.md @@ -13,4 +13,3 @@ fail2ban-client set {{ jail }} unbanip {{ ip }} ``` Where `jail` can be `ssh`. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/linux/google_chrome.md b/docs/linux/google_chrome.md index e4c289c5d93..7e40d8b7d6c 100644 --- a/docs/linux/google_chrome.md +++ b/docs/linux/google_chrome.md @@ -36,4 +36,3 @@ google-chrome --profile-directory="Profile Name" Where `Profile Name` is one of the profiles listed under `ls ~/.config/chromium | grep -i profile`. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/linux/haproxy.md b/docs/linux/haproxy.md index 0495eaf6041..f449e708316 100644 --- a/docs/linux/haproxy.md +++ b/docs/linux/haproxy.md @@ -209,4 +209,3 @@ https://github.com/janeczku/haproxy-acme-validation-plugin * [Aloha load balancer: HAProxy based LB appliance](http://www.haproxy.com/en/aloha-load-balancer-appliance-rack-1u "Aloha load balancer") * [HAPEE: HAProxy Enterprise Edition](http://www.haproxy.com/en/haproxy-enterprise-edition-hapee "HAPEE: HAProxy Enterprise Edition") * [Guidelines for HAProxy termination in AWS](https://github.com/jvehent/haproxy-aws) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/linux/hypothesis.md b/docs/linux/hypothesis.md index b11491ac367..c8cf757f105 100644 --- a/docs/linux/hypothesis.md +++ b/docs/linux/hypothesis.md @@ -128,4 +128,3 @@ to deploy the production service into AWS. compose](https://github.com/hypothesis/h/issues/6014) * [Steps required to run both h and serve the client from internal server](https://groups.google.com/a/list.hypothes.is/forum/#!searchin/dev/server|sort:date/dev/PG3Y2hqwSr8/YsjpIvNEDgAJ) * [How to deploy h on VM](https://groups.google.com/a/list.hypothes.is/forum/#!topic/dev/mbPxRWF2Ax4) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/linux/luks/luks.md b/docs/linux/luks/luks.md index 96bc7b46f3b..c2016fcbbb9 100644 --- a/docs/linux/luks/luks.md +++ b/docs/linux/luks/luks.md @@ -119,4 +119,3 @@ You can use [`bruteforce-luks`](https://github.com/glv2/bruteforce-luks) ```bash cryptsetup luksClose {{ device_name }} ``` -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/linux/mkdocs.md b/docs/linux/mkdocs.md index d5b0b1253e9..d87c591e21c 100644 --- a/docs/linux/mkdocs.md +++ b/docs/linux/mkdocs.md @@ -609,4 +609,3 @@ Once they are closed: - [User guide](https://www.mkdocs.org/user-guide/plugins/) - [List of events](https://www.mkdocs.org/user-guide/plugins/#events) - [Plugin testing example](https://github.com/andyoakley/mkdocs-blog/tree/master/tests) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/linux/monica.md b/docs/linux/monica.md index a22ac77ac8a..88ac08bf94d 100644 --- a/docs/linux/monica.md +++ b/docs/linux/monica.md @@ -101,4 +101,3 @@ documentation](https://github.com/monicahq/monica/tree/master/docs/installation) * [Git](https://github.com/monicahq/monica/) * [Docs](https://github.com/monicahq/monica/tree/master/docs) * [Blog](https://www.monicahq.com/blog) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/linux/nodejs.md b/docs/linux/nodejs.md index 503a7dcec3e..c9de955affb 100644 --- a/docs/linux/nodejs.md +++ b/docs/linux/nodejs.md @@ -19,4 +19,3 @@ nodejs --version # Links * [Home](https://nodejs.org/en/) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/linux/rm.md b/docs/linux/rm.md index b9117c666d4..912c30aa5b7 100644 --- a/docs/linux/rm.md +++ b/docs/linux/rm.md @@ -27,4 +27,3 @@ You first need to: Accept all suggested fixes. * Mount again the partition. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/linux/syncthing.md b/docs/linux/syncthing.md index ec8e86a063b..67f7fe2cc6b 100644 --- a/docs/linux/syncthing.md +++ b/docs/linux/syncthing.md @@ -100,4 +100,3 @@ fingerprint ( what you put ) doesn't match ( actual fingerprint )`. * [Home](https://syncthing.net/) * [Getting Started](https://docs.syncthing.net/intro/getting-started.html) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/linux/vim/vim_plugins.md b/docs/linux/vim/vim_plugins.md index 78fb485d9c5..b7bbce89c1a 100644 --- a/docs/linux/vim/vim_plugins.md +++ b/docs/linux/vim/vim_plugins.md @@ -268,4 +268,3 @@ Some nice keymaps of the diff window: # References * [ALE supported tools](https://github.com/dense-analysis/ale/blob/master/supported-tools.md) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/linux/wireguard.md b/docs/linux/wireguard.md index b19a271a252..d69f315a8ed 100644 --- a/docs/linux/wireguard.md +++ b/docs/linux/wireguard.md @@ -490,4 +490,3 @@ Once you do that, you’ll be able to see WireGuard log messages in the kernel m # References - [Home](https://www.wireguard.com/) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/linux/zfs.md b/docs/linux/zfs.md index 3a373e1bd8e..75cb8d5e137 100644 --- a/docs/linux/zfs.md +++ b/docs/linux/zfs.md @@ -1155,4 +1155,3 @@ pleasant to read. For further information check - [Docs](https://openzfs.github.io/openzfs-docs/) - [JRS articles](https://jrs-s.net/category/open-source/zfs/) - [ZFS basic introduction video](https://yewtu.be/watch?v=MsY-BafQgj4) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/linux/zip.md b/docs/linux/zip.md index 9172cc84ed2..57eb420f4ff 100644 --- a/docs/linux/zip.md +++ b/docs/linux/zip.md @@ -39,4 +39,3 @@ cat {{ files_to_compress.txt }} | zip -er {{ destination_zip }} -@ ```bash unzip {{ zip_file }} ``` -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/linux_resilience.md b/docs/linux_resilience.md index 670e39757c5..90a1c5a4efd 100644 --- a/docs/linux_resilience.md +++ b/docs/linux_resilience.md @@ -24,4 +24,3 @@ If you're still using `ext4` for your filesystems instead of [`zfs`](zfs.md) you # Future undeveloped improvements - Handle the system reboots after kernel upgrades -\n\n[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/linux_snippets.md b/docs/linux_snippets.md index 89ed62b8eca..00fed216fc8 100644 --- a/docs/linux_snippets.md +++ b/docs/linux_snippets.md @@ -4,6 +4,10 @@ date: 20200826 author: Lyz --- +# How to debug a CPU Throttling high alert + +It may be because it has hit a limit set by kubernetes or docker. If the metrics don't show that it may be because the machine has run out of CPU credits. + # Create a systemd service for a non-root user To set up a systemd service as a **non-root user**, you can create a user-specific service file under your home directory. User services are defined in `~/.config/systemd/user/` and can be managed without root privileges. @@ -1603,4 +1607,3 @@ check that there is no output. ```bash for file in /proc/*/status ; do awk '/VmSwap|Name/{printf $2 " " $3}END{ print ""}' $file; done | sort -k 2 -n -r | less ``` -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/logql.md b/docs/logql.md index 9a0cb15df11..86c53206d3c 100644 --- a/docs/logql.md +++ b/docs/logql.md @@ -68,4 +68,3 @@ This query will filter logs from `your-job-name` to show only those that contain # References - [Docs](https://grafana.com/docs/loki/latest/logql/) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/loki.md b/docs/loki.md index 78630c48789..de3202f4083 100644 --- a/docs/loki.md +++ b/docs/loki.md @@ -463,4 +463,3 @@ This url templating (via `/graph?g0.expr=%s&g0.tab=1`) appears to be coming from - [Docs](https://grafana.com/docs/loki/latest/) - [Source](https://github.com/grafana/loki) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/lua.md b/docs/lua.md index 247b4a34c23..7681847cfc2 100644 --- a/docs/lua.md +++ b/docs/lua.md @@ -19,4 +19,3 @@ For example you can get information about the current mode like so: :lua print(vim.inspect(vim.api.nvim_get_mode())) " { blocking = false, mode = "n"} ``` -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/luasnip.md b/docs/luasnip.md index 0ec3954d103..5afa49c4ccc 100644 --- a/docs/luasnip.md +++ b/docs/luasnip.md @@ -47,4 +47,3 @@ require("luasnip").config.setup({store_selection_keys=""}) ``` # Reference - [Source](https://github.com/L3MON4D3/LuaSnip) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/luddites.md b/docs/luddites.md index 679a4353c8e..7eb53cd20eb 100644 --- a/docs/luddites.md +++ b/docs/luddites.md @@ -1,4 +1,3 @@ # References - [Comic about luddites](https://www.technologyreview.com/2024/02/28/1088262/luddites-resisting-automated-future-technology/) -\n\n[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/magic_keys.md b/docs/magic_keys.md index e2621fceb5d..badc6aa9b65 100644 --- a/docs/magic_keys.md +++ b/docs/magic_keys.md @@ -65,4 +65,3 @@ It can also be used by echoing letters to `/proc/sysrq-trigger`, for example to ```bash echo c > /proc/sysrq-trigger ``` -\n\n[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/maison.md b/docs/maison.md index ce95712f23a..043c134677c 100644 --- a/docs/maison.md +++ b/docs/maison.md @@ -46,4 +46,3 @@ config = ProjectConfig(project_name="acme", source_files=["acme.ini", "pyproject - [Git](https://github.com/dbatten5/maison) - [Docs](https://dbatten5.github.io/maison/) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/map_management.md b/docs/map_management.md index daa4ed68eee..15c0c893321 100644 --- a/docs/map_management.md +++ b/docs/map_management.md @@ -21,4 +21,3 @@ that the routing algorithm prioritizes the routes to your desires. It's based on [brouter](https://github.com/abrensch/brouter) and both can be [self-hosted](https://github.com/nrenner/brouter-web), although [brouter does not yet use Docker](https://github.com/abrensch/brouter/issues/359). -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/math.md b/docs/math.md index eeec4f1c17d..aeb9186dbb5 100644 --- a/docs/math.md +++ b/docs/math.md @@ -4,4 +4,3 @@ ## Videos - [3Blue1Brown](https://www.youtube.com/channel/UCYO_jab_esuFRV4b17AJtAw). Recomended by [Nicky Case](https://ncase.me/) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/matrix.md b/docs/matrix.md index c4ce8334dad..6a77446ac6d 100644 --- a/docs/matrix.md +++ b/docs/matrix.md @@ -34,4 +34,3 @@ sudo apt install element-desktop # References - [Matrix Arch wiki page](https://wiki.archlinux.org/index.php/Matrix) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/matrix_highlight.md b/docs/matrix_highlight.md index 1c991b6b10d..073dfdd9b86 100644 --- a/docs/matrix_highlight.md +++ b/docs/matrix_highlight.md @@ -13,4 +13,3 @@ I want to try it and investigate further specially if you can: - [Source](https://github.com/DanilaFe/matrix-highlight) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/mbsync.md b/docs/mbsync.md index 129515596fa..c7e3b229da8 100644 --- a/docs/mbsync.md +++ b/docs/mbsync.md @@ -81,4 +81,3 @@ mv '1568901502.26338_1.hostname,U=3:2,S' '1568901502.26338_1.hostname' # References * [Homepage](https://isync.sourceforge.io/mbsync.html) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/mdformat.md b/docs/mdformat.md index 02b7fc80118..c548fbcdcb6 100644 --- a/docs/mdformat.md +++ b/docs/mdformat.md @@ -100,4 +100,3 @@ You can see some plugin examples - [Docs](https://mdformat.readthedocs.io/en/stable/) - [Source](https://github.com/executablebooks/mdformat) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/mediatracker.md b/docs/mediatracker.md index 4e41fd6f704..b713efd2bb3 100644 --- a/docs/mediatracker.md +++ b/docs/mediatracker.md @@ -96,4 +96,3 @@ Then you can use the `api/details/{mediaItemId}` endpoint to get all the informa - [Issues](https://github.com/bonukai/MediaTracker/issues) - [Python library](https://github.com/jonkristian/pymediatracker) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/meditation.md b/docs/meditation.md index 92d4341f831..6966d8c6bb1 100644 --- a/docs/meditation.md +++ b/docs/meditation.md @@ -133,4 +133,3 @@ even 5 or 10 minutes, and grow from there. ### Books * [The Mind Illuminated: A Complete Meditation Guide Integrating Buddhist Wisdom and Brain Science by Culadasa (John Yates)](https://www.goodreads.com/en/book/show/25942786-the-mind-illuminated) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/memoria_historica.md b/docs/memoria_historica.md index 665be59747c..0a9252283f0 100644 --- a/docs/memoria_historica.md +++ b/docs/memoria_historica.md @@ -7,4 +7,3 @@ ## Documentales - [Carpetas Azules](https://yewtu.be/watch?v=vaZknjcyzh0): Documental sobre el empleo de la tortura por parte de las fuerzas represoras del estado contra la población vasca desde 1960 hasta el 2013. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/memtest.md b/docs/memtest.md index 1c14042ae78..a7f73fddd02 100644 --- a/docs/memtest.md +++ b/docs/memtest.md @@ -14,4 +14,3 @@ It will run by itself. For 64GB of ECC RAM it took aproximately 100 minutes to r ## [Check ECC errors](https://www.memtest86.com/ecc.htm) MemTest86 directly polls ECC errors logged in the chipset/memory controller registers and displays it to the user on-screen. In addition, ECC errors are written to the log and report file. -\n\n[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/mentoring.md b/docs/mentoring.md index 08702757cdb..3dd0aa1777b 100644 --- a/docs/mentoring.md +++ b/docs/mentoring.md @@ -118,4 +118,3 @@ Junior * Analyze themselves with respect to the mentoring workflows. * Overcome the apprentice's obstacles. * -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/mermaidjs.md b/docs/mermaidjs.md index 41aff0c2274..1c9ba85750e 100644 --- a/docs/mermaidjs.md +++ b/docs/mermaidjs.md @@ -90,4 +90,3 @@ graph LR # References * [Docs](https://mermaid-js.github.io) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/mizu.md b/docs/mizu.md index 6722d6eb7c2..482b8078a72 100644 --- a/docs/mizu.md +++ b/docs/mizu.md @@ -37,4 +37,3 @@ UI](https://getmizu.io/docs/mizu/mizu-ui). * [Homepage](https://getmizu.io/) * [Docs](https://getmizu.io/docs/) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/mobile_verification_toolkit.md b/docs/mobile_verification_toolkit.md new file mode 100644 index 00000000000..8e77d9e888e --- /dev/null +++ b/docs/mobile_verification_toolkit.md @@ -0,0 +1,212 @@ +[Mobile Verification Toolkit](https://github.com/mvt-project/mvt) (MVT) is a collection of utilities to simplify and automate the process of gathering forensic traces helpful to identify a potential compromise of Android and iOS devices. + +MVT's capabilities are continuously evolving, but some of its key features include: + +- Decrypt encrypted iOS backups. +- Process and parse records from numerous iOS system and apps databases, logs and system analytics. +- Extract installed applications from Android devices. +- Extract diagnostic information from Android devices through the adb protocol. +- Compare extracted records to a provided list of malicious indicators in STIX2 format. +- Generate JSON logs of extracted records, and separate JSON logs of all detected malicious traces. +- Generate a unified chronological timeline of extracted records, along with a timeline all detected malicious traces. + +MVT is a forensic research tool intended for technologists and investigators. Using it requires understanding the basics of forensic analysis and using command-line tools. MVT is not intended for end-user self-assessment. If you are concerned with the security of your device please seek expert assistance. + +It has been developed and released by the Amnesty International Security Lab in July 2021 in the context of the Pegasus Project along with a technical forensic methodology. It continues to be maintained by Amnesty International and other contributors. + +MVT supports using public indicators of compromise (IOCs) to scan mobile devices for potential traces of targeting or infection by known spyware campaigns. + +**Warning** Public indicators of compromise are insufficient to determine that a device is "clean", and not targeted with a particular spyware tool. Reliance on public indicators alone can miss recent forensic traces and give a false sense of security. + +Reliable and comprehensive digital forensic support and triage requires access to non-public indicators, research and threat intelligence. + +Such support is available to civil society through [Amnesty International's Security Lab](https://securitylab.amnesty.org/get-help/?c=mvt_docs) or through their forensic partnership with [Access Now’s Digital Security Helpline](https://www.accessnow.org/help/). + +## How it works + +### [Indicators of compromise](https://docs.mvt.re/en/latest/iocs/) + +MVT uses [Structured Threat Information Expression (STIX)](https://oasis-open.github.io/cti-documentation/stix/intro.html) files to identify potential traces of compromise. + +These indicators of compromise are contained in a file with a particular structure of [JSON](https://en.wikipedia.org/wiki/JSON) with the `.stix2` or `.json` extensions. + +#### STIX2 Support + +So far MVT implements only a subset of [STIX2 specifications](https://docs.oasis-open.org/cti/stix/v2.1/csprd01/stix-v2.1-csprd01.html): + +* It only supports checks for one value (such as `[domain-name:value='DOMAIN']`) and not boolean expressions over multiple comparisons +* It only supports the following types: `domain-name:value`, `process:name`, `email-addr:value`, `file:name`, `file:path`, `file:hashes.md5`, `file:hashes.sha1`, `file:hashes.sha256`, `app:id`, `configuration-profile:id`, `android-property:name`, `url:value` (but each type will only be checked by a module if it is relevant to the type of data obtained) + +#### Known repositories of STIX2 IOCs + +- The [Amnesty International investigations repository](https://github.com/AmnestyTech/investigations) contains STIX-formatted IOCs for: + - [Pegasus](https://en.wikipedia.org/wiki/Pegasus_(spyware)) ([STIX2](https://raw.githubusercontent.com/AmnestyTech/investigations/master/2021-07-18_nso/pegasus.stix2)) + - [Predator from Cytrox](https://citizenlab.ca/2021/12/pegasus-vs-predator-dissidents-doubly-infected-iphone-reveals-cytrox-mercenary-spyware/) ([STIX2](https://raw.githubusercontent.com/AmnestyTech/investigations/master/2021-12-16_cytrox/cytrox.stix2)) + - [An Android Spyware Campaign Linked to a Mercenary Company](https://github.com/AmnestyTech/investigations/tree/master/2023-03-29_android_campaign) ([STIX2](https://github.com/AmnestyTech/investigations/blob/master/2023-03-29_android_campaign/malware.stix2)) +- [This repository](https://github.com/Te-k/stalkerware-indicators) contains IOCs for Android stalkerware including [a STIX MVT-compatible file](https://raw.githubusercontent.com/Te-k/stalkerware-indicators/master/generated/stalkerware.stix2). +- They are also maintaining [a list of IOCs](https://github.com/mvt-project/mvt-indicators) in STIX format from public spyware campaigns. + +You can automatically download the latest public indicator files with the command `mvt-ios download-iocs` or `mvt-android download-iocs`. These commands download the list of indicators from the [mvt-indicators](https://github.com/mvt-project/mvt-indicators/blob/main/indicators.yaml) repository and store them in the [appdir](https://pypi.org/project/appdirs/) folder. They are then loaded automatically by MVT. + +Please [open an issue](https://github.com/mvt-project/mvt/issues/) to suggest new sources of STIX-formatted IOCs. + +### [Consensual Forensics](https://docs.mvt.re/en/latest/introduction/) + +While MVT is capable of extracting and processing various types of very personal records typically found on a mobile phone (such as calls history, SMS and WhatsApp messages, etc.), this is intended to help identify potential attack vectors such as malicious SMS messages leading to exploitation. + +MVT's purpose is not to facilitate adversarial forensics of non-consenting individuals' devices. The use of MVT and derivative products to extract and/or analyse data originating from devices used by individuals not consenting to the procedure is explicitly prohibited in the [license](license.md). + +# [Installation](https://docs.mvt.re/en/latest/install/) + +## [Using docker](https://docs.mvt.re/en/latest/docker/) + +## Not using docker + +Before proceeding, please note that MVT requires Python 3.6+ to run. While it should be available on most operating systems, please make sure of that before proceeding. + +### Dependencies on Linux + +First install some basic dependencies that will be necessary to build all required tools: + +```bash +sudo apt install python3 python3-venv python3-pip sqlite3 libusb-1.0-0 +``` + +`libusb-1.0-0` is not required if you intend to only use `mvt-ios` and not `mvt-android`. + +(Recommended) Set up `pipx` + +For Ubuntu 23.04 or above: +```bash +sudo apt install pipx +pipx ensurepath +``` + +For Ubuntu 22.04 or below: +``` +python3 -m pip install --user pipx +python3 -m pipx ensurepath +``` + +Other distributions: check for a `pipx` or `python-pipx` via your package manager. + +When working with Android devices you should additionally install [Android SDK Platform Tools](https://developer.android.com/studio/releases/platform-tools). If you prefer to install a package made available by your distribution of choice, please make sure the version is recent to ensure compatibility with modern Android devices. + +### Installing ADB + +Follow the steps of [android_sdk.md#installation]. + +### Installing MVT + +1. Install `pipx` following the instructions above for your OS/distribution. Make sure to run `pipx ensurepath` and open a new terminal window. +2. ```bash + pipx install mvt + ``` + +You now should have the `mvt-ios` and `mvt-android` utilities installed. If you run into problems with these commands not being found, ensure you have run `pipx ensurepath` and opened a new terminal window. + +# Usage + +## Download the indicators + +If you want to check android: +```bash +mvt-android download-iocs +``` +If you want to check ios: +```bash +mvt-ios download-iocs +``` + +## [Checking an Android mobile](https://docs.mvt.re/en/latest/android/methodology/) + +Unfortunately Android devices provide much less observability than their iOS cousins. Android stores very little diagnostic information useful to triage potential compromises, and because of this `mvt-android` capabilities are limited as well. + +However, not all is lost. + +First [make sure `adb` works fine](android_sdk.md#connecting-over-usb). + +Then you can run: + +```bash +mvt-android check-adb --output . +``` + +### Check installed Apps + +Because malware attacks over Android typically take the form of malicious or backdoored apps, the very first thing you might want to do is to extract and verify all installed Android packages and triage quickly if there are any which stand out as malicious or which might be atypical. + +While it is out of the scope of this documentation to dwell into details on how to analyze Android apps, MVT does allow to easily and automatically extract information about installed apps, download copies of them, and quickly look them up on services such as [VirusTotal](https://www.virustotal.com). + +You can [download all the apks](https://docs.mvt.re/en/latest/android/download_apks/) with the next command: + +```bash +mvt-android download-apks --output /path/to/folder +``` + +MVT will likely warn you it was unable to download certain installed packages. There is no reason to be alarmed: this is typically expected behavior when MVT attempts to download a system package it has no privileges to access. +#### Upload apks to VirusTotal + +Be warned thought that each apk you upload to VirusTotal can be downloaded by any VirusTotal user, so if you have private apps that may have confidential information stored in the apk you should not use the upload to VirusTotal feature. + +!!! info "Using VirusTotal" + Please note that in order to use VirusTotal lookups you are required to provide your own API key through the `MVT_VT_API_KEY` environment variable. You should also note that VirusTotal enforces strict API usage. Be mindful that MVT might consume your hourly search quota. + +##### Register in VirusTotal +You can register a new account [here](https://www.virustotal.com/gui/join-us). Then get your key from [here](https://www.virustotal.com/gui/my-apikey). + +The standard free end-user account. It is not tied to any corporate group and so it does not have access to Premium services. You are subjected to the following limitations: + +- Request rate: 4 lookups / min +- Daily quota:500 lookups / day +- Monthly quota: 15.5 K lookups / month + +I've tried to find the [pricing](https://docs.virustotal.com/docs/difference-public-private#price) but got nowhere. Maybe the default limits are enough + +### Check the device over Android Debug Bridge + +Some additional diagnostic information can be extracted from the phone using the [Android Debug Bridge (adb)](https://developer.android.com/studio/command-line/adb). `mvt-android` allows to automatically extract information including [dumpsys](https://developer.android.com/studio/command-line/dumpsys) results, details on installed packages (without download), running processes, presence of root binaries and packages, and more. + +## [Work with the indicators of compromise](https://docs.mvt.re/en/latest/iocs/) + +You can indicate a path to a STIX2 indicators file when checking iPhone backups or filesystem dumps. For example: + +```bash +mvt-ios check-backup --iocs ~/ios/malware.stix2 --output /path/to/iphone/output /path/to/backup +``` + +Or, with data from an Android backup: + +```bash +mvt-android check-backup --iocs ~/iocs/malware.stix2 /path/to/android/backup/ +``` + +After extracting forensics data from a device, you are also able to compare it with any STIX2 file you indicate: + +```bash +mvt-ios check-iocs --iocs ~/iocs/malware.stix2 /path/to/iphone/output/ +``` + +The `--iocs` option can be invoked multiple times to let MVT import multiple STIX2 files at once. For example: + +```bash +mvt-ios check-backup --iocs ~/iocs/malware1.stix --iocs ~/iocs/malware2.stix2 /path/to/backup +``` + +It is also possible to load STIX2 files automatically from the environment variable `MVT_STIX2`: + +```bash +export MVT_STIX2="/home/user/IOC1.stix2:/home/user/IOC2.stix2" +``` +# Troubleshooting + +## Suspicious org.thoughtcrime.securesms in trace logs +It's the signal app. + +## Seeing applications of other profiles +`adb` is able to extract the applications of other profiles, so it's able to analyse them. That's why you may see receivers (monitoring telephony state/incoming calls or to intercept incoming SMS messages) in the logs, as the program checks signatures on those apps. + +# References + +- [Source](https://github.com/mvt-project/mvt) +- [Docs](https://docs.mvt.re/en/latest/) diff --git a/docs/molecule.md b/docs/molecule.md index 6859a4f52aa..424fd631edf 100644 --- a/docs/molecule.md +++ b/docs/molecule.md @@ -107,4 +107,3 @@ export MOLECULE_GLOB='molecule/*/molecule.yaml' - [Source](https://github.com/ansible-community/molecule) - [Docs](https://molecule.rtfd.io/) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/money_management.md b/docs/money_management.md index b28b14f4df3..b3c8a17e1b8 100644 --- a/docs/money_management.md +++ b/docs/money_management.md @@ -546,4 +546,3 @@ is subdivided in: * `Weekly balances`: As doing the monthly review is long, but it doesn't give me the enough information to not mess up the cash transactions, I do a weekly balance of those accounts. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/monitoring_comparison.md b/docs/monitoring_comparison.md index 373279655f9..d4de94c9280 100644 --- a/docs/monitoring_comparison.md +++ b/docs/monitoring_comparison.md @@ -410,4 +410,3 @@ containers or Kubernetes) where whitebox monitoring is desired. # References * [Logz io post on Prometheus vs Nagios](https://logz.io/blog/prometheus-vs-nagios-metrics/) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/moonlight.md b/docs/moonlight.md index 534081be8c1..805f61c90c9 100644 --- a/docs/moonlight.md +++ b/docs/moonlight.md @@ -4,4 +4,3 @@ - [Home](https://moonlight-stream.org/) - [Docs](https://github.com/moonlight-stream/moonlight-docs/wiki) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/mopidy.md b/docs/mopidy.md index 66970ce4c40..e4931cb1465 100644 --- a/docs/mopidy.md +++ b/docs/mopidy.md @@ -34,4 +34,3 @@ more. * [API reference](https://docs.mopidy.com/en/release-1.1/api/#api-ref) * [Write your own extension](https://docs.mopidy.com/en/release-1.1/#ext) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/music_management.md b/docs/music_management.md index 33d897185ec..015e8235893 100644 --- a/docs/music_management.md +++ b/docs/music_management.md @@ -56,4 +56,3 @@ If you want to set the missing picture of an artist, you need to add it at approval, so don't expect it to be automatic. They are really kind when you don't do things right, but still, check their [upload guidelines](https://fanart.tv/music-fanart/) before you contribute. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/musicbrainz.md b/docs/musicbrainz.md index 56b533bcb32..adf3ecc2f38 100644 --- a/docs/musicbrainz.md +++ b/docs/musicbrainz.md @@ -158,4 +158,3 @@ Some notes on the release fields # References * [Home](https://musicbrainz.org) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/nas.md b/docs/nas.md index a5e8af6a3fb..0bf5f414d89 100644 --- a/docs/nas.md +++ b/docs/nas.md @@ -224,4 +224,3 @@ Total of 2605 $ - [mtlynch NAS building guide](https://mtlynch.io/budget-nas/) - [NAS master building guide](https://www.nasmaster.com/everything-you-need-to-build-your-own-nas/) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/neotree.md b/docs/neotree.md index 051fd2e3a16..6b763e1c94e 100644 --- a/docs/neotree.md +++ b/docs/neotree.md @@ -78,4 +78,3 @@ If you want to copy a directory you need to assume that the prompt is done from - [Docs](https://github.com/nvim-neo-tree/neo-tree.nvim/blob/main/doc/neo-tree.txt) - [Wiki](https://github.com/nvim-neo-tree/neo-tree.nvim/wiki) - [Wiki Recipes](https://github.com/nvim-neo-tree/neo-tree.nvim/wiki/Recipes) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/networkx.md b/docs/networkx.md index 99b588263a3..b393e431a36 100644 --- a/docs/networkx.md +++ b/docs/networkx.md @@ -13,4 +13,3 @@ networks. * [Docs](https://networkx.org/documentation/latest/) * [Git](https://github.com/networkx/networkx) * [Home](https://networkx.org/) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/news_management.md b/docs/news_management.md index d61a718ce99..4a02090c933 100644 --- a/docs/news_management.md +++ b/docs/news_management.md @@ -165,4 +165,3 @@ a nightmare](https://github.com/samuelclay/NewsBlur/blob/master/docker-compose.y Intermediate solutions between the sources and the reader aren't the best option either, as you need to interact with that middleware outside the RSS reader if you want to save the ratings. There is an interesting project though [rssfilter](https://github.com/m0wer/rssfilter) that does some filtering with LLM and the data extracted from your behaviour. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/0_newsletter_index.md b/docs/newsletter/0_newsletter_index.md index ee8b041ec3e..25901c77ac0 100644 --- a/docs/newsletter/0_newsletter_index.md +++ b/docs/newsletter/0_newsletter_index.md @@ -22,4 +22,3 @@ see the latest changes. The newsletters and the RSS feeds are automatically created from the message commits of the repository thanks to the [mkdocs-newsletter](https://lyz-code.github.io/mkdocs-newsletter/) plugin. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2020.md b/docs/newsletter/2020.md index 5c21ab2c9c7..f98f40eecd7 100644 --- a/docs/newsletter/2020.md +++ b/docs/newsletter/2020.md @@ -413,4 +413,3 @@ * New: Explain how to use TypeVar to specify children class. * New: Explain how to solve W0106 in list comprehensions. * New: Explain how to solve SIM105. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2020_07.md b/docs/newsletter/2020_07.md index af98b8018c2..d3e37ec853d 100644 --- a/docs/newsletter/2020_07.md +++ b/docs/newsletter/2020_07.md @@ -41,4 +41,3 @@ * New: Add the xy problem. * New: Add tinydb documentation. * New: Add prevent cookiecutter from processing some files docs. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2020_07_14.md b/docs/newsletter/2020_07_14.md index 166884545ff..9bb3bf59a19 100644 --- a/docs/newsletter/2020_07_14.md +++ b/docs/newsletter/2020_07_14.md @@ -17,4 +17,3 @@ # Other * New: Add sh awesome library. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2020_07_15.md b/docs/newsletter/2020_07_15.md index b9dc43b87c8..b474b583267 100644 --- a/docs/newsletter/2020_07_15.md +++ b/docs/newsletter/2020_07_15.md @@ -20,4 +20,3 @@ # Other -* Correction: Fix broken links.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2020_07_16.md b/docs/newsletter/2020_07_16.md index 9bb559fce70..a30447080f2 100644 --- a/docs/newsletter/2020_07_16.md +++ b/docs/newsletter/2020_07_16.md @@ -2,4 +2,3 @@ * New: Add factoryboy factory usage. * New: Add the xy problem. -* New: Add tinydb documentation.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2020_07_17.md b/docs/newsletter/2020_07_17.md index 8ac10343e2a..1e6aa097b7c 100644 --- a/docs/newsletter/2020_07_17.md +++ b/docs/newsletter/2020_07_17.md @@ -2,4 +2,3 @@ ## [Python](python.md) -* Correction: Type hints of subclasses of abstract classes.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2020_07_20.md b/docs/newsletter/2020_07_20.md index c8bc01b8ffd..cc0f5a7e4f9 100644 --- a/docs/newsletter/2020_07_20.md +++ b/docs/newsletter/2020_07_20.md @@ -1,3 +1,2 @@ # Other -* New: Add prevent cookiecutter from processing some files docs.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2020_08.md b/docs/newsletter/2020_08.md index 2ce8778b825..12972350f42 100644 --- a/docs/newsletter/2020_08.md +++ b/docs/newsletter/2020_08.md @@ -71,4 +71,3 @@ * Correction: Correct the running man. * New: Add how to keep historical data on database table changes. * New: List all process swap space usage. -* New: Introduce the click python library.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2020_08_06.md b/docs/newsletter/2020_08_06.md index 7b6aaa051d2..dcc4222c25f 100644 --- a/docs/newsletter/2020_08_06.md +++ b/docs/newsletter/2020_08_06.md @@ -10,4 +10,3 @@ * New: Add first cutting shapes steps. * Correction: Improve the changelog generation with commitizen. -* Correction: Remove unwanted gifs on rave dances.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2020_08_07.md b/docs/newsletter/2020_08_07.md index 1f5451896e0..cc0f5a7e4f9 100644 --- a/docs/newsletter/2020_08_07.md +++ b/docs/newsletter/2020_08_07.md @@ -1,3 +1,2 @@ # Other -* New: Add kicking-running man and tap spin.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2020_08_19.md b/docs/newsletter/2020_08_19.md index 1c3764956ad..62aa89c908e 100644 --- a/docs/newsletter/2020_08_19.md +++ b/docs/newsletter/2020_08_19.md @@ -9,4 +9,3 @@ # Other * New: Prevent additional whitespaces when jinja condition is not met. -* Correction: Correct the running man.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2020_08_20.md b/docs/newsletter/2020_08_20.md index 6ec77ea78e0..8f1da744c85 100644 --- a/docs/newsletter/2020_08_20.md +++ b/docs/newsletter/2020_08_20.md @@ -12,4 +12,3 @@ # Other -* New: Add how to keep historical data on database table changes.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2020_08_26.md b/docs/newsletter/2020_08_26.md index 71ead976040..b7b5b470dcc 100644 --- a/docs/newsletter/2020_08_26.md +++ b/docs/newsletter/2020_08_26.md @@ -8,4 +8,3 @@ # Other -* New: List all process swap space usage.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2020_08_27.md b/docs/newsletter/2020_08_27.md index 3f735e424c1..2c2fb9195ac 100644 --- a/docs/newsletter/2020_08_27.md +++ b/docs/newsletter/2020_08_27.md @@ -13,4 +13,3 @@ # Other -* New: Introduce the click python library.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2020_08_28.md b/docs/newsletter/2020_08_28.md index a44c234b3cb..dba0a15b3e8 100644 --- a/docs/newsletter/2020_08_28.md +++ b/docs/newsletter/2020_08_28.md @@ -4,4 +4,3 @@ ### [Pytest](pytest.md) -* New: Tell how to use a fixture more than once in a function.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2020_08_29.md b/docs/newsletter/2020_08_29.md index ec94a694121..aa748b23b2a 100644 --- a/docs/newsletter/2020_08_29.md +++ b/docs/newsletter/2020_08_29.md @@ -4,4 +4,3 @@ ### [Mypy](mypy.md) -* New: Explain how to reveal the type of an expression.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2020_08_31.md b/docs/newsletter/2020_08_31.md index d4ae2c9bc60..773c0222393 100644 --- a/docs/newsletter/2020_08_31.md +++ b/docs/newsletter/2020_08_31.md @@ -17,4 +17,3 @@ ### [Pytest](pytest.md) -* New: Document the capsys, caplog and tmpdir builtin fixtures.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2020_09.md b/docs/newsletter/2020_09.md index de417fb11e1..d44fd7c1297 100644 --- a/docs/newsletter/2020_09.md +++ b/docs/newsletter/2020_09.md @@ -49,4 +49,3 @@ * New: Introduce wireguard. * New: Explain how to debug elasticsearch yellow state. * Correction: Update python ci docs. -* New: Explain how to solve cyclic imports when using type hints.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2020_09_01.md b/docs/newsletter/2020_09_01.md index 6b4547ba083..978c16a17d1 100644 --- a/docs/newsletter/2020_09_01.md +++ b/docs/newsletter/2020_09_01.md @@ -5,4 +5,3 @@ * Quick tempo running man * Quick tempo T-Step * Francis T-Step - * Sacco kicks[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2020_09_02.md b/docs/newsletter/2020_09_02.md index 11759bbae3e..dba0a15b3e8 100644 --- a/docs/newsletter/2020_09_02.md +++ b/docs/newsletter/2020_09_02.md @@ -4,4 +4,3 @@ ### [Pytest](pytest.md) -* New: Add freezegun fixture.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2020_09_04.md b/docs/newsletter/2020_09_04.md index a2efae54c22..771d7ef5142 100644 --- a/docs/newsletter/2020_09_04.md +++ b/docs/newsletter/2020_09_04.md @@ -20,4 +20,3 @@ ### [Repository Pattern](repository_pattern.md) -* New: Warn about the definition of attributes created by the ORMs.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2020_09_07.md b/docs/newsletter/2020_09_07.md index 09be3c43b25..3ee5068193c 100644 --- a/docs/newsletter/2020_09_07.md +++ b/docs/newsletter/2020_09_07.md @@ -2,4 +2,3 @@ * New: Add Francis spin and first version of dance routine. - Corrected how to reach the quick tempo running man.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2020_09_08.md b/docs/newsletter/2020_09_08.md index 57c67b96340..5fd264f85c1 100644 --- a/docs/newsletter/2020_09_08.md +++ b/docs/newsletter/2020_09_08.md @@ -4,4 +4,3 @@ And refactor in different files -* New: Add times for next steps to learn.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2020_09_10.md b/docs/newsletter/2020_09_10.md index cff8833a553..cc0f5a7e4f9 100644 --- a/docs/newsletter/2020_09_10.md +++ b/docs/newsletter/2020_09_10.md @@ -1,3 +1,2 @@ # Other -* New: Added ash, birch and beech description.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2020_09_16.md b/docs/newsletter/2020_09_16.md index 04490333052..15ebcf5acce 100644 --- a/docs/newsletter/2020_09_16.md +++ b/docs/newsletter/2020_09_16.md @@ -4,4 +4,3 @@ ### [Click](click.md) -* New: Explain how to use a default command to a click group.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2020_09_21.md b/docs/newsletter/2020_09_21.md index 2a812018993..9d6d4d945df 100644 --- a/docs/newsletter/2020_09_21.md +++ b/docs/newsletter/2020_09_21.md @@ -1,4 +1,3 @@ # Other * New: Introduce wireguard. -* New: Explain how to debug elasticsearch yellow state.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2020_09_25.md b/docs/newsletter/2020_09_25.md index 74297b20617..cc0f5a7e4f9 100644 --- a/docs/newsletter/2020_09_25.md +++ b/docs/newsletter/2020_09_25.md @@ -1,3 +1,2 @@ # Other -* Correction: Update python ci docs.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2020_09_30.md b/docs/newsletter/2020_09_30.md index 589157a3230..cc0f5a7e4f9 100644 --- a/docs/newsletter/2020_09_30.md +++ b/docs/newsletter/2020_09_30.md @@ -1,3 +1,2 @@ # Other -* New: Explain how to solve cyclic imports when using type hints.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2020_10.md b/docs/newsletter/2020_10.md index aea6a8f9d04..8842853b2c8 100644 --- a/docs/newsletter/2020_10.md +++ b/docs/newsletter/2020_10.md @@ -138,4 +138,3 @@ * Correction: Remove broken links. * New: Explain how to make your python packages mypy compliant. * Correction: Explain how to remove all pip packages from a virtualenv. -* Correction: Discourage the use of pip-tools in the CI.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2020_10_01.md b/docs/newsletter/2020_10_01.md index 85cb05ab1df..014f7cd804b 100644 --- a/docs/newsletter/2020_10_01.md +++ b/docs/newsletter/2020_10_01.md @@ -22,4 +22,3 @@ * New: Evaluate the different solutions to programmatically interact with databases. * Correction: Remove xkcd image. -* Reorganization: Extract type hints to it's own file.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2020_10_08.md b/docs/newsletter/2020_10_08.md index d299fdb5bcf..c442c4aa8c6 100644 --- a/docs/newsletter/2020_10_08.md +++ b/docs/newsletter/2020_10_08.md @@ -22,4 +22,3 @@ * Correction: Remove type hints from python code styling. * New: Explain the use of Generic typing. * Correction: Correct domain driven design image path. -* Correction: Remove broken links.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2020_10_09.md b/docs/newsletter/2020_10_09.md index d41f3b8adcc..ad522a75099 100644 --- a/docs/newsletter/2020_10_09.md +++ b/docs/newsletter/2020_10_09.md @@ -12,4 +12,3 @@ # Other -* New: Explain how to make your python packages mypy compliant.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2020_10_10.md b/docs/newsletter/2020_10_10.md index eb78827cb80..77f5efd4518 100644 --- a/docs/newsletter/2020_10_10.md +++ b/docs/newsletter/2020_10_10.md @@ -5,4 +5,3 @@ ### [Pytest](pytest.md) * New: Explain how to save the fixtures into a separate file. -* New: Explain the different parametrization options. Introduce the awesome pytest-cases.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2020_10_15.md b/docs/newsletter/2020_10_15.md index fc5c8aef23c..8d86d3f4da4 100644 --- a/docs/newsletter/2020_10_15.md +++ b/docs/newsletter/2020_10_15.md @@ -21,4 +21,3 @@ [passpy](https://github.com/bfrascher/passpy) a platform independent library and - cli that is compatible with [ZX2C4's pass](http://www.passwordstore.org/).[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2020_10_16.md b/docs/newsletter/2020_10_16.md index 6b21c348c5d..7e10715f072 100644 --- a/docs/newsletter/2020_10_16.md +++ b/docs/newsletter/2020_10_16.md @@ -28,4 +28,3 @@ # Other -* Correction: Explain how to remove all pip packages from a virtualenv.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2020_10_19.md b/docs/newsletter/2020_10_19.md index f1027465157..62f507886d5 100644 --- a/docs/newsletter/2020_10_19.md +++ b/docs/newsletter/2020_10_19.md @@ -7,4 +7,3 @@ * New: Add statistical analysis on instance sizes using prometheus metrics. Explain how to configure prometheus to automatically check if your - instances are of the correct size and which are your bottlenecks.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2020_10_22.md b/docs/newsletter/2020_10_22.md index 7263545de74..5bf47f72cc0 100644 --- a/docs/newsletter/2020_10_22.md +++ b/docs/newsletter/2020_10_22.md @@ -32,4 +32,3 @@ # Other -* Correction: Discourage the use of pip-tools in the CI.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2020_10_23.md b/docs/newsletter/2020_10_23.md index e003fbc422c..dba0a15b3e8 100644 --- a/docs/newsletter/2020_10_23.md +++ b/docs/newsletter/2020_10_23.md @@ -4,4 +4,3 @@ ### [Pytest](pytest.md) -* Improvement: Solve W0621 Redefining name %r from outer scope (line %s) error.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2020_10_26.md b/docs/newsletter/2020_10_26.md index d9801bb6106..503b7398146 100644 --- a/docs/newsletter/2020_10_26.md +++ b/docs/newsletter/2020_10_26.md @@ -16,4 +16,3 @@ Includes the generation of OpenSSH keys with the cryptography library -* Improvement: Correct typo in the generation of ssh keys.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2020_10_29.md b/docs/newsletter/2020_10_29.md index f5f0018c9de..9e48b165b36 100644 --- a/docs/newsletter/2020_10_29.md +++ b/docs/newsletter/2020_10_29.md @@ -8,4 +8,3 @@ ### [ZFS](zfs.md) -* New: Introduce zfs and some basic commands.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2020_11.md b/docs/newsletter/2020_11.md index d8f0b4ac673..2a0b302e8ce 100644 --- a/docs/newsletter/2020_11.md +++ b/docs/newsletter/2020_11.md @@ -135,4 +135,3 @@ * Correction: Explain how to get started. * Correction: References between articles. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2020_11_07.md b/docs/newsletter/2020_11_07.md index 189a3d65feb..17f2c67f788 100644 --- a/docs/newsletter/2020_11_07.md +++ b/docs/newsletter/2020_11_07.md @@ -4,4 +4,3 @@ ### [Folium](folium.md) -* New: Explain how to use folium, change tileset and load data.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2020_11_11.md b/docs/newsletter/2020_11_11.md index fb0d4e58492..d31721a9b87 100644 --- a/docs/newsletter/2020_11_11.md +++ b/docs/newsletter/2020_11_11.md @@ -13,4 +13,3 @@ * Correction: Change the order of the layers. Openstreetmaps is more clear than the IGN, so the waypoints are better - seen[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2020_11_12.md b/docs/newsletter/2020_11_12.md index e4ba1bfeebf..19e64bccb19 100644 --- a/docs/newsletter/2020_11_12.md +++ b/docs/newsletter/2020_11_12.md @@ -30,4 +30,3 @@ * New: Create ALEToggleFixer command to enable/disable fixers. * New: Make fugitive commit workflow more user friendly. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2020_11_13.md b/docs/newsletter/2020_11_13.md index 871a0e47387..e3626dec0b5 100644 --- a/docs/newsletter/2020_11_13.md +++ b/docs/newsletter/2020_11_13.md @@ -43,4 +43,3 @@ ## [Writing](writing.md) * New: Explain the guidelines and tools I use for writing. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2020_11_18.md b/docs/newsletter/2020_11_18.md index 96d771646b1..0deeb2f7014 100644 --- a/docs/newsletter/2020_11_18.md +++ b/docs/newsletter/2020_11_18.md @@ -14,4 +14,3 @@ ### [Kubectl](kubectl.md) -* New: Add kubectl command cheatsheet.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2020_11_19.md b/docs/newsletter/2020_11_19.md index d532d94b35f..2d213afafc0 100644 --- a/docs/newsletter/2020_11_19.md +++ b/docs/newsletter/2020_11_19.md @@ -2,4 +2,3 @@ ## [Meditation](meditation.md) -* New: Define meditation and it's types.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2020_11_20.md b/docs/newsletter/2020_11_20.md index 78f4755b62b..0c4b932aa7f 100644 --- a/docs/newsletter/2020_11_20.md +++ b/docs/newsletter/2020_11_20.md @@ -25,4 +25,3 @@ # Other * Correction: Explain how to get started. -* Correction: References between articles.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2020_11_24.md b/docs/newsletter/2020_11_24.md index 37c93515079..688bf2568b1 100644 --- a/docs/newsletter/2020_11_24.md +++ b/docs/newsletter/2020_11_24.md @@ -32,4 +32,3 @@ * New: Explain how to use YouCompleteMe to complete prose. * Correction: Explain how to limit the autosuggestion results to one when writing prose. -* New: Explain how to search synonyms inside vim.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2020_11_25.md b/docs/newsletter/2020_11_25.md index 3eb24c1e62f..98648fc05db 100644 --- a/docs/newsletter/2020_11_25.md +++ b/docs/newsletter/2020_11_25.md @@ -12,4 +12,3 @@ ### [Vim](vim.md) -* Correction: Improve the environment to write commits with more bindings and restoring bindings once you close the message.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2020_12.md b/docs/newsletter/2020_12.md index e9842e807ab..6dfcda31276 100644 --- a/docs/newsletter/2020_12.md +++ b/docs/newsletter/2020_12.md @@ -121,4 +121,3 @@ * New: Explain how to use Wake on Lan. * New: Explain how to use TypeVar to specify children class. * New: Explain how to solve W0106 in list comprehensions. -* New: Explain how to solve SIM105.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2020_12_01.md b/docs/newsletter/2020_12_01.md index 622eced41ca..74b3cf3e000 100644 --- a/docs/newsletter/2020_12_01.md +++ b/docs/newsletter/2020_12_01.md @@ -9,4 +9,3 @@ # Other -* New: Explain how to fix W0707 mypy error.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2020_12_03.md b/docs/newsletter/2020_12_03.md index f335b3b6ee4..add40079ffa 100644 --- a/docs/newsletter/2020_12_03.md +++ b/docs/newsletter/2020_12_03.md @@ -8,4 +8,3 @@ # Other -* New: Introduce wesnoth, and the northerners and rebels civilizations.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2020_12_07.md b/docs/newsletter/2020_12_07.md index d997b441ede..992400a47c6 100644 --- a/docs/newsletter/2020_12_07.md +++ b/docs/newsletter/2020_12_07.md @@ -4,4 +4,3 @@ ### [Dash](python_sh.md) -* New: Explain how to interact with programs that ask for user input.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2020_12_10.md b/docs/newsletter/2020_12_10.md index ca43da4006f..590489aaea5 100644 --- a/docs/newsletter/2020_12_10.md +++ b/docs/newsletter/2020_12_10.md @@ -12,4 +12,3 @@ ### [sqlite3](sqlite3.md) -* New: Introduce the sqlite python library.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2020_12_11.md b/docs/newsletter/2020_12_11.md index aab34ca17f3..8de29c8d5d8 100644 --- a/docs/newsletter/2020_12_11.md +++ b/docs/newsletter/2020_12_11.md @@ -19,4 +19,3 @@ ### [sqlite3](sqlite3.md) -* New: Explain how to get the columns of a sqlite3 query.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2020_12_15.md b/docs/newsletter/2020_12_15.md index 0e94f0ea8f5..9ceea55898b 100644 --- a/docs/newsletter/2020_12_15.md +++ b/docs/newsletter/2020_12_15.md @@ -11,4 +11,3 @@ ## [Domain Driven Design](domain_driven_design.md) -* New: Explain how to inject fake dependencies into e2e tests with click.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2020_12_16.md b/docs/newsletter/2020_12_16.md index 4b0e77f3fe0..f33f6bea5b5 100644 --- a/docs/newsletter/2020_12_16.md +++ b/docs/newsletter/2020_12_16.md @@ -11,4 +11,3 @@ * New: Explain how to use the TypedDict instead of Dict. - Useful if the different keys have different types[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2020_12_18.md b/docs/newsletter/2020_12_18.md index 97e01101790..c87c184ef61 100644 --- a/docs/newsletter/2020_12_18.md +++ b/docs/newsletter/2020_12_18.md @@ -3,4 +3,3 @@ ## [Python](python.md) * New: Do an initial analysis on Python profiling. -* New: Introduce some ideas on optimization of python code.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2020_12_21.md b/docs/newsletter/2020_12_21.md index 3fe651e7416..1367ccc6810 100644 --- a/docs/newsletter/2020_12_21.md +++ b/docs/newsletter/2020_12_21.md @@ -5,4 +5,3 @@ ### [Prometheus](prometheus.md) * New: Explain how to install with docker. -* Reorganization: Move the installation of docker to prometheus install.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2020_12_27.md b/docs/newsletter/2020_12_27.md index 0bd6035bba7..c27bc93d0ea 100644 --- a/docs/newsletter/2020_12_27.md +++ b/docs/newsletter/2020_12_27.md @@ -18,4 +18,3 @@ # Other -* New: Explain how to use Wake on Lan.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2020_12_29.md b/docs/newsletter/2020_12_29.md index 26295d798ca..227c7aae506 100644 --- a/docs/newsletter/2020_12_29.md +++ b/docs/newsletter/2020_12_29.md @@ -22,4 +22,3 @@ # Other -* New: Explain how to use TypeVar to specify children class.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2020_12_30.md b/docs/newsletter/2020_12_30.md index ae34a56af72..99cbbcdd619 100644 --- a/docs/newsletter/2020_12_30.md +++ b/docs/newsletter/2020_12_30.md @@ -15,4 +15,3 @@ # Other * New: Explain how to solve W0106 in list comprehensions. -* New: Explain how to solve SIM105.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2020_w28.md b/docs/newsletter/2020_w28.md index 7849196d1b8..a34075a0023 100644 --- a/docs/newsletter/2020_w28.md +++ b/docs/newsletter/2020_w28.md @@ -40,4 +40,3 @@ * New: Add factoryboy factory usage. * New: Add the xy problem. * New: Add tinydb documentation. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2020_w29.md b/docs/newsletter/2020_w29.md index c8bc01b8ffd..cc0f5a7e4f9 100644 --- a/docs/newsletter/2020_w29.md +++ b/docs/newsletter/2020_w29.md @@ -1,3 +1,2 @@ # Other -* New: Add prevent cookiecutter from processing some files docs.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2020_w31.md b/docs/newsletter/2020_w31.md index b4a1dcb1432..2453fdb6ea3 100644 --- a/docs/newsletter/2020_w31.md +++ b/docs/newsletter/2020_w31.md @@ -11,4 +11,3 @@ * New: Add first cutting shapes steps. * Correction: Improve the changelog generation with commitizen. * Correction: Remove unwanted gifs on rave dances. -* New: Add kicking-running man and tap spin.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2020_w33.md b/docs/newsletter/2020_w33.md index add62e96dce..0db2df5765e 100644 --- a/docs/newsletter/2020_w33.md +++ b/docs/newsletter/2020_w33.md @@ -22,4 +22,3 @@ * New: Prevent additional whitespaces when jinja condition is not met. * Correction: Correct the running man. -* New: Add how to keep historical data on database table changes.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2020_w34.md b/docs/newsletter/2020_w34.md index 8566127f306..15ee968ed9c 100644 --- a/docs/newsletter/2020_w34.md +++ b/docs/newsletter/2020_w34.md @@ -29,4 +29,3 @@ # Other * New: List all process swap space usage. -* New: Introduce the click python library.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2020_w35.md b/docs/newsletter/2020_w35.md index 2683478b771..62319e11fff 100644 --- a/docs/newsletter/2020_w35.md +++ b/docs/newsletter/2020_w35.md @@ -44,4 +44,3 @@ * Quick tempo running man * Quick tempo T-Step * Francis T-Step - * Sacco kicks[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2020_w36.md b/docs/newsletter/2020_w36.md index a25ef2e2636..0fa218d204d 100644 --- a/docs/newsletter/2020_w36.md +++ b/docs/newsletter/2020_w36.md @@ -9,4 +9,3 @@ And refactor in different files * New: Add times for next steps to learn. -* New: Added ash, birch and beech description.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2020_w37.md b/docs/newsletter/2020_w37.md index 04490333052..15ebcf5acce 100644 --- a/docs/newsletter/2020_w37.md +++ b/docs/newsletter/2020_w37.md @@ -4,4 +4,3 @@ ### [Click](click.md) -* New: Explain how to use a default command to a click group.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2020_w38.md b/docs/newsletter/2020_w38.md index 248e6c9da7f..851aa8c268c 100644 --- a/docs/newsletter/2020_w38.md +++ b/docs/newsletter/2020_w38.md @@ -3,4 +3,3 @@ * New: Introduce wireguard. * New: Explain how to debug elasticsearch yellow state. * Correction: Update python ci docs. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2020_w39.md b/docs/newsletter/2020_w39.md index e871e66c456..6d0e0985fb6 100644 --- a/docs/newsletter/2020_w39.md +++ b/docs/newsletter/2020_w39.md @@ -23,4 +23,3 @@ * New: Explain how to solve cyclic imports when using type hints. * New: Evaluate the different solutions to programmatically interact with databases. * Correction: Remove xkcd image. -* Reorganization: Extract type hints to it's own file.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2020_w40.md b/docs/newsletter/2020_w40.md index ddf910d84e2..0801b23b257 100644 --- a/docs/newsletter/2020_w40.md +++ b/docs/newsletter/2020_w40.md @@ -36,4 +36,3 @@ * New: Explain the use of Generic typing. * Correction: Correct domain driven design image path. * Correction: Remove broken links. -* New: Explain how to make your python packages mypy compliant.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2020_w41.md b/docs/newsletter/2020_w41.md index 6c2616d0370..e22dbe1e02b 100644 --- a/docs/newsletter/2020_w41.md +++ b/docs/newsletter/2020_w41.md @@ -46,4 +46,3 @@ # Other -* Correction: Explain how to remove all pip packages from a virtualenv.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2020_w42.md b/docs/newsletter/2020_w42.md index b753bac5cd7..873b42933e1 100644 --- a/docs/newsletter/2020_w42.md +++ b/docs/newsletter/2020_w42.md @@ -45,4 +45,3 @@ # Other -* Correction: Discourage the use of pip-tools in the CI.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2020_w43.md b/docs/newsletter/2020_w43.md index 9807032d7c1..3b04a20e263 100644 --- a/docs/newsletter/2020_w43.md +++ b/docs/newsletter/2020_w43.md @@ -28,4 +28,3 @@ ### [ZFS](zfs.md) -* New: Introduce zfs and some basic commands.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2020_w44.md b/docs/newsletter/2020_w44.md index 189a3d65feb..17f2c67f788 100644 --- a/docs/newsletter/2020_w44.md +++ b/docs/newsletter/2020_w44.md @@ -4,4 +4,3 @@ ### [Folium](folium.md) -* New: Explain how to use folium, change tileset and load data.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2020_w45.md b/docs/newsletter/2020_w45.md index cd64fe7b9d6..d56534de696 100644 --- a/docs/newsletter/2020_w45.md +++ b/docs/newsletter/2020_w45.md @@ -80,4 +80,3 @@ ## [Writing](writing.md) * New: Explain the guidelines and tools I use for writing. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2020_w46.md b/docs/newsletter/2020_w46.md index 1c0e3cff1fe..faf50fb2ad0 100644 --- a/docs/newsletter/2020_w46.md +++ b/docs/newsletter/2020_w46.md @@ -49,4 +49,3 @@ # Other * Correction: Explain how to get started. -* Correction: References between articles.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2020_w47.md b/docs/newsletter/2020_w47.md index 2cb96ff9110..975feeeb83d 100644 --- a/docs/newsletter/2020_w47.md +++ b/docs/newsletter/2020_w47.md @@ -37,4 +37,3 @@ * New: Explain how to use YouCompleteMe to complete prose. * Correction: Explain how to limit the autosuggestion results to one when writing prose. * New: Explain how to search synonyms inside vim. -* Correction: Improve the environment to write commits with more bindings and restoring bindings once you close the message.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2020_w48.md b/docs/newsletter/2020_w48.md index d05283070f8..8328aad83c4 100644 --- a/docs/newsletter/2020_w48.md +++ b/docs/newsletter/2020_w48.md @@ -18,4 +18,3 @@ # Other * New: Explain how to fix W0707 mypy error. -* New: Introduce wesnoth, and the northerners and rebels civilizations.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2020_w49.md b/docs/newsletter/2020_w49.md index 95c43283421..96d5d8872a2 100644 --- a/docs/newsletter/2020_w49.md +++ b/docs/newsletter/2020_w49.md @@ -26,4 +26,3 @@ ### [sqlite3](sqlite3.md) * New: Introduce the sqlite python library. -* New: Explain how to get the columns of a sqlite3 query.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2020_w50.md b/docs/newsletter/2020_w50.md index e9bcceab4fa..e6e3bbf612f 100644 --- a/docs/newsletter/2020_w50.md +++ b/docs/newsletter/2020_w50.md @@ -25,4 +25,3 @@ ## [Domain Driven Design](domain_driven_design.md) -* New: Explain how to inject fake dependencies into e2e tests with click.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2020_w51.md b/docs/newsletter/2020_w51.md index 1282223a5f4..72449e90b03 100644 --- a/docs/newsletter/2020_w51.md +++ b/docs/newsletter/2020_w51.md @@ -27,4 +27,3 @@ # Other -* New: Explain how to use Wake on Lan.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2020_w52.md b/docs/newsletter/2020_w52.md index 876f0257014..a03d93c04c9 100644 --- a/docs/newsletter/2020_w52.md +++ b/docs/newsletter/2020_w52.md @@ -36,4 +36,3 @@ * New: Explain how to use TypeVar to specify children class. * New: Explain how to solve W0106 in list comprehensions. -* New: Explain how to solve SIM105.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021.md b/docs/newsletter/2021.md index 987116f6f36..84b4ae7f7c2 100644 --- a/docs/newsletter/2021.md +++ b/docs/newsletter/2021.md @@ -3035,4 +3035,3 @@ * Reorganization: Move the tasks tools from the task management article to their own. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_01.md b/docs/newsletter/2021_01.md index b24de04f423..3240eb337d0 100644 --- a/docs/newsletter/2021_01.md +++ b/docs/newsletter/2021_01.md @@ -132,4 +132,3 @@ * New: Add remote work tips. * New: Introduce lazy loading implementation paradigm with python. * New: Explain how to lazy load pydantic objects. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_01_05.md b/docs/newsletter/2021_01_05.md index 7ac2887b9aa..be539ec31bc 100644 --- a/docs/newsletter/2021_01_05.md +++ b/docs/newsletter/2021_01_05.md @@ -14,4 +14,3 @@ * New: Explain how to initialize attributes. - Use validators to initialize attributes[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_01_20.md b/docs/newsletter/2021_01_20.md index 0919873e659..cc0f5a7e4f9 100644 --- a/docs/newsletter/2021_01_20.md +++ b/docs/newsletter/2021_01_20.md @@ -1,3 +1,2 @@ # Other -* New: Add remote work tips.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_01_21.md b/docs/newsletter/2021_01_21.md index f9a5ccf00aa..6ea54325d5e 100644 --- a/docs/newsletter/2021_01_21.md +++ b/docs/newsletter/2021_01_21.md @@ -10,4 +10,3 @@ # Other * New: Introduce lazy loading implementation paradigm with python. -* New: Explain how to lazy load pydantic objects.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_01_22.md b/docs/newsletter/2021_01_22.md index 3255e67fe9e..d2bbd06a98d 100644 --- a/docs/newsletter/2021_01_22.md +++ b/docs/newsletter/2021_01_22.md @@ -19,4 +19,3 @@ ## [SQLite](sqlite.md) -* New: Solve the autoincrementation not working bug.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_01_26.md b/docs/newsletter/2021_01_26.md index 0d97a3d61af..03cce6864bb 100644 --- a/docs/newsletter/2021_01_26.md +++ b/docs/newsletter/2021_01_26.md @@ -18,4 +18,3 @@ ### [cone](cone.md) -* New: Introduce the mobile double entry accounting application.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_01_29.md b/docs/newsletter/2021_01_29.md index f5179d0448a..46ca2defce2 100644 --- a/docs/newsletter/2021_01_29.md +++ b/docs/newsletter/2021_01_29.md @@ -51,4 +51,3 @@ ### [cone](cone.md) -* Correction: Correct the description of the transaction to be beancount compatible.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_01_30.md b/docs/newsletter/2021_01_30.md index e1a19eef72e..5a7758a286e 100644 --- a/docs/newsletter/2021_01_30.md +++ b/docs/newsletter/2021_01_30.md @@ -31,4 +31,3 @@ [questionary](https://questionary.readthedocs.io) is a Python library for effortlessly building pretty command line interfaces. It makes it - very easy to query your user for input.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_02.md b/docs/newsletter/2021_02.md index 9c43cdd80b9..27e5e377c88 100644 --- a/docs/newsletter/2021_02.md +++ b/docs/newsletter/2021_02.md @@ -294,4 +294,3 @@ * Correction: Deprecate mkdocs issues. They've been fixed in the last release -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_02_02.md b/docs/newsletter/2021_02_02.md index a9b3a3765fe..da4725aba0c 100644 --- a/docs/newsletter/2021_02_02.md +++ b/docs/newsletter/2021_02_02.md @@ -14,4 +14,3 @@ Analyze the reasons why would you need to do this procedure, how it works, when you need to do it, side effects and scientific evidences of - it's effectiveness.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_02_04.md b/docs/newsletter/2021_02_04.md index b713c8eb717..5ce9c836088 100644 --- a/docs/newsletter/2021_02_04.md +++ b/docs/newsletter/2021_02_04.md @@ -15,4 +15,3 @@ ### [Virtual Assistant](virtual_assistant.md) -* New: Introduce project with kalliope.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_02_05.md b/docs/newsletter/2021_02_05.md index 388932c9607..f21b476d5dd 100644 --- a/docs/newsletter/2021_02_05.md +++ b/docs/newsletter/2021_02_05.md @@ -16,4 +16,3 @@ ### [Vim](vim.md) -* New: Configure Vim to set the upstream by default when git pushing.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_02_08.md b/docs/newsletter/2021_02_08.md index 315b0602291..6fe2f973a40 100644 --- a/docs/newsletter/2021_02_08.md +++ b/docs/newsletter/2021_02_08.md @@ -30,4 +30,3 @@ [oprypin](https://github.com/oprypin) has solved it with the [mkdocs-section-index](https://github.com/oprypin/mkdocs-section-index) - plugin.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_02_09.md b/docs/newsletter/2021_02_09.md index 06fb1046442..f86ec472315 100644 --- a/docs/newsletter/2021_02_09.md +++ b/docs/newsletter/2021_02_09.md @@ -25,4 +25,3 @@ [Digital Garden](https://joelhooks.com/digital-garden) is a method of storing and maintaining knowledge in an maintainable, scalable and - searchable way. They are also known as second brains.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_02_10.md b/docs/newsletter/2021_02_10.md index c3f123f6796..d7fb80a110d 100644 --- a/docs/newsletter/2021_02_10.md +++ b/docs/newsletter/2021_02_10.md @@ -20,4 +20,3 @@ ### [mkdocs](mkdocs.md) -* New: Explain how to develop your own plugins.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_02_12.md b/docs/newsletter/2021_02_12.md index 54044f48008..d81eacb2cdb 100644 --- a/docs/newsletter/2021_02_12.md +++ b/docs/newsletter/2021_02_12.md @@ -75,4 +75,3 @@ Also added: * It's principles - * The [swing from table](pilates.md#swing-from-table) exercise.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_02_22.md b/docs/newsletter/2021_02_22.md index 50bf8dde50f..f2cc8aeb712 100644 --- a/docs/newsletter/2021_02_22.md +++ b/docs/newsletter/2021_02_22.md @@ -4,4 +4,3 @@ ### [Monitoring Comparison](monitoring_comparison.md) -* New: Compare Nagios and Prometheus as monitoring.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_02_23.md b/docs/newsletter/2021_02_23.md index 680f100a4a3..7950b506eb8 100644 --- a/docs/newsletter/2021_02_23.md +++ b/docs/newsletter/2021_02_23.md @@ -27,4 +27,3 @@ cases heartbeat. It is a type of wearable computer. - Explain also why it's interesting[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_02_25.md b/docs/newsletter/2021_02_25.md index 14305512b51..61f25ba9ee5 100644 --- a/docs/newsletter/2021_02_25.md +++ b/docs/newsletter/2021_02_25.md @@ -54,4 +54,3 @@ ### [GadgetBridge](gadgetbridge.md) -* New: Add more guidelines to reverse engineer the band protocol.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_02_26.md b/docs/newsletter/2021_02_26.md index 094d778ff5c..e556ad788d2 100644 --- a/docs/newsletter/2021_02_26.md +++ b/docs/newsletter/2021_02_26.md @@ -44,4 +44,3 @@ You can't use the Withings sleep analyzer without their app (as expected), maybe the [Emfit QS](https://github.com/karlicoss/HPI/blob/master/my/emfit/__init__.py) - is the way to go.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_02_28.md b/docs/newsletter/2021_02_28.md index 92c11d3e724..39e827b8996 100644 --- a/docs/newsletter/2021_02_28.md +++ b/docs/newsletter/2021_02_28.md @@ -2,4 +2,3 @@ * Correction: Deprecate mkdocs issues. - They've been fixed in the last release[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_03.md b/docs/newsletter/2021_03.md index aa5beaae320..e96474c2bf2 100644 --- a/docs/newsletter/2021_03.md +++ b/docs/newsletter/2021_03.md @@ -466,4 +466,3 @@ devices via multiple apps. Jellyfin is descended from Emby's 3.5.2 release and ported to the .NET Core framework to enable full cross-platform support. There are no strings attached, no premium licenses or features, and no hidden agendas: - just a team who want to build something better and work together to achieve it.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_03_02.md b/docs/newsletter/2021_03_02.md index 35fc2308e31..4d67defbf9b 100644 --- a/docs/newsletter/2021_03_02.md +++ b/docs/newsletter/2021_03_02.md @@ -77,4 +77,3 @@ ### [Grammar and Orthography](orthography.md) * Improvement: Expand the introduction and add Dave's suggested link. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_03_03.md b/docs/newsletter/2021_03_03.md index f0e6e50dc22..4e1cc4ad385 100644 --- a/docs/newsletter/2021_03_03.md +++ b/docs/newsletter/2021_03_03.md @@ -116,4 +116,3 @@ Use Sincerely in doubt and Best if you have more confidence. Add a comma after the sign-off and *never* use Cheers (it's what I've been doing all my life `(◞‸◟;)` ). -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_03_04.md b/docs/newsletter/2021_03_04.md index 193be4cf753..14dd751d5c3 100644 --- a/docs/newsletter/2021_03_04.md +++ b/docs/newsletter/2021_03_04.md @@ -73,4 +73,3 @@ ## [Origami](origami.md) * New: Add mark1626 digital garden article on origamis. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_03_10.md b/docs/newsletter/2021_03_10.md index 8bd36919e1d..16fd41cb9ff 100644 --- a/docs/newsletter/2021_03_10.md +++ b/docs/newsletter/2021_03_10.md @@ -55,4 +55,3 @@ Long story short, use the `on_config` event instead of `on_files` and `on_nav` if you need to add files and want to change the navigation menu. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_03_13.md b/docs/newsletter/2021_03_13.md index 68f05acd2db..5d4c7c13543 100644 --- a/docs/newsletter/2021_03_13.md +++ b/docs/newsletter/2021_03_13.md @@ -28,4 +28,3 @@ ### [Signal](signal.md) -* New: Introduce the messaging app and how to decrypt the backups.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_03_18.md b/docs/newsletter/2021_03_18.md index 9a8ce9789a6..8bc927e3b2c 100644 --- a/docs/newsletter/2021_03_18.md +++ b/docs/newsletter/2021_03_18.md @@ -83,4 +83,3 @@ [Compton](https://github.com/chjj/compton), and then the elements [may not even be clickable](https://github.com/phw/peek#why-cant-i-interact-with-the-ui- - elements-inside-the-recording-area).[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_03_19.md b/docs/newsletter/2021_03_19.md index 1243acb78e4..311f4beb54c 100644 --- a/docs/newsletter/2021_03_19.md +++ b/docs/newsletter/2021_03_19.md @@ -56,4 +56,3 @@ [Outrun](https://github.com/Overv/outrun) lets you execute a local command using - the processing power of another Linux machine.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_03_26.md b/docs/newsletter/2021_03_26.md index a0bd7a352b8..ac3b780d8f2 100644 --- a/docs/newsletter/2021_03_26.md +++ b/docs/newsletter/2021_03_26.md @@ -16,4 +16,3 @@ ### [Grammar and Orthography](orthography.md) -* New: [Explain how to use the singular `they`.](orthography.md#how-to-use-the-singular-they)[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_03_29.md b/docs/newsletter/2021_03_29.md index 9ed1e1170ae..2ca3fa67c33 100644 --- a/docs/newsletter/2021_03_29.md +++ b/docs/newsletter/2021_03_29.md @@ -40,4 +40,3 @@ * New: [Explain additions of version 7.1.0 of the material theme.](mkdocs.md#material-theme-customizations) * [Dark-light mode switch](mkdocs.md#color-palette-toggle). - * [Back to top button](mkdocs.md#back-to-top-button).[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_03_30.md b/docs/newsletter/2021_03_30.md index 4c8ed976667..982a600234a 100644 --- a/docs/newsletter/2021_03_30.md +++ b/docs/newsletter/2021_03_30.md @@ -40,4 +40,3 @@ ported to the .NET Core framework to enable full cross-platform support. There are no strings attached, no premium licenses or features, and no hidden agendas: just a team who want to build something better and work together to achieve it. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_04.md b/docs/newsletter/2021_04.md index 7ddda5f00b5..373fd25f6b5 100644 --- a/docs/newsletter/2021_04.md +++ b/docs/newsletter/2021_04.md @@ -419,4 +419,3 @@ Setup an [healthchecks](https://healthchecks.io/) instance with the [linuxserver image](https://docs.linuxserver.io/images/docker-healthchecks) to monitor cronjobs. For the notifications either use the [prometheus metrics](https://healthchecks.io/docs/configuring_prometheus/) or an [apprise](https://github.com/healthchecks/healthchecks/issues/271) compatible system. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_04_05.md b/docs/newsletter/2021_04_05.md index 190ed2dc0e7..f8950d4bade 100644 --- a/docs/newsletter/2021_04_05.md +++ b/docs/newsletter/2021_04_05.md @@ -23,4 +23,3 @@ ### [TinyDB](tinydb.md) -* New: [Explain how to serialize datetime objects.](tinydb.md#serializing-custom-data)[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_04_06.md b/docs/newsletter/2021_04_06.md index 00225bc8d3b..f4fbf36b948 100644 --- a/docs/newsletter/2021_04_06.md +++ b/docs/newsletter/2021_04_06.md @@ -7,4 +7,3 @@ * New: Introduce the program and multiple of it's uses. [ffmpeg](https://www.ffmpeg.org/) is a complete, cross-platform solution - to record, convert and stream audio and video.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_04_07.md b/docs/newsletter/2021_04_07.md index 6274c030738..228e6c01d95 100644 --- a/docs/newsletter/2021_04_07.md +++ b/docs/newsletter/2021_04_07.md @@ -43,4 +43,3 @@ * New: [Explain how to configure sqlite to be able to use the REGEXP operator.](sqlite.md#regexp) - It's not enabled by default.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_04_08.md b/docs/newsletter/2021_04_08.md index b6830993003..1f9b53c2345 100644 --- a/docs/newsletter/2021_04_08.md +++ b/docs/newsletter/2021_04_08.md @@ -39,4 +39,3 @@ * Correction: Broken links. - Removed the link to (everything_i_know.md) since it no longer exists. Updated some links that where broken due to a folder structure change.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_04_10.md b/docs/newsletter/2021_04_10.md index effca77726a..b81f0b26153 100644 --- a/docs/newsletter/2021_04_10.md +++ b/docs/newsletter/2021_04_10.md @@ -6,4 +6,3 @@ * Correction: Typo. - There was a missing comma in the list.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_04_13.md b/docs/newsletter/2021_04_13.md index 60da4ad1819..659f993f235 100644 --- a/docs/newsletter/2021_04_13.md +++ b/docs/newsletter/2021_04_13.md @@ -49,4 +49,3 @@ [Hushboard](https://kryogenix.org/code/hushboard/) is an utility that mutes your microphone while you’re typing. - (Thanks [M0wer](https://m0wer.github.io/memento/computer_science/gnu_linux/hushboard/)!)[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_04_14.md b/docs/newsletter/2021_04_14.md index 8a35efc610c..1dee43bb5ae 100644 --- a/docs/newsletter/2021_04_14.md +++ b/docs/newsletter/2021_04_14.md @@ -47,4 +47,3 @@ * New: Explain when to write won't or wont. * Won't is the correct way to contract will not. - * Wont is a synonym of "a habit". For example, "He went for a morning jog, as was his wont".[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_04_15.md b/docs/newsletter/2021_04_15.md index 5a392c125ff..7a9f4ae51c4 100644 --- a/docs/newsletter/2021_04_15.md +++ b/docs/newsletter/2021_04_15.md @@ -45,4 +45,3 @@ * New: [Explain how to use private attributes.](pydantic.md#set-private-attributes) With the [`PrivateAttr`](https://pydantic-docs.helpmanual.io/usage/models/#private-model-attributes) object. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_04_19.md b/docs/newsletter/2021_04_19.md index b687e3b6afb..101fae48874 100644 --- a/docs/newsletter/2021_04_19.md +++ b/docs/newsletter/2021_04_19.md @@ -63,4 +63,3 @@ [pydantic](pydantic.md) uses `Enum` objects to define [the choices of fields](https://pydantic-docs.helpmanual.io/usage/types/#enums-and-choices), so - we need them to create the factories of those objects.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_04_20.md b/docs/newsletter/2021_04_20.md index 075c99da4c1..a580d8c3c61 100644 --- a/docs/newsletter/2021_04_20.md +++ b/docs/newsletter/2021_04_20.md @@ -19,4 +19,3 @@ ```bash pip install rich python -m rich.progress - ```[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_04_23.md b/docs/newsletter/2021_04_23.md index 30e52ed39ba..626ee3d6c3e 100644 --- a/docs/newsletter/2021_04_23.md +++ b/docs/newsletter/2021_04_23.md @@ -53,4 +53,3 @@ * Improvement: Suggest to use ruyaml instead of ruamel.yaml. As it's maintained by the community and versioned with git. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_04_24.md b/docs/newsletter/2021_04_24.md index 258bd9f6231..31a2725f696 100644 --- a/docs/newsletter/2021_04_24.md +++ b/docs/newsletter/2021_04_24.md @@ -47,4 +47,3 @@ Setup an [healthchecks](https://healthchecks.io/) instance with the [linuxserver image](https://docs.linuxserver.io/images/docker-healthchecks) to monitor cronjobs. - For the notifications either use the [prometheus metrics](https://healthchecks.io/docs/configuring_prometheus/) or an [apprise](https://github.com/healthchecks/healthchecks/issues/271) compatible system.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_04_25.md b/docs/newsletter/2021_04_25.md index 68cf5dd5b64..15e58051f38 100644 --- a/docs/newsletter/2021_04_25.md +++ b/docs/newsletter/2021_04_25.md @@ -23,4 +23,3 @@ ### [FastAPI](fastapi.md) * New: [Explain how to configure the application.](fastapi.md#configuration) -* New: [Explain how to inject a testing configuration in the tests.](fastapi.md#inject-testing-configuration)[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_04_26.md b/docs/newsletter/2021_04_26.md index ad880814243..76e4d65a77e 100644 --- a/docs/newsletter/2021_04_26.md +++ b/docs/newsletter/2021_04_26.md @@ -20,4 +20,3 @@ ```bash pip install pytest-xdist pytest -n auto - ```[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_05.md b/docs/newsletter/2021_05.md index ad7d1bf0037..4da31bf1fb6 100644 --- a/docs/newsletter/2021_05.md +++ b/docs/newsletter/2021_05.md @@ -297,4 +297,3 @@ * Reorganization: Move the tasks tools from the task management article to their own. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_05_01.md b/docs/newsletter/2021_05_01.md index e2d78b31964..7f59996e808 100644 --- a/docs/newsletter/2021_05_01.md +++ b/docs/newsletter/2021_05_01.md @@ -27,4 +27,3 @@ People working with software need different kinds of documentation at different times, in different circumstances, so good software documentation needs them all. In this first iteration, I define the five kinds of documentation, - and give the ideas to write good introduction and get started sections.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_05_11.md b/docs/newsletter/2021_05_11.md index 9b5978a23d2..3eb7b41612a 100644 --- a/docs/newsletter/2021_05_11.md +++ b/docs/newsletter/2021_05_11.md @@ -27,4 +27,3 @@ * New: [Explain how to check if an rsync command has gone well.](linux_snippets.md#check-if-an-rsync-command-has-gone-well) - Run `diff -r --brief source/ dest/`, and check that there is no output.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_05_14.md b/docs/newsletter/2021_05_14.md index ddb1e9c88e4..2c76b05ce3e 100644 --- a/docs/newsletter/2021_05_14.md +++ b/docs/newsletter/2021_05_14.md @@ -21,4 +21,3 @@ ### [FastAPI](fastapi.md) * New: [Explain how to deploy it using Docker.](fastapi.md#deploy-with-docker) -* New: [Explain how to show logging messages in the logs.](fastapi.md#logging)[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_05_17.md b/docs/newsletter/2021_05_17.md index df4ab70dd71..b60a9976e92 100644 --- a/docs/newsletter/2021_05_17.md +++ b/docs/newsletter/2021_05_17.md @@ -6,4 +6,3 @@ * Improvement: Remove false positive alerts on failed jobs that succeeded. - A Kubernetes cronjob spawns jobs, if the first one fails, it will try to spawn a new one. If the second succeeds, the cronjob status should be success, but with the rule we had before, a successful job with failed past jobs will still raise an alert.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_05_20.md b/docs/newsletter/2021_05_20.md index 228fa01f5d5..67f056ce9f2 100644 --- a/docs/newsletter/2021_05_20.md +++ b/docs/newsletter/2021_05_20.md @@ -28,4 +28,3 @@ docker exec -it jellyfin /bin/bash wget https://repo.jellyfin.org/releases/server/ubuntu/versions/jellyfin-ffmpeg/4.3.2-1/jellyfin-ffmpeg_4.3.2-1-focal_amd64.deb dpkg -i jellyfin-ffmpeg_4.3.2-1-focal_amd64.deb - ```[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_05_24.md b/docs/newsletter/2021_05_24.md index bfe03f875ce..d24fcc68fa9 100644 --- a/docs/newsletter/2021_05_24.md +++ b/docs/newsletter/2021_05_24.md @@ -75,4 +75,3 @@ * Reorganization: Reorder the sections of the site navigation menu. Give more importance to Coding, Activism and Life Management, reducing - the Software Architecture and Data Analysis sections.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_05_25.md b/docs/newsletter/2021_05_25.md index 2eb9ce793b5..663585e5e66 100644 --- a/docs/newsletter/2021_05_25.md +++ b/docs/newsletter/2021_05_25.md @@ -83,4 +83,3 @@ ### [Forking this garden](forking_this_wiki.md) -* New: Explain how to fork the blue book.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_05_26.md b/docs/newsletter/2021_05_26.md index ac947b295ac..b24a439a058 100644 --- a/docs/newsletter/2021_05_26.md +++ b/docs/newsletter/2021_05_26.md @@ -38,4 +38,3 @@ # Other * Reorganization: Move the tasks tools from the task management article to their own. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_05_27.md b/docs/newsletter/2021_05_27.md index 6811afdc3a4..4ecc79e02ec 100644 --- a/docs/newsletter/2021_05_27.md +++ b/docs/newsletter/2021_05_27.md @@ -11,4 +11,3 @@ ### [Task Management Workflows](life_planning.md) * New: [Explain the difference of surfing the hype flow versus following a defined plan.](life_planning.md#hype-flow-versus-a-defined-plan) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_06.md b/docs/newsletter/2021_06.md index 14057bf4f05..cde712234de 100644 --- a/docs/newsletter/2021_06.md +++ b/docs/newsletter/2021_06.md @@ -255,4 +255,3 @@ Add a level teaspoon of baking soda to the pot and cook them as usual -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_06_01.md b/docs/newsletter/2021_06_01.md index c434141bfcf..b87ba37bcfc 100644 --- a/docs/newsletter/2021_06_01.md +++ b/docs/newsletter/2021_06_01.md @@ -9,4 +9,3 @@ use it, but it's time expensive too! [The last refactor](https://github.com/lyz-code/clinv/pull/40) I did required a change of 60% of the code. The upside is that I reduced the total lines of - code a 25%.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_06_03.md b/docs/newsletter/2021_06_03.md index 37b17dcacc0..93597d72532 100644 --- a/docs/newsletter/2021_06_03.md +++ b/docs/newsletter/2021_06_03.md @@ -4,4 +4,3 @@ * New: Explain how to troubleshoot the error: pathspec master did not match any file. - Remove all git hooks with `rm -r .git/hooks`.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_06_04.md b/docs/newsletter/2021_06_04.md index b14a531b6a4..1941ab51291 100644 --- a/docs/newsletter/2021_06_04.md +++ b/docs/newsletter/2021_06_04.md @@ -39,4 +39,3 @@ Collocation refers to a natural combination of words that are closely affiliated with each other. They make it easier to avoid overused or ambiguous words like "very", "nice", or "beautiful", by using a pair of words that fit the context - better and that have a more precise meaning.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_06_07.md b/docs/newsletter/2021_06_07.md index de261679ee0..6f73ba0f6b9 100644 --- a/docs/newsletter/2021_06_07.md +++ b/docs/newsletter/2021_06_07.md @@ -9,4 +9,3 @@ Using "I know" may not be the best way to show the other person that you've got the information. You can take the chance to use other words that additionally gives more context on how you stand with the information you've received, - thus improving the communication and creating a bond.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_06_09.md b/docs/newsletter/2021_06_09.md index 5c99bd1aeaf..6be38ae1839 100644 --- a/docs/newsletter/2021_06_09.md +++ b/docs/newsletter/2021_06_09.md @@ -10,4 +10,3 @@ * New: [Explain how to boil chickpeas when you've forgotten to soak them.](cooking_basics.md#boil-chickpeas-when-you've-forgotten-to-soak-them) Add a level teaspoon of baking soda to the pot and - cook them as usual[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_06_11.md b/docs/newsletter/2021_06_11.md index 1b907412125..e2cfe603cdd 100644 --- a/docs/newsletter/2021_06_11.md +++ b/docs/newsletter/2021_06_11.md @@ -11,4 +11,3 @@ * Be able to search through the data * Plan trips -* New: [Introduce the seed project to.](projects.md#switch-to-a-better-browser)[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_06_15.md b/docs/newsletter/2021_06_15.md index d75e7a5286e..c9e5ebf0283 100644 --- a/docs/newsletter/2021_06_15.md +++ b/docs/newsletter/2021_06_15.md @@ -34,4 +34,3 @@ [Dunst](https://dunst-project.org/) is a lightweight replacement for the notification daemons provided by most desktop environments. It’s very customizable, isn’t dependent on any toolkits, and therefore fits into those - window manager centric setups we all love to customize to perfection.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_06_16.md b/docs/newsletter/2021_06_16.md index 535ce5726c6..fe3998fb621 100644 --- a/docs/newsletter/2021_06_16.md +++ b/docs/newsletter/2021_06_16.md @@ -7,4 +7,3 @@ * Improvement: Add more elasticsearch alerts. Measure the search latency, search rate and create alerts on the garbage - collector, json parser and circuit breaker errors[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_06_22.md b/docs/newsletter/2021_06_22.md index 358644a58ab..a374c9acbc4 100644 --- a/docs/newsletter/2021_06_22.md +++ b/docs/newsletter/2021_06_22.md @@ -22,4 +22,3 @@ | jq 'del(.spec.selector)' \ | jq 'del(.spec.template.metadata.labels)' \ | kubectl replace --force -f - - ```[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_06_25.md b/docs/newsletter/2021_06_25.md index b161941e958..c3a8c69f39f 100644 --- a/docs/newsletter/2021_06_25.md +++ b/docs/newsletter/2021_06_25.md @@ -74,4 +74,3 @@ * New: [Explain how to identify what a string or file contains.](linux_snippets.md#identify-what-a-string-or-file-contains) - Using [pywhat](https://github.com/bee-san/pyWhat)[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_06_28.md b/docs/newsletter/2021_06_28.md index 7bd783231a4..c19ba9d01aa 100644 --- a/docs/newsletter/2021_06_28.md +++ b/docs/newsletter/2021_06_28.md @@ -21,4 +21,3 @@ }' ``` -* New: [Explain how to fix Circuit breakers triggers.](elasticsearch.md#fix-circuit-breakers-triggers)[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_06_29.md b/docs/newsletter/2021_06_29.md index e04952c654b..dd13f7705b7 100644 --- a/docs/newsletter/2021_06_29.md +++ b/docs/newsletter/2021_06_29.md @@ -15,4 +15,3 @@ * Correction: Explain how to run the watchtower checks immediately. - With the `--run-once` flag[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_07.md b/docs/newsletter/2021_07.md index 37ca0898f7e..805ab8d0f4e 100644 --- a/docs/newsletter/2021_07.md +++ b/docs/newsletter/2021_07.md @@ -76,4 +76,3 @@ [OsmAnd](https://osmand.net) is a mobile application for global map viewing and navigating based on [OpenStreetMaps](https://osm.org). Perfect if you're looking for a privacy focused, community maintained open source alternative to google - maps.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_07_12.md b/docs/newsletter/2021_07_12.md index 988edc1253f..f37e7f962e0 100644 --- a/docs/newsletter/2021_07_12.md +++ b/docs/newsletter/2021_07_12.md @@ -38,4 +38,3 @@ * New: [Investigate if Syncthing can be used over Tor.](syncthing.md#syncthing-over-tor) - I haven't found a reliable and safe way to do it, but I've set a path to follow if you're interested.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_07_15.md b/docs/newsletter/2021_07_15.md index e91f5952f1e..4930e81ffb2 100644 --- a/docs/newsletter/2021_07_15.md +++ b/docs/newsletter/2021_07_15.md @@ -19,4 +19,3 @@ [OsmAnd](https://osmand.net) is a mobile application for global map viewing and navigating based on [OpenStreetMaps](https://osm.org). Perfect if you're looking for a privacy focused, community maintained open source alternative to google - maps.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_07_20.md b/docs/newsletter/2021_07_20.md index 4bcf26eadca..dc6cfcb6713 100644 --- a/docs/newsletter/2021_07_20.md +++ b/docs/newsletter/2021_07_20.md @@ -4,4 +4,3 @@ ### [Jellyfin](jellyfin.md) -* New: [Explain how to fix the green bars in the reproduction.](jellyfin.md#green-bars-in-the-reproduction)[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_07_30.md b/docs/newsletter/2021_07_30.md index 2f2fd35727e..028333c6c35 100644 --- a/docs/newsletter/2021_07_30.md +++ b/docs/newsletter/2021_07_30.md @@ -20,4 +20,3 @@ ### [Oracle Database](oracle_database.md) -* New: Explain how to build an oracle database docker while feeling dirty inside.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_08.md b/docs/newsletter/2021_08.md index 4eb2bc01b73..313d9d11d54 100644 --- a/docs/newsletter/2021_08.md +++ b/docs/newsletter/2021_08.md @@ -341,4 +341,3 @@ * Correction: Update the XMPP address. - Riseup has stopped giving support for XMPP :([![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_08_04.md b/docs/newsletter/2021_08_04.md index 6ccb3d79f3b..c553b7d3208 100644 --- a/docs/newsletter/2021_08_04.md +++ b/docs/newsletter/2021_08_04.md @@ -48,4 +48,3 @@ * [Authorization vs authorisation](https://english.stackexchange.com/questions/282621/authorization-vs-authorisation-im-in-some-real-dilemma). * [Customized vs customised](https://grammarist.com/spelling/customise-customize/). - Both forms are correct, so choose the one that suits your liking.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_08_06.md b/docs/newsletter/2021_08_06.md index 52a9c36b5dc..5816b6124d0 100644 --- a/docs/newsletter/2021_08_06.md +++ b/docs/newsletter/2021_08_06.md @@ -14,4 +14,3 @@ infrastructure providers such as Amazon Web Services, IBM Cloud , Google Cloud Platform, DigitalOcean, Linode, Microsoft Azure, Oracle Cloud Infrastructure, OVH, or VMware vSphere as well as - OpenNebula and OpenStack.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_08_12.md b/docs/newsletter/2021_08_12.md index c12bdf71bfa..b92a41d3858 100644 --- a/docs/newsletter/2021_08_12.md +++ b/docs/newsletter/2021_08_12.md @@ -86,4 +86,3 @@ resource "aws_db_instance" "instance" { count = var.database == null ? 0 : 1 ... - ```[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_08_13.md b/docs/newsletter/2021_08_13.md index e375b0a073e..139c6459240 100644 --- a/docs/newsletter/2021_08_13.md +++ b/docs/newsletter/2021_08_13.md @@ -71,4 +71,3 @@ console = Console() text = Text.assemble(("Hello", "bold magenta"), " World!") console.print(text) - ```[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_08_20.md b/docs/newsletter/2021_08_20.md index cd90936a951..c64a94193c2 100644 --- a/docs/newsletter/2021_08_20.md +++ b/docs/newsletter/2021_08_20.md @@ -80,4 +80,3 @@ [alot](https://github.com/pazz/alot) is a terminal-based mail user agent based on the [notmuch mail indexer](notmuch.md). It is written in python using the urwid toolkit and features a modular and command prompt driven interface to - provide a full MUA experience.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_08_23.md b/docs/newsletter/2021_08_23.md index 624e3c53314..3212da90213 100644 --- a/docs/newsletter/2021_08_23.md +++ b/docs/newsletter/2021_08_23.md @@ -11,4 +11,3 @@ * Correction: Update the XMPP address. - Riseup has stopped giving support for XMPP :([![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_08_25.md b/docs/newsletter/2021_08_25.md index 66a5e7f3615..a58df58ab53 100644 --- a/docs/newsletter/2021_08_25.md +++ b/docs/newsletter/2021_08_25.md @@ -9,4 +9,3 @@ socialist, anarchist, and communist currents to a sudden need to react to the fascist menace ([Mark p. 11](#references)). It's based on the idea that [any oppression form](#how-to-identify-fascism) can't be allowed, and should be - actively fought with whatever means are necessary.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_08_26.md b/docs/newsletter/2021_08_26.md index ba317958988..912d2409fc0 100644 --- a/docs/newsletter/2021_08_26.md +++ b/docs/newsletter/2021_08_26.md @@ -18,4 +18,3 @@ trans women are women, the exclusion of trans women from women's spaces, and opposition to transgender rights legislation. The meaning has since expanded to refer more broadly to people with trans-exclusionary views who may have no - involvement with radical feminism.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_09.md b/docs/newsletter/2021_09.md index c7f61d69447..ae375a71361 100644 --- a/docs/newsletter/2021_09.md +++ b/docs/newsletter/2021_09.md @@ -77,4 +77,3 @@ [need to regenerate all the user profiles](https://github.com/hrfee/jfa-go/issues/101), so that the problem is not introduced again. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_09_25.md b/docs/newsletter/2021_09_25.md index f828b26cecd..a25da173b1a 100644 --- a/docs/newsletter/2021_09_25.md +++ b/docs/newsletter/2021_09_25.md @@ -29,4 +29,3 @@ [need to regenerate all the user profiles](https://github.com/hrfee/jfa-go/issues/101), so that the problem is not introduced again. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_09_28.md b/docs/newsletter/2021_09_28.md index aa5008e03f8..cf37f7e88a5 100644 --- a/docs/newsletter/2021_09_28.md +++ b/docs/newsletter/2021_09_28.md @@ -53,4 +53,3 @@ Websites that require clients to authorize with an TLS certificate are difficult to interact with through command line tools that don't support this feature. - To solve it, we can use a transparent proxy that does the exchange for us.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_10.md b/docs/newsletter/2021_10.md index d7e3ae85208..94f227723fa 100644 --- a/docs/newsletter/2021_10.md +++ b/docs/newsletter/2021_10.md @@ -399,4 +399,3 @@ allotted space, or ended up falling short). Practicing against set criteria, with a way to judge success/failure is an important element of learning. There's nothing wrong with failure - it's an opportunity to learn. Having a clearly - defined task allows us to analyze those failures and make the most of them.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_10_01.md b/docs/newsletter/2021_10_01.md index 985aac8f8e4..bb7f9de6785 100644 --- a/docs/newsletter/2021_10_01.md +++ b/docs/newsletter/2021_10_01.md @@ -22,4 +22,3 @@ citizen can freely do, we have only industrialized the process". They've done a [crowdfunding](https://afd-muell.de/) to fund the legal process - that may result.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_10_05.md b/docs/newsletter/2021_10_05.md index 98946e38283..6f0a8312534 100644 --- a/docs/newsletter/2021_10_05.md +++ b/docs/newsletter/2021_10_05.md @@ -59,4 +59,3 @@ * Correction: Use `-c` instead of `-r` in the nested requirement files. - To avoid duplication of version pins.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_10_08.md b/docs/newsletter/2021_10_08.md index dab5a4814b0..e6d7292aed3 100644 --- a/docs/newsletter/2021_10_08.md +++ b/docs/newsletter/2021_10_08.md @@ -45,4 +45,3 @@ [kitty](https://sw.kovidgoyal.net/) is a fast, feature-rich, GPU based terminal emulator written in C and Python with nice features for the keyboard driven - humans like me.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_10_15.md b/docs/newsletter/2021_10_15.md index be78bdc9044..f5809f527f5 100644 --- a/docs/newsletter/2021_10_15.md +++ b/docs/newsletter/2021_10_15.md @@ -126,4 +126,3 @@ ```bash kitty +kitten ssh myserver - ```[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_10_25.md b/docs/newsletter/2021_10_25.md index 39ac710c9b5..a7b79c18ecf 100644 --- a/docs/newsletter/2021_10_25.md +++ b/docs/newsletter/2021_10_25.md @@ -81,4 +81,3 @@ allotted space, or ended up falling short). Practicing against set criteria, with a way to judge success/failure is an important element of learning. There's nothing wrong with failure - it's an opportunity to learn. Having a clearly - defined task allows us to analyze those failures and make the most of them.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_10_28.md b/docs/newsletter/2021_10_28.md index 2b75bab6b09..90106d14a1e 100644 --- a/docs/newsletter/2021_10_28.md +++ b/docs/newsletter/2021_10_28.md @@ -93,4 +93,3 @@ ### [Peek](peek.md) -* Correction: Add note that it works with kitty.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_11.md b/docs/newsletter/2021_11.md index ea7eb705587..51b763a1f85 100644 --- a/docs/newsletter/2021_11.md +++ b/docs/newsletter/2021_11.md @@ -278,4 +278,3 @@ If you don't like reading the rules directly from their pdf (although it's quite short), they explain them in [this video](https://www.badgersfrommars.com/regicide). I've loved the game so much, that I've created some variations of the - rules to make each game more different and changeling.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_11_05.md b/docs/newsletter/2021_11_05.md index d6e63d7c141..d4aad94a481 100644 --- a/docs/newsletter/2021_11_05.md +++ b/docs/newsletter/2021_11_05.md @@ -61,4 +61,3 @@ ### [Jellyfin](jellyfin.md) -* New: [Track subtitles get delayed from the video on some devices issue.](jellyfin.md#issues)[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_11_15.md b/docs/newsletter/2021_11_15.md index 13ce90edb79..32945dddfe7 100644 --- a/docs/newsletter/2021_11_15.md +++ b/docs/newsletter/2021_11_15.md @@ -9,4 +9,3 @@ [`gh`](https://github.com/cli/cli) is GitHub’s official command line tool. It can be used to speed up common operations done with github, such as - opening PRs, merging them or checking the checks of the PRs[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_11_17.md b/docs/newsletter/2021_11_17.md index aa6fb437a4f..be05a5b2142 100644 --- a/docs/newsletter/2021_11_17.md +++ b/docs/newsletter/2021_11_17.md @@ -45,4 +45,3 @@ As of 2021-11-17, the program is not production ready yet for me, I've tested it in one of my projects and found some bugs that needed to be fixed before it's usable. Despite the number of stars, it looks like the development pace has - dropped dramatically, so it needs our help to get better :).[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_11_18.md b/docs/newsletter/2021_11_18.md index ec13c721a45..6f1827340c7 100644 --- a/docs/newsletter/2021_11_18.md +++ b/docs/newsletter/2021_11_18.md @@ -80,4 +80,3 @@ ### [Vim](vim.md) -* Correction: Correct vim snippet to remember the folds when saving a file.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_11_19.md b/docs/newsletter/2021_11_19.md index 22e89e6f9b1..fb4af1e402b 100644 --- a/docs/newsletter/2021_11_19.md +++ b/docs/newsletter/2021_11_19.md @@ -47,4 +47,3 @@ * New: Introduce the Tenacity python library. - [Tenacity](https://github.com/jd/tenacity) is an Apache 2.0 licensed general-purpose retrying library, written in Python, to simplify the task of adding retry behavior to just about anything.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_11_27.md b/docs/newsletter/2021_11_27.md index 0f88471adcc..4fe91c46938 100644 --- a/docs/newsletter/2021_11_27.md +++ b/docs/newsletter/2021_11_27.md @@ -51,4 +51,3 @@ If you don't like reading the rules directly from their pdf (although it's quite short), they explain them in [this video](https://www.badgersfrommars.com/regicide). I've loved the game so much, that I've created some variations of the - rules to make each game more different and changeling.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_12.md b/docs/newsletter/2021_12.md index 74aee4d2586..b7a2048cd37 100644 --- a/docs/newsletter/2021_12.md +++ b/docs/newsletter/2021_12.md @@ -414,4 +414,3 @@ ### [cruft](cruft.md) -* New: [Monitor the issue to save the cruft config in `pyproject.toml`.](cruft.md#issues)[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_12_03.md b/docs/newsletter/2021_12_03.md index a4338479f93..b800960e975 100644 --- a/docs/newsletter/2021_12_03.md +++ b/docs/newsletter/2021_12_03.md @@ -91,4 +91,3 @@ [Poetry](https://github.com/python-poetry/poetry) is a command line program that helps you declare, manage and install dependencies of Python projects, ensuring - you have the right stack everywhere.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_12_07.md b/docs/newsletter/2021_12_07.md index df2ae030a48..dacc248d5e3 100644 --- a/docs/newsletter/2021_12_07.md +++ b/docs/newsletter/2021_12_07.md @@ -20,4 +20,3 @@ meaningful conversations about music. Like Wikipedia, MusicBrainz is maintained by a global community of users and we - want everyone — including you — to [participate and contribute](https://musicbrainz.org/doc/How_to_Contribute).[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_12_08.md b/docs/newsletter/2021_12_08.md index 1e0db91bc8b..7c36e80d74f 100644 --- a/docs/newsletter/2021_12_08.md +++ b/docs/newsletter/2021_12_08.md @@ -64,4 +64,3 @@ ### [Dependency managers](pip_tools.md) -* Correction: Deprecate in favour of Poetry.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_12_09.md b/docs/newsletter/2021_12_09.md index 06be027ce5c..cbe89bfbbfa 100644 --- a/docs/newsletter/2021_12_09.md +++ b/docs/newsletter/2021_12_09.md @@ -47,4 +47,3 @@ ### [cruft](cruft.md) -* New: [Monitor the issue to save the cruft config in `pyproject.toml`.](cruft.md#issues)[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_12_17.md b/docs/newsletter/2021_12_17.md index 2ac6bb16ebe..562cc2cec15 100644 --- a/docs/newsletter/2021_12_17.md +++ b/docs/newsletter/2021_12_17.md @@ -118,4 +118,3 @@ * Correction: Warn against upper version pinning. - The main problem is that `poetry add` does [upper pinning of dependencies](versioning.md#upper-version-pinning) by default, which is a **really bad idea**.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_12_29.md b/docs/newsletter/2021_12_29.md index 39c34ae33be..347e0b8e991 100644 --- a/docs/newsletter/2021_12_29.md +++ b/docs/newsletter/2021_12_29.md @@ -89,4 +89,3 @@ ```sqlite PRAGMA table_info(table_name); - ```[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_w01.md b/docs/newsletter/2021_w01.md index 7ac2887b9aa..be539ec31bc 100644 --- a/docs/newsletter/2021_w01.md +++ b/docs/newsletter/2021_w01.md @@ -14,4 +14,3 @@ * New: Explain how to initialize attributes. - Use validators to initialize attributes[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_w03.md b/docs/newsletter/2021_w03.md index f78f18cbfbe..de0ee00fadb 100644 --- a/docs/newsletter/2021_w03.md +++ b/docs/newsletter/2021_w03.md @@ -30,4 +30,3 @@ * New: Add remote work tips. * New: Introduce lazy loading implementation paradigm with python. -* New: Explain how to lazy load pydantic objects.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_w04.md b/docs/newsletter/2021_w04.md index be18cbd264c..a2ef8a409e1 100644 --- a/docs/newsletter/2021_w04.md +++ b/docs/newsletter/2021_w04.md @@ -93,4 +93,3 @@ * New: Introduce the mobile double entry accounting application. * Correction: Correct the description of the transaction to be beancount compatible. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_w05.md b/docs/newsletter/2021_w05.md index f42e9da327e..5e989bba26a 100644 --- a/docs/newsletter/2021_w05.md +++ b/docs/newsletter/2021_w05.md @@ -47,4 +47,3 @@ ### [Vim](vim.md) * New: Configure Vim to set the upstream by default when git pushing. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_w06.md b/docs/newsletter/2021_w06.md index 0bbf66e1408..83da480e4a2 100644 --- a/docs/newsletter/2021_w06.md +++ b/docs/newsletter/2021_w06.md @@ -149,4 +149,3 @@ Also added: * It's principles - * The [swing from table](pilates.md#swing-from-table) exercise.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_w08.md b/docs/newsletter/2021_w08.md index 3d8feb83084..44bf2858c03 100644 --- a/docs/newsletter/2021_w08.md +++ b/docs/newsletter/2021_w08.md @@ -116,4 +116,3 @@ * Correction: Deprecate mkdocs issues. They've been fixed in the last release -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_w09.md b/docs/newsletter/2021_w09.md index 7812824fb9c..70cfbdc88a2 100644 --- a/docs/newsletter/2021_w09.md +++ b/docs/newsletter/2021_w09.md @@ -248,4 +248,3 @@ ## [Origami](origami.md) * New: Add mark1626 digital garden article on origamis. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_w10.md b/docs/newsletter/2021_w10.md index f4d9c2edd2a..a00cd65c1d6 100644 --- a/docs/newsletter/2021_w10.md +++ b/docs/newsletter/2021_w10.md @@ -85,4 +85,3 @@ ### [Signal](signal.md) * New: Introduce the messaging app and how to decrypt the backups. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_w11.md b/docs/newsletter/2021_w11.md index d41e0edfd37..376b592bdcd 100644 --- a/docs/newsletter/2021_w11.md +++ b/docs/newsletter/2021_w11.md @@ -132,4 +132,3 @@ [Outrun](https://github.com/Overv/outrun) lets you execute a local command using - the processing power of another Linux machine.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_w12.md b/docs/newsletter/2021_w12.md index a0bd7a352b8..ac3b780d8f2 100644 --- a/docs/newsletter/2021_w12.md +++ b/docs/newsletter/2021_w12.md @@ -16,4 +16,3 @@ ### [Grammar and Orthography](orthography.md) -* New: [Explain how to use the singular `they`.](orthography.md#how-to-use-the-singular-they)[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_w13.md b/docs/newsletter/2021_w13.md index b7cdf0d4627..f3158f9b8b8 100644 --- a/docs/newsletter/2021_w13.md +++ b/docs/newsletter/2021_w13.md @@ -78,4 +78,3 @@ * New: [Explain additions of version 7.1.0 of the material theme.](mkdocs.md#material-theme-customizations) * [Dark-light mode switch](mkdocs.md#color-palette-toggle). - * [Back to top button](mkdocs.md#back-to-top-button).[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_w14.md b/docs/newsletter/2021_w14.md index 14041372e70..4b29d19ebeb 100644 --- a/docs/newsletter/2021_w14.md +++ b/docs/newsletter/2021_w14.md @@ -117,4 +117,3 @@ * Correction: Broken links. - Removed the link to (everything_i_know.md) since it no longer exists. Updated some links that where broken due to a folder structure change.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_w15.md b/docs/newsletter/2021_w15.md index c98c26e0800..fe61d18476e 100644 --- a/docs/newsletter/2021_w15.md +++ b/docs/newsletter/2021_w15.md @@ -131,4 +131,3 @@ * New: Explain when to write won't or wont. * Won't is the correct way to contract will not. - * Wont is a synonym of "a habit". For example, "He went for a morning jog, as was his wont".[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_w16.md b/docs/newsletter/2021_w16.md index 9045de1ff83..575d7168c93 100644 --- a/docs/newsletter/2021_w16.md +++ b/docs/newsletter/2021_w16.md @@ -183,4 +183,3 @@ Setup an [healthchecks](https://healthchecks.io/) instance with the [linuxserver image](https://docs.linuxserver.io/images/docker-healthchecks) to monitor cronjobs. For the notifications either use the [prometheus metrics](https://healthchecks.io/docs/configuring_prometheus/) or an [apprise](https://github.com/healthchecks/healthchecks/issues/271) compatible system. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_w17.md b/docs/newsletter/2021_w17.md index 547e8265478..72df3ecc292 100644 --- a/docs/newsletter/2021_w17.md +++ b/docs/newsletter/2021_w17.md @@ -45,4 +45,3 @@ People working with software need different kinds of documentation at different times, in different circumstances, so good software documentation needs them all. In this first iteration, I define the five kinds of documentation, - and give the ideas to write good introduction and get started sections.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_w19.md b/docs/newsletter/2021_w19.md index b0a5efd31fd..020456f1c06 100644 --- a/docs/newsletter/2021_w19.md +++ b/docs/newsletter/2021_w19.md @@ -45,4 +45,3 @@ * New: [Explain how to check if an rsync command has gone well.](linux_snippets.md#check-if-an-rsync-command-has-gone-well) - Run `diff -r --brief source/ dest/`, and check that there is no output.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_w20.md b/docs/newsletter/2021_w20.md index 0c949dd08ef..d7c41fc3ca6 100644 --- a/docs/newsletter/2021_w20.md +++ b/docs/newsletter/2021_w20.md @@ -39,4 +39,3 @@ docker exec -it jellyfin /bin/bash wget https://repo.jellyfin.org/releases/server/ubuntu/versions/jellyfin-ffmpeg/4.3.2-1/jellyfin-ffmpeg_4.3.2-1-focal_amd64.deb dpkg -i jellyfin-ffmpeg_4.3.2-1-focal_amd64.deb - ```[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_w21.md b/docs/newsletter/2021_w21.md index f4d8be6619d..8b7296d6456 100644 --- a/docs/newsletter/2021_w21.md +++ b/docs/newsletter/2021_w21.md @@ -193,4 +193,3 @@ * Reorganization: Move the tasks tools from the task management article to their own. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_w22.md b/docs/newsletter/2021_w22.md index cd4920a02f0..55e33cebb80 100644 --- a/docs/newsletter/2021_w22.md +++ b/docs/newsletter/2021_w22.md @@ -62,4 +62,3 @@ Collocation refers to a natural combination of words that are closely affiliated with each other. They make it easier to avoid overused or ambiguous words like "very", "nice", or "beautiful", by using a pair of words that fit the context - better and that have a more precise meaning.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_w23.md b/docs/newsletter/2021_w23.md index 8838bbfe733..6fbcd59e4da 100644 --- a/docs/newsletter/2021_w23.md +++ b/docs/newsletter/2021_w23.md @@ -37,4 +37,3 @@ * New: [Explain how to boil chickpeas when you've forgotten to soak them.](cooking_basics.md#boil-chickpeas-when-you've-forgotten-to-soak-them) Add a level teaspoon of baking soda to the pot and - cook them as usual[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_w24.md b/docs/newsletter/2021_w24.md index 227675c9773..f49d6628623 100644 --- a/docs/newsletter/2021_w24.md +++ b/docs/newsletter/2021_w24.md @@ -40,4 +40,3 @@ [Dunst](https://dunst-project.org/) is a lightweight replacement for the notification daemons provided by most desktop environments. It’s very customizable, isn’t dependent on any toolkits, and therefore fits into those - window manager centric setups we all love to customize to perfection.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_w25.md b/docs/newsletter/2021_w25.md index 3acb75f30f8..667f9b63437 100644 --- a/docs/newsletter/2021_w25.md +++ b/docs/newsletter/2021_w25.md @@ -99,4 +99,3 @@ * New: [Explain how to identify what a string or file contains.](linux_snippets.md#identify-what-a-string-or-file-contains) - Using [pywhat](https://github.com/bee-san/pyWhat)[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_w26.md b/docs/newsletter/2021_w26.md index e945f991263..58a198e036f 100644 --- a/docs/newsletter/2021_w26.md +++ b/docs/newsletter/2021_w26.md @@ -41,4 +41,3 @@ }' ``` -* New: [Explain how to fix Circuit breakers triggers.](elasticsearch.md#fix-circuit-breakers-triggers)[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_w28.md b/docs/newsletter/2021_w28.md index 1160042cffc..f5be907246c 100644 --- a/docs/newsletter/2021_w28.md +++ b/docs/newsletter/2021_w28.md @@ -55,4 +55,3 @@ [OsmAnd](https://osmand.net) is a mobile application for global map viewing and navigating based on [OpenStreetMaps](https://osm.org). Perfect if you're looking for a privacy focused, community maintained open source alternative to google - maps.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_w29.md b/docs/newsletter/2021_w29.md index 4bcf26eadca..dc6cfcb6713 100644 --- a/docs/newsletter/2021_w29.md +++ b/docs/newsletter/2021_w29.md @@ -4,4 +4,3 @@ ### [Jellyfin](jellyfin.md) -* New: [Explain how to fix the green bars in the reproduction.](jellyfin.md#green-bars-in-the-reproduction)[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_w30.md b/docs/newsletter/2021_w30.md index 2f2fd35727e..028333c6c35 100644 --- a/docs/newsletter/2021_w30.md +++ b/docs/newsletter/2021_w30.md @@ -20,4 +20,3 @@ ### [Oracle Database](oracle_database.md) -* New: Explain how to build an oracle database docker while feeling dirty inside.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_w31.md b/docs/newsletter/2021_w31.md index 4446acc1e73..2e0307ef34a 100644 --- a/docs/newsletter/2021_w31.md +++ b/docs/newsletter/2021_w31.md @@ -65,4 +65,3 @@ * [Authorization vs authorisation](https://english.stackexchange.com/questions/282621/authorization-vs-authorisation-im-in-some-real-dilemma). * [Customized vs customised](https://grammarist.com/spelling/customise-customize/). - Both forms are correct, so choose the one that suits your liking.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_w32.md b/docs/newsletter/2021_w32.md index 9d152f3458a..89e95b62bd7 100644 --- a/docs/newsletter/2021_w32.md +++ b/docs/newsletter/2021_w32.md @@ -157,4 +157,3 @@ resource "aws_db_instance" "instance" { count = var.database == null ? 0 : 1 ... - ```[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_w33.md b/docs/newsletter/2021_w33.md index 0de0c2edab6..9f4622d7d95 100644 --- a/docs/newsletter/2021_w33.md +++ b/docs/newsletter/2021_w33.md @@ -80,4 +80,3 @@ [alot](https://github.com/pazz/alot) is a terminal-based mail user agent based on the [notmuch mail indexer](notmuch.md). It is written in python using the urwid toolkit and features a modular and command prompt driven interface to - provide a full MUA experience.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_w34.md b/docs/newsletter/2021_w34.md index 4c262023dd0..ee0df0403ec 100644 --- a/docs/newsletter/2021_w34.md +++ b/docs/newsletter/2021_w34.md @@ -45,4 +45,3 @@ * Correction: Update the XMPP address. - Riseup has stopped giving support for XMPP :([![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_w38.md b/docs/newsletter/2021_w38.md index f828b26cecd..a25da173b1a 100644 --- a/docs/newsletter/2021_w38.md +++ b/docs/newsletter/2021_w38.md @@ -29,4 +29,3 @@ [need to regenerate all the user profiles](https://github.com/hrfee/jfa-go/issues/101), so that the problem is not introduced again. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_w39.md b/docs/newsletter/2021_w39.md index 6f04a5b3a8a..fc77dd1ea42 100644 --- a/docs/newsletter/2021_w39.md +++ b/docs/newsletter/2021_w39.md @@ -80,4 +80,3 @@ Websites that require clients to authorize with an TLS certificate are difficult to interact with through command line tools that don't support this feature. - To solve it, we can use a transparent proxy that does the exchange for us.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_w40.md b/docs/newsletter/2021_w40.md index 8e2b0d5da15..6c8549fb243 100644 --- a/docs/newsletter/2021_w40.md +++ b/docs/newsletter/2021_w40.md @@ -104,4 +104,3 @@ [kitty](https://sw.kovidgoyal.net/) is a fast, feature-rich, GPU based terminal emulator written in C and Python with nice features for the keyboard driven - humans like me.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_w41.md b/docs/newsletter/2021_w41.md index be78bdc9044..f5809f527f5 100644 --- a/docs/newsletter/2021_w41.md +++ b/docs/newsletter/2021_w41.md @@ -126,4 +126,3 @@ ```bash kitty +kitten ssh myserver - ```[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_w43.md b/docs/newsletter/2021_w43.md index 0208fe3dcc7..0d378df109f 100644 --- a/docs/newsletter/2021_w43.md +++ b/docs/newsletter/2021_w43.md @@ -174,4 +174,3 @@ allotted space, or ended up falling short). Practicing against set criteria, with a way to judge success/failure is an important element of learning. There's nothing wrong with failure - it's an opportunity to learn. Having a clearly - defined task allows us to analyze those failures and make the most of them.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_w44.md b/docs/newsletter/2021_w44.md index d6e63d7c141..d4aad94a481 100644 --- a/docs/newsletter/2021_w44.md +++ b/docs/newsletter/2021_w44.md @@ -61,4 +61,3 @@ ### [Jellyfin](jellyfin.md) -* New: [Track subtitles get delayed from the video on some devices issue.](jellyfin.md#issues)[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_w46.md b/docs/newsletter/2021_w46.md index bf25d10a572..89029c9cb09 100644 --- a/docs/newsletter/2021_w46.md +++ b/docs/newsletter/2021_w46.md @@ -178,4 +178,3 @@ ### [Vim](vim.md) -* Correction: Correct vim snippet to remember the folds when saving a file.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_w47.md b/docs/newsletter/2021_w47.md index 0f88471adcc..4fe91c46938 100644 --- a/docs/newsletter/2021_w47.md +++ b/docs/newsletter/2021_w47.md @@ -51,4 +51,3 @@ If you don't like reading the rules directly from their pdf (although it's quite short), they explain them in [this video](https://www.badgersfrommars.com/regicide). I've loved the game so much, that I've created some variations of the - rules to make each game more different and changeling.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_w48.md b/docs/newsletter/2021_w48.md index 66ecf08d3c3..4bf28ad9783 100644 --- a/docs/newsletter/2021_w48.md +++ b/docs/newsletter/2021_w48.md @@ -92,4 +92,3 @@ [Poetry](https://github.com/python-poetry/poetry) is a command line program that helps you declare, manage and install dependencies of Python projects, ensuring you have the right stack everywhere. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_w49.md b/docs/newsletter/2021_w49.md index 186d9922670..f75839bb5d0 100644 --- a/docs/newsletter/2021_w49.md +++ b/docs/newsletter/2021_w49.md @@ -130,4 +130,3 @@ ### [cruft](cruft.md) -* New: [Monitor the issue to save the cruft config in `pyproject.toml`.](cruft.md#issues)[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_w50.md b/docs/newsletter/2021_w50.md index d046bd5909e..cf07e919155 100644 --- a/docs/newsletter/2021_w50.md +++ b/docs/newsletter/2021_w50.md @@ -118,4 +118,3 @@ * New: How to write good test docstrings. - Both [without a template](docstrings.md#without-template) and using the [Given When Then style](docstrings.md#given-when-then).[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2021_w52.md b/docs/newsletter/2021_w52.md index 39c34ae33be..347e0b8e991 100644 --- a/docs/newsletter/2021_w52.md +++ b/docs/newsletter/2021_w52.md @@ -89,4 +89,3 @@ ```sqlite PRAGMA table_info(table_name); - ```[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2022.md b/docs/newsletter/2022.md index d0248adae53..753e099946a 100644 --- a/docs/newsletter/2022.md +++ b/docs/newsletter/2022.md @@ -5279,4 +5279,3 @@ | Size | 30-45m | 10-15m (in Europe) | | Same colour both sides | no (darker and glossy up) | yes | | Where they grow | everywhere | very close to each other | -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2022_01.md b/docs/newsletter/2022_01.md index 654beecc7e5..77186a1e57b 100644 --- a/docs/newsletter/2022_01.md +++ b/docs/newsletter/2022_01.md @@ -124,4 +124,3 @@ * New: [Add NonCompete recommendations.](meditation.md#references) * [His meditation for anti-capitalists video](https://invidious.osi.kr/watch?v=xSHXHHblin0) - * The [The Mind Illuminated: A Complete Meditation Guide Integrating Buddhist Wisdom and Brain Science by Culadasa (John Yates)](https://www.goodreads.com/en/book/show/25942786-the-mind-illuminated) book.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2022_01_19.md b/docs/newsletter/2022_01_19.md index ab033dbe45e..9c908bb9701 100644 --- a/docs/newsletter/2022_01_19.md +++ b/docs/newsletter/2022_01_19.md @@ -76,4 +76,3 @@ * New: [Add NonCompete recommendations.](meditation.md#references) * [His meditation for anti-capitalists video](https://invidious.osi.kr/watch?v=xSHXHHblin0) - * The [The Mind Illuminated: A Complete Meditation Guide Integrating Buddhist Wisdom and Brain Science by Culadasa (John Yates)](https://www.goodreads.com/en/book/show/25942786-the-mind-illuminated) book.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2022_01_31.md b/docs/newsletter/2022_01_31.md index fa1b774ae3d..6db2d3ca97a 100644 --- a/docs/newsletter/2022_01_31.md +++ b/docs/newsletter/2022_01_31.md @@ -56,4 +56,3 @@ While the terminal output is the default output, it has the capability to generate a complete, self-contained real-time HTML report (great for analytics, - monitoring and data visualization), as well as a JSON, and CSV report.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2022_02.md b/docs/newsletter/2022_02.md index 62c038dd0ed..06b5e7199a1 100644 --- a/docs/newsletter/2022_02.md +++ b/docs/newsletter/2022_02.md @@ -229,4 +229,3 @@ * J: +1 or -1 * Q: +2 or -2 - * K: +3 or -3[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2022_02_03.md b/docs/newsletter/2022_02_03.md index 7f87a49eed6..e2e2eef88c8 100644 --- a/docs/newsletter/2022_02_03.md +++ b/docs/newsletter/2022_02_03.md @@ -44,4 +44,3 @@ ```vim :call delete(expand('%')) | bdelete! - ```[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2022_02_09.md b/docs/newsletter/2022_02_09.md index 2a9d2b74a51..98fe93ca46b 100644 --- a/docs/newsletter/2022_02_09.md +++ b/docs/newsletter/2022_02_09.md @@ -55,4 +55,3 @@ * J: +1 or -1 * Q: +2 or -2 - * K: +3 or -3[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2022_02_17.md b/docs/newsletter/2022_02_17.md index 67c83da440d..8cacdd26d62 100644 --- a/docs/newsletter/2022_02_17.md +++ b/docs/newsletter/2022_02_17.md @@ -140,4 +140,3 @@ * New: Deprecate flakeheaven in favour of flakeheaven. It's a fork maintained by the community, instead of an absent code - dictator.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2022_03.md b/docs/newsletter/2022_03.md index 59782479d74..4ef1f6517b6 100644 --- a/docs/newsletter/2022_03.md +++ b/docs/newsletter/2022_03.md @@ -641,4 +641,3 @@ sheets that are folded together into sections called signatures or sometimes left as a stack of individual sheets. Several signatures are then bound together along one edge with a thick needle and sturdy thread. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2022_03_04.md b/docs/newsletter/2022_03_04.md index 4a9124b3f4a..77300b081fa 100644 --- a/docs/newsletter/2022_03_04.md +++ b/docs/newsletter/2022_03_04.md @@ -148,4 +148,3 @@ * New: Introduce Aerial Silk, some warmups and some figures. - [Aerial Silk](https://en.wikipedia.org/wiki/Aerial_silk) is a type of performance in which one or more artists perform aerial acrobatics while hanging from a fabric. The fabric may be hung as two pieces, or a single piece, folded to make a loop, classified as hammock silks. Performers climb the suspended fabric without the use of safety lines and rely only on their training and skill to ensure safety. They use the fabric to wrap, suspend, drop, swing, and spiral their bodies into and out of various positions. Aerial silks may be used to fly through the air, striking poses and figures while flying. Some performers use dried or spray rosin on their hands and feet to increase the friction and grip on the fabric.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2022_03_07.md b/docs/newsletter/2022_03_07.md index 73e47f30dec..dde60dafc78 100644 --- a/docs/newsletter/2022_03_07.md +++ b/docs/newsletter/2022_03_07.md @@ -162,4 +162,3 @@ open the `/etc/systemd/journald.conf` file and set the `SystemMaxUse` to the amount you want (for example `1000M` for a gigabyte). Once edited restart the service with `sudo systemctl restart systemd-journald`. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2022_03_10.md b/docs/newsletter/2022_03_10.md index b3ed54b3869..4afab1ae011 100644 --- a/docs/newsletter/2022_03_10.md +++ b/docs/newsletter/2022_03_10.md @@ -68,4 +68,3 @@ "max-file": "10" } } - ```[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2022_03_14.md b/docs/newsletter/2022_03_14.md index 57e01276e2e..25499246b79 100644 --- a/docs/newsletter/2022_03_14.md +++ b/docs/newsletter/2022_03_14.md @@ -35,4 +35,3 @@ dpkg -l linux-* | awk '/^ii/{ print $2}' | grep -v -e `uname -r | cut -f1,2 -d"-"` | grep -e [0-9] | grep -E "(image|headers)" | xargs sudo apt-get --dry-run remove ``` - Remember that your running kernel can be obtained by `uname -r`.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2022_03_15.md b/docs/newsletter/2022_03_15.md index 6c4796c3e60..d6c14c3794c 100644 --- a/docs/newsletter/2022_03_15.md +++ b/docs/newsletter/2022_03_15.md @@ -7,4 +7,3 @@ * New: [Use regular expressions in silences.](alertmanager.md#silences) To silence an alert with a regular expression use the matcher - `alertname=~".*Condition"`.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2022_03_16.md b/docs/newsletter/2022_03_16.md index 0b486985710..6a8736602fa 100644 --- a/docs/newsletter/2022_03_16.md +++ b/docs/newsletter/2022_03_16.md @@ -27,4 +27,3 @@ ## [CSS](css.md) -* New: Sum up the W3 CSS tutorial.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2022_03_25.md b/docs/newsletter/2022_03_25.md index c5cdcc685a8..984eea66a24 100644 --- a/docs/newsletter/2022_03_25.md +++ b/docs/newsletter/2022_03_25.md @@ -155,4 +155,3 @@ -codec:a libmp3lame -qscale:a 2 \ -codec:s copy \ output.mkv - ```[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2022_03_28.md b/docs/newsletter/2022_03_28.md index be50e115c2b..03ca5f3576f 100644 --- a/docs/newsletter/2022_03_28.md +++ b/docs/newsletter/2022_03_28.md @@ -59,4 +59,3 @@ physically assembling a book of codex format from an ordered stack of paper sheets that are folded together into sections called signatures or sometimes left as a stack of individual sheets. Several signatures are then bound together - along one edge with a thick needle and sturdy thread.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2022_03_30.md b/docs/newsletter/2022_03_30.md index f5fb470e0ed..852bd288efd 100644 --- a/docs/newsletter/2022_03_30.md +++ b/docs/newsletter/2022_03_30.md @@ -22,4 +22,3 @@ If you want the question to exit when it receives a `KeyboardInterrupt` event, use `unsafe_ask` instead of `ask`. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2022_04.md b/docs/newsletter/2022_04.md index 1498a31585e..f16ecf5306d 100644 --- a/docs/newsletter/2022_04.md +++ b/docs/newsletter/2022_04.md @@ -706,4 +706,3 @@ X } } - ```[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2022_04_05.md b/docs/newsletter/2022_04_05.md index 01f3b52439c..0e358e6d13a 100644 --- a/docs/newsletter/2022_04_05.md +++ b/docs/newsletter/2022_04_05.md @@ -29,4 +29,3 @@ ```bash curl -XDELETE {{ url }}/_snapshot/{{ backup_path }} - ```[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2022_04_08.md b/docs/newsletter/2022_04_08.md index bc903c1d1d7..333474c8a14 100644 --- a/docs/newsletter/2022_04_08.md +++ b/docs/newsletter/2022_04_08.md @@ -15,4 +15,3 @@ gem install bundler-audit cd project_with_gem_lock bundler-audit - ```[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2022_04_11.md b/docs/newsletter/2022_04_11.md index 801c807a987..001e66f50ca 100644 --- a/docs/newsletter/2022_04_11.md +++ b/docs/newsletter/2022_04_11.md @@ -11,4 +11,3 @@ # Other -* Reorganization: Reorder the blue book navigation panel.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2022_04_21.md b/docs/newsletter/2022_04_21.md index 6547547c259..c6b801ca5cd 100644 --- a/docs/newsletter/2022_04_21.md +++ b/docs/newsletter/2022_04_21.md @@ -108,4 +108,3 @@ # Other -* New: Sum up all the VueJS documentation.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2022_04_24.md b/docs/newsletter/2022_04_24.md index ca21f6b5d3c..8c3d64023cd 100644 --- a/docs/newsletter/2022_04_24.md +++ b/docs/newsletter/2022_04_24.md @@ -80,4 +80,3 @@ * [Don't resize your browser window](frontend_development.md#dont-resize-your-browser-window) * [Your frontend probably doesn't talk to your backend](frontend_development.md#your-frontend-probably-doesnt-talk-to-your-backend) - * [Write testable code](frontend_development.md#write-testable-code)[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2022_04_25.md b/docs/newsletter/2022_04_25.md index ceb41595543..7888693c812 100644 --- a/docs/newsletter/2022_04_25.md +++ b/docs/newsletter/2022_04_25.md @@ -311,4 +311,3 @@ X } } - ```[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2022_04_27.md b/docs/newsletter/2022_04_27.md index e16319346b0..501029fd3a9 100644 --- a/docs/newsletter/2022_04_27.md +++ b/docs/newsletter/2022_04_27.md @@ -92,4 +92,3 @@ You can call `this.retryGetInbox()` whenever you want to start running the function periodically. Once `this.showError` is `false`, we stop running the - function with `clearInterval(this.inbox_retry)`.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2022_04_29.md b/docs/newsletter/2022_04_29.md index 6cf9fbb5047..d0feab4bd66 100644 --- a/docs/newsletter/2022_04_29.md +++ b/docs/newsletter/2022_04_29.md @@ -66,4 +66,3 @@ * How to park program * Finding the best spots - * Finding the best times[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2022_05.md b/docs/newsletter/2022_05.md index c925a464eb6..7486e14bd1b 100644 --- a/docs/newsletter/2022_05.md +++ b/docs/newsletter/2022_05.md @@ -440,4 +440,3 @@ "regions") contain all of the digits from 1 to 9. The puzzle setter provides a partially completed grid, which for a well-posed puzzle has a single solution. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2022_05_13.md b/docs/newsletter/2022_05_13.md index f75c6b395ea..14fe7934a8d 100644 --- a/docs/newsletter/2022_05_13.md +++ b/docs/newsletter/2022_05_13.md @@ -311,4 +311,3 @@ "regions") contain all of the digits from 1 to 9. The puzzle setter provides a partially completed grid, which for a well-posed puzzle has a single solution. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2022_05_16.md b/docs/newsletter/2022_05_16.md index 032efa410a6..100584a9e0d 100644 --- a/docs/newsletter/2022_05_16.md +++ b/docs/newsletter/2022_05_16.md @@ -45,4 +45,3 @@ ```bash qrencode -o qrcode.png 'Hello World!' - ```[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2022_05_18.md b/docs/newsletter/2022_05_18.md index c99e7c6cde9..1dacd6a7b55 100644 --- a/docs/newsletter/2022_05_18.md +++ b/docs/newsletter/2022_05_18.md @@ -8,4 +8,3 @@ ```python a.update(b) - ```[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2022_05_24.md b/docs/newsletter/2022_05_24.md index 249a93c459b..a11e93e351f 100644 --- a/docs/newsletter/2022_05_24.md +++ b/docs/newsletter/2022_05_24.md @@ -87,4 +87,3 @@ ### [Anki](anki.md) -* New: [Use anki connect with python.](anki.md#usage)[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2022_06.md b/docs/newsletter/2022_06.md index d6a88b9f48d..966b1381d7f 100644 --- a/docs/newsletter/2022_06.md +++ b/docs/newsletter/2022_06.md @@ -377,4 +377,3 @@ ".git" ] } - ```[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2022_06_01.md b/docs/newsletter/2022_06_01.md index 9bdb6a48e9d..f22d126a5ca 100644 --- a/docs/newsletter/2022_06_01.md +++ b/docs/newsletter/2022_06_01.md @@ -102,4 +102,3 @@ +I usually do two things, fight them as strong as I can, or embrace them, analyze them, and go to the root of them. Depending on how much energy I have I go with the easy or the hard one. I'm not saying that it's you're case, but it could - be.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2022_06_08.md b/docs/newsletter/2022_06_08.md index 30ffc63fe1b..8d2d78690a4 100644 --- a/docs/newsletter/2022_06_08.md +++ b/docs/newsletter/2022_06_08.md @@ -69,4 +69,3 @@ ".git" ] } - ```[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2022_06_17.md b/docs/newsletter/2022_06_17.md index 40531527b86..f4b9026da98 100644 --- a/docs/newsletter/2022_06_17.md +++ b/docs/newsletter/2022_06_17.md @@ -207,4 +207,3 @@ for idx, el in enumerate(iterable): ... - ```[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2022_07.md b/docs/newsletter/2022_07.md index c40baa26f95..46ab2833d16 100644 --- a/docs/newsletter/2022_07.md +++ b/docs/newsletter/2022_07.md @@ -178,4 +178,3 @@ * New: [Add book recommender.](recommender_systems.md#interesting-resources) [Bookwyrm](https://bookwyrm.social) looks to be a promising source to build - book recommender systems.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2022_07_04.md b/docs/newsletter/2022_07_04.md index 5e0dedc7e24..1f14108a6e4 100644 --- a/docs/newsletter/2022_07_04.md +++ b/docs/newsletter/2022_07_04.md @@ -116,4 +116,3 @@ ```bash alias gcm='git checkout "$(git symbolic-ref refs/remotes/origin/HEAD | cut -d'/' -f4)"' - ```[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2022_07_08.md b/docs/newsletter/2022_07_08.md index faffc4d67a5..22fc22ee8b6 100644 --- a/docs/newsletter/2022_07_08.md +++ b/docs/newsletter/2022_07_08.md @@ -64,4 +64,3 @@ * New: [Add book recommender.](recommender_systems.md#interesting-resources) [Bookwyrm](https://bookwyrm.social) looks to be a promising source to build - book recommender systems.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2022_08.md b/docs/newsletter/2022_08.md index 0b638c694ac..93e257a83ea 100644 --- a/docs/newsletter/2022_08.md +++ b/docs/newsletter/2022_08.md @@ -460,4 +460,3 @@ * New: Bear with me or Bare with me. "Bear with me" is the correct form. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2022_08_01.md b/docs/newsletter/2022_08_01.md index 9f814e08164..8d9e51dfb2c 100644 --- a/docs/newsletter/2022_08_01.md +++ b/docs/newsletter/2022_08_01.md @@ -82,4 +82,3 @@ ```bash pip install pipx - ```[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2022_08_02.md b/docs/newsletter/2022_08_02.md index 335c397ce54..9ba26365df8 100644 --- a/docs/newsletter/2022_08_02.md +++ b/docs/newsletter/2022_08_02.md @@ -19,4 +19,3 @@ * Gives an overall insight of the update status of a system. * Automates the update process. - * Support both single system installation or aggregator of multiple systems.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2022_08_12.md b/docs/newsletter/2022_08_12.md index 00e0b257aa5..5fd1f34f8c5 100644 --- a/docs/newsletter/2022_08_12.md +++ b/docs/newsletter/2022_08_12.md @@ -206,4 +206,3 @@ "http://127.0.0.1:9090/api/v1/query", params={"query": "container_cpu_user_seconds_total"}, ) - ```[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2022_08_28.md b/docs/newsletter/2022_08_28.md index bae5eda50b1..eac4f8a34dc 100644 --- a/docs/newsletter/2022_08_28.md +++ b/docs/newsletter/2022_08_28.md @@ -101,4 +101,3 @@ # Other * Reorganization: Reorder the programming languages under a Languages section. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2022_08_30.md b/docs/newsletter/2022_08_30.md index eff554190f9..3284b50e545 100644 --- a/docs/newsletter/2022_08_30.md +++ b/docs/newsletter/2022_08_30.md @@ -45,4 +45,3 @@ print("foo") foo - ```[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2022_08_31.md b/docs/newsletter/2022_08_31.md index 65dbe4df9c9..023f02e41e3 100644 --- a/docs/newsletter/2022_08_31.md +++ b/docs/newsletter/2022_08_31.md @@ -2,4 +2,3 @@ * New: Bear with me or Bare with me. - "Bear with me" is the correct form.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2022_09.md b/docs/newsletter/2022_09.md index 7f821125c6a..1fb7e38fd51 100644 --- a/docs/newsletter/2022_09.md +++ b/docs/newsletter/2022_09.md @@ -272,4 +272,3 @@ * Correction: Correct argument to use pipes in terminals. You don't use `check=True` but `shell=True`, thanks [pawamoy](https://github.com/pawamoy) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2022_09_04.md b/docs/newsletter/2022_09_04.md index 325eb413f1c..84b0c638e64 100644 --- a/docs/newsletter/2022_09_04.md +++ b/docs/newsletter/2022_09_04.md @@ -195,4 +195,3 @@ * New: Finish the state of the art analysis. - Review Cooklang, KookBook, RecipeSage, Mealie and Chowdown[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2022_09_05.md b/docs/newsletter/2022_09_05.md index fe1500275bb..e865721eda5 100644 --- a/docs/newsletter/2022_09_05.md +++ b/docs/newsletter/2022_09_05.md @@ -2,4 +2,3 @@ * Correction: Correct argument to use pipes in terminals. - You don't use `check=True` but `shell=True`, thanks [pawamoy](https://github.com/pawamoy)[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2022_09_12.md b/docs/newsletter/2022_09_12.md index 01970fe84b4..82894e4483f 100644 --- a/docs/newsletter/2022_09_12.md +++ b/docs/newsletter/2022_09_12.md @@ -72,4 +72,3 @@ ```bash docker inspect --format='{{json .}}' $(docker ps -aq) | jq -r -c '[.Id, .Name, .Config.Image, .Image]' - ```[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2022_10.md b/docs/newsletter/2022_10.md index 1bec4dae835..0bb1bd0eaf6 100644 --- a/docs/newsletter/2022_10.md +++ b/docs/newsletter/2022_10.md @@ -1003,4 +1003,3 @@ * New: [Builder guides.](kag.md#builder-guides) [Turtlebutt and Bunnie](https://deynarde.github.io/kag-builder-guide) - guide is awesome.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2022_10_07.md b/docs/newsletter/2022_10_07.md index 0ec603228cf..a74a2e90879 100644 --- a/docs/newsletter/2022_10_07.md +++ b/docs/newsletter/2022_10_07.md @@ -357,4 +357,3 @@ servers. It can also be used to synchronize calendars and/or addressbooks between two servers directly. - It aims to be for calendars and contacts what OfflineIMAP is for emails.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2022_10_14.md b/docs/newsletter/2022_10_14.md index 80c8b54bcdc..add912aafc4 100644 --- a/docs/newsletter/2022_10_14.md +++ b/docs/newsletter/2022_10_14.md @@ -435,4 +435,3 @@ [keybindings] external_edit = e export = meta e - ```[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2022_10_16.md b/docs/newsletter/2022_10_16.md index f8cc3ab933a..8c42e218041 100644 --- a/docs/newsletter/2022_10_16.md +++ b/docs/newsletter/2022_10_16.md @@ -71,4 +71,3 @@ If you've already been detected, you might get blocked for a plethora of other reasons even after using these methods. So you may have to try accessing the site - that was detecting you using a VPN, different user-agent, etc.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2022_10_18.md b/docs/newsletter/2022_10_18.md index 08df6bbec17..ea3e147c4f1 100644 --- a/docs/newsletter/2022_10_18.md +++ b/docs/newsletter/2022_10_18.md @@ -37,4 +37,3 @@ ansible-inventory -i environments/production --graph ``` - You can also use the `--list` flag to get more info of the hosts.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2022_10_27.md b/docs/newsletter/2022_10_27.md index cfe8899f512..364e3fb53ae 100644 --- a/docs/newsletter/2022_10_27.md +++ b/docs/newsletter/2022_10_27.md @@ -133,4 +133,3 @@ * New: [Builder guides.](kag.md#builder-guides) [Turtlebutt and Bunnie](https://deynarde.github.io/kag-builder-guide) - guide is awesome.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2022_11.md b/docs/newsletter/2022_11.md index 7de6ed375fb..c999a5a100f 100644 --- a/docs/newsletter/2022_11.md +++ b/docs/newsletter/2022_11.md @@ -706,4 +706,3 @@ * Correction: Update http versions to `HTTP/2.0`. It seems that the correct protocol is HTTP/2.0 now: - https://github.com/prometheus/blackbox_exporter/issues/658[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2022_11_04.md b/docs/newsletter/2022_11_04.md index edb9638608b..bc54f079536 100644 --- a/docs/newsletter/2022_11_04.md +++ b/docs/newsletter/2022_11_04.md @@ -117,4 +117,3 @@ * New: Introduce finnix. [Finnix](https://www.finnix.org/) is a live Linux distribution specialized in - the recovery, maintenance, testing of systems.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2022_11_08.md b/docs/newsletter/2022_11_08.md index 49b58a5df47..8d76c76eab4 100644 --- a/docs/newsletter/2022_11_08.md +++ b/docs/newsletter/2022_11_08.md @@ -36,4 +36,3 @@ * Correction: Add GPU advice on shopping tips. * Check that the CPU has GPU if you don't want to use an external graphic card. - Otherwise the BIOS won't start.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2022_11_11.md b/docs/newsletter/2022_11_11.md index b53047c29f0..e564253d48b 100644 --- a/docs/newsletter/2022_11_11.md +++ b/docs/newsletter/2022_11_11.md @@ -42,4 +42,3 @@ * New: Introduce Redox. [Redox](https://github.com/mattdibi/redox-keyboard) is an awesome Do It Yourself - mechanical keyboard[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2022_11_16.md b/docs/newsletter/2022_11_16.md index a756c5f8894..5f3628ea472 100644 --- a/docs/newsletter/2022_11_16.md +++ b/docs/newsletter/2022_11_16.md @@ -164,4 +164,3 @@ Reboot the computer - Launch it with `via-nativia`.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2022_11_24.md b/docs/newsletter/2022_11_24.md index bce6da45b6a..94388a63893 100644 --- a/docs/newsletter/2022_11_24.md +++ b/docs/newsletter/2022_11_24.md @@ -114,4 +114,3 @@ -H 'Content-Type: application/json' \ -XPOST "https://localhost:9200/_search" \ -d' { "query": { "query_string": {"query": "test company"} }}' - ```[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2022_11_25.md b/docs/newsletter/2022_11_25.md index b3ef67351b4..c20b3e1f37e 100644 --- a/docs/newsletter/2022_11_25.md +++ b/docs/newsletter/2022_11_25.md @@ -114,4 +114,3 @@ global_conf_path = xdg_home / "autoimport" / "config.toml" global_conf_path.parent.mkdir(parents=True) global_conf_path.touch(exist_ok=True) - ```[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2022_11_29.md b/docs/newsletter/2022_11_29.md index 8b25d4146ca..d749d3e0793 100644 --- a/docs/newsletter/2022_11_29.md +++ b/docs/newsletter/2022_11_29.md @@ -149,4 +149,3 @@ [Ko-fi](https://ko-fi.com/) would be my next choice, as they don't do commissions on the donations and they support more features (that I don't need - right now) than Liberapay.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2022_12.md b/docs/newsletter/2022_12.md index 94e484af724..31c5206e785 100644 --- a/docs/newsletter/2022_12.md +++ b/docs/newsletter/2022_12.md @@ -461,4 +461,3 @@ | Leaf form | elliptic | rhomboidal | | Size | 30-45m | 10-15m (in Europe) | | Same colour both sides | no (darker and glossy up) | yes | - | Where they grow | everywhere | very close to each other |[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2022_12_01.md b/docs/newsletter/2022_12_01.md index 7cd9de3bd36..2ed3e10ae35 100644 --- a/docs/newsletter/2022_12_01.md +++ b/docs/newsletter/2022_12_01.md @@ -77,4 +77,3 @@ doc = {"partial_document": "value"} resp = client.update(index=INDEX, id=id_, doc=doc) - ```[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2022_12_14.md b/docs/newsletter/2022_12_14.md index c9819297c19..eedb90d1a20 100644 --- a/docs/newsletter/2022_12_14.md +++ b/docs/newsletter/2022_12_14.md @@ -121,4 +121,3 @@ Therefore the best way to give credit and attribution is by building your garden (the more we are writing the merrier :) ), and then if you want to spread the word that my garden exists within your content then that would be awesome. If you end up building your own, remember to add yourself to the [digital - garden's list](https://github.com/lyz-code/best-of-digital-gardens).[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2022_12_15.md b/docs/newsletter/2022_12_15.md index bca87488ac6..0ee7ef5fbaf 100644 --- a/docs/newsletter/2022_12_15.md +++ b/docs/newsletter/2022_12_15.md @@ -10,4 +10,3 @@ gpg.decrypt_file("path/to/file") ``` - Note: You can't pass `Path` arguments to `decrypt_file`.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2022_12_27.md b/docs/newsletter/2022_12_27.md index 41ce68b67a0..2068214d3f4 100644 --- a/docs/newsletter/2022_12_27.md +++ b/docs/newsletter/2022_12_27.md @@ -77,4 +77,3 @@ to do when to pass to the feudal age in 8 minutes 30 seconds * [How to micromanage](age_of_empires.md#Micromanagements) different processes such as sheep, deer, boar hunting, house building, - lumberjacking[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2022_12_28.md b/docs/newsletter/2022_12_28.md index a7cb302a004..b3467f39c61 100644 --- a/docs/newsletter/2022_12_28.md +++ b/docs/newsletter/2022_12_28.md @@ -70,4 +70,3 @@ - Preview content - Search in the torrent client - The winner has been [qBittorrent](qbittorrent.md)[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2022_12_30.md b/docs/newsletter/2022_12_30.md index 5b5710b69b9..bad0a3bfb9c 100644 --- a/docs/newsletter/2022_12_30.md +++ b/docs/newsletter/2022_12_30.md @@ -108,4 +108,3 @@ | Leaf form | elliptic | rhomboidal | | Size | 30-45m | 10-15m (in Europe) | | Same colour both sides | no (darker and glossy up) | yes | - | Where they grow | everywhere | very close to each other |[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2022_w03.md b/docs/newsletter/2022_w03.md index ab033dbe45e..9c908bb9701 100644 --- a/docs/newsletter/2022_w03.md +++ b/docs/newsletter/2022_w03.md @@ -76,4 +76,3 @@ * New: [Add NonCompete recommendations.](meditation.md#references) * [His meditation for anti-capitalists video](https://invidious.osi.kr/watch?v=xSHXHHblin0) - * The [The Mind Illuminated: A Complete Meditation Guide Integrating Buddhist Wisdom and Brain Science by Culadasa (John Yates)](https://www.goodreads.com/en/book/show/25942786-the-mind-illuminated) book.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2022_w05.md b/docs/newsletter/2022_w05.md index 97c3b8d1b3e..38be1d0d143 100644 --- a/docs/newsletter/2022_w05.md +++ b/docs/newsletter/2022_w05.md @@ -89,4 +89,3 @@ ```vim :call delete(expand('%')) | bdelete! - ```[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2022_w06.md b/docs/newsletter/2022_w06.md index 2a9d2b74a51..98fe93ca46b 100644 --- a/docs/newsletter/2022_w06.md +++ b/docs/newsletter/2022_w06.md @@ -55,4 +55,3 @@ * J: +1 or -1 * Q: +2 or -2 - * K: +3 or -3[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2022_w07.md b/docs/newsletter/2022_w07.md index 67c83da440d..8cacdd26d62 100644 --- a/docs/newsletter/2022_w07.md +++ b/docs/newsletter/2022_w07.md @@ -140,4 +140,3 @@ * New: Deprecate flakeheaven in favour of flakeheaven. It's a fork maintained by the community, instead of an absent code - dictator.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2022_w09.md b/docs/newsletter/2022_w09.md index 4a9124b3f4a..77300b081fa 100644 --- a/docs/newsletter/2022_w09.md +++ b/docs/newsletter/2022_w09.md @@ -148,4 +148,3 @@ * New: Introduce Aerial Silk, some warmups and some figures. - [Aerial Silk](https://en.wikipedia.org/wiki/Aerial_silk) is a type of performance in which one or more artists perform aerial acrobatics while hanging from a fabric. The fabric may be hung as two pieces, or a single piece, folded to make a loop, classified as hammock silks. Performers climb the suspended fabric without the use of safety lines and rely only on their training and skill to ensure safety. They use the fabric to wrap, suspend, drop, swing, and spiral their bodies into and out of various positions. Aerial silks may be used to fly through the air, striking poses and figures while flying. Some performers use dried or spray rosin on their hands and feet to increase the friction and grip on the fabric.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2022_w10.md b/docs/newsletter/2022_w10.md index 1369320030a..51b4337cab0 100644 --- a/docs/newsletter/2022_w10.md +++ b/docs/newsletter/2022_w10.md @@ -224,4 +224,3 @@ } } ``` -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2022_w11.md b/docs/newsletter/2022_w11.md index c3be0dde513..2340892c3f4 100644 --- a/docs/newsletter/2022_w11.md +++ b/docs/newsletter/2022_w11.md @@ -74,4 +74,3 @@ dpkg -l linux-* | awk '/^ii/{ print $2}' | grep -v -e `uname -r | cut -f1,2 -d"-"` | grep -e [0-9] | grep -E "(image|headers)" | xargs sudo apt-get --dry-run remove ``` - Remember that your running kernel can be obtained by `uname -r`.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2022_w12.md b/docs/newsletter/2022_w12.md index c5cdcc685a8..984eea66a24 100644 --- a/docs/newsletter/2022_w12.md +++ b/docs/newsletter/2022_w12.md @@ -155,4 +155,3 @@ -codec:a libmp3lame -qscale:a 2 \ -codec:s copy \ output.mkv - ```[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2022_w13.md b/docs/newsletter/2022_w13.md index 8e6fa73a7a5..a538ecda76f 100644 --- a/docs/newsletter/2022_w13.md +++ b/docs/newsletter/2022_w13.md @@ -83,4 +83,3 @@ sheets that are folded together into sections called signatures or sometimes left as a stack of individual sheets. Several signatures are then bound together along one edge with a thick needle and sturdy thread. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2022_w14.md b/docs/newsletter/2022_w14.md index bd371acae57..7f6ce824591 100644 --- a/docs/newsletter/2022_w14.md +++ b/docs/newsletter/2022_w14.md @@ -43,4 +43,3 @@ ```bash curl -XDELETE {{ url }}/_snapshot/{{ backup_path }} - ```[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2022_w15.md b/docs/newsletter/2022_w15.md index 801c807a987..001e66f50ca 100644 --- a/docs/newsletter/2022_w15.md +++ b/docs/newsletter/2022_w15.md @@ -11,4 +11,3 @@ # Other -* Reorganization: Reorder the blue book navigation panel.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2022_w16.md b/docs/newsletter/2022_w16.md index 96718f6adcd..3689be66efe 100644 --- a/docs/newsletter/2022_w16.md +++ b/docs/newsletter/2022_w16.md @@ -190,4 +190,3 @@ # Other -* New: Sum up all the VueJS documentation.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2022_w17.md b/docs/newsletter/2022_w17.md index ec8de34fb5b..b4afd1c267f 100644 --- a/docs/newsletter/2022_w17.md +++ b/docs/newsletter/2022_w17.md @@ -475,4 +475,3 @@ X } } - ```[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2022_w19.md b/docs/newsletter/2022_w19.md index f75c6b395ea..14fe7934a8d 100644 --- a/docs/newsletter/2022_w19.md +++ b/docs/newsletter/2022_w19.md @@ -311,4 +311,3 @@ "regions") contain all of the digits from 1 to 9. The puzzle setter provides a partially completed grid, which for a well-posed puzzle has a single solution. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2022_w20.md b/docs/newsletter/2022_w20.md index b36148f259b..dab3243de4d 100644 --- a/docs/newsletter/2022_w20.md +++ b/docs/newsletter/2022_w20.md @@ -56,4 +56,3 @@ ```bash qrencode -o qrcode.png 'Hello World!' - ```[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2022_w21.md b/docs/newsletter/2022_w21.md index 249a93c459b..a11e93e351f 100644 --- a/docs/newsletter/2022_w21.md +++ b/docs/newsletter/2022_w21.md @@ -87,4 +87,3 @@ ### [Anki](anki.md) -* New: [Use anki connect with python.](anki.md#usage)[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2022_w22.md b/docs/newsletter/2022_w22.md index 9bdb6a48e9d..f22d126a5ca 100644 --- a/docs/newsletter/2022_w22.md +++ b/docs/newsletter/2022_w22.md @@ -102,4 +102,3 @@ +I usually do two things, fight them as strong as I can, or embrace them, analyze them, and go to the root of them. Depending on how much energy I have I go with the easy or the hard one. I'm not saying that it's you're case, but it could - be.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2022_w23.md b/docs/newsletter/2022_w23.md index 30ffc63fe1b..8d2d78690a4 100644 --- a/docs/newsletter/2022_w23.md +++ b/docs/newsletter/2022_w23.md @@ -69,4 +69,3 @@ ".git" ] } - ```[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2022_w24.md b/docs/newsletter/2022_w24.md index 40531527b86..f4b9026da98 100644 --- a/docs/newsletter/2022_w24.md +++ b/docs/newsletter/2022_w24.md @@ -207,4 +207,3 @@ for idx, el in enumerate(iterable): ... - ```[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2022_w27.md b/docs/newsletter/2022_w27.md index c40baa26f95..46ab2833d16 100644 --- a/docs/newsletter/2022_w27.md +++ b/docs/newsletter/2022_w27.md @@ -178,4 +178,3 @@ * New: [Add book recommender.](recommender_systems.md#interesting-resources) [Bookwyrm](https://bookwyrm.social) looks to be a promising source to build - book recommender systems.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2022_w31.md b/docs/newsletter/2022_w31.md index 0b3d1dffce3..4b9672a2b73 100644 --- a/docs/newsletter/2022_w31.md +++ b/docs/newsletter/2022_w31.md @@ -106,4 +106,3 @@ ```bash pip install pipx - ```[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2022_w32.md b/docs/newsletter/2022_w32.md index 627fe98f32c..917aabd17e3 100644 --- a/docs/newsletter/2022_w32.md +++ b/docs/newsletter/2022_w32.md @@ -206,4 +206,3 @@ "http://127.0.0.1:9090/api/v1/query", params={"query": "container_cpu_user_seconds_total"}, ) - ```[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2022_w34.md b/docs/newsletter/2022_w34.md index bae5eda50b1..eac4f8a34dc 100644 --- a/docs/newsletter/2022_w34.md +++ b/docs/newsletter/2022_w34.md @@ -101,4 +101,3 @@ # Other * Reorganization: Reorder the programming languages under a Languages section. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2022_w35.md b/docs/newsletter/2022_w35.md index 38bdab3033c..a676f7c91b6 100644 --- a/docs/newsletter/2022_w35.md +++ b/docs/newsletter/2022_w35.md @@ -246,4 +246,3 @@ * New: Bear with me or Bare with me. - "Bear with me" is the correct form.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2022_w36.md b/docs/newsletter/2022_w36.md index fe1500275bb..e865721eda5 100644 --- a/docs/newsletter/2022_w36.md +++ b/docs/newsletter/2022_w36.md @@ -2,4 +2,3 @@ * Correction: Correct argument to use pipes in terminals. - You don't use `check=True` but `shell=True`, thanks [pawamoy](https://github.com/pawamoy)[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2022_w37.md b/docs/newsletter/2022_w37.md index 01970fe84b4..82894e4483f 100644 --- a/docs/newsletter/2022_w37.md +++ b/docs/newsletter/2022_w37.md @@ -72,4 +72,3 @@ ```bash docker inspect --format='{{json .}}' $(docker ps -aq) | jq -r -c '[.Id, .Name, .Config.Image, .Image]' - ```[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2022_w40.md b/docs/newsletter/2022_w40.md index 0ec603228cf..a74a2e90879 100644 --- a/docs/newsletter/2022_w40.md +++ b/docs/newsletter/2022_w40.md @@ -357,4 +357,3 @@ servers. It can also be used to synchronize calendars and/or addressbooks between two servers directly. - It aims to be for calendars and contacts what OfflineIMAP is for emails.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2022_w41.md b/docs/newsletter/2022_w41.md index 5b61e5f3bba..e793496783a 100644 --- a/docs/newsletter/2022_w41.md +++ b/docs/newsletter/2022_w41.md @@ -507,4 +507,3 @@ [keybindings] external_edit = e export = meta e - ```[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2022_w42.md b/docs/newsletter/2022_w42.md index 08df6bbec17..ea3e147c4f1 100644 --- a/docs/newsletter/2022_w42.md +++ b/docs/newsletter/2022_w42.md @@ -37,4 +37,3 @@ ansible-inventory -i environments/production --graph ``` - You can also use the `--list` flag to get more info of the hosts.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2022_w43.md b/docs/newsletter/2022_w43.md index cfe8899f512..364e3fb53ae 100644 --- a/docs/newsletter/2022_w43.md +++ b/docs/newsletter/2022_w43.md @@ -133,4 +133,3 @@ * New: [Builder guides.](kag.md#builder-guides) [Turtlebutt and Bunnie](https://deynarde.github.io/kag-builder-guide) - guide is awesome.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2022_w44.md b/docs/newsletter/2022_w44.md index edb9638608b..bc54f079536 100644 --- a/docs/newsletter/2022_w44.md +++ b/docs/newsletter/2022_w44.md @@ -117,4 +117,3 @@ * New: Introduce finnix. [Finnix](https://www.finnix.org/) is a live Linux distribution specialized in - the recovery, maintenance, testing of systems.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2022_w45.md b/docs/newsletter/2022_w45.md index 1da6cc6c1c5..2232509dd73 100644 --- a/docs/newsletter/2022_w45.md +++ b/docs/newsletter/2022_w45.md @@ -80,4 +80,3 @@ * New: Introduce Redox. [Redox](https://github.com/mattdibi/redox-keyboard) is an awesome Do It Yourself - mechanical keyboard[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2022_w46.md b/docs/newsletter/2022_w46.md index a756c5f8894..5f3628ea472 100644 --- a/docs/newsletter/2022_w46.md +++ b/docs/newsletter/2022_w46.md @@ -164,4 +164,3 @@ Reboot the computer - Launch it with `via-nativia`.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2022_w47.md b/docs/newsletter/2022_w47.md index 8eef036c266..4a89ff2b1eb 100644 --- a/docs/newsletter/2022_w47.md +++ b/docs/newsletter/2022_w47.md @@ -233,4 +233,3 @@ * Correction: Update http versions to `HTTP/2.0`. It seems that the correct protocol is HTTP/2.0 now: - https://github.com/prometheus/blackbox_exporter/issues/658[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2022_w48.md b/docs/newsletter/2022_w48.md index b30e48da531..9aa1db8f43b 100644 --- a/docs/newsletter/2022_w48.md +++ b/docs/newsletter/2022_w48.md @@ -224,4 +224,3 @@ [Ko-fi](https://ko-fi.com/) would be my next choice, as they don't do commissions on the donations and they support more features (that I don't need - right now) than Liberapay.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2022_w50.md b/docs/newsletter/2022_w50.md index 048f680f2bb..b9daca2716c 100644 --- a/docs/newsletter/2022_w50.md +++ b/docs/newsletter/2022_w50.md @@ -132,4 +132,3 @@ Therefore the best way to give credit and attribution is by building your garden (the more we are writing the merrier :) ), and then if you want to spread the word that my garden exists within your content then that would be awesome. If you end up building your own, remember to add yourself to the [digital - garden's list](https://github.com/lyz-code/best-of-digital-gardens).[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2022_w52.md b/docs/newsletter/2022_w52.md index 2566603e05a..c67afb35e59 100644 --- a/docs/newsletter/2022_w52.md +++ b/docs/newsletter/2022_w52.md @@ -260,4 +260,3 @@ | Leaf form | elliptic | rhomboidal | | Size | 30-45m | 10-15m (in Europe) | | Same colour both sides | no (darker and glossy up) | yes | - | Where they grow | everywhere | very close to each other |[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2023.md b/docs/newsletter/2023.md index a22a4fe1077..2e413f90394 100644 --- a/docs/newsletter/2023.md +++ b/docs/newsletter/2023.md @@ -6670,4 +6670,3 @@ feat(bash_snippets) Prometheus's rate function allows calculation of both requests per second, and latency over time from this data. In addition if you're on Linux the process metrics expose CPU, memory and other information about the process for free. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2023_01.md b/docs/newsletter/2023_01.md index 627a28526ed..07bbe499779 100644 --- a/docs/newsletter/2023_01.md +++ b/docs/newsletter/2023_01.md @@ -45,4 +45,3 @@ * New: Suggest more debuggin steps when connecting to google. - The code has changed and the fix is now different[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2023_01_11.md b/docs/newsletter/2023_01_11.md index 729f562fe8a..70ec2b774d9 100644 --- a/docs/newsletter/2023_01_11.md +++ b/docs/newsletter/2023_01_11.md @@ -36,4 +36,3 @@ * New: Suggest more debuggin steps when connecting to google. The code has changed and the fix is now different -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2023_01_12.md b/docs/newsletter/2023_01_12.md index 6805827a312..d20752e01cf 100644 --- a/docs/newsletter/2023_01_12.md +++ b/docs/newsletter/2023_01_12.md @@ -7,4 +7,3 @@ ```bash git config --global --add push.default current git config --global --add push.autoSetupRemote true - ```[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2023_02.md b/docs/newsletter/2023_02.md index 9c3e9ff301a..e0c1a4d9907 100644 --- a/docs/newsletter/2023_02.md +++ b/docs/newsletter/2023_02.md @@ -1076,4 +1076,3 @@ feat(python_snippets) ```bash sudo apt update && sudo apt install signal-desktop ``` -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2023_02_06.md b/docs/newsletter/2023_02_06.md index 58a1c0a3bce..598ead683f1 100644 --- a/docs/newsletter/2023_02_06.md +++ b/docs/newsletter/2023_02_06.md @@ -616,4 +616,3 @@ feat(python_snippets) ```bash sudo apt update && sudo apt install signal-desktop - ```[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2023_02_13.md b/docs/newsletter/2023_02_13.md index 6ec6435d250..91ed566c2cd 100644 --- a/docs/newsletter/2023_02_13.md +++ b/docs/newsletter/2023_02_13.md @@ -113,4 +113,3 @@ ```bash fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --name=fiotest --filename=testfio --bs=4k --iodepth=64 --size=8G --readwrite=randrw --rwmixread=75 - ```[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2023_02_14.md b/docs/newsletter/2023_02_14.md index a74dfa20d20..1ad19b24347 100644 --- a/docs/newsletter/2023_02_14.md +++ b/docs/newsletter/2023_02_14.md @@ -82,4 +82,3 @@ # https://stackoverflow.com/questions/16807258/selenium-click-at-certain-position element = driver.find_element(By.XPATH, xpath) driver.execute_script("arguments[0].click();", element) - ```[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2023_02_26.md b/docs/newsletter/2023_02_26.md index 297f26e167e..fc47308f90d 100644 --- a/docs/newsletter/2023_02_26.md +++ b/docs/newsletter/2023_02_26.md @@ -299,4 +299,3 @@ nnoremap gb ``` - Defining `mapleader` and/or using `` may be useful if you change your mind often on what key to use a leader but it won't be of any use if your mappings are stable.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2023_03.md b/docs/newsletter/2023_03.md index f4dee56d264..bc73aeababa 100644 --- a/docs/newsletter/2023_03.md +++ b/docs/newsletter/2023_03.md @@ -1055,4 +1055,3 @@ I'm happy with orgmode so far, so I'm not going to continue it's development -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2023_03_02.md b/docs/newsletter/2023_03_02.md index 68572f9216f..53a3e6f97fa 100644 --- a/docs/newsletter/2023_03_02.md +++ b/docs/newsletter/2023_03_02.md @@ -224,4 +224,3 @@ * New: [Fix ReadOnly: SQLitePCL.pretty.SQLiteException: attempt to write a readonly database.](jellyfin.md#readonly:-sqlitepcl.pretty.sqliteexception:-attempt-to-write-a-readonly-database) - Some of the database files of Jellyfin is not writable by the jellyfin user, check if you changed the ownership of the files, for example in the process of restoring a database file from backup.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2023_03_17.md b/docs/newsletter/2023_03_17.md index 3cc30b27c7d..9a25f01514c 100644 --- a/docs/newsletter/2023_03_17.md +++ b/docs/newsletter/2023_03_17.md @@ -740,4 +740,3 @@ * Talk with her directly, either face-to-face or by phone. When you hand it off to someone else, and if you care at all whether something happens as a result, you’ll need to track it. Depending on how active you need to be it can go to your Waiting list or to your tickler. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2023_03_18.md b/docs/newsletter/2023_03_18.md index 48bed157cf1..e707c1a9969 100644 --- a/docs/newsletter/2023_03_18.md +++ b/docs/newsletter/2023_03_18.md @@ -3,4 +3,3 @@ * Correction: Deprecate pydo. I'm happy with orgmode so far, so I'm not going to continue it's - development[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2023_03_28.md b/docs/newsletter/2023_03_28.md index c44a41511e2..a7d123feeeb 100644 --- a/docs/newsletter/2023_03_28.md +++ b/docs/newsletter/2023_03_28.md @@ -113,4 +113,3 @@ * New: Introduce Orgzly. - [Orgzly](https://orgzly.com/) is an android application to interact with [orgmode](orgmode.md) files.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2023_04.md b/docs/newsletter/2023_04.md index 6d71c3de42b..ed09e108767 100644 --- a/docs/newsletter/2023_04.md +++ b/docs/newsletter/2023_04.md @@ -140,4 +140,3 @@ * New: [Add sshuttle information link.](linux_snippets.md#ssh-tunnel) - If you need a more powerful ssh tunnel you can try [sshuttle](https://sshuttle.readthedocs.io/en/stable/overview.html)[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2023_04_03.md b/docs/newsletter/2023_04_03.md index cec213a445b..ed657df30c0 100644 --- a/docs/newsletter/2023_04_03.md +++ b/docs/newsletter/2023_04_03.md @@ -100,4 +100,3 @@ * New: [Add sshuttle information link.](linux_snippets.md#ssh-tunnel) - If you need a more powerful ssh tunnel you can try [sshuttle](https://sshuttle.readthedocs.io/en/stable/overview.html)[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2023_04_05.md b/docs/newsletter/2023_04_05.md index c475ae8a721..70e908d0894 100644 --- a/docs/newsletter/2023_04_05.md +++ b/docs/newsletter/2023_04_05.md @@ -37,4 +37,3 @@ - It's a more stable project, it's been alive for much more time and now has the back up of a company trying to make profit out of it. Forgejo's community and structure is still [evolving to a stable state](https://codeberg.org/forgejo/meta/issues/187) though, although it looks promising! - Quicker releases. As Forgejo needs to review and incorporate Gitea's contributions, it takes longer to do a release. - Being a soft-fork has it's disadvantages too, for example deciding where to open the issues and pull requests, [they haven't yet decided which is their policy around this topic](https://codeberg.org/forgejo/meta/issues/114).[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2023_05.md b/docs/newsletter/2023_05.md index 0aef94fd594..ff349e19d3c 100644 --- a/docs/newsletter/2023_05.md +++ b/docs/newsletter/2023_05.md @@ -295,4 +295,3 @@ - Warsaw Shag team - [Dragon Swing 2016](https://yewtu.be/watch?v=QGJAIKyW7r4) - [Warsaw Shag Festival 2018](https://yewtu.be/watch?v=0DHUfThIrlA) - - [Warsaw Shag Festival 2017](https://yewtu.be/watch?v=6wasM8nF9gg)[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2023_05_05.md b/docs/newsletter/2023_05_05.md index 78f0d267fbf..35416e19134 100644 --- a/docs/newsletter/2023_05_05.md +++ b/docs/newsletter/2023_05_05.md @@ -233,4 +233,3 @@ - [ytify](https://github.com/n-ce/ytify) - a complementary minimal audio streaming frontend for YouTube. - [PsTube](https://github.com/prateekmedia/pstube) - Watch and download videos without ads on Android, Linux, Windows, iOS, and Mac OSX. - [Piped-Material](https://github.com/mmjee/Piped-Material) - A fork of Piped, focusing on better performance and a more usable design. - - [ReacTube](https://github.com/NeeRaj-2401/ReacTube) - Privacy friendly & distraction free Youtube front-end using Piped API.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2023_05_24.md b/docs/newsletter/2023_05_24.md index 2ffcbda8bd6..d03b562b7ed 100644 --- a/docs/newsletter/2023_05_24.md +++ b/docs/newsletter/2023_05_24.md @@ -74,4 +74,3 @@ - Warsaw Shag team - [Dragon Swing 2016](https://yewtu.be/watch?v=QGJAIKyW7r4) - [Warsaw Shag Festival 2018](https://yewtu.be/watch?v=0DHUfThIrlA) - - [Warsaw Shag Festival 2017](https://yewtu.be/watch?v=6wasM8nF9gg)[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2023_06.md b/docs/newsletter/2023_06.md index 9eac67c18ea..a04b13d0281 100644 --- a/docs/newsletter/2023_06.md +++ b/docs/newsletter/2023_06.md @@ -364,4 +364,3 @@ `revision` is optional, but you should try to provide it. - You may then try to issue your original command again to upgrade or reinstall.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2023_06_12.md b/docs/newsletter/2023_06_12.md index bc06a382070..0e0ba9525d7 100644 --- a/docs/newsletter/2023_06_12.md +++ b/docs/newsletter/2023_06_12.md @@ -240,4 +240,3 @@ `revision` is optional, but you should try to provide it. - You may then try to issue your original command again to upgrade or reinstall.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2023_06_16.md b/docs/newsletter/2023_06_16.md index d8c7be286eb..451d146984e 100644 --- a/docs/newsletter/2023_06_16.md +++ b/docs/newsletter/2023_06_16.md @@ -132,4 +132,3 @@ - match: alertname: Watchdog receiver: 'null' - ```[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2023_07.md b/docs/newsletter/2023_07.md index 617422f1b5e..aa68d7e1eb8 100644 --- a/docs/newsletter/2023_07.md +++ b/docs/newsletter/2023_07.md @@ -276,4 +276,3 @@ ```bash systemctl reset-failed openvpn-server@intranert.service - ```[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2023_07_02.md b/docs/newsletter/2023_07_02.md index 192961e9aaf..68b4a5aa632 100644 --- a/docs/newsletter/2023_07_02.md +++ b/docs/newsletter/2023_07_02.md @@ -274,4 +274,3 @@ ```bash systemctl reset-failed openvpn-server@intranert.service - ```[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2023_07_03.md b/docs/newsletter/2023_07_03.md index f1c94ead60a..605b2674684 100644 --- a/docs/newsletter/2023_07_03.md +++ b/docs/newsletter/2023_07_03.md @@ -4,4 +4,3 @@ ### [ZFS Prometheus exporter](zfs_exporter.md) -* Correction: Improve alerts.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2023_08.md b/docs/newsletter/2023_08.md index e5c69d3fb85..ccb448bf47c 100644 --- a/docs/newsletter/2023_08.md +++ b/docs/newsletter/2023_08.md @@ -1244,4 +1244,3 @@ 1vs1 games: - [Hindustanis vs Portuguese | Arabia | Hera vs Yo](https://www.youtube.com/watch?v=iZ7eWLLbh34) - - [Dravidians vs Turks | African Clearing | Hera vs Yo](https://www.youtube.com/watch?v=tZyVLDwBfd4)[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2023_08_15.md b/docs/newsletter/2023_08_15.md index e5c69d3fb85..ccb448bf47c 100644 --- a/docs/newsletter/2023_08_15.md +++ b/docs/newsletter/2023_08_15.md @@ -1244,4 +1244,3 @@ 1vs1 games: - [Hindustanis vs Portuguese | Arabia | Hera vs Yo](https://www.youtube.com/watch?v=iZ7eWLLbh34) - - [Dravidians vs Turks | African Clearing | Hera vs Yo](https://www.youtube.com/watch?v=tZyVLDwBfd4)[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2023_09.md b/docs/newsletter/2023_09.md index a18b1468c4b..507a694c405 100644 --- a/docs/newsletter/2023_09.md +++ b/docs/newsletter/2023_09.md @@ -948,4 +948,3 @@ feat(bash_snippets) Manure can be obtained in dust or liquid state. The first is perfect to scatter directly over the earth, while the second is better used on plant pots. You don't need to use much, in fact, with just a pair of spoons per pot is enough. Apply it around the base of the plant, avoiding it's touch with leaves, stem or exposed roots, as it may burn them. After you apply them remember to water them often, keep in mind that it's like a heavy greasy sandwich for the plants, and they need water to digest it. - For my indoor plants I'm going to apply a small dose (one spoon per plant) at the start of Autumn (first days of September), and two spoons at the start of spring (first days of March).[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2023_09_07.md b/docs/newsletter/2023_09_07.md index 28264aa5f88..65ac400d499 100644 --- a/docs/newsletter/2023_09_07.md +++ b/docs/newsletter/2023_09_07.md @@ -688,4 +688,3 @@ feat(bash_snippets) Gain early map control with scouts, then switch into steppe lancers and front siege, finally castle in the face when you clicked to imperial. - - [Example Hera vs Mr.Yo in TCI](https://yewtu.be/watch?v=20bktCBldcw)[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2023_09_25.md b/docs/newsletter/2023_09_25.md index 0f4f0a74c62..d71b0a96a52 100644 --- a/docs/newsletter/2023_09_25.md +++ b/docs/newsletter/2023_09_25.md @@ -275,4 +275,3 @@ Manure can be obtained in dust or liquid state. The first is perfect to scatter directly over the earth, while the second is better used on plant pots. You don't need to use much, in fact, with just a pair of spoons per pot is enough. Apply it around the base of the plant, avoiding it's touch with leaves, stem or exposed roots, as it may burn them. After you apply them remember to water them often, keep in mind that it's like a heavy greasy sandwich for the plants, and they need water to digest it. For my indoor plants I'm going to apply a small dose (one spoon per plant) at the start of Autumn (first days of September), and two spoons at the start of spring (first days of March). -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2023_10.md b/docs/newsletter/2023_10.md index a0a53034112..21a76ed85e3 100644 --- a/docs/newsletter/2023_10.md +++ b/docs/newsletter/2023_10.md @@ -474,4 +474,3 @@ And that's all, folks! Now you know how to escape the attention-draining, empathy-killing, critical-thought-suffocating siren song of the algorithms. And get your inbox less cluttered with newsletters. - Here's to a renaissance for a kinder, better web. <3[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2023_10_19.md b/docs/newsletter/2023_10_19.md index a0a53034112..21a76ed85e3 100644 --- a/docs/newsletter/2023_10_19.md +++ b/docs/newsletter/2023_10_19.md @@ -474,4 +474,3 @@ And that's all, folks! Now you know how to escape the attention-draining, empathy-killing, critical-thought-suffocating siren song of the algorithms. And get your inbox less cluttered with newsletters. - Here's to a renaissance for a kinder, better web. <3[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2023_11.md b/docs/newsletter/2023_11.md index 94b819138af..65c05e14448 100644 --- a/docs/newsletter/2023_11.md +++ b/docs/newsletter/2023_11.md @@ -1102,4 +1102,3 @@ Prometheus's rate function allows calculation of both requests per second, and latency over time from this data. In addition if you're on Linux the process metrics expose CPU, memory and other information about the process for free. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2023_11_10.md b/docs/newsletter/2023_11_10.md index dbcd2a12959..1c9df09935e 100644 --- a/docs/newsletter/2023_11_10.md +++ b/docs/newsletter/2023_11_10.md @@ -985,4 +985,3 @@ Prometheus's rate function allows calculation of both requests per second, and latency over time from this data. In addition if you're on Linux the process metrics expose CPU, memory and other information about the process for free. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2023_11_27.md b/docs/newsletter/2023_11_27.md index 4bbfba889e0..3067b01aff2 100644 --- a/docs/newsletter/2023_11_27.md +++ b/docs/newsletter/2023_11_27.md @@ -133,4 +133,3 @@ ``` (╥_╥) (*≧▽≦)ノシ)) - ```[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2023_w02.md b/docs/newsletter/2023_w02.md index 627a28526ed..07bbe499779 100644 --- a/docs/newsletter/2023_w02.md +++ b/docs/newsletter/2023_w02.md @@ -45,4 +45,3 @@ * New: Suggest more debuggin steps when connecting to google. - The code has changed and the fix is now different[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2023_w06.md b/docs/newsletter/2023_w06.md index 58a1c0a3bce..598ead683f1 100644 --- a/docs/newsletter/2023_w06.md +++ b/docs/newsletter/2023_w06.md @@ -616,4 +616,3 @@ feat(python_snippets) ```bash sudo apt update && sudo apt install signal-desktop - ```[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2023_w07.md b/docs/newsletter/2023_w07.md index 0f29bdaf04d..d640bf478eb 100644 --- a/docs/newsletter/2023_w07.md +++ b/docs/newsletter/2023_w07.md @@ -196,4 +196,3 @@ ```bash fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --name=fiotest --filename=testfio --bs=4k --iodepth=64 --size=8G --readwrite=randrw --rwmixread=75 - ```[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2023_w08.md b/docs/newsletter/2023_w08.md index 893a1508ad3..6062b0cb805 100644 --- a/docs/newsletter/2023_w08.md +++ b/docs/newsletter/2023_w08.md @@ -300,4 +300,3 @@ ``` Defining `mapleader` and/or using `` may be useful if you change your mind often on what key to use a leader but it won't be of any use if your mappings are stable. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2023_w09.md b/docs/newsletter/2023_w09.md index 68572f9216f..53a3e6f97fa 100644 --- a/docs/newsletter/2023_w09.md +++ b/docs/newsletter/2023_w09.md @@ -224,4 +224,3 @@ * New: [Fix ReadOnly: SQLitePCL.pretty.SQLiteException: attempt to write a readonly database.](jellyfin.md#readonly:-sqlitepcl.pretty.sqliteexception:-attempt-to-write-a-readonly-database) - Some of the database files of Jellyfin is not writable by the jellyfin user, check if you changed the ownership of the files, for example in the process of restoring a database file from backup.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2023_w11.md b/docs/newsletter/2023_w11.md index 98e1c22f51d..5feee81c27b 100644 --- a/docs/newsletter/2023_w11.md +++ b/docs/newsletter/2023_w11.md @@ -745,4 +745,3 @@ I'm happy with orgmode so far, so I'm not going to continue it's development -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2023_w13.md b/docs/newsletter/2023_w13.md index c44a41511e2..a7d123feeeb 100644 --- a/docs/newsletter/2023_w13.md +++ b/docs/newsletter/2023_w13.md @@ -113,4 +113,3 @@ * New: Introduce Orgzly. - [Orgzly](https://orgzly.com/) is an android application to interact with [orgmode](orgmode.md) files.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2023_w14.md b/docs/newsletter/2023_w14.md index 6d71c3de42b..ed09e108767 100644 --- a/docs/newsletter/2023_w14.md +++ b/docs/newsletter/2023_w14.md @@ -140,4 +140,3 @@ * New: [Add sshuttle information link.](linux_snippets.md#ssh-tunnel) - If you need a more powerful ssh tunnel you can try [sshuttle](https://sshuttle.readthedocs.io/en/stable/overview.html)[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2023_w18.md b/docs/newsletter/2023_w18.md index 78f0d267fbf..35416e19134 100644 --- a/docs/newsletter/2023_w18.md +++ b/docs/newsletter/2023_w18.md @@ -233,4 +233,3 @@ - [ytify](https://github.com/n-ce/ytify) - a complementary minimal audio streaming frontend for YouTube. - [PsTube](https://github.com/prateekmedia/pstube) - Watch and download videos without ads on Android, Linux, Windows, iOS, and Mac OSX. - [Piped-Material](https://github.com/mmjee/Piped-Material) - A fork of Piped, focusing on better performance and a more usable design. - - [ReacTube](https://github.com/NeeRaj-2401/ReacTube) - Privacy friendly & distraction free Youtube front-end using Piped API.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2023_w21.md b/docs/newsletter/2023_w21.md index 2ffcbda8bd6..d03b562b7ed 100644 --- a/docs/newsletter/2023_w21.md +++ b/docs/newsletter/2023_w21.md @@ -74,4 +74,3 @@ - Warsaw Shag team - [Dragon Swing 2016](https://yewtu.be/watch?v=QGJAIKyW7r4) - [Warsaw Shag Festival 2018](https://yewtu.be/watch?v=0DHUfThIrlA) - - [Warsaw Shag Festival 2017](https://yewtu.be/watch?v=6wasM8nF9gg)[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2023_w24.md b/docs/newsletter/2023_w24.md index 9eac67c18ea..a04b13d0281 100644 --- a/docs/newsletter/2023_w24.md +++ b/docs/newsletter/2023_w24.md @@ -364,4 +364,3 @@ `revision` is optional, but you should try to provide it. - You may then try to issue your original command again to upgrade or reinstall.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2023_w26.md b/docs/newsletter/2023_w26.md index 192961e9aaf..68b4a5aa632 100644 --- a/docs/newsletter/2023_w26.md +++ b/docs/newsletter/2023_w26.md @@ -274,4 +274,3 @@ ```bash systemctl reset-failed openvpn-server@intranert.service - ```[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2023_w27.md b/docs/newsletter/2023_w27.md index f1c94ead60a..605b2674684 100644 --- a/docs/newsletter/2023_w27.md +++ b/docs/newsletter/2023_w27.md @@ -4,4 +4,3 @@ ### [ZFS Prometheus exporter](zfs_exporter.md) -* Correction: Improve alerts.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2023_w33.md b/docs/newsletter/2023_w33.md index e5c69d3fb85..ccb448bf47c 100644 --- a/docs/newsletter/2023_w33.md +++ b/docs/newsletter/2023_w33.md @@ -1244,4 +1244,3 @@ 1vs1 games: - [Hindustanis vs Portuguese | Arabia | Hera vs Yo](https://www.youtube.com/watch?v=iZ7eWLLbh34) - - [Dravidians vs Turks | African Clearing | Hera vs Yo](https://www.youtube.com/watch?v=tZyVLDwBfd4)[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2023_w36.md b/docs/newsletter/2023_w36.md index 28264aa5f88..65ac400d499 100644 --- a/docs/newsletter/2023_w36.md +++ b/docs/newsletter/2023_w36.md @@ -688,4 +688,3 @@ feat(bash_snippets) Gain early map control with scouts, then switch into steppe lancers and front siege, finally castle in the face when you clicked to imperial. - - [Example Hera vs Mr.Yo in TCI](https://yewtu.be/watch?v=20bktCBldcw)[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2023_w39.md b/docs/newsletter/2023_w39.md index c45428afcf7..bbf6140f608 100644 --- a/docs/newsletter/2023_w39.md +++ b/docs/newsletter/2023_w39.md @@ -276,4 +276,3 @@ Manure can be obtained in dust or liquid state. The first is perfect to scatter directly over the earth, while the second is better used on plant pots. You don't need to use much, in fact, with just a pair of spoons per pot is enough. Apply it around the base of the plant, avoiding it's touch with leaves, stem or exposed roots, as it may burn them. After you apply them remember to water them often, keep in mind that it's like a heavy greasy sandwich for the plants, and they need water to digest it. - For my indoor plants I'm going to apply a small dose (one spoon per plant) at the start of Autumn (first days of September), and two spoons at the start of spring (first days of March).[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2023_w42.md b/docs/newsletter/2023_w42.md index a0a53034112..21a76ed85e3 100644 --- a/docs/newsletter/2023_w42.md +++ b/docs/newsletter/2023_w42.md @@ -474,4 +474,3 @@ And that's all, folks! Now you know how to escape the attention-draining, empathy-killing, critical-thought-suffocating siren song of the algorithms. And get your inbox less cluttered with newsletters. - Here's to a renaissance for a kinder, better web. <3[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2023_w45.md b/docs/newsletter/2023_w45.md index dbcd2a12959..1c9df09935e 100644 --- a/docs/newsletter/2023_w45.md +++ b/docs/newsletter/2023_w45.md @@ -985,4 +985,3 @@ Prometheus's rate function allows calculation of both requests per second, and latency over time from this data. In addition if you're on Linux the process metrics expose CPU, memory and other information about the process for free. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2023_w48.md b/docs/newsletter/2023_w48.md index 4bbfba889e0..3067b01aff2 100644 --- a/docs/newsletter/2023_w48.md +++ b/docs/newsletter/2023_w48.md @@ -133,4 +133,3 @@ ``` (╥_╥) (*≧▽≦)ノシ)) - ```[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2024_01.md b/docs/newsletter/2024_01.md index 7644beffbb5..52d12b61ec6 100644 --- a/docs/newsletter/2024_01.md +++ b/docs/newsletter/2024_01.md @@ -1313,4 +1313,3 @@ - times: - start_time: 02:00 end_time: 07:00 - ```[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2024_01_08.md b/docs/newsletter/2024_01_08.md index d1a9a615ad7..ac2aee182c4 100644 --- a/docs/newsletter/2024_01_08.md +++ b/docs/newsletter/2024_01_08.md @@ -564,4 +564,3 @@ - times: - start_time: 02:00 end_time: 07:00 - ```[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2024_01_12.md b/docs/newsletter/2024_01_12.md index bc7c8eeb681..71caaf7530b 100644 --- a/docs/newsletter/2024_01_12.md +++ b/docs/newsletter/2024_01_12.md @@ -134,4 +134,3 @@ For Bluetooth: - Go to Settings > connected devices > connection preferences> bluetooth - - Select Turn Bluetooth off automatically, for example after 2 minutes[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2024_01_15.md b/docs/newsletter/2024_01_15.md index e0fd8e1a866..84f5abd3248 100644 --- a/docs/newsletter/2024_01_15.md +++ b/docs/newsletter/2024_01_15.md @@ -53,4 +53,3 @@ * New: [How to use Rocketchat's API.](rocketchat.md#api) - The API docs are a bit weird, you need to go to [endpoints](https://developer.rocket.chat/reference/api/rest-api/endpoints) and find the one you need. Your best bet though is to open the browser network console and see which requests they are doing and then to find them in the docs.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2024_01_23.md b/docs/newsletter/2024_01_23.md index 309c1d3ac6f..6359642ab16 100644 --- a/docs/newsletter/2024_01_23.md +++ b/docs/newsletter/2024_01_23.md @@ -612,4 +612,3 @@ Cons: - Only in PDF - It's long - - Too focused on the theory, despite the name xD[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2024_02.md b/docs/newsletter/2024_02.md index 75276f0481c..1e7dad0862e 100644 --- a/docs/newsletter/2024_02.md +++ b/docs/newsletter/2024_02.md @@ -1929,4 +1929,3 @@ * New: Use deadlines. Identify hard deadlines: Add a warning days before the deadline to make sure you're reminded until it's done. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2024_02_05.md b/docs/newsletter/2024_02_05.md index 202c71fbb18..fa8218ffb62 100644 --- a/docs/newsletter/2024_02_05.md +++ b/docs/newsletter/2024_02_05.md @@ -1821,4 +1821,3 @@ Whether or not users have RSI, it can be difficult and frustrating to start programming by voice. It took a month and a half for Pimentel to get up to speed, he says, and there were days when he was ready to throw in the towel. He printed out 40 pages of commands and forced himself to look at them until he learnt them. Saphra needed two months of coding, a little every day, before she felt that it was a “perfectly enjoyable experience and I could see myself doing this for a living”. After the initial learning curve, users often create custom prompts for commonly used commands as the need arises. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2024_02_12.md b/docs/newsletter/2024_02_12.md index 6b6d395fda7..c659e58be9d 100644 --- a/docs/newsletter/2024_02_12.md +++ b/docs/newsletter/2024_02_12.md @@ -122,4 +122,3 @@ uses: actions/checkout@v3 with: fetch-depth: 0 - ```[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2024_03.md b/docs/newsletter/2024_03.md index 5d4f22517fc..0b767023ff7 100644 --- a/docs/newsletter/2024_03.md +++ b/docs/newsletter/2024_03.md @@ -1375,9 +1375,7 @@ echo "Checking the Not by AI badge" find docs -iname '*md' -print0 | while read -r -d $'\0' file; do - if ! grep -q not-by-ai.svg "$file"; then echo "Adding the Not by AI badge to $file" - echo "[![](not-by-ai.svg){: .center}](https://notbyai.fyi)" >>"$file" fi done ``` diff --git a/docs/newsletter/2024_03_05.md b/docs/newsletter/2024_03_05.md index 72fc653686a..1a9783cf495 100644 --- a/docs/newsletter/2024_03_05.md +++ b/docs/newsletter/2024_03_05.md @@ -176,4 +176,3 @@ ```bash detox * - ```[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2024_03_08.md b/docs/newsletter/2024_03_08.md index fecc522d537..62beedfd49c 100644 --- a/docs/newsletter/2024_03_08.md +++ b/docs/newsletter/2024_03_08.md @@ -98,9 +98,7 @@ echo "Checking the Not by AI badge" find docs -iname '*md' -print0 | while read -r -d $'\0' file; do - if ! grep -q not-by-ai.svg "$file"; then echo "Adding the Not by AI badge to $file" - echo "[![](not-by-ai.svg){: .center}](https://notbyai.fyi)" >>"$file" fi done ``` diff --git a/docs/newsletter/2024_03_26.md b/docs/newsletter/2024_03_26.md index 015d3f0dda1..6dc8ea8e2b2 100644 --- a/docs/newsletter/2024_03_26.md +++ b/docs/newsletter/2024_03_26.md @@ -1133,4 +1133,3 @@ * New: Add 2024 Hidden Cup 5 awesome match. - [Semifinal Viper vs Lierey](https://yewtu.be/watch?v=Ol-mqMeQ7OQ)[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2024_04.md b/docs/newsletter/2024_04.md index 16a273a678c..4893eaa6945 100644 --- a/docs/newsletter/2024_04.md +++ b/docs/newsletter/2024_04.md @@ -677,4 +677,3 @@ * New: Prometheus metrics. - Use [`prometheus-fastapi-instrumentator`](https://github.com/trallnag/prometheus-fastapi-instrumentator)\n\n[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2024_04_04.md b/docs/newsletter/2024_04_04.md index 30dfc2b6361..acb1eafccae 100644 --- a/docs/newsletter/2024_04_04.md +++ b/docs/newsletter/2024_04_04.md @@ -419,4 +419,3 @@ * New: Prometheus metrics. - Use [`prometheus-fastapi-instrumentator`](https://github.com/trallnag/prometheus-fastapi-instrumentator)\n\n[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2024_04_09.md b/docs/newsletter/2024_04_09.md index d649885349d..77a7ef5c883 100644 --- a/docs/newsletter/2024_04_09.md +++ b/docs/newsletter/2024_04_09.md @@ -6,4 +6,3 @@ * New: Avoid synology at all costs. - It does weird stuff with the disks that may result in data loss\n\n[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2024_04_17.md b/docs/newsletter/2024_04_17.md index b59e3215012..8c523197380 100644 --- a/docs/newsletter/2024_04_17.md +++ b/docs/newsletter/2024_04_17.md @@ -266,4 +266,3 @@ ## [Drawing](drawing.md) -* New: [Drawing book recommendation.](drawing.md#books)\n\n[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2024_05.md b/docs/newsletter/2024_05.md index fc396b7bb70..e555c36e94d 100644 --- a/docs/newsletter/2024_05.md +++ b/docs/newsletter/2024_05.md @@ -952,4 +952,3 @@ Unpackerr is just telling you something is stuck in your sonar queue. It's not an error, and it's not trying to extract it (because it has no compressed files). The fix is to figure out why it's stuck in the queue. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2024_05_13.md b/docs/newsletter/2024_05_13.md index fc396b7bb70..e555c36e94d 100644 --- a/docs/newsletter/2024_05_13.md +++ b/docs/newsletter/2024_05_13.md @@ -952,4 +952,3 @@ Unpackerr is just telling you something is stuck in your sonar queue. It's not an error, and it's not trying to extract it (because it has no compressed files). The fix is to figure out why it's stuck in the queue. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2024_w02.md b/docs/newsletter/2024_w02.md index bcbe0948384..af42c093abb 100644 --- a/docs/newsletter/2024_w02.md +++ b/docs/newsletter/2024_w02.md @@ -688,4 +688,3 @@ - times: - start_time: 02:00 end_time: 07:00 - ```[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2024_w03.md b/docs/newsletter/2024_w03.md index e0fd8e1a866..84f5abd3248 100644 --- a/docs/newsletter/2024_w03.md +++ b/docs/newsletter/2024_w03.md @@ -53,4 +53,3 @@ * New: [How to use Rocketchat's API.](rocketchat.md#api) - The API docs are a bit weird, you need to go to [endpoints](https://developer.rocket.chat/reference/api/rest-api/endpoints) and find the one you need. Your best bet though is to open the browser network console and see which requests they are doing and then to find them in the docs.[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2024_w04.md b/docs/newsletter/2024_w04.md index 309c1d3ac6f..6359642ab16 100644 --- a/docs/newsletter/2024_w04.md +++ b/docs/newsletter/2024_w04.md @@ -612,4 +612,3 @@ Cons: - Only in PDF - It's long - - Too focused on the theory, despite the name xD[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2024_w06.md b/docs/newsletter/2024_w06.md index 202c71fbb18..fa8218ffb62 100644 --- a/docs/newsletter/2024_w06.md +++ b/docs/newsletter/2024_w06.md @@ -1821,4 +1821,3 @@ Whether or not users have RSI, it can be difficult and frustrating to start programming by voice. It took a month and a half for Pimentel to get up to speed, he says, and there were days when he was ready to throw in the towel. He printed out 40 pages of commands and forced himself to look at them until he learnt them. Saphra needed two months of coding, a little every day, before she felt that it was a “perfectly enjoyable experience and I could see myself doing this for a living”. After the initial learning curve, users often create custom prompts for commonly used commands as the need arises. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2024_w07.md b/docs/newsletter/2024_w07.md index b52d06783a1..57a8865b14a 100644 --- a/docs/newsletter/2024_w07.md +++ b/docs/newsletter/2024_w07.md @@ -122,4 +122,3 @@ uses: actions/checkout@v3 with: fetch-depth: 0 - ```[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2024_w10.md b/docs/newsletter/2024_w10.md index 22f0b8b73ca..ef40fb0c4c1 100644 --- a/docs/newsletter/2024_w10.md +++ b/docs/newsletter/2024_w10.md @@ -270,9 +270,7 @@ echo "Checking the Not by AI badge" find docs -iname '*md' -print0 | while read -r -d $'\0' file; do - if ! grep -q not-by-ai.svg "$file"; then echo "Adding the Not by AI badge to $file" - echo "[![](not-by-ai.svg){: .center}](https://notbyai.fyi)" >>"$file" fi done ``` diff --git a/docs/newsletter/2024_w13.md b/docs/newsletter/2024_w13.md index 015d3f0dda1..6dc8ea8e2b2 100644 --- a/docs/newsletter/2024_w13.md +++ b/docs/newsletter/2024_w13.md @@ -1133,4 +1133,3 @@ * New: Add 2024 Hidden Cup 5 awesome match. - [Semifinal Viper vs Lierey](https://yewtu.be/watch?v=Ol-mqMeQ7OQ)[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2024_w14.md b/docs/newsletter/2024_w14.md index 30dfc2b6361..acb1eafccae 100644 --- a/docs/newsletter/2024_w14.md +++ b/docs/newsletter/2024_w14.md @@ -419,4 +419,3 @@ * New: Prometheus metrics. - Use [`prometheus-fastapi-instrumentator`](https://github.com/trallnag/prometheus-fastapi-instrumentator)\n\n[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2024_w15.md b/docs/newsletter/2024_w15.md index d649885349d..77a7ef5c883 100644 --- a/docs/newsletter/2024_w15.md +++ b/docs/newsletter/2024_w15.md @@ -6,4 +6,3 @@ * New: Avoid synology at all costs. - It does weird stuff with the disks that may result in data loss\n\n[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2024_w16.md b/docs/newsletter/2024_w16.md index b59e3215012..8c523197380 100644 --- a/docs/newsletter/2024_w16.md +++ b/docs/newsletter/2024_w16.md @@ -266,4 +266,3 @@ ## [Drawing](drawing.md) -* New: [Drawing book recommendation.](drawing.md#books)\n\n[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/newsletter/2024_w20.md b/docs/newsletter/2024_w20.md index fc396b7bb70..e555c36e94d 100644 --- a/docs/newsletter/2024_w20.md +++ b/docs/newsletter/2024_w20.md @@ -952,4 +952,3 @@ Unpackerr is just telling you something is stuck in your sonar queue. It's not an error, and it's not trying to extract it (because it has no compressed files). The fix is to figure out why it's stuck in the queue. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/nix.md b/docs/nix.md index 061e9e7689b..dbb759bbf79 100644 --- a/docs/nix.md +++ b/docs/nix.md @@ -18,4 +18,3 @@ They have a nice installer that guides you step by step. - [Home](https://nixos.org) - [homelab nix configuration](https://github.com/badele/nix-homelab) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/notmuch.md b/docs/notmuch.md index f2639131d89..bb18f0ccb8c 100644 --- a/docs/notmuch.md +++ b/docs/notmuch.md @@ -42,4 +42,3 @@ notmuch new # References * [Docs](https://notmuchmail.org/) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/ombi.md b/docs/ombi.md index 94cc613f0cb..76726fd59c7 100644 --- a/docs/ombi.md +++ b/docs/ombi.md @@ -21,4 +21,3 @@ Sometimes one specific user continuously asks for a better quality of the conten - [Homepage](https://ombi.io/) - [Docs](https://docs.ombi.app/guides/installation/) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/openproject.md b/docs/openproject.md index 92a3c57fd92..53ec377ae1b 100644 --- a/docs/openproject.md +++ b/docs/openproject.md @@ -276,4 +276,3 @@ removed (`\n`), the workaround is to paste it inside a `code snippet`. - [Git](https://github.com/opf/openproject) - [Homepage](https://www.openproject.org/) - [Upgrading notes](https://www.openproject.org/docs/installation-and-operations/operation/upgrading/#compose-based-installation) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/oracle_database.md b/docs/oracle_database.md index e27b8819abb..a82a5ea3117 100644 --- a/docs/oracle_database.md +++ b/docs/oracle_database.md @@ -51,4 +51,3 @@ Oracle Database is an awful proprietary database, run away from it! -e ORACLE_CHARACTERSET=AL32UTF8 \ oracle/database:19.3.0-ee ``` -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/org_rw.md b/docs/org_rw.md index e82c760ead4..92320c2f5ec 100644 --- a/docs/org_rw.md +++ b/docs/org_rw.md @@ -45,4 +45,3 @@ doc = loads(orig, environment={ - [Source](https://code.codigoparallevar.com/kenkeiras/org-rw) - [Github](https://github.com/kenkeiras/org-rw) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/orgmode.md b/docs/orgmode.md index 0cd97532063..0c463fc03a8 100644 --- a/docs/orgmode.md +++ b/docs/orgmode.md @@ -954,8 +954,6 @@ So far the `nvim-orgmode` agenda view lacks the next features: Once you open one of the views you can do most of the same stuff that you on othe org mode file: -There is still no easy way to define your [custom agenda views](https://orgmode.org/manual/Custom-Agenda-Views.html), but it looks possible [1](https://github.com/nvim-orgmode/orgmode/issues/478) and [2](https://github.com/nvim-orgmode/orgmode/issues/135). - ### [Agenda searches](https://orgmode.org/worg/org-tutorials/advanced-searching.html#property-searches) When using the search agenda view you can: @@ -1007,6 +1005,26 @@ When using the search agenda view you can: * [Search by properties](https://orgmode.org/worg/org-tutorials/advanced-searching.html#property-searches): You can search by properties with the `PROPERTY="value"` syntax. Properties with numeric values can be queried with inequalities `PAGES>100`. To search by partial searches use a regular expression, for example if the entry had `:BIB_TITLE: Mysteries of the Amazon` you could use `BIB_TITLE={Amazon}` +### Custom agendas + +There is still no easy way to define your [custom agenda views](https://orgmode.org/manual/Custom-Agenda-Views.html), but it looks possible [1](https://github.com/nvim-orgmode/orgmode/issues/478) and [2](https://github.com/nvim-orgmode/orgmode/issues/135). + +I've made an [ugly fix](https://github.com/nvim-orgmode/orgmode/pull/831) to be able to use it with the `tags` agenda. Until it's solved you can use [my fork](https://github.com/lyz-code/orgmode). To define your custom agenda you can set for example: + +```Lua + keys = { + { + "gt", + function() + require("orgmode.api.agenda").tags({ + query = "+today/-INACTIVE-DONE-REJECTED", + todo_only = true, + }) + end, + desc = "Open orgmode agenda for today", + }, + } +``` ### [Reload the agenda con any file change](https://github.com/nvim-orgmode/orgmode/issues/656) There are two ways of doing this: @@ -1079,6 +1097,16 @@ mappings = { } ``` +If you're outside vim you can trigger the capture (if you're using i3) by adding this config: + + +```bash +for_window [title="Capture"] floating enable, resize set 50 ppt 30 ppt +bindsym $mod+c exec PATH="$PATH:/home/lyz/.local/bin" kitty --title Capture nvim +"lua require('orgmode').action('capture.prompt')" +``` + +By pressing `alt+c` a floating terminal will open with the capture template. + ### Configure the capture templates Capture lets you define different templates for the different inputs. Each template has the next elements: @@ -1259,6 +1287,28 @@ There are many tools that do this: They import an `ics` file #### Exporting from orgmode to ics +## Clocking +There is partial support for [Clocking work time](https://orgmode.org/manual/Clocking-Work-Time.html). + +I've changed the default bindings to make them more comfortable: + +```lua +mappings = { + org = { + org_clock_in = "ci", + org_clock_out = "co", + org_clock_cancel = "cx", + org_clock_goto = "cj", + }, + agenda = { + org_agenda_clock_in = "i", + org_agenda_clock_out = "o", + org_agenda_clock_cancel = "x", + org_agenda_clock_goto = "cj", + }, +``` + +In theory you can use the key `R` in any agenda to report the time, although I still find it kind of buggy. ## Other interesting features Some interesting features for the future are: @@ -1840,4 +1890,3 @@ To get a better grasp of Tree-sitter you can check their talks: * [List of supported commands](https://github.com/nvim-orgmode/orgmode/wiki/Feature-Completeness#nvim-org-commands-not-in-emacs) * [Default mappings](https://github.com/nvim-orgmode/orgmode/blob/master/lua/orgmode/config/mappings/init.lua) * [List of plugins](https://github.com/topics/orgmode-nvim) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/orgzly.md b/docs/orgzly.md index c48cc90db99..0c9c55e0e79 100644 --- a/docs/orgzly.md +++ b/docs/orgzly.md @@ -2,6 +2,16 @@ # Troubleshooting +## All files give conflicts when nothing has changed + +Thinks broke bad, so I exported and sent the files I knew had changed since it broke and then I cleared the orgzly by: + +- Removing the repositories connection (Settings / Sync / Repositories): Hard press (copy the path) and then remove +- Removing the database (Settings / Application / Clean local database) +- Restarting the app +- Adding again the repository +- Do a sync + ## Avoid the conflicts in the files edited in two places If you use syncthing you may be seeing conflicts in your files. This happens specially if you use the Orgzly widget to add tasks, this is because it doesn't synchronize the files to the directory when using the widget. If you have a file that changes a lot in a device, for example the `inbox.org` of my mobile, it's interesting to have a specific file that's edited mainly in the mobile, and when you want to edit it elsewhere, you sync as specified below and then process with the editing. Once it's done manually sync the changes in orgzly again. The rest of the files synced to the mobile are for read only reference, so they rarely change. @@ -31,4 +41,3 @@ You can force load or force save a single note with a long tap. - [Home](https://orgzly.com/) - [Alternative docs](https://github.com/orgzly/documentation) - [Alternative fork maintained by the community](https://github.com/orgzly-revived/orgzly-android-revived) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/origami.md b/docs/origami.md index cf7f133b12c..5e515ad7916 100644 --- a/docs/origami.md +++ b/docs/origami.md @@ -18,4 +18,3 @@ discourage the use of cuts, glue, or markings on the paper. section](https://mark1626.github.io/knowledge/#origami), for example the [Clover and Hydrangea Tesslation](https://mark1626.github.io/knowledge/origami/tesslation/clover.html). -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/osmand.md b/docs/osmand.md index 9f3570d5a41..4b7ebbda744 100644 --- a/docs/osmand.md +++ b/docs/osmand.md @@ -28,4 +28,3 @@ maps. * [Home](https://osmand.net) * [Git](https://github.com/osmandapp/OsmAnd) * [Reddit](https://www.reddit.com/r/OsmAnd) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/outrun.md b/docs/outrun.md index e5704bd5cdf..dc6b129ce6a 100644 --- a/docs/outrun.md +++ b/docs/outrun.md @@ -16,4 +16,3 @@ pip install outrun # References * [Git](https://github.com/Overv/outrun) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/park_programming.md b/docs/park_programming.md index 0cf6957766b..fe50e9c6871 100644 --- a/docs/park_programming.md +++ b/docs/park_programming.md @@ -70,4 +70,3 @@ By doing park programming you: # Inconveniences * You'll probably don't be as comfortable as in your common development place. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/parsers.md b/docs/parsers.md index 7c7d33f14de..f4f4d6eddab 100644 --- a/docs/parsers.md +++ b/docs/parsers.md @@ -48,4 +48,3 @@ Random references: # References -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/pass.md b/docs/pass.md index a7c0261fb8a..e5a6a54d46b 100644 --- a/docs/pass.md +++ b/docs/pass.md @@ -6,4 +6,3 @@ - Save [this script](https://raw.githubusercontent.com/carnager/rofi-pass/master/rofi-pass) somewhere in your `$PATH` - Configure your window manager to launch it whenever you need a password. -\n\n[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/pdm.md b/docs/pdm.md index 0de76ad7af0..aad99116af2 100644 --- a/docs/pdm.md +++ b/docs/pdm.md @@ -1171,4 +1171,3 @@ If you want to write a plugin, start - [Git](https://github.com/pdm-project/pdm/) - [Docs](https://pdm.fming.dev/) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/pedal_pc.md b/docs/pedal_pc.md index 9c1c4b9aeda..b1394d03f9e 100644 --- a/docs/pedal_pc.md +++ b/docs/pedal_pc.md @@ -14,4 +14,3 @@ looks unmaintained. # References - [PedalPC Blog](https://www.pedalpc.com/blog/) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/peek.md b/docs/peek.md index 984e2961352..dab818b65f4 100644 --- a/docs/peek.md +++ b/docs/peek.md @@ -24,4 +24,3 @@ With [kitty](kitty.md) it works though :) # References * [Git](https://github.com/phw/peek) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/personal_interruption_analysis.md b/docs/personal_interruption_analysis.md index 617a660c864..b29d11554cc 100644 --- a/docs/personal_interruption_analysis.md +++ b/docs/personal_interruption_analysis.md @@ -119,4 +119,3 @@ That way I only check them when I want to. I have none but I've seen people have a notification each time the music player changes of song. It makes no sense at all. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/pexpect.md b/docs/pexpect.md index 480f2a03412..c2ce708ec88 100644 --- a/docs/pexpect.md +++ b/docs/pexpect.md @@ -93,4 +93,3 @@ assert "WARNING! you took 1 seconds to process the last element" in out # References * [Docs](https://pexpect.readthedocs.io) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/photo_self_hosted.md b/docs/photo_self_hosted.md index 1cb8197f1ba..25c2fe52140 100644 --- a/docs/photo_self_hosted.md +++ b/docs/photo_self_hosted.md @@ -217,4 +217,3 @@ Too simple Low number of maintainers Too simple -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/pilates.md b/docs/pilates.md index c577e1a517d..b958711e55d 100644 --- a/docs/pilates.md +++ b/docs/pilates.md @@ -153,4 +153,3 @@ I've found that Lvl 2 and Lvl 3 give a less pleasant spine rub. * [Pilates anatomy by Rael Isacowitz and Karen Clippinger](https://www.goodreads.com/book/show/10367335-pilates-anatomy): With gorgeous illustrations. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/pipenv.md b/docs/pipenv.md index 01fb2472cbe..17925870988 100644 --- a/docs/pipenv.md +++ b/docs/pipenv.md @@ -58,4 +58,3 @@ Or `pip install pipenv`. # References * [Git](https://github.com/pypa/pipenv) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/pipx.md b/docs/pipx.md index 69b50bb6f5d..f08f87eab96 100644 --- a/docs/pipx.md +++ b/docs/pipx.md @@ -64,4 +64,3 @@ It uses the pip flag `upgrade-strategy` which can be one of: - [Docs](https://pypa.github.io/pipx/) - [Git](https://github.com/pypa/pipx/) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/postgres.md b/docs/postgres.md index a52647abd28..42b0e484b03 100644 --- a/docs/postgres.md +++ b/docs/postgres.md @@ -428,4 +428,3 @@ pg_dump books > /dump/books.out # References - [Postgresql tutorial](https://www.postgresqltutorial.com/) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/postgres_operators.md b/docs/postgres_operators.md index e855147d208..c22b68bbe09 100644 --- a/docs/postgres_operators.md +++ b/docs/postgres_operators.md @@ -1,4 +1,3 @@ Postgres operators let you easily manage Postgres databases inside K8s. There are [many operators](https://blog.palark.com/cloudnativepg-and-other-kubernetes-operators-for-postgresql/) available. I've been using [Zalando's](zalando_postgres_operator.md) because it's the one a partner installed at work. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/process_automation.md b/docs/process_automation.md index 93b65e6dcdd..5f1cd8b842e 100644 --- a/docs/process_automation.md +++ b/docs/process_automation.md @@ -35,4 +35,3 @@ pitfalls of process automation many times: * Using Grocy to maintain the house stock, shopping lists and meal plans. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/process_exporter.md b/docs/process_exporter.md index 797d4694bc1..fd9e9b2fc93 100644 --- a/docs/process_exporter.md +++ b/docs/process_exporter.md @@ -3,4 +3,3 @@ # References - [Source](https://github.com/ncabatoff/process-exporter?tab=readme-ov-file ) - [Grafana dashboard](https://grafana.com/grafana/dashboards/249-named-processes/) -\n\n[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/profanity.md b/docs/profanity.md index 3a0513f03b7..f86086bbe37 100644 --- a/docs/profanity.md +++ b/docs/profanity.md @@ -106,4 +106,3 @@ To quit profanity: * [Home](https://profanity-im.github.io/) * [Quickstart](https://profanity-im.github.io/guide/0111/basic.html) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/projects.md b/docs/projects.md index 34c338b074c..dad1cee697a 100644 --- a/docs/projects.md +++ b/docs/projects.md @@ -702,4 +702,3 @@ Wrapper over other Faker providers to return their value or `None`. Useful to create data of type `Optional[Any]`. Not needed anymore as I use [pydantic factories](pydantic_factories.md) now. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/prompt_toolkit_fullscreen_applications.md b/docs/prompt_toolkit_fullscreen_applications.md index e967ecdd5fc..d0b9d9232a4 100644 --- a/docs/prompt_toolkit_fullscreen_applications.md +++ b/docs/prompt_toolkit_fullscreen_applications.md @@ -456,4 +456,3 @@ def test_j_moves_to_the_next_row(self, pydantic_data: PydanticData) -> None: * [Docs](https://python-prompt-toolkit.readthedocs.io/en/master/) * [Git](https://github.com/prompt-toolkit/python-prompt-toolkit) * [Projects using prompt_toolkit](https://github.com/prompt-toolkit/python-prompt-toolkit/blob/master/PROJECTS.rst) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/prompt_toolkit_repl.md b/docs/prompt_toolkit_repl.md index 13ab4fd683b..b185dff0c3c 100644 --- a/docs/prompt_toolkit_repl.md +++ b/docs/prompt_toolkit_repl.md @@ -75,4 +75,3 @@ Where: [#260](https://github.com/copier-org/copier/pull/260/files) PR into [copier](https://github.com/copier-org/copier), and the comments of [#1243](https://github.com/prompt-toolkit/python-prompt-toolkit/issues/1243) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/promtail.md b/docs/promtail.md index d6af0291f01..702fc1b2ed2 100644 --- a/docs/promtail.md +++ b/docs/promtail.md @@ -278,4 +278,3 @@ Sometimes if you are not seeing the logs in loki it's because the query you're r - [Docs](https://grafana.com/docs/loki/latest/send-data/promtail/) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/psu.md b/docs/psu.md index 173852b9195..3c2ac58ad1f 100644 --- a/docs/psu.md +++ b/docs/psu.md @@ -262,4 +262,3 @@ money is not that big. Therefore I'll go with the Straight Power 11 450W # References * [Linuxhint article on PSU](https://linuxhint.com/pc-power-supply-unit/) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/psychology.md b/docs/psychology.md index 73a5698c7a6..58e51ba5b68 100644 --- a/docs/psychology.md +++ b/docs/psychology.md @@ -2,4 +2,3 @@ # References - [Nice article on mental health by Ncase](https://ncase.me/mental-health/) -\n\n[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/psychology/the_xy_problem.md b/docs/psychology/the_xy_problem.md index 1d2cfc31ea2..6d6fac62ae7 100644 --- a/docs/psychology/the_xy_problem.md +++ b/docs/psychology/the_xy_problem.md @@ -21,4 +21,3 @@ and offering poor solutions. * If someone asks for more information, do provide details. * If there are other solutions you've already ruled out, share why you've ruled them out. This gives more information about your requirements. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/psycopg2.md b/docs/psycopg2.md index e323b350c59..9ea53d06a48 100644 --- a/docs/psycopg2.md +++ b/docs/psycopg2.md @@ -13,4 +13,3 @@ pip install psycopg2 ``` -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/pydantic_factories.md b/docs/pydantic_factories.md index c0067b71f2f..39f78ba4e3b 100644 --- a/docs/pydantic_factories.md +++ b/docs/pydantic_factories.md @@ -287,4 +287,3 @@ class CustomFactory(ModelFactory[Any]): * [Git](https://github.com/Goldziher/pydantic-factories) * [Docs](https://starlite-api.github.io/pydantic-factories/) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/pyment.md b/docs/pyment.md index b0a52e1dc98..eaf5c273131 100644 --- a/docs/pyment.md +++ b/docs/pyment.md @@ -29,4 +29,3 @@ dropped dramatically, so it needs our help to get better :). # References * [Git](https://github.com/dadadel/pyment) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/pytelegrambotapi.md b/docs/pytelegrambotapi.md index 3ad57696c7d..7d6c393ba07 100644 --- a/docs/pytelegrambotapi.md +++ b/docs/pytelegrambotapi.md @@ -97,4 +97,3 @@ asyncio.run(bot.polling()) - [Documentation](https://pytba.readthedocs.io/en/latest/index.html) - [Source](https://github.com/eternnoir/pyTelegramBotAPI) - [Async Examples](https://github.com/eternnoir/pyTelegramBotAPI/tree/master/examples/asynchronous_telebot) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/pytest-xprocess.md b/docs/pytest-xprocess.md index 4b2dc06e137..d0419d60942 100644 --- a/docs/pytest-xprocess.md +++ b/docs/pytest-xprocess.md @@ -97,4 +97,3 @@ def myserver(xprocess): - [Source](https://github.com/pytest-dev/pytest-xprocess) - [Docs](https://pytest-xprocess.readthedocs.io/en/latest/) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/pytest_httpserver.md b/docs/pytest_httpserver.md index 95ad7f467d2..96bcd97c2d6 100644 --- a/docs/pytest_httpserver.md +++ b/docs/pytest_httpserver.md @@ -65,4 +65,3 @@ respond_with_handler(my_handler) # References * [Docs](https://pytest-httpserver.readthedocs.io/en/latest/index.html) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/python-prometheus.md b/docs/python-prometheus.md index cbdabe13015..3fe1827c5d1 100644 --- a/docs/python-prometheus.md +++ b/docs/python-prometheus.md @@ -47,4 +47,3 @@ In addition if you're on Linux the process metrics expose CPU, memory and other - [Source](https://github.com/prometheus/client_python) - [Docs](https://github.com/prometheus/client_python) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/python-telegram.md b/docs/python-telegram.md index 3b858240be4..28e642f12de 100644 --- a/docs/python-telegram.md +++ b/docs/python-telegram.md @@ -98,4 +98,3 @@ References: Even if `python-telegram-bot` is the most popular and with the best docs, I prefer one of the others due to the easier interface. `aiogram`s documentation is kind of crap, and as it's the first time I make a bot I'd rather have somewhere good to look at. So I'd say to go first with `pyTelegramBotAPI` and if it doesn't go well, fall back to `python-telegram-bot`. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/python.md b/docs/python.md index 3ffa16abf81..a4b9dea566b 100644 --- a/docs/python.md +++ b/docs/python.md @@ -184,4 +184,3 @@ The table below shows built-in exceptions that are usually raised in Python: * [Musa 550](https://musa-550-fall-2020.github.io/) looks like a nice way to learn how to process geolocation data. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/python_elasticsearch.md b/docs/python_elasticsearch.md index 202f14fbaa8..850c40b5f04 100644 --- a/docs/python_elasticsearch.md +++ b/docs/python_elasticsearch.md @@ -52,4 +52,3 @@ resp = client.update(index=INDEX, id=id_, doc=doc) - [Docs](https://elasticsearch-py.readthedocs.io/en/latest/) - [Source](https://github.com/elastic/elasticsearch-py) - [TowardsDataScience article](https://towardsdatascience.com/getting-started-with-elasticsearch-in-python-c3598e718380) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/python_gnupg.md b/docs/python_gnupg.md index 5a7d5f9b891..28a08c3531d 100644 --- a/docs/python_gnupg.md +++ b/docs/python_gnupg.md @@ -74,4 +74,3 @@ Note: I've already created an adapter for gpg called `KeyStore` available in [`p - [Docs](https://gnupg.readthedocs.io/en/latest/) - [Source](https://github.com/vsajip/python-gnupg) - [Issues](https://github.com/vsajip/python-gnupg/issues) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/python_internationalization.md b/docs/python_internationalization.md index 8943078e4c8..8f3e8fd275f 100644 --- a/docs/python_internationalization.md +++ b/docs/python_internationalization.md @@ -35,4 +35,3 @@ help extract and generate message catalogs from the source code. * [Phrase blog on Localizing with GNU gettext](https://phrase.com/blog/posts/translate-python-gnu-gettext/) * [Phrase blog on internationalization](https://phrase.com/lp/i18n-manager/) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/python_jinja2.md b/docs/python_jinja2.md index 05cd179a6d4..eb0155ac47a 100644 --- a/docs/python_jinja2.md +++ b/docs/python_jinja2.md @@ -333,4 +333,3 @@ including {{ curly braces }} and # References * [Docs](https://jinja.palletsprojects.com) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/python_mysql.md b/docs/python_mysql.md index 34059641425..6aa5095611f 100644 --- a/docs/python_mysql.md +++ b/docs/python_mysql.md @@ -49,4 +49,3 @@ for db in cursor: * [Git](https://github.com/mysql/mysql-connector-python) * [Docs](https://dev.mysql.com/doc/connector-python/en/) * [RealPython tutorial](https://realpython.com/python-mysql/) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/python_optimization.md b/docs/python_optimization.md index 979478e31e4..5a04cc2882f 100644 --- a/docs/python_optimization.md +++ b/docs/python_optimization.md @@ -100,4 +100,3 @@ it, do so from a virtualenv that installs it directly without the `-e` flag. # References * [Satwik Kansal article on Scout APM](https://scoutapm.com/blog/identifying-bottlenecks-and-optimizing-performance-in-a-python-codebase) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/python_package_management.md b/docs/python_package_management.md index 7eb3d13c98d..f5d8b30d7b3 100644 --- a/docs/python_package_management.md +++ b/docs/python_package_management.md @@ -160,4 +160,3 @@ more PEP standards. * [John Franey comparison](https://johnfraney.ca/posts/2019/03/06/pipenv-poetry-benchmarks-ergonomics/) * [Frost Ming comparison (developer of PDM)](https://frostming.com/2021/03-26/pm-review-2021/#result) * [Henry Schreiner analysis on Poetry](https://iscinumpy.dev/post/poetry-versions/) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/python_plugin_system.md b/docs/python_plugin_system.md index 9cf398122ec..9415d78e38f 100644 --- a/docs/python_plugin_system.md +++ b/docs/python_plugin_system.md @@ -12,4 +12,3 @@ until I tackle it. * [Beets plugin system](https://beets.readthedocs.io/en/stable/dev/plugins.html) looks awesome. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/python_poetry.md b/docs/python_poetry.md index 2878eea10b0..3e0f6077ff7 100644 --- a/docs/python_poetry.md +++ b/docs/python_poetry.md @@ -731,4 +731,3 @@ show internet/pypi.token)`. Although I can't find where it's storing the value * [Git](https://github.com/python-poetry/poetry) * [Docs](https://python-poetry.org/docs/) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/python_profiling.md b/docs/python_profiling.md index 998aa455fb5..e08b0a6f090 100644 --- a/docs/python_profiling.md +++ b/docs/python_profiling.md @@ -218,4 +218,3 @@ And [memray](https://bloomberg.github.io/memray/) looks very promising. # References * [Antonio Molner article on Python Profiling](https://medium.com/@antoniomdk1/hpc-with-python-part-1-profiling-1dda4d172cdf) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/python_properties.md b/docs/python_properties.md index 4c9c4f6e6a2..95eb98d3eb1 100644 --- a/docs/python_properties.md +++ b/docs/python_properties.md @@ -170,4 +170,3 @@ class C(ABC): If you want to use an abstract setter, you'll encounter the mypy `Decorated property not supported` error, you'll need to add a `# type: ignore` until [this issue is solved](https://github.com/python/mypy/issues/1362). -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/python_protocols.md b/docs/python_protocols.md index 8edfb9710b7..b6019b421b1 100644 --- a/docs/python_protocols.md +++ b/docs/python_protocols.md @@ -135,4 +135,3 @@ if isinstance(mug, Portable): # Works at runtime! # References - [Mypy article on protocols](https://mypy.readthedocs.io/en/stable/protocols.html) - [Predefined protocols reference](https://mypy.readthedocs.io/en/stable/protocols.html#predefined-protocol-reference) -\n\n[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/python_sh.md b/docs/python_sh.md index 53830dc7a7b..67884b4083d 100644 --- a/docs/python_sh.md +++ b/docs/python_sh.md @@ -358,4 +358,3 @@ pass_command('show', 'new_file') * [Docs](https://sh.readthedocs.io/en/latest/) * [Git](https://github.com/amoffat/sh) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/python_systemd.md b/docs/python_systemd.md index c89db7744b0..1d86162c12c 100644 --- a/docs/python_systemd.md +++ b/docs/python_systemd.md @@ -13,4 +13,3 @@ sudo apt install python3-systemd # References - [Source](https://github.com/systemd/python_systemd) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/python_vlc.md b/docs/python_vlc.md index 1e3134ce497..eae4c8ca70c 100644 --- a/docs/python_vlc.md +++ b/docs/python_vlc.md @@ -85,4 +85,3 @@ There are the next playback modes: * [Home](https://wiki.videolan.org/Python_bindings/) * [Source](https://git.videolan.org/?p=vlc/bindings/python.git;a=summary) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/pythonping.md b/docs/pythonping.md index a58f7344225..e7a72358b84 100644 --- a/docs/pythonping.md +++ b/docs/pythonping.md @@ -122,4 +122,3 @@ You can also tune your ping by using some of its additional parameters: - [Git](https://github.com/alessandromaggio/pythonping) - [ictshore article on pythonping](https://www.ictshore.com/python/python-ping-tutorial/) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/qbittorrent.md b/docs/qbittorrent.md index 16ad9323075..ef70f8e3452 100644 --- a/docs/qbittorrent.md +++ b/docs/qbittorrent.md @@ -100,4 +100,3 @@ Sometimes the issue comes from an improvable configuration. In advanced: - [Home](https://www.qbittorrent.org/) - [Source](https://github.com/qbittorrent/qBittorrent/) - [FAQ](https://github.com/qbittorrent/qBittorrent/wiki/Frequently-Asked-Questions#will-private-torrent-be-affected-by-dht-and-pex-in-qbittorrent) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/questionary.md b/docs/questionary.md index f2af2678e55..5e2136fb0c0 100644 --- a/docs/questionary.md +++ b/docs/questionary.md @@ -264,4 +264,3 @@ To test questionary code, follow the guidelines of - [Docs](https://questionary.readthedocs.io) - [Git](https://github.com/tmbo/questionary) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/qwik.md b/docs/qwik.md index f1fe5089f57..94b6251a9f9 100644 --- a/docs/qwik.md +++ b/docs/qwik.md @@ -16,4 +16,3 @@ presentation](https://www.youtube.com/watch?v=0dC11DMR3fU&t=154s). * [Home](https://qwik.builder.io) * [Git](https://github.com/BuilderIO/qwik) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/rabbitmq.md b/docs/rabbitmq.md new file mode 100644 index 00000000000..407e289b410 --- /dev/null +++ b/docs/rabbitmq.md @@ -0,0 +1,21 @@ +[Rabbitmq](https://www.rabbitmq.com/) is a reliable and mature messaging and streaming broker, which is easy to deploy on cloud environments, on-premises, and on your local machine. + +# Installation + +## Check that it's working + +If RabbitMQ's Management Plugin is enabled, you can use a browser or curl to check the status of the server: + +```bash +curl -i http://:15672/api/overview +``` +Replace `` with your RabbitMQ server’s hostname or IP address. The default port for the management interface is 15672. You might need to provide credentials if the management plugin requires authentication: + +```bash +curl -i -u guest:guest http://:15672/api/overview +``` + +If successful, you will get a JSON response with information about the server. + +# References +- [Home](https://www.rabbitmq.com/) diff --git a/docs/ram.md b/docs/ram.md index 0b357552e4a..cca77c0c6da 100644 --- a/docs/ram.md +++ b/docs/ram.md @@ -130,4 +130,3 @@ RAM fitment issues. # References - [How to choose RAM: Speed vs Capacity](https://www.cclonline.com/article/1884/Guide/Desktop-Memory/How-to-Choose-RAM-Speed-MHz-CL-vs-Capacity-GB-/?__cf_chl_f_tk=g_qEntxC5HyO6sQoJNGJGclCY0Iw3jCcjRpeVSpZbGM-1665758062-0-gaNycGzNBj0) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/rasdaemon.md b/docs/rasdaemon.md index 1eaadc5bd71..a929be9ba69 100644 --- a/docs/rasdaemon.md +++ b/docs/rasdaemon.md @@ -101,4 +101,3 @@ groups: # References - [Source](https://github.com/mchehab/rasdaemon) -\n\n[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/redox.md b/docs/redox.md index 8caa98ebdeb..33b6b7d9797 100644 --- a/docs/redox.md +++ b/docs/redox.md @@ -29,4 +29,3 @@ launch it with `via-nativia`. # References - [Git](https://github.com/mattdibi/redox-keyboard) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/refinement_template.md b/docs/refinement_template.md index 2825e424495..4c4d866d347 100644 --- a/docs/refinement_template.md +++ b/docs/refinement_template.md @@ -44,4 +44,3 @@ proposed tasks. With this proposed plan we'll: * -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/regicide.md b/docs/regicide.md index 2ac0c940c08..cfb04a87260 100644 --- a/docs/regicide.md +++ b/docs/regicide.md @@ -138,4 +138,3 @@ we played one without counting and it was playable, will test the other soon. # References * [Homepage](https://www.badgersfrommars.com/) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/relationship_management.md b/docs/relationship_management.md index 016a337ca3e..b59d41c5123 100644 --- a/docs/relationship_management.md +++ b/docs/relationship_management.md @@ -18,4 +18,3 @@ Recently I've found [Monica](monica.md) a popular open source personal CRM that helps in the same direction. So I'm going to migrate all my information to the system and see how it goes. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/remote_work.md b/docs/remote_work.md index a0cfba49ddc..e805f3a1c6d 100644 --- a/docs/remote_work.md +++ b/docs/remote_work.md @@ -101,4 +101,3 @@ your work experience can be: If you have a remote work contract, make sure that your employer pays for any upgrades, it's their responsibility. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/renovate.md b/docs/renovate.md index bd22a147b59..a23ebb42093 100644 --- a/docs/renovate.md +++ b/docs/renovate.md @@ -43,4 +43,3 @@ By default: # References * [Docs](https://docs.renovatebot.com/) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/requests.md b/docs/requests.md index 0ebe7dfdefe..adcea3c2916 100644 --- a/docs/requests.md +++ b/docs/requests.md @@ -94,4 +94,3 @@ r = requests.get(url, headers=headers, proxies=proxies) # References * [Docs](https://requests.readthedocs.io) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/retroarch.md b/docs/retroarch.md index d19e4cafb90..676137d3dfc 100644 --- a/docs/retroarch.md +++ b/docs/retroarch.md @@ -29,4 +29,3 @@ Dive through the menus until you find a way to update the assets - [Home](https://www.retroarch.com/) - [Docs](https://docs.libretro.com/) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/rich.md b/docs/rich.md index 4a7c5c58a0c..f54352693f1 100644 --- a/docs/rich.md +++ b/docs/rich.md @@ -170,4 +170,3 @@ def load_logger(verbose: bool = False) -> None: * [Git](https://github.com/willmcgugan/rich) * [Docs](https://rich.readthedocs.io/en/latest/) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/roadmap_adjustment.md b/docs/roadmap_adjustment.md index 038a27631ea..b35efd26615 100644 --- a/docs/roadmap_adjustment.md +++ b/docs/roadmap_adjustment.md @@ -48,7 +48,7 @@ Reviews are proceses to stop your daily life and do introspections to gather ins Reviews can be done at different levels of purpose, each level gives you different benefits. - [Personal integrity review](#personal-integrity-review) -- [Trimester review](#trimester-review) +- [Quarter review](#quarter-review) - [Year review](#year-review) ### Reviews guidelines @@ -71,7 +71,7 @@ Life planning can be done at different levels. All of them help you in different - [Day plan](#make-a-day-plan). - [Week plan](#week-plan) - Month plan. -- Trimester plan. +- Quarter plan. - Year plan. # Roadmap adjustments by abstraction level ## [Step](time_management_abstraction_levels.md#step) @@ -533,7 +533,7 @@ Finally pat yourself in the shoulder as you've finished the review ^^. Objectives are: - Identify deadlines. -- Define the month objectives according to the trimester plan and the insights gathered in the past month review. +- Define the month objectives according to the quarter plan and the insights gathered in the past month review. - Make your backlog and todo list match the month objectives - Define the topics to learn - Define the habits to incorporate @@ -579,15 +579,15 @@ To be able to make a good decision on your month's path you need to sort out whi Create the month objectives in your roadmap file after addressing each element of: -- The trimester objectives of your roadmap. - - You can add notes on the trimester objectives +- The quarter objectives of your roadmap. + - You can add notes on the quarter objectives - The `planning_box.org` file Then reorder the objectives in order of priority. Try to have at least one objective that improves your life. #### Decide the next steps -- For each of your month and trimester objectives: +- For each of your month and quarter objectives: - Decide whether it makes sense to address it this month. If not, mark it as inactive - Create a clear plan of action for this month on that objective. - Reorder the projects as needed @@ -602,8 +602,7 @@ Then reorder the objectives in order of priority. Try to have at least one objec - Tweak your *reading list*. - Tweak your learning list. - Tweak your *habit manager system*. - -## Dream about the trimester +## Dream about the quarter Now that we know how to read and react to the signals our inner self sends we are in a better position to align our roadmap with what we understand for a fulfilling life. We'll get into the philosophical ground of discovering life's meaning. I wanted to say answer the question, but I'm increasingly convinced that there is no answer and that the best we can aim to is to leave our thoughts guide us without any certainty. @@ -612,23 +611,23 @@ At this level we'll need to increase the level of abstraction, and for that we'l - [Axis](time_management_abstraction_levels.md#axis): A group of areas that fit together under the same umbrella. - [Essential intent]() -### Trimester review -The objectives of the trimester review are: +### Quarter review +The objectives of the quarter review are: - Identify the essential intent you want to follow on each [axis](time_management_abstraction_levels.md#axis) of your life. -- Identify the areas to focus on for the trimester -- Review the previous trimester tactics +- Identify the areas to focus on for the quarter +- Review the previous quarter tactics The objectives are not: - To review what you've done or why you didn't get there. -#### When to do the trimester reviews +#### When to do the quarter reviews As with [personal integrity review](#personal-integrity-review), it's interesting to do analysis at representative moments. It gives it an emotional weight. You can for example use the solstices or my personal version of the solstices: - Spring analysis (1st of March): For me the spring is the real start of the year, it's when life explodes after the stillness of the winter. The sun starts to set later enough so that you have light in the afternoons, the climate gets warmer thus inviting you to be more outside, the nature is blooming new leaves and flowers. It is then a moment to build new projects and set the current year on track. -- Summer analysis (1st of June): I hate heat, so summer is a moment of retreat. Everyone temporarily stop their lives, we go on holidays and all social projects slow their pace. Even the news have even less interesting things to report. It's so hot outside that some of us seek the cold refuge of home or remote holiday places. Days are long and people love to hang out till late, so usually you wake up later, thus having less time to actually do stuff. Even in the moments when you are alone the heat drains your energy to be productive. It is then a moment to relax and gather forces for the next trimester. It's also perfect to develop *easy* and *chill* personal projects that have been forgotten in a drawer. Lower your expectations and just flow with what your body asks you. +- Summer analysis (1st of June): I hate heat, so summer is a moment of retreat. Everyone temporarily stop their lives, we go on holidays and all social projects slow their pace. Even the news have even less interesting things to report. It's so hot outside that some of us seek the cold refuge of home or remote holiday places. Days are long and people love to hang out till late, so usually you wake up later, thus having less time to actually do stuff. Even in the moments when you are alone the heat drains your energy to be productive. It is then a moment to relax and gather forces for the next quarter. It's also perfect to develop *easy* and *chill* personal projects that have been forgotten in a drawer. Lower your expectations and just flow with what your body asks you. - Autumn analysis (1st of September): September it's another key moment for many people. We have it hardcoded in our life since we were children as it was the start of school. People feel energized after the summer holidays and are eager to get back to their lives and stopped projects. You're already 6 months into the year, so it's a good moment to review your year plan and decide where you want to put your energy reserves. @@ -636,25 +635,44 @@ As with [personal integrity review](#personal-integrity-review), it's interestin - Think everything you need to guarantee a good, solid and powerful spring start. - Do the year review to adjust your principles. -The year is then divided in two sets of an expansion trimester and a retreat one. We can use this information to adjust our life plan accordingly. In the expansion trimester we could invest more energies in the planning, and in the retreat ones we can do more throughout reviews. +The year is then divided in two sets of an expansion quarter and a retreat one. We can use this information to adjust our life plan accordingly. In the expansion quarter we could invest more energies in the planning, and in the retreat ones we can do more throughout reviews. -#### Trimester review phases +#### Quarter review phases We'll divide the review process in these phases: -- [Gather](#trimester-review-gather) -- [Prepare](#trimester-review-prepare) -- [Discover](#trimester-review-discover) -- [Analyze](#trimester-review-analyze) -- [Decide](#trimester-review-decide) +- [Gather](#quarter-review-gather) +- [Prepare](#quarter-review-prepare) +- [Discover](#quarter-review-discover) +- [Analyze](#quarter-review-analyze) +- [Decide](#quarter-review-decide) -##### Trimester review gather +##### Quarter review gather -The trimester review requires an analysis that doesn't fill in a day session. It requires slow thinking and desire reading over some time. So I'm creating a task 30 days before the actual review to start gathering information about the next trimester. Whether it's ideas, plans, desires or objectives. +The quarter review requires an analysis that doesn't fill in a day session. It requires slow thinking and desire reading over some time. So I'm creating a task 30 days before the actual review to start gathering information about the next quarter. Whether it's ideas, plans, desires or objectives. ```org -* TODO Think on the next trimester +* TODO Think on the next quarter +** How to improve the next review +** How would you change your week distribution +*** Constraints +*** Possibilities +*** Conclusion +**** Monday +**** Tuesday +**** Wednesday +**** Thursday +**** Friday +**** Saturday +**** Sunday +**** Notes +** Quarter essential intent ** Axis 1 +*** Essential intent +*** Areas +**** Area 1 +***** Area question 1 +***** ... *** Ideas *** Plans *** Desires @@ -663,13 +681,18 @@ The trimester review requires an analysis that doesn't fill in a day session. It ... ``` +Where: + +- The area questions can be chosen from the ones in the [area review section](#area-review) +- The week distribution review sections are explained below + Is useful for that document to be available wherever you go, so that in any spare time you can pop it up and continue with the train of thought. Doing the reflection without seeing your life path prevents you from being tainted by it, thus representing the real you of right now. -On the day to actually do the review, follow the steps of the [Month review prepare](#month-prepare) adjusting them to the trimester case. +On the day to actually do the review, follow the steps of the [Month review prepare](#month-prepare) adjusting them to the quarter case. -##### Trimester review prepare +##### Quarter review prepare It's important that you prepare your environment for the review. You need to be present and fully focused on the process itself. To do so you can: @@ -690,7 +713,7 @@ To record the results of the review create the file `references/reviews/YYYY_MM_ ```org ``` -##### Trimester review discover +##### Quarter review discover ###### Do an overall area review @@ -704,39 +727,81 @@ For each axis: - Follow the steps of the [area review](#area-review). - Summarise your insights in an "area intent". +####### Define the areas' objectives +I've had a hard time choosing how must those objectives be defined. Should they be generic? or would it be better for them to be concrete and measurable? + +Given the mindset of this review, it's better to have generic open goals. As you climb up the abstraction ladder and work with greater time slots you need to reduce the precision because you have more uncertainty. You don't know what's going to happen tomorrow so adding hard [SMART goals](https://en.wikipedia.org/wiki/SMART_criteria) is unrealistic and a certain path to frustration. + +They should be guidelines that help you define the direction of where do you want to go and leave to the lower abstraction level reviews particularize those principles into more specific goals. + +- Create a new review document with the next structure: + + ```orgmode + * Area objectives + ** Area 1 + ``` +- Put a timer of 20 mins and for each of the areas answer the next questions (remember to make it general and not project dependent): + - What differences will the area have in three months? + +- Complete your gathered results by: + - Reading the current area document objectives + - Gather more objectives through skimming through the projects of the areas + - Your gathered notes in `think.org`. +###### Review the previous quarter area tactics +- Review what are you doing in the area +- Review what you should be doing + ###### Define the essential intent of the axis [axis](time_management_abstraction_levels.md#axis) ###### Refactor your gathered thoughts -If you've followed the prepare steps, you've already been making up your mind on what do you want the next trimester to look like. Now it's the time to refine those thoughts. +If you've followed the prepare steps, you've already been making up your mind on what do you want the next quarter to look like. Now it's the time to refine those thoughts. -In your roadmap document add a new section for the incoming trimester similar to: +In your roadmap document add a new section for the incoming quarter similar to: ```orgmode * Roadmap ** 2024 *** Summer 2024 **** Essential intent -**** Trimester analysis -**** Trimester objectives +**** Quarter analysis +**** Quarter objectives ***** TODO Objective 1 ****** TODO SubObjective 1 ``` Go *one by one* (don't peek!) of your gathered items and translate them in the next sections: -- `Trimester analysis`: A text with as many paragraphs as you need to order your thoughts -- `Trimester objectives`: These can be concrete emotional projects you want to carry through. -- `Essential intent`: This is the main headline of your trimester, probably you won't be able to define it until the last parts of the review process. It should be concrete and emotional too, it's going to be the idea that gives you strength on your weak moments and your guide to decide which projects to do and which not to. +- `Quarter analysis`: A text with as many paragraphs as you need to order your thoughts +- `Quarter objectives`: These can be concrete emotional projects you want to carry through. +- `Essential intent`: This is the main headline of your quarter, probably you won't be able to define it until the last parts of the review process. It should be concrete and emotional too, it's going to be the idea that gives you strength on your weak moments and your guide to decide which projects to do and which not to. Don't be too concerned on the format of the content of the objectives, this is the first draft, and we'll refine it through the planning. -### Trimester planning +### Quarter planning + +#### Week distribution planning + +Choosing what you do each day of your week greatly affects what will you end up doing at the end of the quarter. It's easy to follow life's inertia without questioning if your perfect week distribution keeps on making sense. You may feel friction without realising it. + +Reviewing your distribution quarterly makes a lot of sense as it's the order of magnitude of the characteristic time length of the changes that affect your week. This is true both to the factors that make you need the change and to test that the introduced changes results. + +In the quarter review gathering document we're recording: + +- Constraints: Here is the place to list all the things you need to keep in mind in order to build the schedule: recurrent appointments, activities you want to pursue, ... +- Possibilities: This is your draft to think about the constrains and propose possible solutions to meet the most part of them +- Conclusion: Is the final design of your week day by day, hour by hour (if you need it!) + +In theory all this analysis should be done the month before the planning, so at that moment you'll only need to refactor your decision into the `decisions.org` file. +#### Quarter analyze +##### Choose the quarter area tactics +#### Quarter decide +##### Order, prioritize and choose the area objectives +#Gather them in the roadmap document. # References ## Books - "Four thousand weeks" by Oliver Burkeman -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/roadmap_tools.md b/docs/roadmap_tools.md index d5d3b225ad8..da3f298e7e8 100644 --- a/docs/roadmap_tools.md +++ b/docs/roadmap_tools.md @@ -201,4 +201,3 @@ To make it easy to follow the pomodoro plan I use a script that: * [GTD](https://en.wikipedia.org/wiki/Getting_Things_Done) time management framework. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/rocketchat.md b/docs/rocketchat.md index d39b1590243..091bf8bc2d6 100644 --- a/docs/rocketchat.md +++ b/docs/rocketchat.md @@ -146,4 +146,3 @@ If you want to do more complex things uncomment the part of the attachments. - [Code]() - [End of life for the versions](https://docs.rocket.chat/docs/version-durability) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/rofi.md b/docs/rofi.md index b701997601a..d66f45d9a68 100644 --- a/docs/rofi.md +++ b/docs/rofi.md @@ -75,4 +75,3 @@ Other interesting references are: - [Source](https://github.com/davatorium/rofi?tab=readme-ov-file) - [Docs](https://davatorium.github.io/rofi/) - [Plugins](https://github.com/davatorium/rofi/wiki/User-scripts) -\n\n[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/route_management.md b/docs/route_management.md index 80df4060726..93f01f345bc 100644 --- a/docs/route_management.md +++ b/docs/route_management.md @@ -28,4 +28,3 @@ To analyze which hiking routes are available in a zone I'm following the next pr - [ ] For each of the chosen routes - [ ] Search the track in wikiloc if it's missing - [ ] Import the track in [OsmAnd+](osmand.md) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/rss.md b/docs/rss.md index 52cfe5df45d..a87dba54224 100644 --- a/docs/rss.md +++ b/docs/rss.md @@ -48,4 +48,3 @@ But now in 2021, for most of us, social media is very not fun and not convenient And that's all, folks! Now you know how to escape the attention-draining, empathy-killing, critical-thought-suffocating siren song of the algorithms. And get your inbox less cluttered with newsletters. Here's to a renaissance for a kinder, better web. 💖 -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/rtorrent.md b/docs/rtorrent.md index 717820c0b1d..4752b73a9de 100644 --- a/docs/rtorrent.md +++ b/docs/rtorrent.md @@ -24,4 +24,3 @@ you'll get more information on why `rtorrent` is not starting. - [Source](https://github.com/rakshasa/rtorrent) - [Docs](https://github.com/rakshasa/rtorrent/wiki) - [Community docs](https://rtorrent-docs.readthedocs.io/en/latest/) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/sanoid.md b/docs/sanoid.md index 82439c44ef2..2ec232e0c66 100644 --- a/docs/sanoid.md +++ b/docs/sanoid.md @@ -319,4 +319,3 @@ If you really want to put in the effort, you can even take a look at which `zfs` * [Source](https://github.com/jimsalterjrs/sanoid/) * [Docs](https://github.com/jimsalterjrs/sanoid/wiki) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/scrum.md b/docs/scrum.md index 15bea87adae..c4a5144778b 100644 --- a/docs/scrum.md +++ b/docs/scrum.md @@ -470,4 +470,3 @@ A task needs to meet the following criteria before being closed. * [ ] All changes must be documented. * [ ] All related pull requests must be merged. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/sed.md b/docs/sed.md index 6bd4db8ad99..620d2a5e4e2 100644 --- a/docs/sed.md +++ b/docs/sed.md @@ -47,4 +47,3 @@ sed '$d' -i file.txt ```bash sed '1d' -i file.txt ``` -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/seedvault.md b/docs/seedvault.md index 92df73878d5..c8d3002af0e 100644 --- a/docs/seedvault.md +++ b/docs/seedvault.md @@ -28,4 +28,3 @@ If you don't like those options, you can also store the backup in the phone and * [Home](https://calyxinstitute.org/projects/seedvault-encrypted-backup-for-android) * [Source](https://github.com/seedvault-app/seedvault) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/selenium.md b/docs/selenium.md index 0ef9bf7264d..1646f106851 100644 --- a/docs/selenium.md +++ b/docs/selenium.md @@ -554,4 +554,3 @@ of starting from scratch. Ugly I know... log](https://github.com/mozilla/geckodriver/issues/284): Update the section above and start using Firefox instead of Chrome when you need to get the status code of the responses. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/semantic_versioning.md b/docs/semantic_versioning.md index f0fc0758089..ef5bb1dd7f6 100644 --- a/docs/semantic_versioning.md +++ b/docs/semantic_versioning.md @@ -436,4 +436,3 @@ These libraries can be used to interact with a git history of commits that follow the semantic versioning [commit guidelines](#commit-message-guidelines). * [python-semantic-release](https://python-semantic-release.readthedocs.io) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/shag.md b/docs/shag.md index 59f5c5e308f..0be491cf2b3 100644 --- a/docs/shag.md +++ b/docs/shag.md @@ -21,4 +21,3 @@ Collection of shag videos: - [Dragon Swing 2016](https://yewtu.be/watch?v=QGJAIKyW7r4) - [Warsaw Shag Festival 2018](https://yewtu.be/watch?v=0DHUfThIrlA) - [Warsaw Shag Festival 2017](https://yewtu.be/watch?v=6wasM8nF9gg) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/shellcheck.md b/docs/shellcheck.md index 4c7137a5707..622bb47115c 100644 --- a/docs/shellcheck.md +++ b/docs/shellcheck.md @@ -64,4 +64,3 @@ The correct code is cleaner and stops at the first matching line, avoiding both - [Source](https://github.com/koalaman/shellcheck) - [Docs](https://www.shellcheck.net/wiki/Home) - [Home](https://www.shellcheck.net/) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/siem.md b/docs/siem.md index 028fd30cdfa..fe6b31b29cd 100644 --- a/docs/siem.md +++ b/docs/siem.md @@ -2,4 +2,3 @@ Open source SIEMs: - [Wazuh](https://wazuh.com/) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/signal.md b/docs/signal.md index 8286c8bfdea..3512a494a5b 100644 --- a/docs/signal.md +++ b/docs/signal.md @@ -98,4 +98,3 @@ I'd first try to use [signal-black](https://github.com/xeals/signal-back). # References * [Home]() -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/sister_rosetta_tharpe.md b/docs/sister_rosetta_tharpe.md index 10a511e3bc1..3e216ed8426 100644 --- a/docs/sister_rosetta_tharpe.md +++ b/docs/sister_rosetta_tharpe.md @@ -8,4 +8,3 @@ In [this video](https://yewtu.be/watch?v=JeaBNAXfHfQ) you'll be able to understa - [Up Above my head](https://yewtu.be/watch?v=JeaBNAXfHfQ) - [Didn't it rain? 1964](https://yewtu.be/watch?v=Y9a49oFalZE) - [Nice Best of compilation](https://yewtu.be/watch?v=UnDMangsOMc) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/sleep.md b/docs/sleep.md index b5a23f19cba..7e5347867fe 100644 --- a/docs/sleep.md +++ b/docs/sleep.md @@ -351,4 +351,3 @@ of information at different moments in time and in different ways. * [Why we sleep book by Matthew Walker](https://www.goodreads.com/book/show/34466963-why-we-sleep) - [The forgotten medieval habit of two sleeps](https://www.bbc.com/future/article/20220107-the-lost-medieval-habit-of-biphasic-sleep) - [Jet lag calculator](https://www.sleepjunkie.com/jet-lag-calculator/) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/spaced_repetition.md b/docs/spaced_repetition.md index 69782e82a2b..3b76cf7b78b 100644 --- a/docs/spaced_repetition.md +++ b/docs/spaced_repetition.md @@ -3,4 +3,3 @@ - https://collegeinfogeek.com/spaced-repetition-memory-technique/ - [The leitner box](https://www.youtube.com/watch?v=uvF1XuseZFE) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/speech_recognition.md b/docs/speech_recognition.md index 756859fb4af..2654311e012 100644 --- a/docs/speech_recognition.md +++ b/docs/speech_recognition.md @@ -60,4 +60,3 @@ text = recognizer.recognize_whisper(audio, initial_prompt="your desired words") # References - [Source](https://github.com/Uberi/speech_recognition?tab=readme-ov-file) - [Real Python introduction](https://realpython.com/python-speech-recognition/) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/sponsor.md b/docs/sponsor.md index 60f8b21ac7f..cd306ac314b 100644 --- a/docs/sponsor.md +++ b/docs/sponsor.md @@ -75,4 +75,3 @@ Try to avoid Paypal and use Stripe for both platforms. [5]: https://ko-fi.com/gold [6]: https://www.buymeacoffee.com/ [7]: https://github.com/sponsors -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/sqlite.md b/docs/sqlite.md index 8451a4479cd..8bca9911919 100644 --- a/docs/sqlite.md +++ b/docs/sqlite.md @@ -145,4 +145,3 @@ CREATE TABLE IF NOT EXISTS foo (id INTEGER PRIMARY KEY, bar INT) relational database, which uses SQLite as its storage engine. Forming a cluster is very straightforward, it gracefully handles leader elections, and tolerates failures of machines, including the leader. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/sqlite3.md b/docs/sqlite3.md index c072c6e5460..62f1cde3579 100644 --- a/docs/sqlite3.md +++ b/docs/sqlite3.md @@ -203,4 +203,3 @@ The error message **"database or disk is full"** in SQLite typically indicates t # References * [Docs](https://docs.python.org/3/library/sqlite3.html) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/storage.md b/docs/storage.md index d8ff713faa0..63c7905f1fa 100644 --- a/docs/storage.md +++ b/docs/storage.md @@ -41,4 +41,3 @@ Both are robust and flexible but I'm more inclined towards building a [NAS](nas.md) because it can hold the amount of data that I need, it's easier to maintain and the underlying technology has been more battle proven throughout the years. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/strategy.md b/docs/strategy.md index cc07cf00e9f..7e007ddcf9b 100644 --- a/docs/strategy.md +++ b/docs/strategy.md @@ -48,4 +48,3 @@ The strategist must have a great capacity for both analysis and synthesis; analysis is necessary to assemble the data on which he makes his diagnosis, synthesis in order to produce from these data the diagnosis itself—and the diagnosis in fact amounts to a choice between alternative courses of action. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/sudokus.md b/docs/sudokus.md index 9bb76095640..27d1347ad93 100644 --- a/docs/sudokus.md +++ b/docs/sudokus.md @@ -17,4 +17,3 @@ solution. * [Hidden pairs](https://www.learn-sudoku.com/hidden-pairs.html). * [Hidden triplets](https://www.learn-sudoku.com/hidden-triplets.html). * [Naked triplets](https://www.learn-sudoku.com/naked-triplets.html). -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/systems_thinking.md b/docs/systems_thinking.md index 8ebff298d38..1356afa43bd 100644 --- a/docs/systems_thinking.md +++ b/docs/systems_thinking.md @@ -3,4 +3,3 @@ # References - [Bryan Lindsey book list](https://bryanlindsley.com/greatest-systems-thinking-books/#applied-complexity-tools-for-practitioners) - [Goodreads list](https://www.goodreads.com/shelf/show/systems-thinking) -\n\n[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/tahoe.md b/docs/tahoe.md index f858ffcdba0..7f3d959900f 100644 --- a/docs/tahoe.md +++ b/docs/tahoe.md @@ -68,4 +68,3 @@ apt-get install python-idna * [Git](https://github.com/tahoe-lafs/tahoe-lafs) * [Docs](https://tahoe-lafs.readthedocs.io/en/latest/) * [Issues](https://tahoe-lafs.org/trac/tahoe-lafs) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/tails.md b/docs/tails.md index 1908a522b5f..aa3cc05d677 100644 --- a/docs/tails.md +++ b/docs/tails.md @@ -61,4 +61,3 @@ Don't do it, they say it it will break Tails although I don't understand why - [Home](https://tails.net/index.en.html) - [Docs](https://tails.net/doc/index.en.html) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/talkey.md b/docs/talkey.md index 092473b1a8d..8c43a597010 100644 --- a/docs/talkey.md +++ b/docs/talkey.md @@ -58,4 +58,3 @@ tts.say("La cabra siempre tira al monte") * [Git](https://github.com/grigi/talkey) * [Docs](http://talkey.readthedocs.org/) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/teeth.md b/docs/teeth.md index 629207a9b78..7796fbcd46f 100644 --- a/docs/teeth.md +++ b/docs/teeth.md @@ -265,4 +265,3 @@ Once you have it, yearly go to their dreaded places so they can: * [Wikipedia oral hygiene article](https://en.wikipedia.org/wiki/Oral_hygiene) * [CNN health article on oral hygiene](https://edition.cnn.com/2019/05/03/health/dental-health-tips-partner/index.html) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/teeth_deep_cleaning.md b/docs/teeth_deep_cleaning.md index 877135b2058..6bc0615b249 100644 --- a/docs/teeth_deep_cleaning.md +++ b/docs/teeth_deep_cleaning.md @@ -167,4 +167,3 @@ The process carries it's risks, such as: So, ask the opinion of two or three independent dentists before doing a deep clean. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/telescope.md b/docs/telescope.md index cc09ae2e9f3..4c64725ef6b 100644 --- a/docs/telescope.md +++ b/docs/telescope.md @@ -1,4 +1,3 @@ # References - [Source](https://github.com/nvim-telescope/telescope.nvim) - [Wiki](https://github.com/nvim-telescope/telescope.nvim/wiki) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/tenacity.md b/docs/tenacity.md index fa6d32218d3..aa19356c6dc 100644 --- a/docs/tenacity.md +++ b/docs/tenacity.md @@ -188,4 +188,3 @@ def do_something(): * [Git](https://github.com/jd/tenacity) * [Docs](https://tenacity.readthedocs.io/en/latest/) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/terraform.md b/docs/terraform.md index e99d27cbee7..5ed2e79f244 100644 --- a/docs/terraform.md +++ b/docs/terraform.md @@ -944,4 +944,3 @@ aws_instance.server.*.id * [GCloud examples](https://github.com/mjuenema/Terraform-Up-and-Running-Code-Samples-Translated/) * [Good and bad sides of terraform](https://charity.wtf/2016/02/23/two-weeks-with-terraform/) * [Awesome Terraform](https://github.com/shuaibiyy/awesome-terraform) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/time_management.md b/docs/time_management.md index 7b19b2a63d7..933a2876001 100644 --- a/docs/time_management.md +++ b/docs/time_management.md @@ -283,4 +283,3 @@ Some of the vectors you can focus on to improve your state are: - [Four thousand weeks: Time management for mortals book by Oliver Burkeman](https://en.wikipedia.org/wiki/Four_Thousand_Weeks:_Time_Management_for_Mortals) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/time_management_abstraction_levels.md b/docs/time_management_abstraction_levels.md index 70b492b614a..8022a4119bb 100644 --- a/docs/time_management_abstraction_levels.md +++ b/docs/time_management_abstraction_levels.md @@ -9,7 +9,6 @@ To be able to manage the complexity of the life roadmap we can use models for di - [Goal](#goal) - [Vision](#vision) - [Purpose and principles](#purpose-and-principles) - ## Step Is the smallest unit in our model, it's a clear representation of an action you need to do. It needs to fit a phrase and usually starts in a verb. The scope of the action has to be narrow enough so that you can follow it without ambiguity. In orgmode they are represented as checklists: @@ -33,7 +32,6 @@ There are cases where it's also interesting to record when you've completed a st ```orgmode - [x] Completed step [2023-12-12] ``` - ## Action Model an action that is defined by a list of steps that need to be completed. It has two possible representations in orgmode: @@ -105,7 +103,6 @@ If you manage your actions from an agenda or only reading the action title, ther ``` This is specially useful on recurring actions that have a defined workflow that needs to be followed, or on actions that have a defined validation criteria. - ## Project Model an action that gathers a list of actions towards a common greater outcome. @@ -119,7 +116,6 @@ Model an action that gathers a list of actions towards a common greater outcome. ** TODO Batch cook for the week - [ ] ... ``` - ## Area Model a group of projects that follow the same interest, roles or accountabilities. These are not things to finish but rather to use as criteria for analyzing, defining a specific aspect of your life and to prioritize its projects to reach a higher outcome. We'll use areas to maintain balance and sustainability on our responsibilities as we operate in the world. Areas' titles don't contain verbs as they don't model actions. An example of areas can be *health*, *travels* or *economy*. @@ -145,7 +141,6 @@ To filter the projects by area I set an area tag that propagates downstream. To ** [[file:./efficiency.org][Efficiency]] ** [[file:./work.org][Work]] ``` - ## Axis Sometimes the area documents start to grow, and you kind of get the feeling that an area has subareas, in this case the area that gathers the rest of subareas is identified as an axis. The structure of an axis document is similar to the area one. @@ -172,8 +167,6 @@ It might be helpful to define what essential intents are **not**: - They are not vision and mission statements like "We want to change the world", these sound inspirational but are so general they are almost entirely ignored. - They aren't vague, general values like “innovation” or “teamwork”. These are typically too bland and generic to inspire any passion. - They aren't shorter-term quarterly objectives like “Pass maths”. These shorter-term tactics may be concrete enough to get our attention, but they often lack inspiration. - - ## Objective An objective is an idea of the future or desired result that a person or a group of people envision, plan, and commit to achieve. @@ -222,4 +215,3 @@ The purpose defines the reason and meaning of your existence, principles define As we increase in the level of abstraction we need more time and energy (both mental and willpower) to adjust the path, it may also mean that the invested efforts so far are not aligned with the new direction, so we may need to throw away some of the advances made. That's why we need to support those changes with a higher levels of analysis and thought. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/tool_management.md b/docs/tool_management.md index 5452b220a60..d297747c3eb 100644 --- a/docs/tool_management.md +++ b/docs/tool_management.md @@ -11,4 +11,3 @@ a tool, the more it's worth the investment of time to improve your usage of it. Whenever I use a tool, I try to think if I could configure it or use it in a way that will make it easier or quicker. Don't go crazy and try to change everything. Go step by step, and once you've internalized the improvement, implement the next. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/torrents.md b/docs/torrents.md index 1e8688b97fd..fa0dc6fc668 100644 --- a/docs/torrents.md +++ b/docs/torrents.md @@ -191,4 +191,3 @@ you don't get kicked. # References - [](<>) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/tridactyl.md b/docs/tridactyl.md index 0b37678ee64..849630818cb 100644 --- a/docs/tridactyl.md +++ b/docs/tridactyl.md @@ -6,4 +6,3 @@ ## [Select text from the page](https://github.com/tridactyl/tridactyl/issues/32) You can either use `/` to search for the text and you'll be directly in `Visual mode` or you can use `v` to trigger the hints in the page, once you've selected your hint you can move around as you'd normally would in vim. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/typer.md b/docs/typer.md index c2d1364e23e..daae19c1489 100644 --- a/docs/typer.md +++ b/docs/typer.md @@ -455,4 +455,3 @@ from typer.testing import CliRunner - [Docs](https://typer.tiangolo.com/) - [Source](https://github.com/tiangolo/typer) - [Issues](https://github.com/tiangolo/typer/issues) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/unpackerr.md b/docs/unpackerr.md index 6868cf9914b..5b392945f9e 100644 --- a/docs/unpackerr.md +++ b/docs/unpackerr.md @@ -8,4 +8,3 @@ This trace in the logs (which is super noisy) is not to worry. Unpackerr is just telling you something is stuck in your sonar queue. It's not an error, and it's not trying to extract it (because it has no compressed files). The fix is to figure out why it's stuck in the queue. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/use_warnings.md b/docs/use_warnings.md index cbaf8be5190..b78961bb36e 100644 --- a/docs/use_warnings.md +++ b/docs/use_warnings.md @@ -204,4 +204,3 @@ downstream dependencies. # References * [Bernat post on versioning](https://bernat.tech/posts/version-numbers/#a-better-way-to-handle-api-evolution) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/vdirsyncer.md b/docs/vdirsyncer.md index a8a50ab9750..96dba09e1ca 100644 --- a/docs/vdirsyncer.md +++ b/docs/vdirsyncer.md @@ -382,4 +382,3 @@ First try to kill all stray vdirsyncer processes, if that doesn't work check for * [Docs](https://vdirsyncer.pimutils.org/en/stable/) * [Git](https://github.com/pimutils/vdirsyncer) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/velero.md b/docs/velero.md index 3557a5d2c3f..e932d01fefa 100644 --- a/docs/velero.md +++ b/docs/velero.md @@ -394,4 +394,3 @@ By default, Velero performs a non-destructive restore, meaning that it won’t d * [Docs](https://velero.io/docs/main/) * [Source](https://github.com/vmware-tanzu/velero) * [Home](https://velero.io/) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/versioning.md b/docs/versioning.md index 2aa2112d0c1..7a396fa802e 100644 --- a/docs/versioning.md +++ b/docs/versioning.md @@ -608,4 +608,3 @@ hence why some other ecosystems do things differently. * [Should You Use Upper Bound Version Constraints? by Henry Schreiner](https://iscinumpy.dev/post/bound-version-constraints/) * [Why I don't like SemVer anymore by Snarky](https://snarky.ca/why-i-dont-like-semver/) * [Versioning Software by donald stufft](https://caremad.io/posts/2016/02/versioning-software/) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/vial.md b/docs/vial.md index dc1a55d8afd..eab64b4d6f4 100644 --- a/docs/vial.md +++ b/docs/vial.md @@ -17,4 +17,3 @@ export USER_GID=`id -g`; sudo --preserve-env=USER_GID sh -c 'echo "KERNEL==\"hid ``` This command will automatically create a `udev` rule and reload the `udev` system. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/vim.md b/docs/vim.md index 39e7e0674a4..7752d760fe5 100644 --- a/docs/vim.md +++ b/docs/vim.md @@ -64,4 +64,3 @@ It's because `` is a synonym of ``. make you faster in Vim. It’s free and you don’t need to sign up. What are you waiting for? * [Openvim](http://www.openvim.com/): Interactive tutorial for vim. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/vim_autosave.md b/docs/vim_autosave.md index cf534b1e0ff..d6d34601e1a 100644 --- a/docs/vim_autosave.md +++ b/docs/vim_autosave.md @@ -37,4 +37,3 @@ Besides running auto-save at startup (if you have `enabled = true` in your confi # References - [Source](https://github.com/okuuva/auto-save.nvim) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/vim_coding_plugins.md b/docs/vim_coding_plugins.md index de6c1eef8e7..92121dd6bba 100644 --- a/docs/vim_coding_plugins.md +++ b/docs/vim_coding_plugins.md @@ -156,4 +156,3 @@ Type number and (empty cancels; 'n': use next backend; 'p' use previous If for example you type `45` and hit enter, it will change it for `thus`. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/vim_config.md b/docs/vim_config.md index 1a8f825a786..aabd982ce30 100644 --- a/docs/vim_config.md +++ b/docs/vim_config.md @@ -154,4 +154,3 @@ Where `option_name` can be anything in [this list](https://neovim.io/doc/user/qu * [List of nvim configs](https://github.com/topics/neovim-config) * [jessfraz vimrc](https://github.com/jessfraz/.vim/blob/master/vimrc) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/vim_dap.md b/docs/vim_dap.md index d88980ea133..26c9759fe57 100644 --- a/docs/vim_dap.md +++ b/docs/vim_dap.md @@ -111,4 +111,3 @@ dap.adapters.nlua = function(callback, config) callback({ type = 'server', host = config.host or "127.0.0.1", port = config.port or 8086 }) end ``` -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/vim_editor_plugins.md b/docs/vim_editor_plugins.md index aa361b11a95..d9fbd2e2f6d 100644 --- a/docs/vim_editor_plugins.md +++ b/docs/vim_editor_plugins.md @@ -248,4 +248,3 @@ endfunction ``` Now you need to run `:call Rm()`. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/vim_email.md b/docs/vim_email.md index fbf64d6362f..1ada3f83095 100644 --- a/docs/vim_email.md +++ b/docs/vim_email.md @@ -7,4 +7,3 @@ The best looking one is himalaya - [Nvim plugin](https://git.sr.ht/%7Esoywod/himalaya-vim) - [Source](https://github.com/soywod/himalaya) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/vim_foldings.md b/docs/vim_foldings.md index 612b53b65d1..7ac4b6f295b 100644 --- a/docs/vim_foldings.md +++ b/docs/vim_foldings.md @@ -47,4 +47,3 @@ return { }, } ``` -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/vim_git.md b/docs/vim_git.md index fde776ede63..9683b462a1a 100644 --- a/docs/vim_git.md +++ b/docs/vim_git.md @@ -163,4 +163,3 @@ https://neovim.discourse.group/t/how-to-create-an-auto-command-for-a-specific-fi [autocmd events](https://neovim.io/doc/user/autocmd.html#autocmd-events) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/vim_keymaps.md b/docs/vim_keymaps.md index 4abd9e6970b..df9cb139bc5 100644 --- a/docs/vim_keymaps.md +++ b/docs/vim_keymaps.md @@ -147,4 +147,3 @@ vim.api.nvim_create_autocmd("FileType", { ``` It's important to set the `buffer = true` if you don't want the bindings to be permanent for all buffers once it's been loaded. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/vim_lsp.md b/docs/vim_lsp.md index f4921c41323..83bef3476ac 100644 --- a/docs/vim_lsp.md +++ b/docs/vim_lsp.md @@ -22,4 +22,3 @@ Added to my lua/plugins directory: }, }, ``` -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/vim_markdown.md b/docs/vim_markdown.md index 34b7d87a42d..fbba544c307 100644 --- a/docs/vim_markdown.md +++ b/docs/vim_markdown.md @@ -39,4 +39,3 @@ How the hell this works? - `:` switches to Command line mode, to type commands. - `!` specifies a filter command. This means we will send data to a command to modify it (or to filter) and replace the original lines. In this case we are in Visual mode, we defined the input text (the selected lines) and we will use an external command to modify the data. - `column` is the filter command we are using, from the `util-linux` package. column’s purpose is to “columnate”. The `-t` flag tells column to use the Table mode. The `-s` flag specifies the delimiters in the input data (the default is whitespace). And the `-o` flag is to specify the output delimiter to use (we need that because the default is two whitespaces). -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/vim_movement.md b/docs/vim_movement.md index c493be38c60..09086116696 100644 --- a/docs/vim_movement.md +++ b/docs/vim_movement.md @@ -19,4 +19,3 @@ If you want to go back to the newer positions, after you’re done with what you Ctrl + O is probably not meant for a single task, as far as Vim’s philosophy is concerned. The jumping mentioned in the previous section only works when you’re in Normal Mode, and not when you’re in Insert Mode. When you press Ctrl + O in Insert Mode, what happens instead is that you’ll enter Normal Mode, and be able to execute a single command, after which Vim will automatically switch back to Insert Mode. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/vim_packer.md b/docs/vim_packer.md index 684cd6bf20e..ed64bf1b76d 100644 --- a/docs/vim_packer.md +++ b/docs/vim_packer.md @@ -5,4 +5,3 @@ Go into the plugin directory `cd ~/.local/share/nvim/site/pack/packer/start/your-plugin` and check it with git -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/vim_plugin_development.md b/docs/vim_plugin_development.md index 57ea6923716..a2559510d5c 100644 --- a/docs/vim_plugin_development.md +++ b/docs/vim_plugin_development.md @@ -85,10 +85,38 @@ nvim.current.window.cursor ``` # Neovim plugin debug -If you use [packer](#packer) your plugins will be installed in `~/.local/share/nvim/site/pack/packer/start/`. You can manually edit those files to develop new feature or fix issues on the plugins. +If you use [packer](#packer) your plugins will be installed in `~/.local/share/nvim/site/pack/packer/start/`. +If you use `lazy` your plugins will be installed in `~/.local/share/nvim/lazy/pack/packer/start/`. + +You can manually edit those files to develop new feature or fix issues on the plugins. To debug a plugin read it's source code and try to load in a lua shell the relevant code. If you are in a vim window you can run lua code with `:lua your code here`, for example `:lua Files = require('orgmode.parser.files')`, you can then do stuff with the `Files` object. +## [Debugging using Snacks](https://github.com/folke/snacks.nvim/blob/main/docs/debug.md) +Utility functions you can use in your code. + +Personally, I have the code below at the top of my `init.lua`: + +```lua +_G.dd = function(...) + Snacks.debug.inspect(...) +end +_G.bt = function() + Snacks.debug.backtrace() +end +vim.print = _G.dd +``` + +What this does: + +- Add a global `dd(...)` you can use anywhere to quickly show a + notification with a pretty printed dump of the object(s) + with lua treesitter highlighting +- Add a global `bt()` to show a notification with a pretty + backtrace. +- Override Neovim's `vim.print`, which is also used by `:= {something = 123}` + +![image](https://github.com/user-attachments/assets/0517aed7-fbd0-42ee-8058-c213410d80a7) ## Debugging with prints Remember that if you need to print the contents of a table [you can use `vim.inspect`](lua.md#inspect-contents-of-Lua-table-in-Neovim). @@ -128,4 +156,3 @@ You will debug the plugin by: - [Simple plugin example](https://github.com/massix/org-checkbox.nvim/blob/trunk/lua/orgcheckbox/init.lua) - [Miguel Crespo tutorial](https://miguelcrespo.co/posts/how-to-write-a-neovim-plugin-in-lua) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/vim_plugin_managers.md b/docs/vim_plugin_managers.md index fa475690326..bd3d808fee3 100644 --- a/docs/vim_plugin_managers.md +++ b/docs/vim_plugin_managers.md @@ -96,4 +96,3 @@ Whenever you make changes to your plugin configuration you need to: ``` :PackerStatus ``` -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/vim_snippets.md b/docs/vim_snippets.md index 1c81e21f1bb..b8355000f71 100644 --- a/docs/vim_snippets.md +++ b/docs/vim_snippets.md @@ -20,4 +20,3 @@ key.set({'n'}, 't', ":lua require('neotest').run.run()", {desc = 'Run the cl # [Use relativenumber](https://koenwoortman.com/vim-relative-line-numbers/) If you enable the `relativenumber` configuration you'll see how to move around with `10j` or `10k`. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/vim_spelling.md b/docs/vim_spelling.md index 74acedcef8d..8fa558e32d1 100644 --- a/docs/vim_spelling.md +++ b/docs/vim_spelling.md @@ -5,4 +5,3 @@ set.spell = true set.spelllang = 'en_us' set.spellfile = '/home/your_user/.config/nvim/spell/my_dictionary.add' ``` -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/vim_tabs.md b/docs/vim_tabs.md index 3b429af395b..4f0545b1fc3 100644 --- a/docs/vim_tabs.md +++ b/docs/vim_tabs.md @@ -206,4 +206,3 @@ formalized in [here](https://github.com/teto/i3-dispatch) which I will want to have time to test. Another solution would be to try to use [neovim remote](https://github.com/mhinz/neovim-remote) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/vim_testing.md b/docs/vim_testing.md index 62688f51709..09e91fd2920 100644 --- a/docs/vim_testing.md +++ b/docs/vim_testing.md @@ -45,4 +45,3 @@ require("neotest").setup({ -- https://github.com/nvim-neotest/neotest It also needs a font that supports icons. If you don't see them [install one of these](https://github.com/ryanoasis/nerd-fonts). -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/vim_treesitter.md b/docs/vim_treesitter.md index 8caf0afd46c..836969e47e5 100644 --- a/docs/vim_treesitter.md +++ b/docs/vim_treesitter.md @@ -160,4 +160,3 @@ vim.cmd[[ augroup END ]] ``` -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/vim_troubleshooting.md b/docs/vim_troubleshooting.md index d34a7014cc7..7d8b16e6efa 100644 --- a/docs/vim_troubleshooting.md +++ b/docs/vim_troubleshooting.md @@ -54,4 +54,3 @@ vim.cmd[[ ``` It looks that it had saved a view with the other working directory so when a file was loaded the `cwd` changed. To solve it I created a new `mkview` in the correct directory. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/vim_vs_neovim.md b/docs/vim_vs_neovim.md index e1927ed3ff0..c4796778bab 100644 --- a/docs/vim_vs_neovim.md +++ b/docs/vim_vs_neovim.md @@ -47,4 +47,3 @@ These patches were included because they: * Received thoughtful review by other contributors. One downside though is that it's not able to [work with "big" files](https://github.com/neovim/neovim/issues/614) for me 110kb file broke it. Although after [some debugging](#Deal-with-big-files) it worked. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/virtual_assistant.md b/docs/virtual_assistant.md index 0897cd980d5..0c7451369d5 100644 --- a/docs/virtual_assistant.md +++ b/docs/virtual_assistant.md @@ -50,4 +50,3 @@ I arrived to that has taken many datasets such as [Common Voice](https://commonvoice.mozilla.org/en/datasets) one and generated the [models](https://drive.google.com/drive/folders/1-3UgQBtzEf8QcH2qc8TJHkUqCBp5BBmO?usp=sharing). -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/vite.md b/docs/vite.md index 989326f59dc..106ffce9429 100644 --- a/docs/vite.md +++ b/docs/vite.md @@ -21,4 +21,3 @@ support. # References * [Docs](https://vitejs.dev/guide/) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/vitest.md b/docs/vitest.md index 6fad1c47467..4a8f51bf513 100644 --- a/docs/vitest.md +++ b/docs/vitest.md @@ -37,4 +37,3 @@ To run the tests use `npx vitest`, to see the coverage use `npx vitest # References * [Home](https://vitest.dev/) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/vscodium.md b/docs/vscodium.md index 360dece0f57..5fe545c911f 100644 --- a/docs/vscodium.md +++ b/docs/vscodium.md @@ -11,4 +11,3 @@ without MS branding/telemetry/licensing. - [Home](https://vscodium.com/) - [Git](https://github.com/VSCodium/vscodium) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/vue_snippets.md b/docs/vue_snippets.md index 98840589823..d6ea7d6d721 100644 --- a/docs/vue_snippets.md +++ b/docs/vue_snippets.md @@ -465,4 +465,3 @@ Install with: ```bash npm install vue2-timeago@next ``` -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/vuejs.md b/docs/vuejs.md index 9ed3b5ceaf2..87b6c651286 100644 --- a/docs/vuejs.md +++ b/docs/vuejs.md @@ -3291,4 +3291,3 @@ export default { * [Docs](https://axios-http.com/docs/intro) * [Git](https://github.com/axios/axios) * [Homepage](https://axios-http.com/) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/vuetify.md b/docs/vuetify.md index 4bafa1833ed..8f0423b76e2 100644 --- a/docs/vuetify.md +++ b/docs/vuetify.md @@ -745,4 +745,3 @@ this is solved. * [Home](https://vuetifyjs.com/en/) * [Git](https://github.com/vuetifyjs/vuetify) * [Discord](https://community.vuetifyjs.com/) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/wake_on_lan.md b/docs/wake_on_lan.md index 0de866d28c1..4a3975ffd8f 100644 --- a/docs/wake_on_lan.md +++ b/docs/wake_on_lan.md @@ -83,4 +83,3 @@ $ wakeonlan -i *target_IP* *target_MAC_address* # References * [Arch wiki post](https://wiki.archlinux.org/index.php/Wake-on-LAN) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/wallabag.md b/docs/wallabag.md index 80dce798b66..22ca4692f58 100644 --- a/docs/wallabag.md +++ b/docs/wallabag.md @@ -86,4 +86,3 @@ only want to share the starred articles, add to your nginx config: # References * [Docs](https://doc.wallabag.org) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/watchdog.md b/docs/watchdog.md index ab76418613a..1f3f789ccfd 100644 --- a/docs/watchdog.md +++ b/docs/watchdog.md @@ -131,4 +131,3 @@ Some people are blacklisting the module so that it's not loaded and therefore it - [0pointer post on systemd watchdogs](https://0pointer.de/blog/projects/watchdog.html) - [Heckel post on how to reboot using watchdogs](https://blog.heckel.io/2020/10/08/reliably-rebooting-ubuntu-using-watchdogs/) -\n\n[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/week_management.md b/docs/week_management.md index 5171d6c896e..d5e89d3170d 100644 --- a/docs/week_management.md +++ b/docs/week_management.md @@ -63,4 +63,3 @@ in the backlog sorted by due date. On the other I: help with life logging. * If there aren't enough things to fill up all days, check the *things that I want to do* list and try to do one. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/wesnoth.md b/docs/wesnoth.md index fdbad23826f..d7b45b5734a 100644 --- a/docs/wesnoth.md +++ b/docs/wesnoth.md @@ -23,4 +23,3 @@ confront an unseen evil. * [Wiki](https://wiki.wesnoth.org/StartingPoints) * [Game manual](https://www.wesnoth.org/manual/stable/manual.en_GB.html) * [Mainline campaigns](https://wiki.wesnoth.org/Mainline_Campaigns) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/wesnoth_loyalist.md b/docs/wesnoth_loyalist.md index 479bae12474..8f47d822608 100644 --- a/docs/wesnoth_loyalist.md +++ b/docs/wesnoth_loyalist.md @@ -406,4 +406,3 @@ avoid attacking units that can retaliate, unless you have a reasonably high chance of killing them that turn. Avoid attacking *trolls* if you can't heavily damage them or outright kill them, they're regenaration will quickly mean they can heal from any scratches your *bowmen* might have dealt them. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/wesnoth_northerners.md b/docs/wesnoth_northerners.md index de23ebf0783..771a0fa3ad1 100644 --- a/docs/wesnoth_northerners.md +++ b/docs/wesnoth_northerners.md @@ -10,4 +10,3 @@ the Great Continent, thus their name. Northerners consist of the warrior orcs race, the enslaved goblins, trolls who are tricked into combat by the orcs, and the serpentine naga. The Northerners play best by taking advantage of having many low-cost and high HP soldiers. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/wesnoth_rebels.md b/docs/wesnoth_rebels.md index a1fe6d8c5ce..0baa237e609 100644 --- a/docs/wesnoth_rebels.md +++ b/docs/wesnoth_rebels.md @@ -13,4 +13,3 @@ longer than humans. In harmony with nature, the elves find allies with the human mages, certain merfolk, and tree creatures called woses. Rebels are best played taking advantage of their high forest defense, mastery of ranged attacks, and the elves' neutral alignment. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/wireshark.md b/docs/wireshark.md index ad3aea4eafa..95e8dd7c2a7 100644 --- a/docs/wireshark.md +++ b/docs/wireshark.md @@ -59,4 +59,3 @@ The most common filters are: # References * [Home](https://www.wireshark.org/) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/wordpress.md b/docs/wordpress.md index 1066c1da9b7..5579546fb8d 100644 --- a/docs/wordpress.md +++ b/docs/wordpress.md @@ -2,4 +2,3 @@ # References - [API reference](https://developer.wordpress.org/rest-api/reference/posts/#update-a-post) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/work_interruption_analysis.md b/docs/work_interruption_analysis.md index 08d7e32a494..c0a4654766d 100644 --- a/docs/work_interruption_analysis.md +++ b/docs/work_interruption_analysis.md @@ -149,4 +149,3 @@ Often with a wide range of priorities. * decide if you have to go * Define an agenda with times -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/writing/build_your_own_wiki.md b/docs/writing/build_your_own_wiki.md index 0ec5750ab96..186c1e2950f 100644 --- a/docs/writing/build_your_own_wiki.md +++ b/docs/writing/build_your_own_wiki.md @@ -119,4 +119,3 @@ mkdocs serve ## Links * [Nikita's wiki workflow](https://wiki.nikitavoloboev.xyz/other/wiki-workflow) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/writing/orthography.md b/docs/writing/orthography.md index d47d842c4da..f842bcab8b0 100644 --- a/docs/writing/orthography.md +++ b/docs/writing/orthography.md @@ -335,4 +335,3 @@ Since in some cases is useful, I'm going to use them to reduce the mental load. good insights on common grammar mistakes. Thanks for the link Dave :) * [JamesESL videos](https://www.youtube.com/c/engvidJames/videos) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/writing/writing.md b/docs/writing/writing.md index f191291060c..26f57223681 100644 --- a/docs/writing/writing.md +++ b/docs/writing/writing.md @@ -120,4 +120,3 @@ Good: * https://www.amazon.de/dp/0060891548/ref=as_li_tl?ie=UTF8&linkCode=gs2&linkId=39f2ab8ab47769b2a106e9667149df30&creativeASIN=0060891548&tag=gregdoesit03-21&creative=9325&camp=1789 * https://www.amazon.de/dp/0143127799/ref=as_li_tl?ie=UTF8&linkCode=gs2&linkId=ff9322c17ca288b1d9d6b5fb8d6df619&creativeASIN=0143127799&tag=gregdoesit03-21&creative=9325&camp=1789 -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/writing_style.md b/docs/writing_style.md index cb5def1799a..1fc5a371987 100644 --- a/docs/writing_style.md +++ b/docs/writing_style.md @@ -391,4 +391,3 @@ article](https://contentfiesta.com/books-on-writing/) for more suggestions. # References * [Ivan Kreimer's article](https://contentfiesta.com/books-on-writing/) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/yamlfix.md b/docs/yamlfix.md index 5588a2b80ba..cd4213e3abf 100644 --- a/docs/yamlfix.md +++ b/docs/yamlfix.md @@ -61,4 +61,3 @@ book_library: * [Git](https://github.com/lyz-code/yamlfix) * [Docs](https://lyz-code.github.io/yamlfix/) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/yq.md b/docs/yq.md index fb003ea7bc2..3915cd2d491 100644 --- a/docs/yq.md +++ b/docs/yq.md @@ -37,4 +37,3 @@ done - [Source](https://github.com/mikefarah/yq) - [Docs](https://mikefarah.gitbook.io/yq) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/yt-dlp.md b/docs/yt-dlp.md index df07250e947..b8a81824e72 100644 --- a/docs/yt-dlp.md +++ b/docs/yt-dlp.md @@ -5,4 +5,3 @@ pipx install --pip-args='--pre' yt-dlp ``` -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/zalando_postgres_operator.md b/docs/zalando_postgres_operator.md index 09a882439e8..abe0242c9b0 100644 --- a/docs/zalando_postgres_operator.md +++ b/docs/zalando_postgres_operator.md @@ -152,4 +152,3 @@ Some also suggest to monitor Patroni, I still have no idea of what this is and t - [Source](https://github.com/zalando/postgres-operator) - [Docs](https://postgres-operator.readthedocs.io) - [Chart source](https://github.com/zalando/postgres-operator/tree/master/charts/postgres-operator) -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/docs/zfs_storage_planning.md b/docs/zfs_storage_planning.md index cf0a7b4c6e4..99aeb44b7c9 100644 --- a/docs/zfs_storage_planning.md +++ b/docs/zfs_storage_planning.md @@ -525,4 +525,3 @@ There are some caveats though. The point of the caveat list is by no means to di * Debian and Ubuntu will not start the NFS daemon without a valid export in the /etc/exports file. You must either modify the /etc/init.d/nfs init script to start without an export, or create a local dummy export. * When creating ZVOLs, make sure to set the block size as the same, or a multiple, of the block size that you will be formatting the ZVOL with. If the block sizes do not align, performance issues could arise. * When loading the "zfs" kernel module, make sure to set a maximum number for the ARC. Doing a lot of "zfs send" or snapshot operations will cache the data. If not set, RAM will slowly fill until the kernel invokes OOM killer, and the system becomes responsive. For example set in the `/etc/modprobe.d/zfs.conf` file "options zfs zfs_arc_max=2147483648", which is a 2 GB limit for the ARC. -[![](not-by-ai.svg){: .center}](https://notbyai.fyi) diff --git a/mkdocs.yml b/mkdocs.yml index c5ecd0c2e6c..a2093001751 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -14,6 +14,8 @@ nav: - Hacktivism: - Gatherings: hacktivist_gatherings.md - Collectives: hacktivist_collectives.md + - Tools: + - Mobile Verification Toolkit: mobile_verification_toolkit.md - Anti-Colonialism: anticolonialism.md - Anti-Transphobia: antitransphobia.md - Anti-Racism: antiracism.md @@ -426,7 +428,6 @@ nav: - ORM, Query Builder or Raw SQL: architecture/orm_builder_query_or_raw_sql.md - Microservices: architecture/microservices.md - Restful APIS: architecture/restful_apis.md - - Redis: architecture/redis.md - OCR: - Table parsing: - Camelot: camelot.md @@ -509,6 +510,9 @@ nav: - IAM Debugging: devops/aws/iam/iam_debug.md - S3: devops/aws/s3.md - WAF: aws_waf.md + - Databases: + - Redis: architecture/redis.md + - RabbitMQ: rabbitmq.md - Continuous Deployment: - ArgoCD: argocd.md - Continuous Integration: @@ -678,6 +682,7 @@ nav: - OsmAnd: osmand.md - Seedvault: seedvault.md - Signal: signal.md + - Android SDK Platform tools: android_sdk.md - Arts: - Writing: - writing/writing.md