oleg_log
1.74K 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
∏ρ؃uñçτØρ Øπτµç∑ | 👁‍🗨››››
Photo
я ждал этот мем(
— Попробуйте провести в компании аудит последних 20 проектов. Скорее всего, вы увидите, что большинство маленьких задач решены одинаково. Но на все решения затрачено время: на исследования, эксперименты и переизобретение велосипедов.

Ага, вот только это в раз 70 больше бывает. Ведение аудитов становится увлекательной командировкой.

В коментах упомянули Training matrix, что оч прикольно и было бы круто завезти в команду (если много проектов/сервисов). Хртя та же матрица могла быть не 1 команду, а на отдел и фирму.
oleg_log
— Попробуйте провести в компании аудит последних 20 проектов. Скорее всего, вы увидите, что большинство маленьких задач решены одинаково. Но на все решения затрачено время: на исследования, эксперименты и переизобретение велосипедов. Ага, вот только это в…
Еще есть проблема "го на прив", когда вместо решения проблемы на публичком канале, её решают в лс.

ВНЕЗАПНО проблемы и вопросы повторяются, особенно когда нет толковой документации, либо продукт даёт разный способ трактовки вещей.

И вместо "ща поищу и скину такое же решение проблемы" (не в этом ли смысл компьютеров вообще?), приходится вспоминать или изобритать велосипедный ответ и решение.

Если какой-то тимлид это допускает, то можно залупцюваты ссаными тряпками, этож совсем идиотизм.
Forwarded from Generic Talks (Oleg Kovalov)
Пока следующий выпуск готовится к опубликованию, появилась мысль, а почему бы завтра не попробовать live-запись? Все равно многие дома сидят.

Завтра сообщим когда и по какому часовому поясу, но точно под вечер по CET.

Как вариант, можете закинуть вопросов и тем на завтра сюда к боту @generictalks_bot
Это приятно слышать, но это так же смешно: мы не будем выпускать новые версии, чтобы ничего не сломать. https://chromereleases.googleblog.com/2020/03/upcoming-chrome-and-chrome-os-releases.html
Forwarded from Generic Talks (Oleg Kovalov)
Будем в 19:30 по СЕТ, попробую потранслировать что-то, скорее на ютюб. Если кто-то спец по трансляции с Zoom, то можете тыкнуть меня в лс @olegkovalov

через 5ч8м начнем-с https://time.is/1930_19_Mar_2020_in_CET
Forwarded from Кавычка (Sergey Belov)
1) Год назад в багбаунти программу mailru заслали баг на 10 тысяч $, из публичного описания было понятно лишь то, что ликается какая-то рандомная память https://twitter.com/disclosedh1/status/1189553870801907713
2) Полгода назад samwcyo публикует статью, как ему заплатили 40 тысяч $ за похожую багу https://samcurry.net/filling-in-the-blanks-exploiting-null-byte-buffer-overflow-for-a-40000-bounty/. Т.е. где-то что-то подставил, а в ответ рандомные куски памяти. В 2019 то году!

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

3) И вот вчера появились детали из-за чего был баг #1 и, возможно, баг #2. Причина - неожиданное поведение openResty, при помощи которого можно писать скрипты на Lua в Nginx. Ожидается, что Lua в данном случае - это memory-safe язык, и подобные уязвимости ему не грозят. Но это оказалось не так и из-за этого была уязвимость. Также по ходу расследования оказалось что и "чистый" Nginx к этому уязвим, но Nginx - запатчились, а openResty - нет. Детали теперь в описании https://hackerone.com/reports/513236

Представьте себе, это как на PHP бы функция header() при подстановке %00 начала бы отдавать в ответе случайную память на сервере.
Есть такая фция в Питоне: all(iterable)

С таким поведением: Return True if all elements of the iterable are true (or if the iterable is empty). False otherwise. По вашему мнению (а не апи), для пустого iterable должно быть True или False?
Anonymous Poll
51%
Должно быть True
40%
Должно быть False
9%
Воздержаться (но лучше дать ответ выше)
Forwarded from Generic Talks (Oleg Kovalov)
А, ну вот, мы live.

Пришлось выйти на канале Good Reviewer - Bad Reviewer, из-за правил ютюба, но это 1й раз. Чатить можно как в телеграме, так и на ютюбе, выбирайте сами)

https://www.youtube.com/watch?v=RUVEewnD5ww
Оказывается гугл может в whiteboard online https://jamboard.google.com/

Посоветовали еще неплохие
https://awwapp.com/
https://mural.co/

Но гугл выигрывает (у нас) из-за GSuite и прайваси любимого. Еще вспоминается Профанктор-хакатон...

PS: дада, в Zoom тоже это есть из коробки, прям на экране рисовать можно.
Forwarded from Experimental chill
Прорекламирую в тяжёлые времена.

Что почитать? Тут недавно вышла книга про Software Engineering в Google, очень подробно с кучей внутренностей, о которых я теперь могу спокойно рассказывать. Про систему сборки, документацию, тикет систему, версионирование и Piper, дизайн документы, код ревью, глобальные рефакторинги, статический анализ, CI, юнит тестирование, deprecations, code search, истории о героях и спартанцах, победах и поражениях, десятки потраченных лет лучших разработчиков в кодовой базе на пару миллиардов строк и в частности 300+ миллионов строк C++ кода. Книга-приключение, написана легко и понятно. Как по мне, любой Junior, прочитав эту книгу, находится в большом плюсе перед остальными -- в этой книге слишком много собрано правильных вещей, которые возможно только несколько компаний в мире пытаются решить на таком масштабе, а самое главное -- эта книга расскажет про практики и про то, что в итоге сработало, что не сработало и как оценивать вещи в разработке в целом.

Отмечу, что не надо идти делать так же, как написано в книге. То, что работает в Гугле, может не работать у вас или потребует огромной экспертизы и поддержки. Об этом тоже написано в книге очень хорошо -- про tradeoffs.

Я лично заказал себе hardcopy, подпишу у автора Titus Winters, который кажется не спал ночами и писал эту книгу. https://twitter.com/TitusWinters/status/1189975357778251776

А вот и сама ссылка на книгу:

https://www.amazon.com/Software-Engineering-Google-Lessons-Programming-ebook-dp-B0859PF5HB/dp/B0859PF5HB/ref=mt_kindle?_encoding=UTF8&me=&qid=
Хах, я провалил комбо с "постить каждый день в течении года", ведь вчера ничего не написал. Ну лан. Зато я глянул 70+ докладов о го (Gopher Australia, Vietnam, GoLab и другие по мелочи).

Как оказалось - интересных не очень много, эт обидно. Все либо слишком для начинающих, либо пересказ старых тем. Конечно в этом что-то есть, но всегда хочется нового контента и историй из прода.

Посоветую этот доклад о Profiling a go service in production. Довольно хорошо сделано и рассказаны интересные вещи про select и ctx.Done() (тлдр, глянуть фции для каждого в стдлиб).

https://www.youtube.com/watch?v=19bxBMPOlyA