oleg_log
1.77K subscribers
1.86K photos
130 videos
9 files
2.77K links
Shelter for antisocial programmers "Oleg"

halp: @olegkovalov
web: https://olegk.dev
fov: @oleg_fov
chat: @oleg_log_blabla
podcast: @generictalks
Download Telegram
Осмелюсь (хоть и частично) не согласится с данным постом https://xn--r1a.website/manandthemachine/650 (тлдр про систем дизайн/архитектурное интервью)

Я давно в @oleg_log_plus (внезапно реклама) про это говорил и суть проста: если вы будете спрашивать только про лоад-балансеры, всякик NoSQL, CAP (зачем-то) и другие крутые слова, то вы ничего не проверите, ну разве что кто-то пролистывал Медиум по теме.

На джуна эти вопросы скорее вне их компетенции и понимания, для мидла они особо ничего не дадут, а сеньор вам скорее нагонит туфты и будет казаться, что понимает.

Возвращаясь к посту, который я накатал ранее. Спрашивать надо про дизайн системы доставки пиццы, как автоматизировать эскалаторы в ТЦ и как должен работать ЦУП.

Вот тут-то вы и проверите, насколько ваш кандидат умеет мыслить над проблемой, анализировать требования и задавать каверзные вопросы, пытаясь не зафейлить собес.

Джуна таким утюжить смысла нет, мидла не каждого, а вот сеньоров и прочих умников за милую душу.

Пожалуй эта часть собеса (дизайн интервью) единственное, что интересно проходить в FAANG, ведь можно интересно поговорить с умным человеком.

Еще одно: надо не только вам задавать эти вопросы, но и самим ходить на подобные собесы, тупо умнеть будете.
1 из аргументов, почему бояться N**2 не надо. https://twitter.com/BruceDawson0xB/status/1120381406700429312
Захватывающая история о неработающей синхронизации в rsync, причиной которой был баг 24-летней (!) давности в реализации протокола TCP Linux ядра. Буквально через несколько часов после появления письма с описанием проблемы в рассылке Neal Cardwell подготовил патч с исправлением (фикс из двух строк). Знаю Neal Cardwell как автора packetdrill - утилиты для функционального тестирования TCP, IP протоколов. С её помощью тесткейсы для тестирования можно описывать на DSL в декларативном стиле и они выглядят короче и нагляднее, чем такой же тексткейс, но на Си.

 Create a listening TCP socket.
0 socket(..., SOCK_STREAM, IPPROTO_TCP) = 3
+0 setsockopt(3, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0
+0 bind(3, ..., ...) = 0
+0 listen(3, 1) = 0

// Establish a new connection.
+0 < S 0:0(0) win 32792 <mss 1000,sackOK,nop,nop,nop,wscale 7>
+0 > S. 0:0(0) ack 1 win 29200 <mss
1460,nop,nop,sackOK,nop,wscale 6>
+.1 < . 1:1(0) ack 1 win 257
+0 accept(3, ..., ...) = 4

// sequence number out of window!
+.010 < R. 29202:29202(0) ack 1 win 257

// verify that the connection is OK
+.010 write(4, ..., 1000) = 1000
+0 > P. 1:1001(1000) ack 1


https://engineering.skroutz.gr/blog/uncovering-a-24-year-old-bug-in-the-linux-kernel/
Ничего супернеобычного, но за конфиг nginx отдельный лайк
Chrome фичу с группами вкладок из альфы достал, правда 1й опыт показал, что особо ничего этого (в моем флоу) не давало
Вы менеджерами паролей пользуетесь? Если да, то какими и почему?

Укажите еще, пожалуйста, это для приватной жизни или на работе "впарили". Все же это имеет значение)
Долгожданный (для меня) пост об изменениях в модулях для го 1.16

Не мутируем теперь го.мод на каждый чих, пожалуй самое важное. Ну и по дефолту теперь включены. Уиииииииии

https://blog.golang.org/go116-module-changes

UPD: я сильно ступил, пропустив module retraction, когда ответственный автор либы может пушнуть инфо про плохие версии всем пользователям либы. Это ж отличная вещь чтобы быть из коробки!
Как-то мне это все напоминает это https://xn--r1a.website/oleg_log/82 Разве что ноликов больше.

Ну ладно, проблемы все же разные, но идея о том, что вы дадим плохое число на входе и будет плохо.
CVE-2021-3177 Python 3.x through 3.9.1 has a buffer overflow in PyCArg_repr in _ctypes/callproc.c, which may lead to remote code execution in certain Python applications that accept floating-point numbers as untrusted input, as demonstrated by a 1e300 argument to c_double.from_param. This occurs because sprintf is used unsafely

>>> import ctypes
>>> x = ctypes.c_double.from_param(1e300)
>>> repr(x)
Segmentation fault
Слушайте, секьюрити-девопсо умники вы мои, а что вы используете для поиска секретов и прочего приватного в репозиториях?

Речь не только про CI, но и про гитхуки, а может какие-то сайдкары(подобные) которые все сканят.

Статьи-сбоники-обзоры тоже полезны будут)
Самое бесячее в Rust на самом деле. И самое ужасное, что всех это устраивает (я только в своем проекте инвертил и хранил целомудрие)
Мне настолько хочется делать опенсурс, но настолько нет сил себя заставлять, что я решил завести для этого Youtube канал. Вот такой я самосадист.

Но мне и этого было недостаточно, я хочу это на англ. Поэтому встречаем снг-акцент, опенсурс и какие-то там набросы.

Как всегда oleg industries расширяется до @oleg_flow где будут просто ссылки и анонсы (пока не знаю точные даты, но думаю выровняю режим)

и конечно же ссыль на текущий стрим https://www.youtube.com/watch?v=25-2JGxYlCY
Ну уже сегодня) но все же в 18))
Forwarded from Good reviewer - Bad reviewer (Oleg Kovalov)
Мы завтра 18:00 по СЕТ хотим поговорить о веб-сервисах, REST и gRPC. Кода (скорее всего) будет не много, но накопившимися мыслями готовы завалить каждого. Поэтому готовьтесь)
oleg_log
*детские и взрослые слезы радости* In this repository you'll find the fully reversed source code for GTA III (master branch) and GTA VC (miami branch). https://github.com/GTAmodding/re3
Репку таки прикрыли. Интеллектуал проперти же. Хотя интернет все хранит.

Понравился комент с ХН:
> Reverse engineered code is still copyrighted by the owners. The proper legal way to get source is to take a clean room approach where one team reversed the code, writes a specification, and a second team rewrites the program from the spec without ever seeing the original code.

Там в ответах упоминается SEGA и ReactOS (https://en.wikipedia.org/wiki/ReactOS#Internal_audit)

И по моему это очень красиво. Самое веселое, что язык имплементации тогда может быть другим, что сводит вероятность иска до 0 (ну мы повторили ваш апи, но не ваш код, кек)(хотя Oracle таки пошел с таким на наездом на Google, но и речь про другие деньги)

тред https://news.ycombinator.com/item?id=26199879
oleg_log
Долгожданный (для меня) пост об изменениях в модулях для го 1.16 Не мутируем теперь го.мод на каждый чих, пожалуй самое важное. Ну и по дефолту теперь включены. Уиииииииии https://blog.golang.org/go116-module-changes UPD: я сильно ступил, пропустив module…
Я сильно ступил, пропустив module retraction, когда ответственный автор либы может пушнуть инфо про плохие версии всем пользователям либы. Это ж отличная вещь чтобы быть из коробки!

Единственное, что я не понял, будет ли от этого падать билд, но подозреваю что да (ой сколько на это наездов будет))))