myStack
890 subscribers
761 photos
15 videos
27 files
310 links
Меня зовут Ростислав и я разработчик.

Это мой личный блог.

Я пишу на Go, читаю книги про технологии и пишу об этих и других вещах сюда.


Книги:
https://bit.ly/rostislav-books

Личка:
https://t.me/Rostislaved

Сайт:
Rostislav.me
Download Telegram
Firefox + Claude Mythos

Компания Mozilla опубликовала отчёт о проверке кодовой базы Firefox при помощи AI-модели Claude Mythos, достигшей нового уровня в таких областях, как выявление уязвимостей, поиск и исправление ошибок. Отмечается, при использовании Mythos практически не было ложных срабатываний, в то время как прошлые попытки использования моделей GPT 4 и Sonnet 3.5 не рассматривались как успешные из-за обилия ложных отчётов. В апреле в Firefox было устранено 423 уязвимости, из которых 271 были выявлены сотрудниками Mozilla при помощи Claude Mythos. 180 уязвимостей из 271 признаны опасными, 80 присвоен умеренный уровень опасности, а 11 - низкий.

https://www.opennet.ru/opennews/art.shtml?num=65405
8🤔4
The UNIX system has a command, nice, which allows a user to voluntarily reduce the priority of his process, in order to be nice to the other users. Not surprisingly, nobody ever uses it.
1🤣10💯31
На iOS в приложении Files нельзя отобразить скрытые файлы (названные через точку) 🤦‍♂️
😁2😭1
Obsidian iPhone and PC Sync (Syncthing)

Нашел способ синкать хранилище между компом и телефоном и написал инструкцию.

Получилось благодаря приложению SyncTrain (GitHub):
1. Сделать бэкап Vault на компе (не просто для безопасности. Бэкап понадобится позже)
2. Скачать на iOS Obsidian и SyncTrain (мне потребовалось менять страну т.к. не было в ru app store)
3. В iOS Obsidian создать Vault (это действие создает директорию в системе, куда будем синкать наш Vault)
4. Добавление телефона в Syncthing. В Syncthing нажать на "Identification", чтобы появился QR code.
5. SyncTrain/Devices/Add device.../Scan using camera...
6. Добавление Vault в Syncthing. В Syncthing/Add Folder выбираем папку с Vault. На вкладке Sharing выбираем наш телефон.
7. В SyncTrain во вкладке Folder должен появиться новый пункт для добавления расшаренной папки. Нажимаем его. В нем: existing folder... и выбираем папку "На iPhone"/Obsidian/Vault. Выбираем Synchronize All files и Share with - имя компьютера

На этом этапе все должно синхронизироваться, но есть нюанс. При создании папки Vault приложением obsidian на телефоне оно создает скрытую папку .obsidian с дефолтными настройками приложения, которая имеет дату создания старше, чем та, что на компе, поэтому она якобы новее и syncthing перетирает ей ту, что на компе, сбивая все настройки и темы. Поэтому:

8. На компе нужно достать из бэкапа папку .obsidian и заменить ей ту, что в Vault (Чтобы показать скрытые файлы: на линуксе ctrl+H, на маке cmd+shift+.)

В целом это все. Механизм синка следующий:
- Если обновить файл на компе, то все автоматически синхронизируется на телефон через какое-то время (Можно руками триггернуть: в Obsidian сделать ctrl+S и в Syncthing нажать Rescan)
- Если обновить файл на телефоне, то автоматически не произойдет ничего. Нужно зайти в папку с Vault'ом внутри SyncTrain'а, нажать вверху три точки, там Folder actions и нажать Re-scan folder. Это долго и неудобно, поэтому тут помогут автоматизации на iOS.

9. Открываем приложение Команды, вкладка Команды, нажимаем +, выбираем "Rescan folder" в добавленном действии в разделе Folder выбираем папку с нашим Vault (Она там единственная должна быть). Ищем второе действие "Synchronize for a while"
10. После добавления этих двух действий вверху нажимаем на заголовок и переименовываем, например в SyncTrain
11. Переходим на вкладку Автоматизация, нажимаем +, ищем "Приложение", выбираем Obsidian и ставим галочки на "Открыто" и "Закрыто", внизу выбираем "Немедленный запуск". Ждем далее и выбираем созданную ранее команду SyncTrain.
12. Всё.
163💊1
#книги
Джозеф Бурго - Почему я делаю это
13.04.2026 - 15.05.2026

Книга по психологии про механизмы защиты психики.

Мне понравилось определение, которое использует автор для термина механизм защиты - Ложь, которую мы говорим себе, чтобы избавиться от боли.

Читать начал т.к. хотел понять, как называются те "штуки", которые замечал в поведении людей, а также понять, какие из них использую сам. Удивил например механизм проекции, бывало замечал эту штуку за кем-то, но не знал, что это механизм защиты.

Книга написана простым языком, и её легко читать, что обычно нехарактерно для книг по психологии. Вообще тему защитных механизмов начала развивать Анна Фрейд (дочь Зигмунда), но её книгу я не смог читать как раз потому, что она написана сложно и не как учебник, а скорее как научный труд. Притом она основывается на работах отца - то есть какие-то идеи не объясняются, а используются с расчётом на то, что читателю они уже известны.

Книга понравилась, считаю полезной. Вынес следующую идею: Люди существа эмоциональные и по-разному могут выдерживать эмоции. Когда им это делать трудно, то их психика включает механизмы защиты, чтобы облегчить ситуацию.
👍3🤮1💩1👀11
Попросил ллм выписать все механизмы защиты из книги (некоторые из них сложнее, чем кажутся на первый взгляд):
Вытеснение (Подавление)
Неприемлемые чувства или воспоминания убираются из сознания.
Пример: Человек искренне не помнит, как в детстве на него напала собака, но во взрослом возрасте испытывает необъяснимый страх при виде псов.
Отрицание
Игнорирование очевидной неприятной реальности.
Пример: Человек отказывается признавать измену партнера, несмотря на явные факты.
Замещение
Перенос эмоции с опасного объекта на более безопасный
Пример: Начальник накричал на мужчину на работе, а тот пришел домой и сорвался на жену или ребенка из-за незакрытого тюбика пасты.
Пример: После сильного стресса человек начинает переедать.Эмоциональное напряжение переносится на еду.
Реактивное образование
Бессознательное превращение пугающего или неприемлемого чувства в его полную противоположность.
Пример: Человек подсознательно завидует успеху коллеги и злится на него, но вслух постоянно и чрезмерно бурно хвалит его перед всеми, демонстрируя фальшивое дружелюбие.
Пример: Человек испытывает ненависть или раздражение, но превращается в «вечного добряка», который никогда не спорит и всегда всем помогает.
Расщепление
Разделение восприятия мира, людей или себя строго на две крайности («черное и белое», «святые и злодеи») без средних тонов.
Пример: Новый знакомый сначала кажется идеальным, а после одного конфликта - ужасным человеком.
Идеализация
Наделение человека, будущего события или самого себя вымышленным совершенством
Пример: Мысль: «Вот как только я перееду жить в другой город (или куплю новый телефон), вся моя жизнь сразу станет идеальной, а проблемы исчезнут сами собой».
Проекция
Приписывание собственных неприемлемых чувств, мыслей или вины другим людям.
Пример: Муж забыл выполнить обещание, почувствовал вину из-за упрека жены и вместо признания своей ответственности обвинил ее в придирчивости.
Пример: Мужчина сам безумно злится на друга, но вместо признания этого начинает обвинять его: «Почему ты вечно на меня злишься и со мной так грубо разговариваешь?»
Контроль
Попытка снизить тревогу через тотальный контроль ситуации или людей.
Пример: Человек не может делегировать задачи и все перепроверяет по несколько раз.
Рационализация
Объяснение своего поведения удобной, «разумной» причиной вместо настоящей.
Пример: Студент провалил экзамен, потому что всю ночь играл в компьютерные игры, но объясняет себе и родителям: «Профессор просто намеренно заваливает всех и ставит вопросы не по программе».
Пример: Человек не пошел на встречу из страха, но говорит себе: «Мне просто было неинтересно».
Интеллектуализация
Уход от эмоций в анализ, логику и рассуждения.
Пример: Вместо того чтобы пережить горе и поплакать после расставания с партнером, человек начинает отстраненно рассуждать о статистике разводов и биохимических фазах угасания гормонов любви.
Пример: Человек изучает психологию исключительно как способ не чувствовать: бесконечно классифицирует травмы, защиты и паттерны, но избегает прямого контакта со своими эмоциями.
Защитный нарциссизм (защита от стыда)
Поддержание завышенного образа себя, чтобы не чувствовать стыд или неполноценность.
Пример: Человек, погрязший в долгах и чувствующий себя неудачником, покупает в кредит дорогую статусную машину, чтобы все вокруг завидовали его «богатству».
Обвинение (защита от стыда)
Моментальное перекладывание вины на других при любой ошибке из-за панического страха почувствовать себя неидеальным.
Пример: Муж случайно разбил тарелку, но вместо «извини» сразу кричит жене: «Это потому, что ты поставила ее не на то место!»
Презрение (защита от стыда)
Высокомерное отношение к чужим промахам и слабостям, помогающее почувствовать себя «победителем» на фоне «неудачников».
Пример: Человек едко высмеивает коллегу, который запнулся во время презентации, чтобы на его фоне ощутить себя умным и безупречным.
Пример: Человек видит чужой успех и говорит: «Да это просто повезло, ничего особенного».
21🥱1
golangci-lint config v1.2.0 (for golangci-lint v2.12.2)

Обновил свой конфиг:
https://github.com/rostislaved/golangci-lint-config

Напомню. Он создавался примерно так:
1. Включил максимальное число линтеров\их правил\настроек
2. Прошелся по каждому линтеру\его правилам\настройкам и отключил те, которые посчитал неудачными (это opinionated часть, но во-первых, я все же что-то понимаю в разработке, а во-вторых её альтернатива с отключением всего линтера - сильно хуже, а именно так часто и поступают)

В общем, это "настроенный" конфиг, который лучше какого-нибудь случайного. И еще он строгий!
3
Сегодня я узнал, что в телеграме можно проматывать видео.

Если стрелки листают с одного видео на другое, то хоткеи, как на ютубе именно проматывают видео:
l - вперед на 10 сек.
j - назад на 10 сек.
k - пауза
😁54👍3
Interactive Brokers + nalog.ru

Если вы налоговый резидент РФ, то нужно каждый год до 30го мая уведомлять налоговую "о движении средств" на иностранных счетах.

Если с картами это делать относительно просто, то у брокеров миллион всяких отчетов и непонятно, куда смотреть.

Я каждый год мучаюсь и откладываю день, когда надо это сделать т.к. приходится разбираться, а не хочется. В этот раз разобрался чуть получше и написал небольшой калькулятор, который считает нужные числа, если ему скормить отчет с Interactive Brokers в формате .csv.

На то, что это будет корректно во всех случаях не претендую, но вроде сходится с тем, что вижу в гайдах в интернете (а в некоторых даже заметил ошибки, которых тут нет).

https://github.com/rostislaved/ib-nalog
2🔥5
Принцип Дирихле (Pigeonhole principle)

В математике принцип Дирихле утверждает, что если (n) объектов распределены по (m) контейнерам, и при этом (n > m), то хотя бы один контейнер должен содержать более одного объекта. Например, среди трёх перчаток как минимум две будут либо правыми, либо левыми, поскольку имеется три объекта, но только две категории по признаку «правой» или «левой» руки.

Это, на первый взгляд, очевидное утверждение — разновидность комбинаторного рассуждения — может использоваться для доказательства неожиданных результатов. Например, поскольку население Лондона больше максимального возможного количества волос на человеческой голове хотя бы на единицу, принцип требует, чтобы в Лондоне существовало как минимум два человека с одинаковым количеством волос на голове.
👍13🔥2👎1
Че там, все идиоматический код пишете?

Mihalis Tsoukalos - Mastering go (го для профи)


Это расшифровывается так:
for i := range 10 {
fmt.Print(i*i, " ")
}
😁25🤣5😭52
Simple English Wikipedia

Оказывается есть Simple English Wikipedia.
В статьях Simple English Wikipedia используются более короткие предложения и более простые слова и грамматика, чем в обычной английской Википедии.Это облегчает понимание и изменение статей.

Simple English Wikipedia предназначена для использования:
* Детьми
* Студентами
* Учителями
* Людьми с дислексией
* Взрослыми с нарушениями обучаемости
* Людьми, для которых английский является вторым языком (изучающими английский как иностранный)


Разница в домене 3-го уровня:
https://en.wikipedia.org/wiki/Byte
https://simple.wikipedia.org/wiki/Byte
4
Codex

Если в codex нажать Alt+R то перейдешь в raw mode, где можно копировать скрипты без пробелов перед каждой строкой
9😁1
Читаю книгу. В главе про безопасность описывается пример, в котором злоумышленник может подменить экран логина на фейковый, который выглядит, как настоящий и для упрощения понимания приведена такая картинка
😁33🏆3👍1🔥1
Сложный процент

Предположим, что мы кладем 100р на вклад на год со ставкой 12% годовых.

Интуитивно через год будет 112р т.к. процентов же 12. Так было бы, если проценты начислялись разово на всю сумму, но они начисляются каждый месяц. Рассчитаем.

12% за 12 месяцев - это 1% каждый месяц:
1-й месяц:  100.00 + 100.00 × 0.01 = 101.00
2-й месяц: 101.00 + 101.00 × 0.01 = 102.01
3-й месяц: 102.01 + 102.01 × 0.01 = 103.03
4-й месяц: 103.03 + 103.03 × 0.01 = 104.06
5-й месяц: 104.06 + 104.06 × 0.01 = 105.10
6-й месяц: 105.10 + 105.10 × 0.01 = 106.15
7-й месяц: 106.15 + 106.15 × 0.01 = 107.21
8-й месяц: 107.21 + 107.21 × 0.01 = 108.28
9-й месяц: 108.28 + 108.28 × 0.01 = 109.36
10-й месяц: 109.36 + 109.36 × 0.01 = 110.46
11-й месяц: 110.46 + 110.46 × 0.01 = 111.56
12-й месяц: 111.56 + 111.56 × 0.01 = 112.68


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

Тут прошел год и разница с 12% вышла 0.68%, но если взять 30 лет, то интуитивно:
100р + (100р * 12%) * 30 = 100р + 360р = 460р

но из-за сложного процента будет 3595р! Огромная разница. Сложный процент на протяжении долгого периода работает очень хорошо. Поэтому люди и инвестируют.
4👍32
Мои проекты

📦 go-clean-architecture (пост)
Шаблон проекта с чистой архитектурой и акцентом на корректную реализацию

🧹 golangci-lint-config (пост)
Строгий конфиг линтеров с расширенным набором включенных проверок и настроек

📜 open-api-101 (пост)
Базовый пример использования популярных библиотек для кодогенерации клиента и сервера по OpenAPI

🧬 slice-analyzer (пост)
Пакет для исследования поведения slice в Go с наглядным отображением указателей и underlying array.

⚙️ cleanconfig (пост)
Библиотека конфигурации для Go со строгой валидацией структуры конфига и возможностью задавать env-переменные в файле конфигурации. (Например, выдает ошибку, если в ямле нет поля, а в структуре есть и другие фичи)

💬 telegram-export-parser (пост)
Инструмент для парсинга JSON-экспорта Telegram-чата и преобразования его в удобную структуру для дальнейшего анализа.
15👍1
A double-blind test of astrology (1985).pdf
787.7 KB
Астрология

Парочка исследований, что астрология не работает. Когда-то меня удивил именно тот факт, что и по таким темам делают научные статьи.

A double-blind test of astrology (1985)
В двойном слепом эксперименте с 116 людьми и 28 астрологами астрологи не смогли определить личность человека по его гороскопу лучше, чем случайным угадыванием.


The sun's position at birth is unrelated to subjective well-being: Debunking astrological claims (2024)
Исследование на 12 791 человеке не выявило связи между знаком зодиака и благополучием. Знак объяснял ≤0,3% различий, а его предсказательная сила была не лучше случайного числа.
🔥6😭1
yandex-collection-630.tsv
17.8 KB
Выгрузка слов из Яндекс Переводчика

Когда я что-то читаю не в браузере, например, книгу, то перевожу незнакомые слова через яндекс переводчик. Слова там можно сохранять в так называемые Подборки, но к сожалению слова из этих подборок нельзя экспортировать в файл (Ctrl+A + Ctrl+C копирует только те слова, что в данный момент видны). Поэтому я сделал небольшой скрипт для этого:

https://gist.github.com/rostislaved/99a0e8608c5bf3ceb9de7981a9c36379
- Приводит к нижнему регистру
- Убирает дубли (Слово+Перевод)

Также прикрепил свой набор сохраненных слов за много лет - большую часть я до сих пор не знаю)

Проверь! Есть ли у тебя B1😁
👍41