https://ruitunion.org/posts/2024-12-20-we-were-exposed/
Коллеги из "профсоюза" немного ущемились моими вопросами в комментариях и выложили пост. Вот и дальше получается, вот есть Синодов (или например я). У нас есть фамилия, имя, отчество, какие-то координаты, история.
И есть простой русский анонимный программист Мыкола, из которого состоит ИТ-профсоюз. Мы абсолютно прозрачное горизонтальное сообщество, в котором есть НОЛЬ людей, которые могут назвать свое ФИО, вступай в чат, борись за права народа!
Коллеги из "профсоюза" немного ущемились моими вопросами в комментариях и выложили пост. Вот и дальше получается, вот есть Синодов (или например я). У нас есть фамилия, имя, отчество, какие-то координаты, история.
И есть простой русский анонимный программист Мыкола, из которого состоит ИТ-профсоюз. Мы абсолютно прозрачное горизонтальное сообщество, в котором есть НОЛЬ людей, которые могут назвать свое ФИО, вступай в чат, борись за права народа!
Профсоюз работников ИТ
Нас раскрыли! Выкладываем карты на стол.
Пока мы собирали информацию о ситуации на рынке труда, налаживали связи между работниками разных предприятий и писали о скрытых сокращениях в крупных компаниях, собственники не сидели на месте.
Внезапно оказалось, что мы — ЦИПсО.
В начале февраля 2024 года…
Внезапно оказалось, что мы — ЦИПсО.
В начале февраля 2024 года…
В одной конторе ИБ отключило на праздники фаерволлом коннекты зарубеж, чтобы злые хацкеры ничего не сломали.
Жалко белорусские заказчики ничего не знали и продолжили слать письма, которые не доходили
Жалко белорусские заказчики ничего не знали и продолжили слать письма, которые не доходили
https://github.com/dotnet/runtime/pull/111225
Три года обнаружил небольшую багу (подтвержденную) в .NET runtime. Вот сейчас робот решил ее закрыть за неактивность. Психанул, прислал двухстрочный фикс. Посмотрим что будет.
Три года обнаружил небольшую багу (подтвержденную) в .NET runtime. Вот сейчас робот решил ее закрыть за неактивность. Психанул, прислал двухстрочный фикс. Посмотрим что будет.
GitHub
Prevent stack overflow in Attribute.cs by leotsarev · Pull Request #111225 · dotnet/runtime
fixes #35784
Борода бывшего программиста
https://github.com/dotnet/runtime/pull/111225 Три года обнаружил небольшую багу (подтвержденную) в .NET runtime. Вот сейчас робот решил ее закрыть за неактивность. Психанул, прислал двухстрочный фикс. Посмотрим что будет.
Сказали: хер с ней багой, не жили нормально и не хер начинать.
Велели комментарий в коде поправить и бог с ним
Велели комментарий в коде поправить и бог с ним
Борода бывшего программиста
Сегодня я узнал про существование dotnet nuget why. Раньше я копался в project.assets.json, а оказывается есть спецкоманда для этого. Впрочем, как оказалось, загадку уязвимости в System.Private.Uri она решить все-таки не помогает из-за бага https://githu…
Оказывается, в SDK 9.0.101 откатили
Зачем, почему — официального объяснение выглядит как «что-то все взвыли» (UPD), говорят к NET 10 придумают план про включению опять.
Если вы успели зафанететь от этого изменения (а в промышленном программировании весьма полезно выглядит), то включите назад вручную.
NuGetAuditMode=all
по умолчанию, и теперь опять варнинги случаются только из-за прямых зависимостей, а не из-за транзитивных.Зачем, почему — официального объяснение выглядит как «что-то все взвыли» (UPD), говорят к NET 10 придумают план про включению опять.
Если вы успели зафанететь от этого изменения (а в промышленном программировании весьма полезно выглядит), то включите назад вручную.
GitHub
error NU1903: Warning As Error: Package 'System.Private.Uri' 4.3.0 has a known high severity vulnerability, https://github.com…
Describe the bug Every project I tried to build using the current Visual Studio Preview version throws this error. System.Private.Uri is not a directly included project. I also tried clearing all n...
Поиграть с друзьями с Factorio →
...
Документация кубера →
...
Исправляю свои скрипты →
...
Запрос в техподдержку Яндекс.Облака →
....
...
Документация кубера →
...
Исправляю свои скрипты →
...
Запрос в техподдержку Яндекс.Облака →
....
У Ашманова как обычно интересно, на этот раз про историю Лаборатории Касперского. В какой-то степени это могла быть история про войну «основателя-технаря» (Касперского) и «основателя-бизнесмена» (Касперской), но мне, конечно, интереснее тут эта часть: про эффективность и лояльность.
Полная статья увы под paywall
https://sponsr.ru/ashmanov/80813/Baiki_Prekrasnyi_chistyi_mir_IT_voorujennyi_zahvat_ofisa_iuristyvolshebniki/
Полная статья увы под paywall
https://sponsr.ru/ashmanov/80813/Baiki_Prekrasnyi_chistyi_mir_IT_voorujennyi_zahvat_ofisa_iuristyvolshebniki/
https://borretti.me/article/composable-sql
Довольно интересная статья о том, каких абстракций не хватает в SQL.
Как обычно, в LINQ они уже есть (особенно с LinqKit).
В комментариях пишут, что проблемы в основном касаются того, что оптимизатор PostgreSQL в разы уступает основным коммерческим БД, и у PostgreSQL не кешируются планы запросов (что? Да).
Интересно, как фактически стала монокультурой база с очевидными архитектурными косяками (ну например process-per-connection).
Довольно интересная статья о том, каких абстракций не хватает в SQL.
Как обычно, в LINQ они уже есть (особенно с LinqKit).
В комментариях пишут, что проблемы в основном касаются того, что оптимизатор PostgreSQL в разы уступает основным коммерческим БД, и у PostgreSQL не кешируются планы запросов (что? Да).
Интересно, как фактически стала монокультурой база с очевидными архитектурными косяками (ну например process-per-connection).
Fernando Borretti
Composable SQL
Better SQL through typed, composable query fragments.
И вот, у меня упал деплой пет-проекта. Миграции EF6 упали по таймауту (30 секунд). Странно, там ничего такого нет. Я тут же быстренько поправил таймаут на 900 секунд, запушил изменение и накатил заново. По здравому размышлению, это ОШИБКА.
Миграция с увеличенным таймаутом упала молча, без таймаута. :-) Прекрасно. Похоже, надо разбираться.
Мне пришла в голову светлая мысль. А что у нас с SQL сервером?
Мониторинга к нему нет, логи не собираются... Посмотрим логи в кубере:
О, прекрасно. Что-то такое там про transaction log. PVC под него 1 гигабайт, увеличим до двух (ОШИБКА). Ииииииииии тот же самый результат:
Хех. Пойдем посмотрим, сколько реально места на нашем PVC. Там занято меньше 20% (!), а после моего изменения — меньше 10%. Ого. Посмотрим на другие PVC, и на том PVC, который под БД master, занято 98%. Стало понятно, увеличиваем его в два раза. Запускаем деплой заново, он проходит за 16 секунд.
Какая ошибка тут была допущена? Я действовал по алгоритму «получение сведений — предположение причины — фикс причины — повторная проверка». Это кажется быстро, но это всегда неправильно. Алгоритм должен быть «получение сведений — предположение причины — проверка предположения — фикс причины — повторная проверка». Миграция на SQL сервере проходит долговато? Почему? С ним все в порядке?
Кончилось место на PV? Даже если мы логически знаем на каком, надо ПРОВЕРИТЬ, прежде чем что-то менять.
Простое правило: исправлять причины проблемы, которую мы не понимаем, запрещается.
Кстати, я допустил еще ошибку. Я так и не знаю, почему БД master сожрала 1 гигабайт. Надо бы узнать.
Миграция с увеличенным таймаутом упала молча, без таймаута. :-) Прекрасно. Похоже, надо разбираться.
Мне пришла в голову светлая мысль. А что у нас с SQL сервером?
Мониторинга к нему нет, логи не собираются... Посмотрим логи в кубере:
Could not allocate a new page for database 'tempdb' because the 'PRIMARY' filegroup is full due to lack of storage space or database files reaching the maximum allowed size. Note that UNLIMITED files are still limited to 16TB. Create the necessary space by dropping objects in the filegroup, adding additional files to the filegroup, or setting autogrowth on for existing files in the filegroup.
Version store is full. New version(s) could not be added. A transaction that needs to access the version store may be rolled back. Please refer to BOL on how to configure tempdb for versioning.
О, прекрасно. Что-то такое там про transaction log. PVC под него 1 гигабайт, увеличим до двух (ОШИБКА). Ииииииииии тот же самый результат:
Could not allocate a new page for database 'tempdb' because the 'PRIMARY' filegroup is full due to lack of storage space or database files reaching the maximum allowed size. Note that UNLIMITED files are still limited to 16TB. Create the necessary space by dropping objects in the filegroup, adding additional files to the filegroup, or setting autogrowth on for existing files in the filegroup.
Version store is full. New version(s) could not be added. A transaction that needs to access the version store may be rolled back. Please refer to BOL on how to configure tempdb for versioning.
Хех. Пойдем посмотрим, сколько реально места на нашем PVC. Там занято меньше 20% (!), а после моего изменения — меньше 10%. Ого. Посмотрим на другие PVC, и на том PVC, который под БД master, занято 98%. Стало понятно, увеличиваем его в два раза. Запускаем деплой заново, он проходит за 16 секунд.
Какая ошибка тут была допущена? Я действовал по алгоритму «получение сведений — предположение причины — фикс причины — повторная проверка». Это кажется быстро, но это всегда неправильно. Алгоритм должен быть «получение сведений — предположение причины — проверка предположения — фикс причины — повторная проверка». Миграция на SQL сервере проходит долговато? Почему? С ним все в порядке?
Кончилось место на PV? Даже если мы логически знаем на каком, надо ПРОВЕРИТЬ, прежде чем что-то менять.
Простое правило: исправлять причины проблемы, которую мы не понимаем, запрещается.
Кстати, я допустил еще ошибку. Я так и не знаю, почему БД master сожрала 1 гигабайт. Надо бы узнать.
https://t.me/ruitunion/585
Судя по тому, что написано, один из программистов ЦЗ писал. Если уж решили вынести в СМИ (осуждаю, но понимаю), выбирайте что-нибудь не ЦИПСОное (осуждаю).
P.S. Правдивость или ложность фактов прокомментировать не могу, в том числе потому, что сейчас сам там не работаю и информацией не владею. Печально все это.
Судя по тому, что написано, один из программистов ЦЗ писал. Если уж решили вынести в СМИ (осуждаю, но понимаю), выбирайте что-нибудь не ЦИПСОное (осуждаю).
P.S. Правдивость или ложность фактов прокомментировать не могу, в том числе потому, что сейчас сам там не работаю и информацией не владею. Печально все это.
Telegram
Профсоюз работников IT
Увольнения в «Цифре»
Сотрудники сообщают, что в подразделении «Цифровой Завод» (ЦЗ) группы компаний «Цифра», лидера российского промтеха, проходят увольнения.
Осенью 2023 года в ЦЗ проходил активный набор, а уже с весны 2024 года заморозили найм, как минимум…
Сотрудники сообщают, что в подразделении «Цифровой Завод» (ЦЗ) группы компаний «Цифра», лидера российского промтеха, проходят увольнения.
Осенью 2023 года в ЦЗ проходил активный набор, а уже с весны 2024 года заморозили найм, как минимум…
Философия разработчика. Перефразированы и раскрыты популярные поговорки.
https://news.ycombinator.com/item?id=42920285
https://news.ycombinator.com/item?id=42920285
Иван критикует людей, придумавших делить задачи на продуктовых и технические.
Мол от технических задач должна быть продуктовая польза. В теории я полностью согласен. По мере роста зрелости команды хорошо иметь единый беклог, понимать, как «технические» задачи принесут пользу продукту, и почему «perfomance» и «не падать» это важные свойства продукта.
Но, к сожалению, в не зрелых командах у продуктового лидерства нет понимания, зачем продукту «не падать», у технического лидерства нет умения объяснить и обосновать свои задачи. В таких незрелых командах при едином беклоге все быстро скатывается в «фичи-фичи», а то и в «выполнение проектных обязательств» (а на самом деле просто не проработанных идей заказчика). В этих условиях разные беклоги, и знаменитое ЦИПовское 25% на техдолг это наименьшее из зол. Поэтому так и шли.
Мол от технических задач должна быть продуктовая польза. В теории я полностью согласен. По мере роста зрелости команды хорошо иметь единый беклог, понимать, как «технические» задачи принесут пользу продукту, и почему «perfomance» и «не падать» это важные свойства продукта.
Но, к сожалению, в не зрелых командах у продуктового лидерства нет понимания, зачем продукту «не падать», у технического лидерства нет умения объяснить и обосновать свои задачи. В таких незрелых командах при едином беклоге все быстро скатывается в «фичи-фичи», а то и в «выполнение проектных обязательств» (а на самом деле просто не проработанных идей заказчика). В этих условиях разные беклоги, и знаменитое ЦИПовское 25% на техдолг это наименьшее из зол. Поэтому так и шли.
Telegram
Пренебречь. Балансируем
Разделять задачи на технические и бизнесовые - это полная лажа.
Задачи бывают только бизнесовыми, если, конечно, ваша контора не Гринпис (впрочем, в этом том случае, видимо, тоже). А вот решения задач могут быть техническими, маркетинговыми и любыми другими…
Задачи бывают только бизнесовыми, если, конечно, ваша контора не Гринпис (впрочем, в этом том случае, видимо, тоже). А вот решения задач могут быть техническими, маркетинговыми и любыми другими…
Свой канал завел Юра Пирогов, экс-лидер технарей-внедренцев ЦИП.
Начал он с душнейшего поста про разницу между https://t.me/work_and_scream/5 между отказом и сбоем.
Рекомендую.
Начал он с душнейшего поста про разницу между https://t.me/work_and_scream/5 между отказом и сбоем.
Рекомендую.
Telegram
Work&Scream
Внезапно для себя сделал интересное открытие на которое раньше, видимо не обращал внимание. При переводе с английского на русский "fault tolerance" становится "отказоустойчивостью". При этом, "fault" - сбой и "failure" - отказ - это разные вещи. Из интереса…
В техническом лидерстве очень хочется затягивать принятие решений. Это имеет много выгод, если честно.
Для меня, как для лентяя, в первую очередь вспомнилась децентрализация нагрузки на лидера. Кто-то другой уже отвоевал, привел все аргументы и убедил, потратил энергию, и тебе останется лишь проштамповать готовое решение.
Во вторую очередь вспоминается проработанность. Если решение победило в споре равных коллег, а не навязано сверху, у него есть гораздо лучшие шансы быть более проработанным и взвешенным.
Но бывает ситуация, когда оба пути развития имеют существенные выгоды и недостатки. Стороны исчерпали методы и аргументы, спор начинает приобретать личный характер, сформировались готовые фракции фанатов тех или иных решений.
Если такое происходит, то с принятиям решения технический лидер явно затянул.
Это и происходит сейчас с Rust for Linux. Торвальдс должен принять решение. Если ДА, то всем ментейнерам рано или поздно придется выучить второй язык. Если НЕТ, то пора начать сворачивать эксперимент.
https://news.ycombinator.com/item?id=42972062
Для меня, как для лентяя, в первую очередь вспомнилась децентрализация нагрузки на лидера. Кто-то другой уже отвоевал, привел все аргументы и убедил, потратил энергию, и тебе останется лишь проштамповать готовое решение.
Во вторую очередь вспоминается проработанность. Если решение победило в споре равных коллег, а не навязано сверху, у него есть гораздо лучшие шансы быть более проработанным и взвешенным.
Но бывает ситуация, когда оба пути развития имеют существенные выгоды и недостатки. Стороны исчерпали методы и аргументы, спор начинает приобретать личный характер, сформировались готовые фракции фанатов тех или иных решений.
Если такое происходит, то с принятиям решения технический лидер явно затянул.
Это и происходит сейчас с Rust for Linux. Торвальдс должен принять решение. Если ДА, то всем ментейнерам рано или поздно придется выучить второй язык. Если НЕТ, то пора начать сворачивать эксперимент.
https://news.ycombinator.com/item?id=42972062
В ту же степь: слышал как-то перл от большого руководителя в ЦИП (к счастью, соседнего подразделения) как то: зачем вы выносите на комитет несогласованное? Принесите мне параметры, полностью согласованные письменно с заказчиком.
Что параметры проекта, полностью письменно согласованные с заказчиком, называются контракт, и что требуя выносить на него только согласованные полностью вопросы, руководитель полностью устраняет себя из цепочки принятия решений, ему в голову не приходило.
С другой стороны множество руководителей с радостью бросаются в пучины обсуждений, принимая участие в первичной проработке вопроса, и вынося решения с первого разговора с первым пришедшим подчинённым (говорят, этим страдал Николай Второй, поддерживая каждого, кто к нему пришел).
Золотая середина в том, что на руководителя подлежат вынесению вопросы, проработанные, но не решённые. Мы обсудили вопрос, наши аргументы такие, вот предлагаемое решение (повезло). Мы обсудили вопрос, мои аргументы такие, его такие, контрагента такие, вот решения из которых надо выбрать (не повезло, приходится поработать).
Что параметры проекта, полностью письменно согласованные с заказчиком, называются контракт, и что требуя выносить на него только согласованные полностью вопросы, руководитель полностью устраняет себя из цепочки принятия решений, ему в голову не приходило.
С другой стороны множество руководителей с радостью бросаются в пучины обсуждений, принимая участие в первичной проработке вопроса, и вынося решения с первого разговора с первым пришедшим подчинённым (говорят, этим страдал Николай Второй, поддерживая каждого, кто к нему пришел).
Золотая середина в том, что на руководителя подлежат вынесению вопросы, проработанные, но не решённые. Мы обсудили вопрос, наши аргументы такие, вот предлагаемое решение (повезло). Мы обсудили вопрос, мои аргументы такие, его такие, контрагента такие, вот решения из которых надо выбрать (не повезло, приходится поработать).
Я: пет-проект это классно и здорово, развлекусь в свое удовольствие.
Dependabot: падает.
Yandex Managed k8s: рэндомные таймауты, когда пуллим с Github Container Registry
Dependabot: падает.
Yandex Managed k8s: рэндомные таймауты, когда пуллим с Github Container Registry
https://opensource.microsoft.com/blog/2025/01/23/documentdb-open-source-announcement/
Microsoft зарелизила в опенсорс ЧАСТЬ своей реализации т.н. Azure Cosmos DB for Mongo (не путать с другими Azure Cosmos DB. Несмотря на то, что это все заявляется как API к одной БД, на самом деле это разные БД).
Это плагин к PostgreSQL, который расширяет поддержку BSON и позволяет читать и записывать в документном формате, полностью опенсорсный.
Этот плагин используется закрытой реализацией в Microsoft Azure, а также уже в опенсорсном клоне Монги FerretDB.
Обратите внимание, как компании выбирают, что опенсорсить. Периметр компании покидает технология, которая не является ноу-хау для компании (как ударная позиционируется полностью пропиеритарная CosmosDB), а компонент, призванный отвечать на вопрос «а монга у вас есть), причем такой кусок, который не позволяет сам по себе собрать готовое решение.
Microsoft зарелизила в опенсорс ЧАСТЬ своей реализации т.н. Azure Cosmos DB for Mongo (не путать с другими Azure Cosmos DB. Несмотря на то, что это все заявляется как API к одной БД, на самом деле это разные БД).
Это плагин к PostgreSQL, который расширяет поддержку BSON и позволяет читать и записывать в документном формате, полностью опенсорсный.
Этот плагин используется закрытой реализацией в Microsoft Azure, а также уже в опенсорсном клоне Монги FerretDB.
Обратите внимание, как компании выбирают, что опенсорсить. Периметр компании покидает технология, которая не является ноу-хау для компании (как ударная позиционируется полностью пропиеритарная CosmosDB), а компонент, призванный отвечать на вопрос «а монга у вас есть), причем такой кусок, который не позволяет сам по себе собрать готовое решение.
Microsoft Open Source Blog
DocumentDB: Open-Source Announcement - Microsoft Open Source Blog
Learn more on how Microsoft Open Source can help with you with your data stores with the announcement of DocumentDB.