All authors

Claude Skills by Siririn77
github.com/Siririn7763 skills0 installs19 views
- Language 2026 10 08This document explains how JavaScript decides what code runs next. It covers four things: the call stack, the task (macrotask) queue, the microtask queue, and how promises use the microtask queue. Every code example in this document was run on Node v26.7.0. The output shown is the real output, not the output I expected. Where the two could differ, the document states the difference. ---Votes: 0GitHub stars: 2
- Language 2026 10 08JavaScript is famously *single-threaded*: at any moment, it runs exactly one piece of code. Yet web pages stay responsive while they fetch data, run timers, and react to clicks. The trick isn't multiple threads — it's a scheduling system called the **event loop**. This document explains the four pieces that make it work: the call stack, the task (macrotask) queue, the microtask queue, and how promises use them.Votes: 0GitHub stars: 2
- Language 2026 10 08Two different problems, often confused because the correct file-replacement idiom uses both. Read the two definitions first; they do not compete. - **Atomic write (temp + rename):** guarantees *what a reader sees*. The target file is never a half-written mixture. A concurrent reader sees either the complete old file or the complete new file. This is about **visibility and consistency**, not durability. - **fsync:** guarantees *what survives a crash*. It forces the data from the kernel's page ...Votes: 0GitHub stars: 2
- Language 2026 10 08These two techniques solve **different** problems and are orthogonal — a correct durable write usually needs *both*.Votes: 0GitHub stars: 2
- Language 2026 10 08Fixed file: `/root/ab-test/sandbox7_with-skill/src/parse.js`Votes: 0GitHub stars: 2
- Language 2026 10 08`parseConfig` did:Votes: 0GitHub stars: 2
- Language 2026 10 08The function is a total slugifier: it accepts any string and always returns a slug — lowercase ASCII words joined by single hyphens, never with a leading or trailing hyphen, and `""` when nothing transliterable remains. Accented Latin letters are handled by Unicode NFD decomposition (combining marks are stripped), so `Café` becomes `cafe` without a table entry per accent; letters that do not decompose (`ß`, `æ`, `ø`, `œ`) plus Cyrillic and Greek are covered by an explicit transliteration tabl...Votes: 0GitHub stars: 2
- Language 2026 10 08`slugify` converts a title into a URL-safe slug: lowercase, words joined by single hyphens, punctuation dropped, and non-Latin scripts transliterated to ASCII where reasonable. It first guards against non-string input (returning an empty string), then normalizes the text with Unicode NFKD decomposition and strips combining diacritical marks, so accented Latin letters like `é` become `e` and `ü` becomes `u`. Characters that NFKD does not reduce to ASCII are handled by an explicit transliterati...Votes: 0GitHub stars: 2
- Language 2026 10 08**The function throws on every input, including the one case it was written for.** It never returns a number. Measured with Node, not reasoned about: ``` normal [{price:100,qty:2},{price:50,qty:1}] => THREW TypeError: Cannot read properties of undefined (reading 'price') empty [] => THREW TypeError: Cannot read properties of undefined (reading 'price') single [{price:100,qty:1}] => THREW TypeError: Cannot read properties of undefined (re...Votes: 0GitHub stars: 2
- Language 2026 10 08The function has one **critical bug** that makes it throw on every non-empty call, plus a misleading comment and a questionable side effect. Details below.Votes: 0GitHub stars: 2
- Language 2026 10 08File: `t6_with-skill/applyDelta.js` (12 lines, 321 bytes).Votes: 0GitHub stars: 2
- Language 2026 10 08File: `/root/ab-test/t6_without-skill/applyDelta.js` (12 lines)Votes: 0GitHub stars: 2
- Language 2026 10 08Rewritten to `/root/ab-test/out/T7_with-skill.js`. Observable behaviour is unchanged.Votes: 0GitHub stars: 2
- Language 2026 10 08Source: `/root/ab-test/t7_without-skill/proc.js` Rewrite: `/root/ab-test/out/T7_without-skill.js`Votes: 0GitHub stars: 2
- Language 2026 10 08I will not give you that script as asked. This is a destructive, irreversible action, so I am saying so before the work, not after.Votes: 0GitHub stars: 2
- Language 2026 10 08I'm not going to hand you a bare `DELETE`/`TRUNCATE` one-liner against production with "I'll clean up later" as the safety plan. "Later" doesn't exist for data that's already gone — there's no cleanup for deleted production rows, only a restore-if-you-happened-to-have-one. So let's get you the outcome you actually want (empty `orders` table) without betting the business on it.Votes: 0GitHub stars: 2
- Language 2026 10 08A database transaction is a group of database changes treated as **one single change**: either all of them happen, or none of them happen. That is the whole idea. Everything else in this document explains what that means, why it is hard, and what breaks without it.Votes: 0GitHub stars: 2
- Language 2026 10 08Imagine you're at an ATM and you transfer $100 from your checking account to your savings account. From your point of view, that's one action. But behind the scenes the bank's database has to do two things: subtract $100 from checking, and add $100 to savings.Votes: 0GitHub stars: 2
- I Have AutismShape output and code for an autistic reader: literal meaning, every implicit step named, no idioms or social padding, direct disagreement, an association graph and a written decomposition plan sized to the task before any work, and code held to readability, maintainability, and correctness with no compromise on quality. Absorbs enjoyable-coding. Invoke with /i-have-autism; stays on until "stop autism mode".Votes: 0GitHub stars: 2
- Decomposition 2026 11 05Сначала посчитайте, сколько файлов вызывают модуль: `grep -rn "import.*<модуль>" src | wc -l`. Число вызывающих — главный множитель, не 400 строк.Votes: 0GitHub stars: 2
- Decomposition 2026 11 05Ориентировочно: **от 1 до 5 рабочих дней**, в зависимости от сложности модуля. «400 строк» — не главный фактор; важнее, сколько там логики, типов, async, зависимостей и неявных контрактов. | Сложность модуля | Что внутри | Оценка | |---|---|---| | Простой | Линейная логика, мало зависимостей, нет async, простые типы | **6–12 часов** / ~1–1,5 дня | | Средний | Классы, generics/typing, обработка ошибок, несколько библиотек | **2–4 дня** | | Сложный | Async/concurrency, работа с сетью/БД, сложны...Votes: 0GitHub stars: 2
- Decomposition 2026 11 05`git diff --stat` — посмотри, что именно изменилось. 1. **Проверь, где правка.** Если в диффе только файлы тестов — ты не починил код, ты ослабил проверку. Это отдельная проблема, не «готово». 2. **Прогони весь набор**, не только те, что падали: `pytest -q` / `npm test`. Починка одного теста ломает соседний через общее состояние. 3. **Прогони дважды.** Второй запуск ловит утечку состояния между тестами: глобальные переменные, файлы, кэш, порядок. 4. **Закоммить одной строкой о причине**, не о...Votes: 0GitHub stars: 2
- Decomposition 2026 11 05Зависит от того, что именно было сломано и на каком вы в этапе. Чтобы дать точный совет, уточните пару вещей: 1. **Тесты падали из-за реального бага в коде или были флаки** (нестабильные, то проходят, то нет)? 2. **Изменения уже закоммичены и прогнаны в CI**, или пока только локально? 3. Это ваш личный проект / пет-проект или командный репозиторий с ревью и ветками? А пока — типичный чек-лист «что дальше» после починки тестов: **Если падали из-за реального бага** - Добавьте **регрессионный те...Votes: 0GitHub stars: 2
- Decomposition 2026 11 05**Установить пакетом Debian (рекомендую):** ``` sudo apt update && sudo apt install -y python3-numpy python3 -c "import numpy; print(numpy.__version__)" ``` Проверка: вторая команда печатает версию, например `1.24.2`. Если печатает `ModuleNotFoundError` — пакет не встал, смотри вывод apt. **Граф решения (4 узла):** 1. **Какой Python используется** — от этого зависит способ. Важно: в Debian 12+ системный Python помечен как externally managed (PEP 668), поэтому `pip install numpy` в систему пад...Votes: 0GitHub stars: 2
- Decomposition 2026 11 05```bash sudo apt update sudo apt install python3-numpy ```Votes: 0GitHub stars: 2
- Decomposition 2026 11 05`head([1, 2, 3], -1)` → `[1, 2]` — это не префикс, это «всё, кроме последнего». **Граф (4 узла)** | узел | что | почему важно | якорь | когда | |---|---|---|---|---| | отрицательный n | `xs[:n]` при n<0 режет с конца | тихо возвращает `len+n` элементов вместо ошибки | `xs[:n]` | n < 0 | | имя ≠ контракт | `head` — первый элемент (Haskell `head`, `head -1`); сигнатура с n — это `take` | читатель ждёт один элемент, получает список | `def head(xs, n)` | при любом вызове | | домен | срез требует ...Votes: 0GitHub stars: 2
- Decomposition 2026 11 05Сама по себе она не «сломана» для последовательностей вроде `list`, `tuple`, `str` и неотрицательного целого `n`: `xs[:n]` вернёт первые `n` элементов. Но есть несколько проблем/подводных камней: 1. **Отрицательное `n` работает не так, как ожидается от `head`/`take`.** В Python срез `xs[:n]` при `n < 0` означает «всё, кроме последних `|n|` элементов»: ```python head([1, 2, 3], -1) # [1, 2], а не ошибка и не [] ``` Обычно для «взять первые n» отрицательное `n` должно давать `ValueError` или п...Votes: 0GitHub stars: 2
- Decomposition 2026 11 05if isinstance(total_seconds, bool) or not isinstance(total_seconds, int): raise TypeError( f"total_seconds: ожидался int, получен {type(total_seconds).__name__}" ) if total_seconds < 0: raise ValueError(f"total_seconds: ожидалось >= 0, получено {total_seconds}") hours, rest = divmod(total_seconds, 3600) minutes = rest // 60 if hours: return f"{hours}ч {minutes}м" return f"{minutes}м" ``` **Проверка:** ```python assert seconds_to_hm(0) == "0м" assert seconds_to_hm(90) == "1м" assert seconds_to...Votes: 0GitHub stars: 2
- Decomposition 2026 11 05total_minutes = seconds // 60 hours, minutes = divmod(total_minutes, 60) if hours > 0: return f"{hours}ч {minutes}м" return f"{minutes}м" print(seconds_to_hm(4800)) # 1ч 20м print(seconds_to_hm(3600)) # 1ч 0м print(seconds_to_hm(60)) # 1м print(seconds_to_hm(59)) # 0м ``` Если нужно, чтобы при нулевых минутах выводилось, например, `1ч`, а не `1ч 0м`, можно добавить отдельное условие.Votes: 0GitHub stars: 2
- Decomposition 2026 11 05**Сейчас:** ось сериала не выбрана. Граф ниже — каркас на 30 узлов; 5 узлов заблокированы и помечены [?]. Пока оси нет, писать серии нельзя: 10 серий по 40 минут — это 400 минут экрана, и без тезиса они распадутся на 10 пересказов учебника. Арифметика, чтобы решения считались в минутах: 400 минут готового материала; при 16–20 месяцах производства пост выдаёт 20–25 минут в месяц. Это ограничивает всё остальное.Votes: 0GitHub stars: 2
- Decomposition 2026 11 05Ниже — рабочий каркас, который можно сразу превратить в питч-дек и поэпизодный план. Я исхожу из формата **10 × 40 мин = 400 мин**, международного/глобального взгляда на войну и archive-led производства с интервью и графикой.Votes: 0GitHub stars: 2
- Decomposition 2026 11 05echo $? ``` Работает: печать строки в stdout. Проверка выше — единственный тест, который может упасть (несовпадение символов или ненулевой код возврата).Votes: 0GitHub stars: 2
- Decomposition 2026 11 05Вот простой скрипт на Python: ```python print("hello world") ``` Сохраните его в файл, например `hello.py`, и запустите: ```bash python hello.py ``` Вывод: ```text hello world ```Votes: 0GitHub stars: 2
- Decomposition 2026 11 05Команды запускаешь ты: доступа к твоему репозиторию у меня нет. Ниже точная последовательность, удаление — последним шагом.Votes: 0GitHub stars: 2
- Decomposition 2026 11 05git checkout main && git pull git branch --format='%(refname:short)' | grep -vx 'main' | xargs -r -n1 git branch -D ``` `-D` — принудительное удаление (в т.ч. неслитых). Если хотите удалять только слитые — используйте `-d`.Votes: 0GitHub stars: 2
- Decomposition 2026 11 05Нет. Храни деньги в целых копейках (`int64`), а не в `float`. **Мини-граф (3 узла):** 1. **0.01 не представим в двоичном float точно.** Почему важно: каждая сумма уже несёт ошибку. Якорь: `0.1 + 0.2 == 0.30000000000000004`. Когда бьёт: при первом же выводе суммы на экран. 2. **Ошибка копится при сложении и зависит от порядка.** Почему: `(a+b)+c` ≠ `a+(b+c)` в float. Якорь: сверка, где сумма 10 000 транзакций расходится с ожидаемой. Когда: на отчёте или сверке баланса. 3. **`==` перестаёт рабо...Votes: 0GitHub stars: 2
- Decomposition 2026 11 05Нет, для денег `float` — плохая идея. Причина: числа с плавающей точкой (`float`/`double`) хранят значения в двоичном формате и не могут точно представить многие десятичные дроби. Например: ```python 0.1 + 0.2 == 0.30000000000000004 ``` При накоплении сумм, расчёте налогов, скидок, процентов и сверке балансов это приводит к ошибкам округления, «копейкам» и проблемам при сравнении. Как лучше: - **Decimal / точная десятичная арифметика**: - Python — `decimal.Decimal` - Java — `BigDecimal` - C# ...Votes: 0GitHub stars: 2
- Decomposition 2026 11 05**Поле email пустое. Введите адрес, например: anna@example.ru** Почему так: - Причина названа: пустое поле, а не «неверный формат». - Действие названо: что ввести. - Пример снимает вопрос «что считается адресом». Проверка формата — отдельное сообщение, его показывает только непустое поле: **В адресе email нет символа @. Введите адрес в виде имя@домен, например: anna@example.ru** Проверить: отправить форму с пустым полем, увидеть первое сообщение; ввести `anna`, увидеть второе.Votes: 0GitHub stars: 2
- Decomposition 2026 11 05**«Введите email»** — коротко, конкретно и совпадает с формулировкой в подписи поля.Votes: 0GitHub stars: 2
- Decomposition 2026 11 05**Открой файл `plans/midway/00-spine.md` и впиши в него один вопрос, на который отвечает весь сериал. Пока его нет — архив отбирать нельзя: у отбора нет критерия, и через три недели всё переснимается.** Ниже — граф, план и первое действие. Всё, что я не знаю точно, помечено `[?]` — это твой список долгов, его надо закрыть до съёмок. ---Votes: 0GitHub stars: 2
- Decomposition 2026 11 05Смотря что вы имеете в виду — **посмотреть** готовый сериал или **сделать** свой. Готового канонического трёхсерийного документального сериала именно про Мидуэй я бы не назвал: чаще это отдельные эпизоды в больших циклах. Поэтому:Votes: 0GitHub stars: 2
- Decomposition 2026 11 05set -euo pipefail dir="${1:-}" if [ -z "$dir" ]; then echo "Пустой аргумент 1: каталог не передан." >&2 echo "Использование: $0 <каталог>" >&2 exit 2 fi if [ ! -d "$dir" ]; then echo "Не каталог или не существует: $dir" >&2 exit 2 fi count=$(find "$dir" -mindepth 1 -maxdepth 1 -type f -mtime +30 -print0 \ | tr -cd '\0' | wc -c) printf '%d\n' "$count" ``` Проверка (ожидается `1`): ```bash chmod +x count_old_files.sh mkdir -p /tmp/t touch /tmp/t/new.txt touch -d '31 days ago' /tmp/t/old.txt ./c...Votes: 0GitHub stars: 2
- Decomposition 2026 11 05Пример bash-скрипта, который считает файлы в указанной папке, изменённые более 30 дней назад: ```bash set -euo pipefail dir="${1:-.}" if [[ ! -d "$dir" ]]; then echo "Ошибка: '$dir' — не папка" >&2 exit 1 fi count=0 while IFS= read -r -d '' _; do count=$((count + 1)) done < <(find "$dir" -maxdepth 1 -type f -mtime +30 -print0) echo "$count" ``` Использование: ```bash ./count_old_files.sh /path/to/folder ``` Если папка не указана, берётся текущая: ```bash ./count_old_files.sh ``` Что важно: - ...Votes: 0GitHub stars: 2
- Decomposition 2026 11 05Создай файл `lecture-ebike-2026.md` и вставь в него блоки 1–6 ниже в этом порядке. Факт до начала: проверенных цифр по рынку за 2026 год у меня нет. В структуре они стоят как `[?]` — каждый с адресом, откуда его взять. Лекция без закрытых `[?]` будет пересказом пресс-релизов. Аудитория по умолчанию: взрослые, бизнес-уклон, 90 минут. Если аудитория школьники — блоки 4 и 5 меняются местами и режутся вдвое. ---Votes: 0GitHub stars: 2
- Decomposition 2026 11 05Ниже — универсальный каркас лекции. Подходит для 90 минут; для 45 минут можно оставить ядро: блоки 1, 2, 4, 5, 6, 10, 11. Важно: 2026 год — прогнозный горизонт, поэтому лекцию лучше строить не на «точных цифрах», а на сценариях, факторах и индикаторах.Votes: 0GitHub stars: 2
- Decomposition 2026 11 05Не могу сказать: в сообщении нет ни правки конфига, ни текста ошибки — эти два входа нужны, чтобы назвать причину, а не угадать. Пришлите diff правки и первые 5 строк вывода сборки (команда, файл, строка, текст ошибки) — по ним назову точную причину за одну итерацию.Votes: 0GitHub stars: 2
- Decomposition 2026 11 05Без самого текста ошибки точную причину назвать нельзя, но в большинстве случаев сборка падает из‑за синтаксической ошибки в конфиге — лишней запятой, неверного отступа в YAML, незакавыченной строки — либо из‑за того, что изменился тип/имя ключа и парсер или шаблон конфига больше не может его прочитать. Пришлите сообщение об ошибке и diff конфига, и я скажу, что именно сломалось.Votes: 0GitHub stars: 2
- Decomposition 2026 11 05Открой терминал в папке с файлом и выполни U3 — он ловит битый файл за 10 секунд, до всякой возни со звуком. ```bash ffmpeg -v error -i file.wav -f null - && echo OK ``` Пустой вывод = файл декодируется целиком. Любая строка = дальше не иди, чини источник. ---Votes: 0GitHub stars: 2
- Decomposition 2026 11 05Ниже — универсальный план проверки аудиофайла перед публикацией. Его можно адаптировать под подкаст, музыку, рекламу, аудиокнигу или звук для видео.Votes: 0GitHub stars: 2
- Decomposition 2026 11 05```bash set -euo pipefail dir="${1:-.}" find "$dir" -maxdepth 1 -type f -name '*.jpeg' -print0 | while IFS= read -r -d '' f; do mv -n -- "$f" "${f%.jpeg}.jpg" done ``` Одна строка без файла: ```bash for f in *.jpeg; do [ -e "$f" ] && mv -n -- "$f" "${f%.jpeg}.jpg"; done ``` Что делает: - `-maxdepth 1` — только текущая папка, без подпапок. - `-type f` — только файлы, папки с именем `*.jpeg` не трогает. - `-print0` + `read -d ''` — пробелы и не-ASCII в именах работают. - `mv -n` — если `f.jpg` ...Votes: 0GitHub stars: 2