Getting Things Done

Всё про повышение эффективности учёбы и работы.

Subsections of Getting Things Done

AI Coding

TDD

SDD

Git

Понимание ИИ

Понимание программировпния

Test-Driven Development (TDD)

Полезен «красно-зелёный TDD»: то есть стоит не просто «сначала написать все тесты», а действовать по такому циклу:

  • Новый тест сначала должен падать (иначе что он проверяет?)
  • Затем требуется сделать минимальное изменение кода, чтобы тест начал проходить.
  • А дальше надо рефакторить, превращая код из «просто срабатывающего» в «полноценный». Пример промта:
Build a Python function to extract headers from a markdown string. Use red/green TDD.

❗ИИ нельзя позволять менять тесты (если считает это необходимым, то должен объяснить причину). А на случай, если это всё-таки произойдёт, в CI нужен hook, который блокирует PR с такими изменениями.

Spec-Driven Development (SDD)

Всё значимое требуется фиксировать. При этом можно быстро проверять гипотезы на практике и подстраиваться на ходу: “Сделай тут тремя разными способами, а мы сравним результаты “вживую” и выберем”.

Экономия контекста и токенов при чтениях

Краткий и точный контекст - это самое важное. Нужно давать агенту ровно ту часть системы, которая нужна для конкретного изменения.

  • Формулировать задачу узко: измени только валидацию в этом методе, работай в пределах этих двух файлов;
  • Структура проекта понятна и предсказуема: предсказуемые названия файлов, понятное разделение по слоям, внятные README.md;
  • Карта проекта и ограничения: где находится нужный модуль, что считается точкой входа, где лежит бизнес-логика, а где тесты или вспомогательные части. И можно сразу уточнять, какая часть карты актуальна для текущей задачи: какой модуль трогать, какие директории релевантны, а где не нужно ничего менять;
  • Фиксировать архитектурные правила отдельно: важные инварианты вроде «этот слой не ходит напрямую в БД», «этот модуль не импортирует этот пакет» или «новую логику добавляем только через такой паттерн» агенту лучше знать заранее;
  • Разделять поиск, понимание и изменение: сначала дать агенту задачу поиска релевантных файлов и посмотреть, не “увело” ли его. Затем задачу понимания: что именно в них отвечает за нужное поведение. “Если агент плохо справляется с задачей - попробуй её декомпозировать”.

Выбор стека: типизация и “стандартизация”

Cтатическая типизация позволяет поймать ряд ошибок ИИ. Для LLM “удобнее”, когда что-то часто встречалось в обучающем датасете. Если на GitHub есть тысячи “Тетрисов” на JavaScript, то агенту будет легко сделать ещё один. Хуже обстоят дела с малоизвестными вещами и с совсем новыми, вышедшими уже после даты «knowledge cutoff» ИИ-модели.

Подход к Git

Общий совет: коммитить как можно чаще. Это как сохранения в видеоигре: никогда не знаешь, когда ИИ вдруг пойдёт вразнос, и чем свежее последний коммит, тем меньше прогресса можешь потерять. Плюс по commit messages, ИИ в будущих диалогах сможет понимать по ним много полезного контекста.

При этом ИИ очень помогает со «сложными командами». Даже опытным разработчикам непросто целиком уместить в голове логику и команды Git.

Риск-менеджмент

Когда ИИ быстро генерирует много кода, человеческое ревью становится одновременно “важным местом” и “узким местом”. От его тщательности зависят и качество проекта, и скорость разработки. При работе с ИИ-кодом требуются:

  • Компетенции и прилежность тщательно проверить всё, что требуется;
  • Душевный покой принимать без излишних проверок то, где они не требуются;
  • Мудрость отличать одно от другого.

Понимание работы ИИ

Знание принцпов как работает ИИ: чем различаются модели? Как измеряют их эффективность? Какие формы обучения к ним сейчас применяют? Как работает кэширование токенов? Как устроен «режим планирования»?

  • Agent Skills лучше MCP, потому что не загружаются в контекст сразу, а только по необходимости;
  • для верного выполнения задачи машине нужен весь релевантный контекст;
  • при этом окно контекста не бесконечное, да и то в середине “проседает”;
  • поэтому не стоит «закидывать в ИИ всё возможное», надо “не мусорить”;
  • фича «compaction» может «сжимать имеющийся диалог до главного»;
  • но модель сама выбирает «а что главное», и может упустить важное.

Понимание программирования

Все абстракции “протекают”. С ИИ, если хочется делать масштабные вещи, необходимость понимать «уровни ниже» совершенно не исчезла. Наоборот, к ним добавился ещё один. Значит, чтобы добиться от ИИ профессионального кода, надо самому быть профессионалом.

Обучение программированию

Главная проблема с LLM — они могут сразу давать правильный ответ, пропуская путь к нему. Значит, обучение должно быть выстроено так, чтобы не пропускать.

ИИ может быть полезен в объяснении «обычного» программирования.

ClaudeCode

Claude.md

Файл с инструкциями для ИИ глобального уровня или уровня проекта. Размер: минимальное число строк. При большом размере (>300 строк текста) ИИ начинает игнорировать весь текст.

Команды

Shortcuts

  • ESCx2 - очистить промпт
  • Shift+Tab - выбрать режим (с подтверждением действий, planning mode, auto-edit)
  • ALT+Enter - добавить новую строку, не отправляя промпт на исполнение

Полезные команды

  • /model - выбор модели (Sonnet, Opus, Haiku)
  • /clear - очистить контекст
  • /context - посмотреть на текущий контекст
  • /compact - запустить процесс суммаризации контекста (Claude делает это и сам на автомате)
  • /resume - переоткрыть старый контекст, если случайно закрыл сессию с Claude
  • /mcp - отобразить текущие MCP. Нужно стараться ограничивать их число, чтобы не взрывать контекст лишней инфой
  • /help - справка по командам
  • /permissions - список разрешений для Claude Code агента
  • /chrome - команда для сходить в браузер, сделать скриншот и найти что-то (без API)

Расширение

Skills

  • Skills = Commands.
  • Скиллы - это краткое описание для ИИ, как решить задачу.
  • Технически это .md-файл с текстом, который вызывается также как команда по /
  • Хорошая привычка: всегда просить Claude самостоятельно обновлять и управлять Skills, не менять их вручную.

Репо скиллов: https://github.com/aagern/skills

MCPs

  • Хорошая привычка: просить Claude найти себе MCP самостоятельно, не искать их вручную.

Subagents

Нужны для защиты контекстного окна основной задачи. Это изолированные контексты для под-задач.

  • Создаются через просьбу к Claude вида “spawn a subagent to do task X”
  • Позволяют делать несколько задач параллельно

Plugins

Включают в себя skills, MCPs, Subagents

  • superpowers (official Anthropic) - учит ИИ методологии разработки, TDD, brainstorming
  • beads - трекер ИИ-задач
/plugin marketplace add steveyegge/beads 
#затем 
/plugin install beads
  • Template Bridge https://github.com/davila7/claude-code-templates каталог шаблонов для ИИ на любые случаи жизни с динамической загрузкой
  • Lumen - составление карты проекта и семантический поиск по нему https://github.com/ory/lumen для ускорения поиска по проектам и сокращения токенов.
    • Требует поставить Ollama https://ollama.com/
    • Поставить микро-модель ollama pull ordis/jina-embeddings-v2-base-code
  • Claude-mem - запись результатов сессий, возможность брать данные из предыдущих связанных сессий https://github.com/thedotmack/claude-mem

Tools

  • Rust Token Compressor (RTK) - https://github.com/rtk-ai/rtk сокращает количество используемых токенов для bash-операций, особенно с git. Подменяет с помощью global hook обращения ИИ и сокращает вывод;
  • Поиск для ИИ:
  • Документация для ИИ: https://context7.com/ позволяет получать обновлённые доки по разным темам.

Agent team

В папке проекта создать файл .claude/settings.json, где вписать параметр включения команд агентов:

{
  "env": {
    "CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1"
  }
}

Использовать промт вида:

I'm designing a CLI tool that helps developers track TODO comments across their codebase. Create an agent team to explore this from different angles: one teammate on UX will use Haiku model, one on technical architecture using Sonnet, one playing devil's advocate will use Opus.

Настройки teams хранятся:

  • Team config~/.claude/teams/{team-name}/config.json
  • Task list~/.claude/tasks/{team-name}/

CVE vs CWE

Определения

  • Задачи информационной безопасности (ИБ) - обеспечить конфиденциальность, целостность, доступность (Confidentiality, Integrity, Availability - CIA triad) в информационной системе (ИС);
  • Угрозы ИБ (threat) - потенциальные опасности ИС, если нарушитель использует её уязвимости для атак. Угрозы бывают трёх видов: нарушение конфиденциальности, целостности, доступности;
  • Уязвимости (vulnerability) - недостатки ПО, оборудования или в мерах по обеспечению безопасности с точки зрения человеческого фактора, которые дают возможность злоумышленнику проникнуть в ИС и совершать там противоправные действия (реализация угрозы);
  • Источник угрозы (threat agent) - хакер, недобросовестный или ошибшийся сотрудник, через которого произошла реализация угрозы, повреждение ИС, утечка данных.

Каждая уязвимость получает ранг на основе факторов:

  1. Какие системы затронуты;
  2. Какие данные в опасности;
  3. Какие бизнес-функции находятся под угрозой;
  4. Насколько легко реализовать атаку и добиться компрометации ИС;
  5. Потенциальный ущерб в результате уязвимости.

Mermaid

Tutorials: https://mermaid.js.org/config/Tutorials.html

Online editor + exporter: https://mermaid.live

Installation

Mermaid has plugins for VS Code, Obsidian, works with GitHub, GitLab etc.

Full list of integrations: https://github.com/mermaid-js/mermaid/blob/develop/docs/misc/integrations.md

Flowcharts

Example:

graph LR  %% TD = Top->Down, LR = Left->Right etc.
S[Start] --> A;
A(Enter your EMail) --> E{Existing user?};
E -->|No| Create(Enter name)
E -->|Yes| Send(Send a letter to address)
Create --> EULA{Accept conditions}
EULA -->|Yes| Send
EULA -->|No|A

Result:

graph LR
S[Start] --> A;
A(Enter your EMail) --> E{Existing user?};
E -->|No| Create(Enter name)
E -->|Yes| Send(Send a letter to address)
Create --> EULA{Accept conditions}
EULA -->|Yes| Send
EULA -->|No|A

Sequence Diagrams

Example:

sequenceDiagram
autonumber               %% action numbers placed on every arrow
actor C as Client
Note left of C: User     %% [ right of | left of | over ] supported
participant I as Identity Provider
participant S as Service Provider
Note right of S: Blitz Identity
C->>S: Resource request
activate C
activate S
S-->>C: Redirect to Identity Provider
deactivate S
loop every hour           %% loop start
C->>I: Request Access Token
activate C
activate I
I-->>C: Access Token
deactivate C
deactivate I
end                       %% loop end
C->>S: Access granted
Note over C,S: Browser access
deactivate C

Result:

sequenceDiagram 
autonumber
actor C as Client
Note left of C: User
participant I as Identity Provider
participant S as Service Provider
Note right of S: Blitz Identity
C->>S: Resource request
activate C
activate S
S-->>C: Redirect to Identity Provider
deactivate S
loop every hour
C->>I: Request Access Token
activate C
activate I
loop
I->>I: Kerberos cert
end
I-->>C: Access Token
deactivate C
deactivate I
end
C->>S: Access granted
Note over C,S: Browser access
deactivate C

Obsidian

Obsidian Articles

Obsidian + Dataview https://habr.com/ru/articles/710508/

Чтобы немного упростить процесс ведения дневника, можно поставить плагин календаря (Calendar), периодических заметок (Periodic notes) и шаблонов (Templater). Логика думаю тут довольно проста – календарь позволяет лучше ориентироваться во времени, периодические заметки - организуют заметки, а шаблоны упрощают создание самих дневниковых заметок.

Сначала мы быстро читаем какой-то отрывок, главу. Не отвлекаемся, не тормозим, не ходим по ссылкам.

Далее читаем заново и оставляем метки, по которым сформируем впоследствии конспект.

Пишем конспект:

    Сначала пишем просто изложение (значит своими словами). Не думаем о ссылках, не думаем о том, как атомизировать. Просто пишем четкое последовательное изложение по прочитанному.

    Расширяем и дополняем конспект своими мыслями и наблюдениями, вставляем ссылки и источники.

    (при необходимости формируем какой-то сопроводительный текст)

Начинаем атомизировать наш конспект на отдельные заметки.

Связываем заметки с другими, если, конечно, в голову приходят эти связи.

Медитируем

  • Okular, потому что эта программа открывает pdf и djvu (и многие другие), а также в ней прям очень легко и быстро можно аннотировать текст.

Zotero

Это ультимативная, бесплатная программа для работы с источниками информации

  • Obsidian to Anki.

Плагины

  • ReadItLater - способ быстро добавлять статьи и видео в заметки;
  • Timestamp Notes - смотреть видео и делать заметки по времени;
  • Templater - заполнить пустую заметку по шаблону;
  • Various complement - подсказки по словам при написании заметки;
  • Kanban - канбан доска;
  • Dataview - можно сводить таблицы из разрозненных заметок;
  • Advanсed tables - удобная работа с markdown таблицами;
  • Tracker - визуализация данных;
  • Quick Add - автоматизация процессов;
  • Homepage - плагин для создания домашних страниц;
  • Spaced Repetition- интервальное запоминание.

Инструменты

  • Peerdraft - совместная работа над заметками;
  • Qartz - расшарить в веб свой обсидиан;
  • Obsidian Publish - тот же Кварц, но его не надо хостить, крутится на серверах Обсидиан (платный).

Средства публикации заметок

Обсидианы других людей

Кварц позволяет открыть свои markdown-страницы для других людей через веб-сайт.

Есть даже целая концепция learn in public, когда люди открывают аудитории свои незавершённые наработки с целью эффективного обучения. Закон Каннингема гласит:

Лучшим способом получить правильный ответ в Интернете будет не задавать вопрос, а разместить ложный ответ

Вот обсидианы некоторых инженеров:

Кстати, статьи, которые я пишу для своего телеграм канала тоже написаны в Обсидиан и опубликованы через Quartz.

Для того, чтобы их можно было удобно читать, не выходя из приложения, я написал шаблон для telegram instant view.

Top Plugins

Calendar

Позволяет создать календарь и писать в него быстрые заметки по дням.

DataView

Позволяет делать выборки из файлов с SQL Syntax и отображать результат в виде таблицы

Outliner

Создание и управление структурированными списками.

Novel Word Count

Отображение количества страниц и текста в папке.

Style Settings

Изменить стиль Obsidian, сделать Softpaper стиль. Установить стиль (Theme) = AnuPpuccin Зайти в настройки плагина Style Settings, выбрать конфиг для AnuPpuccin темы -> Import… и ввести:

{
  "anuppuccin-theme-settings@@anuppuccin-theme-light": "ctp-rosepine-light",
  "anuppuccin-theme-settings@@anuppuccin-theme-dark": "ctp-frappe",
  "anuppuccin-theme-settings@@anuppuccin-light-theme-accents": "ctp-accent-light-teal",
  "anuppuccin-theme-settings@@anuppuccin-theme-accents": "ctp-accent-teal",
  "anuppuccin-theme-settings@@anuppuccin-accent-toggle": true,
  "anuppuccin-theme-settings@@ctp-custom-peach@@light": "#DD7F67",
  "anuppuccin-theme-settings@@ctp-custom-teal@@dark": "#11B7C5",
  "anuppuccin-theme-settings@@ctp-custom-teal@@light": "#1A7DA4",
  "anuppuccin-theme-settings@@ctp-custom-subtext1@@light": "#EE653A",
  "anuppuccin-theme-settings@@ctp-custom-subtext0@@dark": "#FB35D8",
  "anuppuccin-theme-settings@@ctp-custom-subtext0@@light": "#0C9FCE",
  "anuppuccin-theme-settings@@ctp-custom-overlay2@@dark": "#0AD1D0",
  "anuppuccin-theme-settings@@ctp-custom-overlay2@@light": "#525252",
  "anuppuccin-theme-settings@@ctp-custom-overlay1@@dark": "#FFA600",
  "anuppuccin-theme-settings@@ctp-custom-overlay1@@light": "#CCCCCC",
  "anuppuccin-theme-settings@@ctp-custom-overlay0@@dark": "#4CFFD2",
  "anuppuccin-theme-settings@@ctp-custom-overlay0@@light": "#0C9FCE",
  "anuppuccin-theme-settings@@anp-active-line": "anp-no-highlight",
  "anuppuccin-theme-settings@@anp-callout-select": "anp-callout-sleek",
  "anuppuccin-theme-settings@@anp-callout-color-toggle": true,
  "anuppuccin-theme-settings@@anp-custom-checkboxes": true,
  "anuppuccin-theme-settings@@anp-speech-bubble": true,
  "anuppuccin-theme-settings@@tag-radius": 2,
  "anuppuccin-theme-settings@@cards-border-width": "4px",
  "anuppuccin-theme-settings@@anp-color-transition-toggle": true,
  "anuppuccin-theme-settings@@anp-cursor": "pointer",
  "anuppuccin-theme-settings@@anp-toggle-scrollbars": true,
  "anuppuccin-theme-settings@@anp-editor-font-source": "\"\"",
  "anuppuccin-theme-settings@@anp-editor-font-lp": "\"New York\"",
  "anuppuccin-theme-settings@@bold-weight": "700",
  "anuppuccin-theme-settings@@anp-font-live-preview-wt": "400",
  "anuppuccin-theme-settings@@anp-header-color-toggle": true,
  "anuppuccin-theme-settings@@anp-header-divider-color-toggle": true,
  "anuppuccin-theme-settings@@h1-weight": 900,
  "anuppuccin-theme-settings@@h1-line-height": 1.2,
  "anuppuccin-theme-settings@@anp-h1-divider": true,
  "anuppuccin-theme-settings@@h2-size": 1.9,
  "anuppuccin-theme-settings@@h2-weight": 100,
  "anuppuccin-theme-settings@@h3-size": 1.6,
  "anuppuccin-theme-settings@@h3-weight": 700,
  "anuppuccin-theme-settings@@anp-h3-color-custom": "anp-h3-green",
  "anuppuccin-theme-settings@@h4-weight": 700,
  "anuppuccin-theme-settings@@h5-weight": 700,
  "anuppuccin-theme-settings@@h6-size": 1.1,
  "anuppuccin-theme-settings@@h6-weight": 700,
  "anuppuccin-theme-settings@@anp-decoration-toggle": true,
  "anuppuccin-theme-settings@@anp-colorful-frame": true,
  "anuppuccin-theme-settings@@anp-colorful-frame-opacity": 1,
  "anuppuccin-theme-settings@@anp-file-icons": true,
  "anuppuccin-theme-settings@@anp-file-label-align": "0",
  "anuppuccin-theme-settings@@anp-alt-rainbow-style": "anp-full-rainbow-color-toggle",
  "anuppuccin-theme-settings@@anp-rainbow-file-toggle": true,
  "anuppuccin-theme-settings@@anp-rainbow-folder-bg-opacity": 0.9,
  "anuppuccin-theme-settings@@anp-simple-rainbow-title-toggle": true,
  "anuppuccin-theme-settings@@anp-simple-rainbow-indentation-toggle": true,
  "anuppuccin-theme-settings@@anp-stacked-header-width": 30,
  "anuppuccin-theme-settings@@anp-alt-tab-style": "anp-safari-tab-toggle",
  "anuppuccin-theme-settings@@anp-alt-tab-custom-height": 40,
  "anuppuccin-theme-settings@@anp-disable-newtab-align": true,
  "anuppuccin-theme-settings@@anp-depth-tab-opacity": 0.6,
  "anuppuccin-theme-settings@@anp-depth-tab-gap": 10,
  "anuppuccin-theme-settings@@anp-safari-tab-radius": 5,
  "anuppuccin-theme-settings@@anp-safari-tab-gap": 3,
  "anuppuccin-theme-settings@@anp-safari-tab-animated": true,
  "anuppuccin-theme-settings@@anp-layout-select": "anp-card-layout",
  "anuppuccin-theme-settings@@anp-card-radius": 8,
  "anuppuccin-theme-settings@@anp-card-layout-padding": 1,
  "anuppuccin-theme-settings@@anp-card-shadows": true,
  "anuppuccin-theme-settings@@anp-card-layout-actions": true,
  "anuppuccin-theme-settings@@anp-card-layout-filebrowser": true,
  "anuppuccin-theme-settings@@anp-border-radius": 16,
  "anuppuccin-theme-settings@@anp-border-padding": 20
}

Obsidian Notes

Общие советы по вводу текста

  • Обязательно использовать слепой метод печати;
  • Смена языка 1 клавишей - при слепом вводе лучше всего использовать caps lock;
  • Плагины Note refactor и Better Link Inserter позволяют быстро создавать заметки из куска текста другой заметки и сразу создавать на неё ссылку;
  • Плагин templater позволяет создавать быстрые шаблоны для записи содержимого.

TGSummarize

Link: https://habr.com/ru/articles/804111 Group chats:

The JSON document below is a message history from a Telegram group chat.
I need you to summarize this chat history and yield 5 primary conversation topics.
Each conversation topic mentioned should be accompanied by one-sentence summaries of 2-3 most representative dialogs (not single messages) from the conversation on the given topic including usernames.
For each dialog summary provide the exact keywords with which the message can be found in the history using text search.

IMPORTANT: The output should be provided in the language which prevails in the messages text.

Here's an example of desired output in Russian language (follow the exact structure):

1. <b>Изменения в политике открытия счетов в Испании для россиян по паспорту гражданина РФ без получения ВНЖ. Обсуждаются новые ограничения, введенные в начале 2024</b>.
Примеры сообщений:
- <b>Bolzhedor рассказывает</b> о неудачной попытке открытия счета по паспорту РФ в банке Caixa. Ключевые слова: "<i>завернули с паспортом</i>", "<i>больше никому не открывают :(</i>".
- <b>Александр Сергеевич</b> отмечает, что единственный банк, до сих пор открывающий счета россиянам по паспорту - это BBVA. Ключевые слова: "<i>BBVA пока разрешает</i>", "<i>главное дружить с хестором</i>".

2. <b>Изменения в политике налогообложения России и Испании в 2024 году</b>.
Примеры сообщений:
- <b>Себастьян Перейро</b> и <b>Max</b> обсуждают изменения в налоговом законодательстве и влияние налогового резидентства на обязательства. Ключевые слова: "<i>нерезидентам сейчас хуже всего</i>", "<i>кто попался на непредоставлении?</i>", "<i>зачем вообще об этом сообщать/<i>".
- <b>Akakij M</b> и <b>Олег</b> делятся опытом и советами по вопросам налогообложения и требованиям налоговых органов. Ключевые слова: "<i>Будут спрашивать - скажете</i>", "<i>у меня пока ничего не просили</i>".

3. <b>Судебные приставы и исполнение налоговых требований: пользователи делились опытом взаимодействия с судебными приставами и налоговыми органами, включая случаи неправомерного списания средств</b>.
Примеры сообщений:
- <b>Маша К</b> рассказывает о своем опыте с неправомерным списанием средств и последующим взысканием через суд. Ключевые слова: "<i>по судам затаскают</i>".
- <b>Любитель Бокса</b> упоминает о списании штрафов с нескольких счетов одновременно. Ключевые слова: "<i>уж не знаю как, но нашли</i>".

4. <b>Вопросы по открытию и пополнению счета для получения студенческой визы</b>.
Примеры сообщений:
- <b>Родион Раскольников</b> ищет информацию о том, как показать на счете 1337€ для студенческой визы, учитывая ограничения на пополнение счета в Nickel. Ключевые слова: "<i>студенческая виза</i>", "<i>leet</i>", "<i>1337€</i>".
- <b>Kusswurm</b> предлагает пополнение через Bank для обхода лимитов Nickel. Ключевые слова: "<i>пополнение через Bank</i>", "<i>обход лимитов Nickel</i>".

5. <b>Обсуждение возможности использования банковских услуг для нерезидентов и резидентов с TIE</b>.
Примеры сообщений:
- <b>Александр</b> спрашивает о переводе средств из РФ в Испанию, будучи нерезидентом без резиденции. Ключевые слова: "<i>вывод средств</i>", "<i>РФ в Испанию</i>", "<i>нерезидент</i>".
- <b>Жулик Обманщик</b> предлагает привезти наличные, а также упоминает о наличии людей, заинтересованных в обмене рублей на евро. Ключевые слова: "<i>привезти наличные</i>", "<i>рубли на евро</i>".

Here's the JSON document:
{text_to_summarize}

Habr Channel:

The JSON document attached is a message history from a Telegram channel chat.
I need you to summarize this channel history and for all days yield 4 primary topics for each day connected to DevOps Kubernetes and Linux commands, only Rust language programming from programming languages, DIY topics, network and VPN, Ai LLM, HR and psychology, Data Security, Sysadmin tools topics. Every day must have this summarization separately. 

For posts named "Новости к этому часу" provide each news line inside this post as is with an accompanying URL link.

IMPORTANT: For each summary provide the href URL link (in clickable format) and the date connected to the channel post which was summarized. The output should be provided in the language which prevails in the post message text.

Other Channel:

The JSON document attached is a message history from a Telegram channel chat.
I need you to summarize this channel history and for all days primary topics for each day. Every day must have this summarization done separately. 

IMPORTANT: If a post has a URL link, then add it to the summarization (in clickable format) and also add the date connected to the channel post which was summarized. The output should be provided in the language which prevails in the post message text.

Ultralearning

Основные техники обучения

  1. Метаобучение. Дорожная карта предмета изучения. Как использовать свои текущие навыки, чтобы легче освоить новый. Перед изучением темы, разобраться с предметом изучения: * Зачем учить, что учить, как учить? Написать в таблице; * Интервью с экспертом: найти спеца, кто достиг высот в теме, которую планируешь изучать, и пообщаться - насколько ему нравится, помогают знания эти, как он учился; * Выделить, что надо понимать, что просто запомнить (факты), что надо отработать; * Закон убывающей ценности: поиск источников знаний - это процесс, ценность начальных источников будет убывать, надо будет искать новые. * Эталонный сопоставительный анализ: взять программу курса (например, программу ВУЗа), и по ней следовать как по дорожной карте; * Метод подчеркивания/исключения: учить тему, постоянно взвешивая её ценность. Например, изучение программирования для создания проекта - это учить конкретные языки, но не теорию вычислений; * Сколько исследовать тему проекта перед его началом - 10% от времени на проект.
  2. Фокус: выделение времени на интенсивное изучение. Способность концентрироваться, бороться с прокрастинацией: * Определить причину прокрастинации: сопротивление конкретному делу или более привлекательные альтернативы? * Поток от Михай Чиксентмихайи не годится (согласно Андерсону Эриксону) для обучения сложным навыкам. Потому как в потоке нет места для осознанной рефлексии. Также обучение - это уровень сложности более высокий, чем годится для потока. Человек к потоке занимается обычно делом, которое хорошо знает; * Техника “я ещё 5 минут поделаю и пойду отдыхать” для начала борьбы с прокрастинацией, далее техника помидорок для концентрации.
  3. Целенаправленность - идти вперёд, не заменять обучение другими проектами попроще. Фокус на практической значимости изучаемого навыка: * Делать pet-project; * Погружение в среду (языковую); * Работа с симулятором (например, у лётчиков); * Не бояться ставить высокие сложные задачи.
  4. Упражнения. Атаковать свои слабые места безжалостно. Разбить большие задачи на мелкие, освоить их и собрать вместе. В процессе разбора на части и изучения подзадач могут найтись доселе неизвестные вспомогательные навыки. Например, задача изучения языка включает задачи скоростного и эффективного использования словарей, переводчиков. Среди эти под-задач могут быть “бутылочные горлышки”, из-за которых в целом изучение навыка тормозит. На них унужно сфокусироваться до их улучшения;
  5. Самоконтроль. Вспоминать изученное активно через задачи и тесты, а не пассивно, заглянув в источник. Активно вспоминать, в том числа тестировать себя ДО изучения темы;
  6. Обратная связь. Принимать критику на себя, не избегать её (но фильтровать полезную, остальную игнорировать). В том числе тренер/наставник даёт 1-1 обратную свзяь, отчего занятия с ними так эффекктивны;
  7. Запоминание. Учиться помнить инфу навсегда. Метод интервального повторения;
  8. Интуиция. Углубление знаний через игру. Усвоить как работает понимание, не прибегать к дешёвым трюкам запоминания;
  9. Экспериментирование. Исследовать вне своей зоны комфорта.