Веб-версияОткрыть в Telegram
MmyStack

myStack

@myStack · канал · Технологии · в индексе с 2026-05-20
887подписчиков−3 за неделю
552средний охват поста
1постов за 30 дней
1 228постов в индексе
myStack
Фотография
нажмите — покажем
golangci-lint config v1.2.0 (for golangci-lint v2.12.2) Обновил свой конфиг: https://github.com/rostislaved/golangci-lint-config Напомню. Он создавался примерно так: 1. Включил максимальное число линтеров\их правил\настроек 2. Прошелся по каждому линтеру\его правилам\настройкам и отключил те, которые посчитал неудачными (это opinionated часть, но во-первых, я все же что-то понимаю в разработке, а во-вторых её альтернатива с отключением всего линтера - сильно хуже, а именно так часто и поступают) В общем, это "настроенный" конфиг, который лучше какого-нибудь случайного. И еще он строгий!
8 · 982 ·
M
myStack
Сегодня я узнал, что в телеграме можно проматывать видео. Если стрелки листают с одного видео на другое, то хоткеи, как на ютубе именно проматывают видео: l - вперед на 10 сек. j - назад на 10 сек. k - пауза
4 · 933 ·
M
myStack
Фотография
нажмите — покажем
Interactive Brokers + nalog.ru Если вы налоговый резидент РФ, то нужно каждый год до 30го мая уведомлять налоговую "о движении средств" на иностранных счетах. Если с картами это делать относительно просто, то у брокеров миллион всяких отчетов и непонятно, куда смотреть. Я каждый год мучаюсь и откладываю день, когда надо это сделать т.к. приходится разбираться, а не хочется. В этот раз разобрался чуть получше и написал небольшой калькулятор, который считает нужные числа, если ему скормить отчет с Interactive Brokers в формате .csv. На то, что это будет корректно во всех случаях не претендую, но вроде сходится с тем, что вижу в гайдах в интернете (а в некоторых даже заметил ошибки, которых тут нет). https://github.com/rostislaved/ib-nalog
7 · 917 ·
myStack
Фотография
нажмите — покажем
Принцип Дирихле (Pigeonhole principle) В математике принцип Дирихле утверждает, что если (n) объектов распределены по (m) контейнерам, и при этом (n > m), то хотя бы один контейнер должен содержать более одного объекта. Например, среди трёх перчаток как минимум две будут либо правыми, либо левыми, поскольку имеется три объекта, но только две категории по признаку «правой» или «левой» руки. Это, на первый взгляд, очевидное утверждение — разновидность комбинаторного рассуждения — может использоваться для доказательства неожиданных результатов. Например, поскольку население Лондона больше максимального возможного количества волос на человеческой голове хотя бы на единицу, принцип требует, чтобы в Лондоне существовало как минимум два человека с одинаковым количеством волос на голове.
6 · 1.2K ·
M
Фотография
нажмите — покажем
Че там, все идиоматический код пишете? Mihalis Tsoukalos - Mastering go (го для профи) Это расшифровывается так: for i := range 10 { fmt.Print(i*i, " ") }
9 · 1.4K ·
M
myStack
Фотография
нажмите — покажем
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
11 · 1.6K ·
M
myStack
Codex Если в codex нажать Alt+R то перейдешь в raw mode, где можно копировать скрипты без пробелов перед каждой строкой
3 · 1.4K ·
M
myStack
Фотография
нажмите — покажем
Читаю книгу. В главе про безопасность описывается пример, в котором злоумышленник может подменить экран логина на фейковый, который выглядит, как настоящий и для упрощения понимания приведена такая картинка
15 · 1.8K ·
M
myStack
Фотография
нажмите — покажем
Сложный процент Предположим, что мы кладем 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р! Огромная разница. Сложный процент на протяжении долгого периода работает очень хорошо. Поэтому люди и инвестируют.
5 · 1K ·
myStack
Мои проекты 📦 go-clean-architecture (пост) Шаблон проекта с чистой архитектурой и акцентом на корректную реализацию 🧹 golangci-lint-config (пост) Строгий конфиг линтеров с расширенным набором включенных проверок и настроек 📜 open-api-101 (пост) Базовый пример использования популярных библиотек для кодогенерации клиента и сервера по OpenAPI 🧬 slice-analyzer (пост) Пакет для исследования поведения slice в Go с наглядным отображением указателей и underlying array. ⚙️ cleanconfig (пост) Библиотека конфигурации для Go со строгой валидацией структуры конфига и возможностью задавать env-переменные в файле конфигурации. (Например, выдает ошибку, если в ямле нет поля, а в структуре есть и другие фичи) 💬 telegram-export-parser (пост) Инструмент для парсинга JSON-экспорта Telegram-чата и преобразования его в удобную структуру для дальнейшего анализа.
16 · 787 ·
M
Оглавление О чем я тут пишу? 1. Набор чего-то, что встречается мне пока я сижу за компом 2. Посты, которые могут быть полезными (список ниже) 3. Отзывы на книги, которые читаю: #книги (общий список) 4. Мои проекты Golang - Чистая архитектура. Как изучать - pkg directory considered harmful - Почему в го "приняты" имена пакетов в одно слово и однобуквенные названия переменных Книги - Лучшие актуальные книги по Golang - Книги по Concurrency в Golang - Рейтинг книг Golang - Где скачивать электронные книги Остальное - Алгоритм любой оптимизации - Что происходит, когда вводишь URL и нажимаешь Enter - До сих пор любимый текст про ИИ - Звезды у rust репозиториев - Что такое сложный процент
13 · 953 ·
M
myStack
Файл
The_sun's_position_at_birth_is_unrelated_to_subjective_well_ · 1.2 МБ · нажмите — покажем
Файл
A double-blind test of astrology (1985).pdf · 788 КБ · нажмите — покажем
Астрология Парочка исследований, что астрология не работает. Когда-то меня удивил именно тот факт, что и по таким темам делают научные статьи. 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% различий, а его предсказательная сила была не лучше случайного числа.
17 · 991 ·
M
myStack
Файл
yandex-collection-630.tsv · 18 КБ · нажмите — покажем
Выгрузка слов из Яндекс Переводчика Когда я что-то читаю не в браузере, например, книгу, то перевожу незнакомые слова через яндекс переводчик. Слова там можно сохранять в так называемые Подборки, но к сожалению слова из этих подборок нельзя экспортировать в файл (Ctrl+A + Ctrl+C копирует только те слова, что в данный момент видны). Поэтому я сделал небольшой скрипт для этого: https://gist.github.com/rostislaved/99a0e8608c5bf3ceb9de7981a9c36379 - Приводит к нижнему регистру - Убирает дубли (Слово+Перевод) Также прикрепил свой набор сохраненных слов за много лет - большую часть я до сих пор не знаю) Проверь! Есть ли у тебя B1😁
5 · 831 ·
myStack
Прогать с агентом зачастую выматывает сильнее, чем без него. Сначала надо сгенерить код. Это кажется просто, но перед этим действием нужно уже провести много работы, продумать требования и нюансы (ибо магии нет: говно на входе = говно на выходе). План-хуян. Потом наконец генеришь и даёшь другому агенту на ревью. Если код сложный, то в 99% случаев что-то вылезает. Ладно, чинишь. Даёшь другому агенту посмотреть. Вылезает что-то странное, ты не понимаешь, он прав или нет. Начинаешь читать код вручную (это всё равно пришлось бы делать, но надеялся, что позже, когда основное будет пофикшено). Читать чужой код, написанный инопланетянамм (сам бы так не написал). Тратишь дофигища энергии, чтобы построить в голове ментальную модель высера. Просишь объяснить тестами. Понимаешь, что это нечитаемое говно, просишь агента переделать так-то и упростить тут-то. И всё равно - ну не то, блин. Нет удовольствия от хорошо сделанной раьоты. Наконец, понимаешь, что имелось в виду на втором код ревью от агента. Начинаешь копать, и понимаешь, что это не просто корнер кейс, а возможно вообще к задаче надо было подходить по-другому, и надо обсуждать с коллегами, иьо а таком виде задачу, может, и не решить вообще. И так целыми днями. Про баги на проде я уже писал - чинить их намного сложнее, так как в голове не прошивается нужная информация. А как было раньше: моменты обдумывания чередовались моментами медитативного прописывания. Модель в мозгу выстраивалась постепенно и надолго. Было удовольствие от полученного кода. эх
16 · 554 ·
M
Фотография
нажмите — покажем
#книги Andrew Tanenbaum - Modern Operating Systems 23.04.2026 - 24.07.2026 Уже пару книг я пишу эти комментарии по-новому: если во время чтения встречается какая-то мысль, то сразу открываю Obsidian и записываю ее в заметку про книгу. После прочтения всей книги компоную эти заметки во что-то более связанное и делаю какой-то вывод. Поэтому дальше могут быть, например, описания не всех глав, а только тех, где я оставлял какую-то заметку. В общем, я начинал читать с большим энтузиазмом, но к концу полностью разочаровался. Часть 2. Processes and Threads Некоторые объяснения не назвать простыми. Например, в процессах и тредах примеры не самые наглядные для того, у кого нет опыта программирования и понимания того, как могут переключаться разные параллельные задачи. Очень громоздкое объяснение концепции data race. Тысяча лишних деталей... Глава про синхронизацию идет со скрипом. Тема сложная, но я точно знаю, что можно написать проще, как в книге Three Easy Pieces. И на удивление в Three Easy Pieces более подробное и качественное рассмотрение возможных алгоритмов шедулера ОС. Часть 3. Memory Management Некоторые предложения главы про память - это прямо тест на advanced english с идиомами и просто редкими словами, хотя в целом книга в плане языка написана довольно доступно. Глава про виртуальную память сложная, но, так как я не глупый и уже знаком с идеей, то делаю вывод, что это она плохо написана)) Часть 7 (Virtualization and the Cloud) Очень сложно. Очень плохо написано. Процентов 20 пропустил. В главе про многопроцессорность начало казаться, что это графомания. Часть 9 Security В этой части мысль про графоманию только укрепилась и ушла куда-то очень далеко: 30 страниц забористой академической теории про безопасность - это вряд ли то, что ожидаешь от книги про ОС. Эта часть очень скучная в начале, но очень интересно про Meltdown и Spectre - я наконец-то понял, в чем их суть (в общих чертах, конечно). После частей с общей теорией идут Case Studies: про Linux, Andr
9 · 753 ·
M
myStack
ZSH '=' expansion Некоторые файлы в unix-like системах - это soft links на бинарники. Об этом говорит первая буква l выводе команды ls -l > ls -l /usr/bin/python lrwxrwxrwx 1 root root 7 Jun 15 14:36 /usr/bin/python -> python3 Чтобы узнать на что ссылается ссылка нужно ввести полный путь к ней, как в примере выше, но так как путь не всегда известен, то его сперва нужно узнать так: > which python /usr/bin/python и только потом передать в ls -l, что неудобно. Можно это объединить в одну команду, что я и делал всегда: > ls -l $(which python) lrwxrwxrwx 1 root root 7 Jun 15 14:36 /usr/bin/python -> python3 Но это тоже неудобно. Сегодня узнал, что существует '=' expansion в zsh, что сильно всё упрощает: > ls -l =python lrwxrwxrwx 1 root root 7 Jun 15 14:36 /usr/bin/python -> python3 Ну или если есть алиас на ls -l: > ll =python lrwxrwxrwx 1 root root 7 Jun 15 14:36 /usr/bin/python -> python3 https://zsh.sourceforge.io/Doc/Release/Expansion.html#g_t_0060_003d_0027-expansion-1
3 · 964 ·
M
myStack
Фотография
нажмите — покажем
iaasm Оказывается, из iPad очень легко сделать второй монитор. На MacOS, полагаю, это из коробки работает, но на Linux тоже вышло несложно: создается виртуальный дисплей на компе, он шарится через VNC, а на айпаде через RealVNC или аналоги отображается картинка.
3 · 731 ·
M
myStack
Фотография
нажмите — покажем
#книги Теодор Драйзер - Финансист, Титан, Стоик 15.05.2026 - 26.08.2026 В книге рассказывается история жизни предпринемателя из США. Кроме самой истории, было интересно погрузиться в США конца XIX - начала XX века: многие реалии того времени становятся частью повествования - например, пожар в Чикаго в 1871 году или такой вид транспорта, как конка. Думал, может, книга даст мне исторический контекст финансового мира того времени и благодаря этому какие-то вещи станут более понятными и естественными. Но это всё же не книга про финансы: подобные темы здесь скорее часть сюжета и подробно не объясняются. Впрочем, едва ли это минус книги. Читалось легко и с интересом, так что впечатления от книги остались хорошие.
5 · 623 ·
M
myStack
Codex ЛЛМ написала функцию, которая из строки делает int64: func lockIDFromString(value string) int64 { hasher := fnv.New64a() _, _ := hasher.Write([]byte(value)) lockID := int64(hasher.Sum64()) return lockID } Мне тут не нравится, что игнорируется ошибка И нет комментария, который объясняет, почему так. То есть, чтобы исправить нужно: 1. Или добавить комментарий 2. Не игнорировать ошибку и внутри if err != nil уже не возвращать ошику (но тоже с комментарием, почему так) Выбираю второй вариант. Делаю промпт: _, _ = hasher.Write([]byte(value)) Тут игнорируются все возвращаемые значения. Err надо все-таки вернуть, но внутри проверки на err != nil написать, что мы ее игнорируем явно. ЛЛМ отдает такое: func lockIDFromString(value string) (int64, error) { hasher := fnv.New64a() _, err := hasher.Write([]byte(value)) if err != nil { return 0, err } lockID := int64(hasher.Sum64()) return lockID, nil } Проблема в том, что error из функции возвращать не надо т.к. он всегда nil. Он всегда nil т.к. метод Write у fnv.New64a() всегда возвращает nil. Почему так? Потому что в моем промпте есть слово "вернуть" и ллм поняла это как "вернуть из функции", а не вернуть из метода Write? Или она это поняла верно, но не учла, что Write всегда возвращает nil т.к. не проверила реализацию? Вот такие моменты конечно не могут нравится т.к. всегда есть шанс, что или кривая формулировка промпта, или еще что-то приведут не к лучшей реализации. А я хотел видеть это: _, err := hasher.Write([]byte(value)) if err != nil { // sum64a.Write always returns len(value), nil. } или это: _, _ = hasher.Write([]byte(value)) // err always nil
1 · 708 ·
M
myStack
Фотография
нажмите — покажем
Тут ребята провели какой-никакой ресерч приватности браузеров, Яндекс браузер занял почетное последнее место 🌚 Вообще ничего удивительного. Сейчас этот браузер ВК пытается пропихнуть, как только может, ловите и вы статейку на злобу дня. Вк я пользуюсь только для перезалива и то эта навязчивость удручает. В старые времена, если при установке игры с торрента, ты пропускал галочку, то все это мракобесие вместе с спутниками мейл.ру и браузерами амиго попадало тебе на компуктер) Эх вот были времена 🤣 Пора вспоминать старые методы? 💪 Ссылка: https://www.securitylab.ru/analytics/575956.php
18 · 609 ·
M
myStack
Файл
image_2026-08-31_18-13-16.png · 1.7 МБ · нажмите — покажем
Файл
image_2026-08-31_19-07-07.png · 3.7 МБ · нажмите — покажем
booking.com Навайбкодил (простигосподи) юзерскрипты github для букинга, чтобы пофиксить то, что огромная богатая компания не может. А именно. expanded-room-photos.user.js При просмотре фото комнаты: - Фото растягивается во весь экран (см скрины до/после) - Нет описания (оно от части дублирует инфу с главной страницы и я 99.9% информации все равно получаю из фото) - Можно листать колесиком мыши open-in-google-maps.user.js - Добавляет на карту кнопку "Open In Google Maps", благодаря чему можно посмотреть проложить маршрут до интересущих точек, посмотреть заведения соседние и т.д. userscripts/download-reviews.user.js Добавляет кнопку "Скачать все отзывы" Чтобы установить, поставьте аддон violentmonkey и добавьте содержимое скрипта. В дальнейшем я, может, выложу на сайты специально обученные для хостинга таких скриптов, но их несколько, и они полудохлые, поэтому пока не знаю, куда. Давно хотел научиться так редактировать сайты, ибо существующих скриптов практически нет, а у меня от неудобства многих сайтов горит. Научиться не вышло, зато с помощью ллм получилось это состряпать. Скрипты надеюсь буду поддерживать и дорабатывать.
4 · 775 ·
M
myStack
Ссылка
нажмите — покажем
Navier-Stokes Equation Есть шанс, что была корректно решена одна из задач тысячелетия - уравнение Навье-Стокса https://openai.com/index/navier-stokes-solution/ Если это подтвердится, то будет 2 решенных задачи из 7: гипотезу Пуанкаре в 2006 доказал Г. Перельман.
13 · 552 ·

Открытая публичная лента из поискового индекса ChatCrawler — «Google по публичному Telegram»; обновляется по мере обхода площадки. Время — UTC.

Только публичный контент, официальный API Telegram. О проекте · Вопросы · Чего мы не делаем · Убрать страницу из выдачи · Каталог · Поиск · Как мы считаем