oleg_log
1.73K subscribers
1.88K photos
131 videos
9 files
2.82K links
Shelter for antisocial programmers "Oleg"

halp: @olegkovalov
web: https://olegk.dev
fov: @oleg_fov
chat: @oleg_log_blabla
podcast: @generictalks
Download Telegram
Не мое, но…ахахахха(((

Разговаривал с товарищами которые работают на кровавые энтерпрайзы. Пацаны уже 5 дней нормально не спят - на выходных обновили версию библиотеки, но теперь все стоят в очереди на деплоймент :) а вы знаете что в энтерпрайсе сервисы принято поднимать в строгой последовательности
Пришло время сделать сборку англ подкастов. Спасибо что есть коменты. Поехали.

Конечно же айти в приоритете, но кто нас ограничивает?
ДУДОСИМ
Вы будете смеяться (нет), но log4j продолжают насиловать и будут делать это ещё долго, так что патчить и обновляться придётся ещё долго и много

> If a string substitution is attempted for any reason on the following string, it will trigger an infinite recursion, and the application will crash: ${${::-${::-$${::-j}}}}

https://issues.apache.org/jira/browse/LOG4J2-3230

Там же в issue есть ещё интересные комментарии.
Forwarded from addmeto (Grigory Bakunov 🧪)
Вчера TikTok анонсировали свою платформу для стриминга и сейчас, похоже, будет скандал. Потому что оказалось, что софт для стримминга это переделанный OBS, опенсорсное решение для стриминга на всех платформах. Но OBS распространяется под лицензией GPL, а значит и лайв TikTok’а должен быть с этой же лицензией, а это не так.

Чем дальше, тем больше таких скандалов будет. Надеюсь, что теперь решение от тикток будет выложено в исходных текстах для всех https://twitter.com/Naaackers/status/1471494415306788870
Вот снёс я все комменты человека в чате по ошибке (сорян, бро) и понял, как же прекрасна эта идея транзакций и MVCC.

Базы данных это очень крутая часть нашей индустрии. Жаль мне не повезло в универе и не хватило ума понять это самому раньше.

Или просто для деструктивных и очень действий еще раз спросить «точно, брат?»
Сижу значит я читаю слив Твича (помните такое?), вижу вложенные бесконечные циклы (ну for { с break внутри) и понимаю: большинство технологий решений в больших фирмах создается не благодаря талантливым людям, а скорее в поисках обхода проблем, созданными лично.

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

Главное красиво все представить в сеть, а дальше пофиг.
Решил с утра перечитать https://12factor.net/ Оказывается не так уж и много надо вещей сделать чтобы было приятно пушить вещи в прод. Но человек и тут накосячил.

Вот это еще понравилось:
> Processes should strive to minimize startup time

..и тут же вспоминаю, сколько раз встречал наполнение кеша™ при старте на минутку-две. Зато потом ответы быстрые, да.

Короч совет: пролистайте еще раз список, уверен что каждый найдет что-то, что в текущем проекте не совсем так.

(тут была шутка про 11й пункт о логах и про лог4ж2 с 3 CVE за пару недель)
oleg_log
a "replacement" for awk and sed Larry Wall committed on 18 Dec 1987 https://github.com/Perl/perl5/commit/8d063cd8450e59ea1c611a2f4f5a21059a2804f1 На этом и надо было остановиться 🙈
Да простит меня Ларри Волл (возможно), но все же Perl дал очень много последующим языкам, читай Python, PHP, Ruby... да реально многим.

Поэтому, с опозданием, тихонько праздную с чашкой чая и читаю 1й коммит. Чуть чешутся руки это переписать на Go по фану.
А вот это даже смешно. Лог4ж в Xcode https://developer.apple.com/forums/thread/696785
В постах про Перл всплыла ссылка на чуть громкую статью (манифест? домен? бугурт?) http://www.rustmustdie.com/

Не уверен, что хочу соглашаться с автором или нет, дело все же ваше, но момент про let mut заставил меня задуматься - как давно я напарывался на баги, что что-то изменялось по ошибке?

Жаль как-то не вспомнилось. Наверное, если бы я делал это из разных тредов, то было бы неприятно. А, стоп, а чего я из разных тредов меняю небезопасно? ну вы поняли, такие штуки внимательно делаются по дефолту.

Хотелось бы сказать, что это хороший способ документации кода, тип "вот эта штука не меняется, забудь", но я не помню такие функции (в глобал скоуп пофиг, там 1.5 переменные обычно, рид-онли поле структуры тож не болит(?)) где мне сложно следить за максимум десятком переменных. Разве не?

Так же стоит заметить, что это может быть хорошая подсказка компилятору, что-то там сделать с "переменной", раз она не изменяется, но разве это и так не будет понятно компилятору?

Goтов выслушать критику, я 100500 что-то упустил.
Пойду учить что такое workspaces к среде
Forwarded from kirjs_ru
В среду c @oleg_log посмотрим что нового в Go 1.18 beta 1.

Посмотрим:
⭐️ Generics
⭐️ Go workspace mode
⭐️ Fuzzing-based tests


👀 Посмотреть: twitch.tv/kirjs | youtu.be/c2PlTtSBPgY
🗣 Пообщаться голосом: kirjs.com/talk