Хотел послушать буддистский метал, а его нет

Бенчмарки быстро

hyperfine и бенчмарки на Linux

Как быстро сравнить время работы разных команд: использовать пакет hyperfine.
Страница проекта содержит полезные примеры, здесь парочка тех, что я использовал для запуска тестов различных команд (бенчмарканья? бенчмаркинга?).

Подробнее →

Удалить ненужные файлы и освободить место на диске (Linux)

Удалить ненужные файлы и освободить место на диске (Linux)

Собрал в одном месте все команды, которые обычно запускаю, чтобы очистить место под большие файлы.
В этот раз я перепрошивал свою портативку (Anbernic RG351p), и мне нужно было срочно найти 50ГБ свободного места (нашёл).

Подробнее →

JavaScript рефакторинг: балласт в проекте и как от него избавиться

JavaScript рефакторинг: избавляемся от балласта

Начав удалять ненужный код, сложно остановиться. В прошлой части были удалены неиспользуемые импорты, в этот раз я найду лишние файлы: пустые readme и дефолтные таблицы стилей. Такие файлы выглядят полезными, но это оптическая иллюзия, которая проходит, если присмотреться.

Рефакторинг подходит для больших проектов: в текущем около 300 файлов историй, и примерно столько же компонентов. PR с лишним кодом унёс с собой 1.4к строк и улучшил время сборки почти на минуту (!).
Для малых проектов лучше сберечь усилия для каких-то более существенных улучшений.

Подробнее →

JavaScript рефакторинг: удаление мёртвого кода

JavaScript рефакторинг: удаление мёртвого кода

Как неиспользуемый код стухает и лежит в проекте заповедными нетронутными пластами: новый функционал обложили тестами и снапшотами и выкатили на прод. Через какое-то время, клиентский код или компонент, который пользовался этим функционалом, удалили — а общие утилиты, константы, моки и конфигурации остались по чьему-то недосмотру. Такой код больше не нужен и не используется, но невидим для линтеров и подсветки IDE: он импортируется в тестах и StoryBook (например), и выглядит полезным и вообще, при деле.

В текущем большом проекте я нашёл и удалил около 5к строк неиспользуемых функций и компонентов, а также ненужных стилей, тестов, историй StoryBook, снапшотов и одну картинку. Что интересно, снапшоты были далеко не большей частью пулл реквеста, зато нашлось множество устаревших компонентов, которые импортировались только в историях SB.
Кроме прочего, это ускорило время сборки проекта примерно на полминуты или 5%: мелочь, а приятно. Подробнее →

JavaScript антипаттерны

JavaScript антипаттерны

Парочка мелких антипаттернов, которые просачиваются на прод и об которые можно споткнуться. Оба шаблона связаны с оптимизацией условий и переписыванием их в более удобочитаемом виде: Замена продолжительных условий и Перегрузка switch (true).

Подробнее →

JavaScript: про ленивую обработку и сокращённые вычисления

Вы не знаете JS: про ленивую обработку и сокращённые вычисления

В моём экземпляре «Вы не знаете JS: Типы и грамматические конструкции» есть раздел про порядок выполнения логических операторов. Здесь есть неточность: результаты примеров выше обусловлены тем, что интерпретатор отбрасывает части выражения, которые не требуются вычислять.
Действуют принципы Ленивых вычислений (Lazy evaluation) и Вычислений по короткой схеме (Short-circuit evaluation):

Подробнее →

Музыка 2020-го

Альбомы 20 в хронологическом порядке

Guilty pleasures перестали быть guilty, я больше не стеснялся слушать КиШ и Сплин, да и вообще, не без Lacuna Coil.
Кроме того, понял, что определённый джаз — заумный, акустический, пространный, абстрактный или авангардный, спокен ворд и остальная концептуальщина вообще не вставляет. С чистой совестью махнул рукой на любые релизы, которые попадаются в этом жанре, и переключился на хард-боп и всё что вокруг, классный фьюжн и вообще приджазованные и прифанкованные вещи, которые слушаются безо всякого напряжения.

Всего в таблицу попали 509 записи, большая часть — альбомы. EP и синглы я слушаю редко, заносить в таблицу мне их лень.
9 альбомов с максимальной оценкой, 93 с оценкой «9».
Подробнее →

2020

Куда ты торопишься, маленький лягушонок?

В 2020-м было много разработки, музыки и гитары. Дежа вю, а может, признак мастерства. Кроме этого, было много сидения дома, локдаун, карантин и все эти слова, уже серьёзно натёршие.

Понял ли я что-то важное что за год? Думаю, что понял: Keep It Simple, Stupid.

Подробнее →

Новый раздел про книжки

Книжки

Переношу короткие заметки о прочитанных книгах в новый раздел «Прочитал». Заметки копились в большом гугл-доке последние пару лет, и их стало неудобно просматривать, да и тегов не хватает.
В раздел попали книжки только за последние годы, когда я снова стал делать микрозаметки по прочтении (в школе и университете выписывал в тетрадки разные ценные куски и цитаты. Всё, естественно, утеряно). Постепенно буду добавлять новые и цитаты из заметок на читалке.

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

Музыка прошлого года

Музыка 2019

Ещё одна статья про итоги прошлого года, более специализированная и скорее всего, ещё более скучная (списки мои, списочки).

Весь 2019-й я вёл таблицу в гугл доках, куда записывал новые альбомы, которые слушал. В лог попали только абсолютно новые для меня записи, или те, которые я успел основательно забыть, или те, что не слушал лет пять или больше.
Альбомы-филлеры, которые я люблю и часто слушаю между делом, не учитывались.

Подробнее →