Getting Things Done

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

Subsections of Getting Things Done

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 позволяет создавать быстрые шаблоны для записи содержимого.

Ultralearning

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

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