Набрел на невероятно годную статью про прокрастинацию, "горе от ума", и, внезапно, полезность MVP - в целом о том, как перестать думать и начать делать.
Статья не самая свежая, но написана хорошо и читается легко. (а ещё там есть смешные мемы!)
Категорически рекомендуется к прочтению.
Статья не самая свежая, но написана хорошо и читается легко. (а ещё там есть смешные мемы!)
Категорически рекомендуется к прочтению.
Teletype
Overthinking
Про то как перестать думать и начать жить.
👍3
Никогда не используйте личку в телеге, как склад логов.
Оказалось, что в телеге есть внутренний счетчик на сообщения, при переполнении которого из всех личных чатов пропадет случайный отрезок времени.
Workaround - складывать всё важное в отдельные каналы/супергруппы.
А очень важное - вообще не хранить только в телеге, а бэкапить ещё куда-нибудь.
Чуть подробней, как это работает:
На все личные беседы (человек-человек, человек-бот, + сохраненки тоже считаются) и обычные группы (таких уже почти нет, обычно группа очень быстро апгрейдится до супергруппы) внутри телеги есть единый счетчик входящих и исходящих сообщений.
После того, как счетчик заходит за 1-3 миллиона сообщений (у разных людей по-разному) - телега перестает отдавать сообщения за произвольный промежуток времени.
Для каждой супергруппы и канала этот счетчик отдельный, поэтому для них проблема не так критична.
Проверить, "сколько сообщений уже наспамлено", можно через @ArynIDBot или @accountcountbot, отправив через inline сообщение в сохраненки.
Реф баги в багтрекере телеги, там ещё немного подробней про проблему на английском: https://bugs.telegram.org/c/19148.
Алсо, ещё в комментах у Ly (от самого Ly, в общем-то, с ссылкой на девтим телеги) вычитал, что
1) удаление сейчас не помогает. Там именно по айдишникам удаляет.
насколько понимаю, просто удалить мусорные сообщения, если их уже много, не поможет.
2) это, внезапно, тянется ещё с ВК.
(какая связь телеги и вк с точки зрения кода не представляю, и думать об этом страшновато)
Оказалось, что в телеге есть внутренний счетчик на сообщения, при переполнении которого из всех личных чатов пропадет случайный отрезок времени.
Workaround - складывать всё важное в отдельные каналы/супергруппы.
А очень важное - вообще не хранить только в телеге, а бэкапить ещё куда-нибудь.
Чуть подробней, как это работает:
На все личные беседы (человек-человек, человек-бот, + сохраненки тоже считаются) и обычные группы (таких уже почти нет, обычно группа очень быстро апгрейдится до супергруппы) внутри телеги есть единый счетчик входящих и исходящих сообщений.
После того, как счетчик заходит за 1-3 миллиона сообщений (у разных людей по-разному) - телега перестает отдавать сообщения за произвольный промежуток времени.
Для каждой супергруппы и канала этот счетчик отдельный, поэтому для них проблема не так критична.
Проверить, "сколько сообщений уже наспамлено", можно через @ArynIDBot или @accountcountbot, отправив через inline сообщение в сохраненки.
Реф баги в багтрекере телеги, там ещё немного подробней про проблему на английском: https://bugs.telegram.org/c/19148.
Алсо, ещё в комментах у Ly (от самого Ly, в общем-то, с ссылкой на девтим телеги) вычитал, что
1) удаление сейчас не помогает. Там именно по айдишникам удаляет.
насколько понимаю, просто удалить мусорные сообщения, если их уже много, не поможет.
2) это, внезапно, тянется ещё с ВК.
(какая связь телеги и вк с точки зрения кода не представляю, и думать об этом страшновато)
Bugs and Suggestions
Telegram's Message Limit: Old Messages Gone Forever
When the message count reaches a million, old messages disappear. Steps to reproduce Be an active Telegram user Wait until the coveted number of incoming/outgoing messages is reached. Eh, it's a shame, the messages are gone! Device info
😱5🤯2👍1
Страх и ненависть к шарообразному виду сообщений в дестопной телеге
Где-то три-четыре дня назад в бету десктопной телеги (tdesktop, оффклиент под десктоп, на qt) прилетел апдейт...
Который сделал из немного скругленных углов у сообщений - просто один полукруг.
То есть, раньше у баббла сообщения было два немного скругленных угла, а теперь там огромная дуга (см прикрепленную картинку).
В общем, выглядит отвратительно, и более того, эту фичу просто невозможно отключить.
Причем!! на мобилках ровно такую же фичу можно настраивать ползунком так, чтобы блевать не хотелось.
Вполне ожидаемо от таких изменений офигел не я один, и народ пошел на гитхаб в репу телеги с резонным вопрос "ЧЗХ?": раз, два, три, четыре...
Причём людей, которые защищали бы новое скругление - там не отметилось)
Самое смешное, что в 2016 уже делали такие же круглые сообщения, и это, внезапно, тоже никому не понравилось (ишшю из 2016 состоит из двух этапов: 1. обновиться; 2. страдать)
Если покопаться в старом треде, то можно найти очень интересные вещи: например, скрипт для GDB, используемый для фикса готовых сборок телеги в рантайме.
В общем тред интересный, советую глянуть :)
А потом в тред пришел john-preston - основной мейнтейнер десктопной телеги, и выяснилось, что такой редизайн бабблов - это официальные тележные гайдлайны.
Более того - выяснилось, что слайдера для "круглости" в мобилках быть не должно, и его добавили скорее вопреки.
И в конце-концов пришел какой-то гений (
В общем, Дуров: верни квадратные сообщения!!!1
Где-то три-четыре дня назад в бету десктопной телеги (tdesktop, оффклиент под десктоп, на qt) прилетел апдейт...
Который сделал из немного скругленных углов у сообщений - просто один полукруг.
То есть, раньше у баббла сообщения было два немного скругленных угла, а теперь там огромная дуга (см прикрепленную картинку).
В общем, выглядит отвратительно, и более того, эту фичу просто невозможно отключить.
Причем!! на мобилках ровно такую же фичу можно настраивать ползунком так, чтобы блевать не хотелось.
Вполне ожидаемо от таких изменений офигел не я один, и народ пошел на гитхаб в репу телеги с резонным вопрос "ЧЗХ?": раз, два, три, четыре...
Причём людей, которые защищали бы новое скругление - там не отметилось)
Самое смешное, что в 2016 уже делали такие же круглые сообщения, и это, внезапно, тоже никому не понравилось (ишшю из 2016 состоит из двух этапов: 1. обновиться; 2. страдать)
Если покопаться в старом треде, то можно найти очень интересные вещи: например, скрипт для GDB, используемый для фикса готовых сборок телеги в рантайме.
В общем тред интересный, советую глянуть :)
А потом в тред пришел john-preston - основной мейнтейнер десктопной телеги, и выяснилось, что такой редизайн бабблов - это официальные тележные гайдлайны.
Более того - выяснилось, что слайдера для "круглости" в мобилках быть не должно, и его добавили скорее вопреки.
И в конце-концов пришел какой-то гений (
DragoonAethis) и сделал PR с добавлением "экспериментальной фичи", возвращающей всё взад.В общем, Дуров: верни квадратные сообщения!!!1
🤬6
ВК официально ахуели.
С недавних пор мне вместо СМС-ок начали приходить сообщения в вк.
ОКАЗЫВАЕТСЯ, это новая фича!
Если у компании есть твой номер, они могут попробовать отправить уведомление не смской, а сообщением в вк на этот номер.
Мэйл, конечно, заявляет, мол, ничего никому не доступно, кроме статуса доставки... Но верить мэйлу это не лучшая идея.
Я вижу тут минимум одну крайне очевидную проблему: в отличие от сообщений в вк, смски - светятся в детализации и сохраняются на телефоне локально, а не хранятся как-то в чьем-то облаке.
В случае конфронтации, суд детализацию от оператора принимать научился, а вот скриншот из ВК его скорее всего не убедит (кроме того, эти псевдосмски из вк могут магическим образом пропасть).
А самая мякотка: это нельзя отключить глобально, только от конкретных сообществ-компаний-отправителей.
С недавних пор мне вместо СМС-ок начали приходить сообщения в вк.
ОКАЗЫВАЕТСЯ, это новая фича!
Если у компании есть твой номер, они могут попробовать отправить уведомление не смской, а сообщением в вк на этот номер.
Мэйл, конечно, заявляет, мол, ничего никому не доступно, кроме статуса доставки... Но верить мэйлу это не лучшая идея.
Я вижу тут минимум одну крайне очевидную проблему: в отличие от сообщений в вк, смски - светятся в детализации и сохраняются на телефоне локально, а не хранятся как-то в чьем-то облаке.
В случае конфронтации, суд детализацию от оператора принимать научился, а вот скриншот из ВК его скорее всего не убедит (кроме того, эти псевдосмски из вк могут магическим образом пропасть).
А самая мякотка: это нельзя отключить глобально, только от конкретных сообществ-компаний-отправителей.
🤬9🤯4👍3😱1💯1
Карта гитхаба
Наткнулся в одном канале на проект https://anvaka.github.io/map-of-github.
Суть: человек взял гитхаб, спарсил крупные проекты (>10-100 звездочек), спарсил из них людей, кто ставил звездочки, а потом это всё кластеризовал по принципу "много людей ставят звездочки похожим проектам".
Подробнее, как он это делал - в репе проекта.
На первый взгляд кажется, что это просто фановый проект, но из него можно вполне себе извлечь пользу - это инструмент просто поразительной мощности для поиска новых "похожих" репозиториев на гитхабе, который не идет ни в какое сравнение что с просто поиском по гитхабу (поиск реп там довольно ущербный, будем честны), что с поиском гуглом по гитхабу, что с awesome-листами.
Просто как пример: у меня был список звездочек по тематике добавления тайлинга в винду.
Я его собирал пару лет назад простым наивным поиском по ключевым словам/тегам по гитхабу.
Сейчас я взял один из проектов оттуда (nog), нашел его на карте ("материк" wintuxia, полуостров к северо-востоку от powertoys) - и через его связи (и просто проекты рядом) я нашел сначала несколько неизвестных для меня старых проектов (непонятно, как я их мог пропустить при поиске, но факт), а потом по связям попал сначала в проект, делающий из винды вим, затем к читам на overwatch и от них к странному RAT-нику на питоне.
Другой пример: есть проект unfork (сисколл, по принципу действия обратный форку. Штука бесполезная, но прикольная).
На этой карте он расположен на небольшом полуострове, который можно назвать "полуостров ненормального программирования".
Потому что там рядом с ним находятся:
- regex2fat - утилита, чтобы сделать из регулярки - FAT32. Да, это возможно.
- vim_cubed - запуск вима на вращающемся кубе.
- open-and-shut - ввод текста морзянкой, через открытие и закрытие крышки ноутбука.
- how-to-exit-vim - (классика) - сборник способов выйти из вима. Один из них меня просто убил.
И как находить такого рода связи между проектами без такой карты? Невозможно.
Наткнулся в одном канале на проект https://anvaka.github.io/map-of-github.
Суть: человек взял гитхаб, спарсил крупные проекты (>10-100 звездочек), спарсил из них людей, кто ставил звездочки, а потом это всё кластеризовал по принципу "много людей ставят звездочки похожим проектам".
Подробнее, как он это делал - в репе проекта.
На первый взгляд кажется, что это просто фановый проект, но из него можно вполне себе извлечь пользу - это инструмент просто поразительной мощности для поиска новых "похожих" репозиториев на гитхабе, который не идет ни в какое сравнение что с просто поиском по гитхабу (поиск реп там довольно ущербный, будем честны), что с поиском гуглом по гитхабу, что с awesome-листами.
Просто как пример: у меня был список звездочек по тематике добавления тайлинга в винду.
Я его собирал пару лет назад простым наивным поиском по ключевым словам/тегам по гитхабу.
Сейчас я взял один из проектов оттуда (nog), нашел его на карте ("материк" wintuxia, полуостров к северо-востоку от powertoys) - и через его связи (и просто проекты рядом) я нашел сначала несколько неизвестных для меня старых проектов (непонятно, как я их мог пропустить при поиске, но факт), а потом по связям попал сначала в проект, делающий из винды вим, затем к читам на overwatch и от них к странному RAT-нику на питоне.
Другой пример: есть проект unfork (сисколл, по принципу действия обратный форку. Штука бесполезная, но прикольная).
На этой карте он расположен на небольшом полуострове, который можно назвать "полуостров ненормального программирования".
Потому что там рядом с ним находятся:
- regex2fat - утилита, чтобы сделать из регулярки - FAT32. Да, это возможно.
- vim_cubed - запуск вима на вращающемся кубе.
- open-and-shut - ввод текста морзянкой, через открытие и закрытие крышки ноутбука.
- how-to-exit-vim - (классика) - сборник способов выйти из вима. Один из них меня просто убил.
И как находить такого рода связи между проектами без такой карты? Невозможно.
❤15🔥8❤🔥3😁3👍1
Питонячьи радости: pyinstrument.
tldr: лучший существующий CPU-профайлер для питона.
В мире питона с профайлерами всё не очень просто.
Есть суровый дедовский способ профилирования через import time.
Есть встроенный cProfile.
Есть какой-нибудь scalene.
Есть yappi, Austin, py-spy, line_profiler, pprofile - десятки их.
Достаточно приличная табличка-сравнение разных профайлеров есть в репе scalene.
Оставим тему профилирования памяти пока что (там всё ещё хуже), и остановимся на CPU-профайлерах.
Раньше я пользовался line_profiler и немножечко страдал, потому что в процентах 80% моих питоновских проектов есть асинки, а работа асинков достаточно сильно насилует стек, в результате чего результаты профилирования асинхронщины были абсолютно нечитаемы.
Узнал про scalene - но тогда, когда я пытался его применить, он дичайше глючил и не выдавал ничего полезного.
Хотя описание и задумка там хорошая, но что-то не пошло.
И вот pyinstrument. Простой, как топор, и удобный, как дедов гамак.
Надо профилировать скрипт или модуль? Пожалуйста.
Или тесты? Без проблем.
Произвольный кусок кода? Вперед.
Интеграция в Ipython? Да.
Нативный middleware для django? Не знаю, кому он может понадобиться, но есть.
Готовые сниппеты для Flask/FastAPI (безумно удобный)/Falcon? Прямо в доке лежат.
Вывести результат в консоль? Есть.
HTML-ка? Есть. Удобная, кстати!
speedscope.app? В наличии.
Человеческая обработка асинков? Без проблем, всё работает само и из коробки.
В общем, для 95-98% всех задач, где мне надо что-либо профилировать, его хватает с головой.
5% на случаи, когда очень нужно смотреть перф построчно, а не по функциям.
tldr: лучший существующий CPU-профайлер для питона.
В мире питона с профайлерами всё не очень просто.
Есть суровый дедовский способ профилирования через import time.
Есть встроенный cProfile.
Есть какой-нибудь scalene.
Есть yappi, Austin, py-spy, line_profiler, pprofile - десятки их.
Достаточно приличная табличка-сравнение разных профайлеров есть в репе scalene.
Оставим тему профилирования памяти пока что (там всё ещё хуже), и остановимся на CPU-профайлерах.
Раньше я пользовался line_profiler и немножечко страдал, потому что в процентах 80% моих питоновских проектов есть асинки, а работа асинков достаточно сильно насилует стек, в результате чего результаты профилирования асинхронщины были абсолютно нечитаемы.
Узнал про scalene - но тогда, когда я пытался его применить, он дичайше глючил и не выдавал ничего полезного.
Хотя описание и задумка там хорошая, но что-то не пошло.
И вот pyinstrument. Простой, как топор, и удобный, как дедов гамак.
Надо профилировать скрипт или модуль? Пожалуйста.
Или тесты? Без проблем.
Произвольный кусок кода? Вперед.
Интеграция в Ipython? Да.
Нативный middleware для django? Не знаю, кому он может понадобиться, но есть.
Готовые сниппеты для Flask/FastAPI (безумно удобный)/Falcon? Прямо в доке лежат.
Вывести результат в консоль? Есть.
HTML-ка? Есть. Удобная, кстати!
speedscope.app? В наличии.
Человеческая обработка асинков? Без проблем, всё работает само и из коробки.
В общем, для 95-98% всех задач, где мне надо что-либо профилировать, его хватает с головой.
5% на случаи, когда очень нужно смотреть перф построчно, а не по функциям.
🔥9
Веселые приключения на рынке хостеров.
Есть такой хостер: VDSina.
Раньше, вроде бы, был приличный хостинг.
Статьи на хабре, красивый сайт, не самые упоротые тарифы.
У меня там висела впнка в нидерланды, например.
Где-то год назад у них произошло помутнение головы, и они решили, что комиссии по 30% на пополнение это нормально.
Допустим, это можно понять - издержки оплаты хостинга за границей. Ладно.
Самое веселое произошло недавно: они в одностороннем порядке решили поменять (повысить тарифы).
Молча Заведя тикет внутри своей системы поддержки - это был единственный способ уведомления.
Ни писем, ни смсок, ничего.
Галочка "Получать уведомления и новости на email" есесна стоит.
Но вот маркетинговый булщит отправлять на мыло они хотят, а о достаточно критичных изменениях как-то сделать рассылку забыли ;)
Причем уведомление пришло постфактум - просто в определенный момент вместо двух рублей за сервер в сутки я стал платить восемь.
Узнал об этом случайно зайдя в контрольную панельку.
В общем, категорически советую, всем, кто у них что-то хостил - пойти и посмотреть, как там дела по тарифам у вас.
Есть такой хостер: VDSina.
Раньше, вроде бы, был приличный хостинг.
Статьи на хабре, красивый сайт, не самые упоротые тарифы.
У меня там висела впнка в нидерланды, например.
Где-то год назад у них произошло помутнение головы, и они решили, что комиссии по 30% на пополнение это нормально.
Допустим, это можно понять - издержки оплаты хостинга за границей. Ладно.
Самое веселое произошло недавно: они в одностороннем порядке решили поменять (повысить тарифы).
Ни писем, ни смсок, ничего.
Галочка "Получать уведомления и новости на email" есесна стоит.
Но вот маркетинговый булщит отправлять на мыло они хотят, а о достаточно критичных изменениях как-то сделать рассылку забыли ;)
Причем уведомление пришло постфактум - просто в определенный момент вместо двух рублей за сервер в сутки я стал платить восемь.
Узнал об этом случайно зайдя в контрольную панельку.
В общем, категорически советую, всем, кто у них что-то хостил - пойти и посмотреть, как там дела по тарифам у вас.
👍13❤4🤔3😁1
😱8👏3
Рубрика: «А что там в федиверсе»
А в феди какой-то обиженный школьник-скрипткидди (ОЯШ, получается, потому что он из Японии) купил скрипт для спама, в собстна, феди.
(paypal’ом, на своё имя - да, его уже наосинтили)
Скрипт сам по себе простой - он регается на каком-нибудь открытом инстансе мастодона и начинает рассылать с этого инстанса спам во все места, куда дотянется.
И внезапно! оказалось, что никакой защиты от спамеров в этом прекрасном твиттере будущего не существует, потому что… авторам мастодона - одного из самых популярных серверов - насрать.
Им вообще на много что насрать (в том числе на написание безопасного кода, кстати - за последний месяц нашли аж 4 critical дырки).
Там вообще уже довольно давно висят issues по поводу добавления капч и иных прогрессивных методов ограничения регистраций, но пока их оригинальный основной инстанс говном не закидает, они не пошевелятся.
Безусловно, есть альтернативные сервера, например аккомо-плеромы всякие, но их доля в сети достаточно мала по сравнению с мастодоном.
По итогу один школьник успешно терроризирует всю сеть - я стабильно вижу, как все крупные инстансы дружно воют про «что же делать со спамом».
А мне хорошо, я маленький, до меня не доходит ;)
Да, у меня есть свой истанс мастодона, и я иногда хожу почитывать туда некоторых людей (а ещё краду мемы)
А в феди какой-то обиженный школьник-скрипткидди (ОЯШ, получается, потому что он из Японии) купил скрипт для спама, в собстна, феди.
(paypal’ом, на своё имя - да, его уже наосинтили)
Скрипт сам по себе простой - он регается на каком-нибудь открытом инстансе мастодона и начинает рассылать с этого инстанса спам во все места, куда дотянется.
И внезапно! оказалось, что никакой защиты от спамеров в этом прекрасном твиттере будущего не существует, потому что… авторам мастодона - одного из самых популярных серверов - насрать.
Им вообще на много что насрать (в том числе на написание безопасного кода, кстати - за последний месяц нашли аж 4 critical дырки).
Там вообще уже довольно давно висят issues по поводу добавления капч и иных прогрессивных методов ограничения регистраций, но пока их оригинальный основной инстанс говном не закидает, они не пошевелятся.
Безусловно, есть альтернативные сервера, например аккомо-плеромы всякие, но их доля в сети достаточно мала по сравнению с мастодоном.
По итогу один школьник успешно терроризирует всю сеть - я стабильно вижу, как все крупные инстансы дружно воют про «что же делать со спамом».
А мне хорошо, я маленький, до меня не доходит ;)
🐳12❤2😁2👍1😢1
При сборке OpenSSH с двумя свежими версиями liblzma (5.6.0 и 5.6.1) можно получить себе веселый бэкдор в сервак.
Передаю привет роллинг релизам и советую бежать всем админам проверять версии софта
https://opennet.ru/60877/
UPD: пишут, что openssh не везде линукетяся с liblzma.
В общем, смотрите у себя в дистрибутивах.
Проверяем версию liblzma:
Если меньше 5.6.0 - всё +- норм, если больше - обновляйтесь (откатывайтесь)
Проверяем, собран ли sshd с liblzma:
UPDx3: похоже, это не важно.
Автор ресерча пишет, что
UPDx4: у меня к сожалению нет пока живой системы, где можно посмотреть на уязвимый сетап.
Похоже, что проверка через ldd всё же имеет смысл)
UPDx2: ещё пишут, что автор бэкдора уже два года пишет патчи для xz, и кроме того, вовлечен в разработку ещё нескольких проектов, в том числе связанных с xz.
Так что веселье только начинается ;)
Передаю привет роллинг релизам и советую бежать всем админам проверять версии софта
https://opennet.ru/60877/
UPD: пишут, что openssh не везде линукетяся с liblzma.
В общем, смотрите у себя в дистрибутивах.
Проверяем версию liblzma:
lzma --version.Если меньше 5.6.0 - всё +- норм, если больше - обновляйтесь (откатывайтесь)
Проверяем, собран ли sshd с liblzma:
ldd $(command -v sshd) | grep lzmaАвтор ресерча пишет, что
Openssh does not directly use liblzma. However debian and several other
distributions patch openssh to support systemd notification, and libsystemd
does depend on lzma.
UPDx4: у меня к сожалению нет пока живой системы, где можно посмотреть на уязвимый сетап.
Похоже, что проверка через ldd всё же имеет смысл)
UPDx2: ещё пишут, что автор бэкдора уже два года пишет патчи для xz, и кроме того, вовлечен в разработку ещё нескольких проектов, в том числе связанных с xz.
Так что веселье только начинается ;)
www.opennet.ru
В библиотеке xz/liblzma выявлен бэкдор, организующий вход через sshd
В пакете XZ Utils, включающем библиотеку liblzma и утилиты для работы со сжатыми данными в формате ".xz", выявлен бэкдор (CVE-2024-3094), позволяющий перехватывать и модифицировать данные, обрабатываемые приложениями, связанными с библиотекой liblzma. Основной…
😁6😱3🤯2😢2👏1🤔1🎉1🌚1
Очень простой вопрос от санитара для senior-программистов на C:
Что выведет следующая программа?
(перед голосованием не читайте комменты, а то так не интересно))
Что выведет следующая программа?
#include <string.h>;
#include <stdio.h>;
int main() {
printf("%d\n", strlen("\x01c"));
}
cc test.c && ./a.out(перед голосованием не читайте комменты, а то так не интересно))
🔥6
Забавный неожиданный факт особенность, которую я обнаружил в механизме работы WSL2:
Скорее всего, generic user второго весла с ней не столкнётся, ведь он связан с использованием больше двух дистрибутивов одновременно, однако! на это может повлиять, например, установка официального Docker Desktop (никогда так не делайте, это ужасный софт).
Так вот: все "дистрибутивы" второго весла запускаются на одном и том же ядре Linux'а, в одной и той же виртуальный машине, и изолируются друг от друга через линуксовые неймспейсы.
Я, если честно, раньше думал, что они в разных VMках крутят, аннет.
У этой особенности есть особенность:
Изоляция не полная.
Некоторые неймспейсы между дистрибутиво-контейнерами шерятся, и иногда это может привести к странным результатам.
Среди таких общих неймспейсов - сетевой.
Все контейнеры имеют одинаковый набор сетевых интерфейсов, и для внешнего мира выглядят, как одна ВМка.
Отсюда могут вылезти неожиданные проблемы с пробросом портов в том же докере - пакет на определенный порт должен попасть в какой-то один из контейнеров.
В моем же случае я немного офигел, когда обнаружил tun-адаптер yggdrasil в системе, куда я не ставил ygg.
Подробней можно почитать вот в этом ответе на stackexchange.
Скорее всего, generic user второго весла с ней не столкнётся, ведь он связан с использованием больше двух дистрибутивов одновременно, однако! на это может повлиять, например, установка официального Docker Desktop (никогда так не делайте, это ужасный софт).
Так вот: все "дистрибутивы" второго весла запускаются на одном и том же ядре Linux'а, в одной и той же виртуальный машине, и изолируются друг от друга через линуксовые неймспейсы.
Я, если честно, раньше думал, что они в разных VMках крутят, аннет.
У этой особенности есть особенность:
Изоляция не полная.
Некоторые неймспейсы между дистрибутиво-контейнерами шерятся, и иногда это может привести к странным результатам.
Среди таких общих неймспейсов - сетевой.
Все контейнеры имеют одинаковый набор сетевых интерфейсов, и для внешнего мира выглядят, как одна ВМка.
Отсюда могут вылезти неожиданные проблемы с пробросом портов в том же докере - пакет на определенный порт должен попасть в какой-то один из контейнеров.
В моем же случае я немного офигел, когда обнаружил tun-адаптер yggdrasil в системе, куда я не ставил ygg.
Подробней можно почитать вот в этом ответе на stackexchange.
Super User
WSL2 two separate Centos distributions have same eth0 inet address
Using Windows Subsystem for Linux 2, I want to run two separate instances of Centos 7, but when I do this both instances have the same eth0 inet address. Here's what I did...
I created a base Cento...
I created a base Cento...
🤯12💩6😁4
.рубик
Забавный неожиданный факт особенность, которую я обнаружил в механизме работы WSL2: Скорее всего, generic user второго весла с ней не столкнётся, ведь он связан с использованием больше двух дистрибутивов одновременно, однако! на это может повлиять, например…
В комментариях не сдержались: https://news.1rj.ru/str/dotrubic/231?comment=73295
🔥24😁9💯4👏3👍1
Сидел я сегодня такой, развлекался с Nix'ом и внезапно обнаружил, что конструкции вида
Краткая справка: Шебанг (shebang) - это конструкция вида
Была придумана, чтобы не писать руками
Когда функциональность уровня ядра ведет себя как-то неправильно, первое и логичное решение... пойти копаться в сорцах этого самого ядра.
Спасибо эплу, некоторым лицензиям, и неизвестному самаритянину (насколько я знаю, это неофициальное зеркало) - у нас есть код XNU (ядро MacOS) на гитхабе.
Непродолжительные поиски действительно привели меня к строке, в которой определяется условие конец шебанга, где концом строки считается либо
Окей, теперь я знаю, что у меня нет шизофрении(на самом деле есть), и это действительно ядро ведет себя так странно.
Встает следующий вопрос: а почему оно так себя ведет?
Если посмотреть на путь к файлу
Так возможно это не у apple что-то с головой, а они просто бэкпортировали какое-то странное изменение из ядра *BSD? (Да, XNU основан во многом на BSD)
Быстро пробежавшись по старым *BSD ядрам (4.3BSD, FreeBSD версий 2-3) я ничего полезного не нашел, там этой особенности не было.
Дальше я решил вернуться обратно к blame'у сорцов XNU. К сожалению, текстов коммитов нет (разве что где-то в недрах Apple), поэтому остается довольствовать описаниями версий, в которых что-то меняли.
Таким образом я узнал, что это добавили в XNU-517.
Быстрый гуглеж по XNU-517 shebang наконец-то привел меня к цели всего поста: шедевральной страничке https://www.in-ulm.de/~mascheck/various/shebang/, содержащей огромный и очень информативный текст (я не шучу, сходите сами почитайте!) про историю шебангов.
Конкретно про обработку второй
Как оказалось, я смотрел слишком ранние версии FreeBSD - это действительно внесли именно в ней, в 4.0 ветке, а потом убрали в 6.0.
XNU бэкпортировали это к себе, но так и не убрали, только рефакторя код год за годом (стало кстати объективно лучше, тоже забавное наблюдение).
Итак. Изначальной причиной появления такого способа обработки
Рекомендация в документации к perl'у писать шебанг следующим образом:
чтобы избегать каких-то странных кроссплатформенных проблем (да, утилиту
Зайдите ещё в комменты, там есть парочка мемов, которые не влезли в пост =)
nix shell nixpkgs#hello -c bash в шебанге и Linux и MacOS отрабатывают совершенно по-разному.Краткая справка: Шебанг (shebang) - это конструкция вида
#!interpreter [args] (#! обязателен), расположенная строго в начале файла, и говорящая операционной системе запустить interpreter [args] [original file] [original args].Была придумана, чтобы не писать руками
python noscript.py, а сделать ./noscript.py, условный.Когда функциональность уровня ядра ведет себя как-то неправильно, первое и логичное решение... пойти копаться в сорцах этого самого ядра.
Спасибо эплу, некоторым лицензиям, и неизвестному самаритянину (насколько я знаю, это неофициальное зеркало) - у нас есть код XNU (ядро MacOS) на гитхабе.
Непродолжительные поиски действительно привели меня к строке, в которой определяется условие конец шебанга, где концом строки считается либо
#, либо \n.Окей, теперь я знаю, что у меня нет шизофрении
Встает следующий вопрос: а почему оно так себя ведет?
Если посмотреть на путь к файлу
kern_exec.c, можно увидеть, что он начинается с папки bsd. Так возможно это не у apple что-то с головой, а они просто бэкпортировали какое-то странное изменение из ядра *BSD? (Да, XNU основан во многом на BSD)
Быстро пробежавшись по старым *BSD ядрам (4.3BSD, FreeBSD версий 2-3) я ничего полезного не нашел, там этой особенности не было.
Дальше я решил вернуться обратно к blame'у сорцов XNU. К сожалению, текстов коммитов нет (разве что где-то в недрах Apple), поэтому остается довольствовать описаниями версий, в которых что-то меняли.
Таким образом я узнал, что это добавили в XNU-517.
Быстрый гуглеж по XNU-517 shebang наконец-то привел меня к цели всего поста: шедевральной страничке https://www.in-ulm.de/~mascheck/various/shebang/, содержащей огромный и очень информативный текст (я не шучу, сходите сами почитайте!) про историю шебангов.
Конкретно про обработку второй
# - тут.Как оказалось, я смотрел слишком ранние версии FreeBSD - это действительно внесли именно в ней, в 4.0 ветке, а потом убрали в 6.0.
XNU бэкпортировали это к себе, но так и не убрали, только рефакторя код год за годом (стало кстати объективно лучше, тоже забавное наблюдение).
Итак. Изначальной причиной появления такого способа обработки
# в шебангах была...Рекомендация в документации к perl'у писать шебанг следующим образом:
#!/bin/sh -- # -*- perl -*- -p
чтобы избегать каких-то странных кроссплатформенных проблем (да, утилиту
env тогда ещё не придумали).Зайдите ещё в комменты, там есть парочка мемов, которые не влезли в пост =)
❤🔥14👍8🤯4😁1
Тут на гитхабе разворачивается очередная дРаМа.
Если вкратце: есть в экосистеме питона такой проект,
Это такие батарейки для
Либа старая, ещё от 2.7 питона.
В какой-то момент пришел некий товарищ
На этот проект завязалась ещё несколько проектов, и вот 31 января какой-то чувак обнаружил, чтопотерял забыл про лицензию - у оригинального проекта это LGPL, а у товарища - почему-то MIT.
Там оно недельку поварилось, и
Три дня назад какой-то ещё чувак это внезапно обнаружил и поднял бучу - у нас в репах дистрибутивов лежит пакет с проблемами с лицензированием - а это нехорошо.
В конце концов это привело к тому, что
Это, внезапно, вызвало массовые разломы сборки разного произвольного софта, люди пошли набегать в оригинальный issue, связанный с проблемами лицензирования, и там началось неистовое бомбометание.
Собственно, за ним сейчас можно наблюдать практически в прямом эфире.
Если вкратце: есть в экосистеме питона такой проект,
nose. Это такие батарейки для
unittest либы из стандартного питона, упрощающие написание тестов. Либа старая, ещё от 2.7 питона.
В какой-то момент пришел некий товарищ
mdmintz, утащил 2/3 кода nose, назвал это pynose, поменял лицензию и выложил на гитхаб.На этот проект завязалась ещё несколько проектов, и вот 31 января какой-то чувак обнаружил, что
mdmintz, когда утаскивал код Там оно недельку поварилось, и
mdmintz закрыл issue.Три дня назад какой-то ещё чувак это внезапно обнаружил и поднял бучу - у нас в репах дистрибутивов лежит пакет с проблемами с лицензированием - а это нехорошо.
В конце концов это привело к тому, что
pynose начали выпиливать из дистрибутивов, в частности, из nix'а (bleeding edge, все дела ;)).Это, внезапно, вызвало массовые разломы сборки разного произвольного софта, люди пошли набегать в оригинальный issue, связанный с проблемами лицензирования, и там началось неистовое бомбометание.
Собственно, за ним сейчас можно наблюдать практически в прямом эфире.
GitHub
Wrong license · Issue #16 · mdmintz/pynose
It seems like your package is claiming the wrong license: The original nose implementation is subject to LGPL-2.1-only as far as I can see (https://github.com/nose-devs/nose/blob/master/lgpl.txt), ...
🤯15😁12🤡6👏5👍4❤1
В конце августа мы сделали силами нашей команды CTF для Островка!, а потом вместе с @greg0r0 сходили по этому поводу на подкаст к двум Иванам.
Я раньше в подкастах никогда не участвовал, было немного непривычно, но очень бодро.
Прикольно, в общем, как-нибудь стоит повторить)
В яме его послушать можно тут (если яндекс не алё, есть mave со ссылками на все остальные стриминги)
Я раньше в подкастах никогда не участвовал, было немного непривычно, но очень бодро.
Прикольно, в общем, как-нибудь стоит повторить)
В яме его послушать можно тут (если яндекс не алё, есть mave со ссылками на все остальные стриминги)
Telegram
Ostrovok! Tech
В конце августа ко дню рождения Островка мы организовали внутренний CTF (Capture The Flag) для наших разработчиков, чтобы разнообразить повседневные задачи, а заодно научиться чему-то новому в кибербезопасности.
Сюжет CTF был необычным — с крабами и чайками…
Сюжет CTF был необычным — с крабами и чайками…
🔥8👍3❤🔥1💩1🤡1
У меня тут произошел инцидент: какой-то хмырь скопировал мой профиль и стучался к людям в личку с просьбой скинуть денег)
Люди адекватные - поэтому налюбилово обнаружили и сразу же сказали мне, но мало ли какая у него база, так что на всякий случай хочу предупредить по каналу с наибольшим охватом, что вот такой персонаж может написать - и это буду не я)
Скрин свежий на момент написания поста, до этого у него ещё юзерка была, похожая на мою.
Чел даже премиумом заморочился, поразительно.
Люди адекватные - поэтому налюбилово обнаружили и сразу же сказали мне, но мало ли какая у него база, так что на всякий случай хочу предупредить по каналу с наибольшим охватом, что вот такой персонаж может написать - и это буду не я)
Скрин свежий на момент написания поста, до этого у него ещё юзерка была, похожая на мою.
Чел даже премиумом заморочился, поразительно.
🤯19😁5🐳4❤1👍1👎1