Pull to refresh
0
Aleksei Matiushkin @chapuzaread⁠-⁠only

Principal Engineer

Send message

Я в своих основных языках знаком фактически со всеми активными профи, поэтому иногда спросить там что-нибудь заковыристое — это такой способ пообщаться, поспорить, подискутировать. Но так да, в основном отвечаем.


Я когда-то давно в каком-то левом твите (или блоге) прочел: «Лучший способ выучить новый для себя язык за минимальное время — пойти на SO и начать отвечать на вопросы» и до сих пор убежден, что это один из лучших советов, которые мне довелось получить, пусть и косвенно.

Пользователи будут ныть в любом случае, но вот мне идея прямо понравилась.


Иногда очень хочется вопросу (или ответу) поставить больше, чем просто плюс, и я в таких случаях завожу баунти (с тех пор, как разрешили давать баунти просто потому, что вопрос / ответ тебе понравился). Но с баунти нужно два дня ждать, чтобы его передать автору, и вот это — раздражает неимоверно, висит открытая вкладка в браузере, просто чтобы банально не забыть.


Я — за кнопку «прямо сейчас передать 100/200/300/400/500 очков репутации вот за это».

нужно было сперва рассказать, каким образом пытался решить проблему самостоятельно

На StackOverflow это напрямую в правилах прописано, вообще-то.

Если у вас хватает репутации вопрос можно просто закрыть.

Это не так. Во первых, не если хватает репутации, а если есть золотая метка по одному из тегов. Во-вторых, вопрос можно закрыть только как дубликат. Для закрытия по low quality все равно нужен консенсус из трех человек с золотыми метками, или из пятерых простых смертных (с какой-то существующей, но не очень высокой репутацией).

Странно, что вы не упомянули нативную поддержку работы с AST из коробки — немного криво и косо, но авторы языка подумали (!) об этом, что явно выгодно выделяет Rust из когорты других языков, как по-настоящему пригодный к метапрограммированию.

У нас в конторе прижились фразы:

  • Don’t be Aleksei
  • Aleksei Code Review
  • Switch Aleksei mode on

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

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

Достаточно обладать профессионализмом и чувством юмора.
Для «придется» лучше всего использовать «you are to».
VM вставляет в код неявные проверки «не пора ли переключиться на планировщик», вытесняющей многозадачностью

Так и не называйте, VM не вставляет в код никаких проверок (VM вообще ничего в код вставить не может, компилятор может, но и он этого не делает). VM эмулирует процессор для каждого «процесса» (в кавычках, потому что это не системные процессы) и отдает каждому по несколько сотен/тысяч тиков.

если например в этом потоке в данный момент выполняется какой-нибудь код на C

Угу, половина стандартной библиотеки эрланга — NIFs, и ничего, планируются как миленькие.

разработчик не может сказать VM: «вот тут проверяй [...]»

Опишите ситуацию, когда я хотел бы, чтобы вот тут код намертво заблокировал одно из ядер на пять минут, пока он файл до конца не вычитает.

[green threads] инструмент, которым надо уметь пользоваться [...]

Армстронг рассказывал, как он был на какой-то конференции в начале 90-х и все хвастались производительностью, удобством использования и прочими плюшками своих языков. А он подходил ко всем и спрашивал: «А как насчет fault-tolerance?» Потому что рассчитывать на то, что разработчик никогда не сделает ошибку — по меньшей мере наивно.

Вот хороший бенчмарк для Phoenix (это заслуга OTP, конечно) — два миллиона соединений на 40core/128gb box. Основное отличие — то, что я могу в миллионе из этих соединений считать факториалы больших чисел, и они ответят клиентам, когда будут готовы, а остальной миллион — этого вообще не заметит.

Если это не вытясняющая многозадачность — то я не знаю, что тогда.
Настоящего дедлока не будет, конечно. Но когда к вам в queue сыпется 10К сообщений в секунду, подождать минутку — вот вообще не вариант.
Вот я просто обожаю взвешенные, обдуманные, изящные и абсолютно неверные комментарии. Вы бы хоть почитали про виртуальную машину эрланга.

nathanmlong.com/2017/06/concurrency-vs-paralellism тут вот внятно для людей, которые думают, что грин-треды — это не болото, которое повиснет намертво при первом удобном случае.
Что, в принципе, прямой путь к дедлоку, если у нас N ядер, N горутин, и каждая чем-то очень тяжелам занята.

Я вообще затрудняюсь сказать кто, кроме эрланга (почему-то вообще не упомянутого в статье, в которой ну очень странно даже про него не обмолвиться) и смолтока, умеет в нормальную вытесняющую многозадачность.
А запрос на новую фичу можно начинать с PR, можно с доната, а можно — с простыни текста, которую еще надо прочесть.
На запросы новой фичи майнтейнер имеет полное право хоть что творить; “we have absolutely no plans to implement this” — еще мягкий отлуп.
Хорошим тоном все-таки считается сначала уточнить, какие именно проблемы пользователей проекта это решит, и только потом закрывать PR с комментарием «отложено до следующего мажорного релиза, там посмотрим».
Только если ваше начальство не в Хьюстоне :)
встать у истоков великого проекта, как какой-нибудь Столман или Торвальдс, что бы потом успешные успехи вышвырнули меня из него, потому что я старый токсичный мудак, который портит им комьюнити


Абсолютно. Когда они пришли за Столлманом я напечатал несколько маек “Stop toxing RMS!” и ходил в них на работу.

А по теме — позиция principal engineer — лучшее, что может случиться в этом направлении, насколько мог судить. Свой бизнес я совсем не хочу, а так — пилишь потихоньку то, что тебе кажется правильным, важным и нужным — а через полгода, когда команда дозревает, продравшись через все свои скрамы и аджайлы — вдруг выясняется, что именно оно и было нужно. Или не выясняется, впрочем, но это уже другая история.
После определенного количества коммитов и/или собственных проектов, выступления на конференциях случаются сами собой, потому что приятные люди сами зовут.

Еще вот какой момент: GH расскажет о том, каков разработчик сам по себе; SO может рассказать, каков разработчик в команде / общении. Не всем это нужно, но присутствие в hall of fame в языках, с которыми постоянно работаешь — очень способствует статусу в сообществе.
12 ...
107

Information

Rating
Does not participate
Location
Barcelona, Barcelona, Испания
Date of birth
Registered
Activity