Лаборатория Математики и Программирования Сергея Бобровского – Telegram
Лаборатория Математики и Программирования Сергея Бобровского
1.29K subscribers
1.19K photos
24 videos
931 links
ЛаМПовое с Бобровским
Download Telegram
В конце августа 14 японских заводов Toyota остановились из-за того, что на каком-то сервере переполнился диск. Это всё, что надо знать о современном уровне system design в самых топовых компаниях.
👍13😁5👌5🫡3💯2
Важная характеристика сеньора, создающего действительно надёжное программное обеспечение -- это идея приоритета спецификации над кодом. Потому что программа, которая никогда не ошибалась, всё равно может ошибиться в любой момент.

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

=

-- Эй, бэкенд! Нафига вы сломали API инвентаря дварфа? Раньше JSON приходил с ключами, упорядоченными по именам.
-- Нет, это не было гарантировано API, не стоит на это полагаться.
-- Ну и что, зато это разумная и удобная для фронтенда вещь, на которую мы рассчитываем, и её изменение -- это нарушение!

=

"Since the release of Go 1.0, the runtime has randomized map iteration order. Programmers had begun to rely on the stable iteration order of early versions of Go, which varied between implementations, leading to portability bugs."

В инженерии есть такой принцип робастности/надёжности Постела:
"для того, чтобы сделать надежный протокол, нужно как можно точнее придерживаться спецификаций, и в то же время «прощать» тех партнеров, кто не следует спецификациям в точности. Прощать до тех пор, пока вы в состоянии понять, что они хотят сказать."

Но в программировании это прямой рецепт создания хрупкого программного обеспечения.
5👍1🫡1
Когда месяцами пишешь на F#, а затем возвращаешься к C#, мозг немедленно клинит :)
Не получается нормально написать и 20 строчек работающего императивного кода.
Тут поможет книга наподобие "Functional Programming in C#", чтобы вернуться обратно к шарпу.
Но уже никак нельзя развидеть, насколько прост и элегантен фуллстек F# ...
🤔13🫡5👍3
От одного из моих лучших курсантов после задания Hard Work "3+4 важных качества хорошего кода"...

"Во-первых, мне нужно больше уделять время проектированию системы, а не написанию кода. Кол-во плохого кода не идет ни в какое сравнение с хорошим кодом (включающий все 7 свойств).
Спроектировав алгебру, корректность которой можно доказать через Z3 мне не составит написать код, логически верный.
Во-вторых, я пересмотрел свое отношение к паттернам проектирования. До сего момента я искренне не понимал, в чем заключается их польза, но вот теперь, посмотрев на все 7 свойств, на то, как я отношусь в созданию системы, то отношусь к ним как к инструментам, которые действительно могут помочь. Это звучит странно, но для меня это дАвний баг в мышлении.
В-третьих, мое мировоззрение ещё раз перевернулось относительно качество создания систем. Посмотрев свои проекты, ни один из них не соответствует идеалу, даже на текущий момент времени.
Где-то все время обманывал себя, сам того не замечая...."
🤔19🫡76👍1🐳1
Интересный тренд.
Казалось бы, как это, уходить от чистого ФП к Rust, почему? Ну, лучшая эргономика, высокая производительность, прямой и простой синтаксис + сильные статические гарантии.
🤔16🔥3🫡31
Не знаю, насколько это очевидно (или неочевидно), но правильное думание о любом прикладном проекте должно происходить на достаточно высоком уровне абстракции, когда существует одна, единая концептуальная модель данных. По форме она обычно реализуется двойственно: реляционная схема и объектно-ориентированная "доменная" модель, однако это просто неразрывные представления одной и той же модели. Потому что существует только один мир, который вы моделируете.
5🤔5🫡3
Arial -- отличный фонт для редактора кода. Вы сохраняете кучу горизонтального пространства.
19🐳3🫡3😁1
Я единственный, кто разговаривает вслух с самим собой во время программирования?
Anonymous Poll
19%
Да
81%
Нет
Двойная антиутопия: AI становится всё тупее и тупее, потому что начинает обучаться на своих собственных результатах. Но люди об этом не знают, потому что они тоже становятся тупее.

Инсайдеры меты заявляют, что они намерены открыть исходный код каждой модели вплоть до AGI, так что никакие safe API не помешают злодеям. Эксперты по биооружию полагают, что мы уже всего в 1-3 годах от появления моделей "SuperEbolaGPT" (на основе llama2), которые за тысячу долларов и несколько часов в обход всех защит пошагово проведут до "результата", с которым пока невероятно успешно справляются лишь уиллисы и стэтхемы в боевиках...
🤔14🫡3😁2👌1💯1
Вы отлично справляетесь со своей увлекательной работой программистом, зарабатываете на достойную жизнь, и всё кажется прекрасным.

Затем вы получаете электронное письмо или сообщение в мессенджерах или линкедите с оффером, который кажется слишком хорошим, чтобы быть правдой: у рекрутера есть для вас отличная вакансия, и вы смотритесь как идеальный кандидат для этой роли!

Вы позанимались на моём курсе карьеры, поэтому знаете, что всегда должны рассматривать все доступные вам варианты. Вы договариваетесь с рекрутером о звонке, выясняете подробности вакансии -- звучит довольно заманчиво! -- и даёте добро на то, чтобы вас познакомили с компанией.

А потом (я много раз предупреждал!) всё становится, хм, немного странным...

Полный материал "Как вас рекрутеры обманывают" будет для курсантов на треке "Бесстрашных переговорах о зарплате", и также скоро выложу его для донов в группе "Материалы для неначинающих программистов".
🔥9👍51
Плюсисты, вы сегодня действительно так пишете? Это круто ) Это уже какой-то другой мир. Реально подумываю о курсе по type-level design на C++.

Правда, даже продвинутые гуру cs говорят, что такое умение пока никому не дано :) Но почему бы не попробовать?
(Возьмусь за 1 миллион рублей :)

P.S. темплейты плюсов тьюринг-полные...
🤯11🤩4🐳32👍2
"Не заблуждайтесь: ИИ - это инопланетный интеллект...

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

Предположим, нам сказали, что эти инопланетяне могут решить проблему изменения климата и вылечить рак, но они также могут поработить или даже истребить нас. Как бы мы отреагировали на такую новость?

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

Мы должны действовать сейчас, иначе через несколько лет мы можем потерять контроль над нашей планетой и нашим будущим в пользу инопланетного разума".

Future of Life Institute
👍16🤔2🫡21👏1
Все порядочные университеты обязательно рассказывают первокурсникам о структурном программировании Эдсгера Дейкстры и его легендарной статье 1968-го года "Доводы против оператора goto" (на эту тему в паблике скоро будет материал).
Но когда Эдсгера в последние годы его жизни (конец 1990-х) спрашивали про эту статью, он отвечал в таком духе:

Ребята! это было в Голландии в 1960-е, я уже не помню, что тогда курил. Я мечтал вместе с хиппи, что любовь и мир будут воплощаться в элегантный код, в поэзию программирования, что её будут придумывать длинноволосые парни в свитерах с пацифистскими эмблемами.
Ха-ха! А сегодня мы все винтики на галерах, добавляющие патч за патчем в шаткую структуру кода, чтобы поскорее выпустить новый коммерческий продукт.
🫡21💯63😁21
В начале этого года ИТ-бизнес по всему миру просто... остановился (я писал об этом провале спроса на программистов чуть ли не в 10 раз). Больше никаких предложений о работе. Больше никаких зацепок. Телефон перестал звонить.

Это был ранний сигнал. Несколько недель спустя все в ИТ заговорили о том, что больше нет ничего, кроме увольнений, замораживания найма и самого сложного рынка труда с 2001-го года.

Ещё пару месяцев назад мои курсанты с отличными резюме, искавшие новую работу программистами, рассказывали, что им везде подозрительно одинаково отвечают "мы вам перезвоним попозже".

=

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

Такое ощущение, что весной и летом индустрия взяла паузу -- и вот теперь всё вернулось. Еще несколько месяцев, и будет казаться, что времён, когда по всему миру айтишников увольняли буквально десятками тысяч, никогда и не было.

=

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

Вот какие разработчики сегодня ценятся особо высоко:
-- понимающие специфику бизнеса/дела/области..., которое автоматизируют;
-- способные выдавать результат, а не просто высиживать часы;
-- продуктивно работать в команде и на команду (очень шаблонно, но ведь важно!)
-- всегда доводить дело до конца.
🔥14🫡84💯21
Если вы ещё не удаляли случайно рабочую базу на проде, значит вы пока двигаетесь в своей ИТ-карьере недостаточно быстро.

Но если вы джун, уронили прод и чувствуете себя при этом виноватым, это неправильно, не надо так. Во всем виновата фигово спроектированная хрупкая система.
122🫡2👍1🔥1
Дорогие! Сейчас многие из вас ведут блоги, и с 1 января это (развитие личного бренда) будет обязательным для всех моих курсантов, кто занимается на второй части курсов.
Но вы смотрели на свой блог со стороны? Как если бы его читал ваш потенциальный работодатель, намеревающийся платить вам 300k/s?

Это какой-то детский сад штаны на лямках.

Что я покушал, мы в тайланде, понты, депрессия, музыка шмузыка, котики (ну это ещё ладно), куча всего, сборная солянка...

Зачем вы об этом пишете? Какой результат вы хотите получить?
Дешёвые лайки от никчемных бездельников, или вкусные офферы от серьёзных компаний?

Если вы не проходили мой курс по ведению блога, это надо обязательно сделать. Ну и в правилах по блогу с 1 января я даю ещё три рекомендации, откуда вам брать бесконечные правильные темы для вашего блога.

Это полностью ваша ответственность, ваша карьера, ваша жизнь. Вы будете терять из-за своего несерьёзного отношения сотни тысяч рублей так, что и сами не заметите, и не понимать а что вообще происходит. И не надо думать, что если вы ведёте свой блог анонимно, AI не знает, кто вы есть на самом деле. И почему анонимно, чего вы боитесь? Наоборот, ваша цель -- чтобы по вашему имени и фамилии поисковики выдавали набор ваших мощных материалов по программированию, демонстрирующих, какой вы крутой разработчик (эйчары так всегда делают по любому кандидату).

На треке "Элитный программист" скоро будет подробный материал, как правильно развивать свой блог и соцсети.

P.S. ребята, все эйчары - скучные люди, их надо "брать" душнилой, а не весельем и "креативностью", которая нафиг никому не нужна. Вы интересуете работодателя исключительно как винтик, как функция, до вашего "глубокого внутреннего мира" никому нет дела и всем плевать.
👍31🫡11🔥21💯1
Мудрое решение! Однако, к сожалению, в жизни чаще всего случается наоборот.
😁17🫡1
Моя цель -- максимизировать вашу зарплату с помощью простой и проверенной тактики ведения переговоров. Ваша самая важная тактика -- не раскрывать свою текущую зарплату или ваши ожидания по зарплате до того, как они сделают вам своё предложение. Одна эта тактика стоит не одного десятка тысяч рублей среднестатистическому кандидату, и может стоить многие десятки тысяч рублей или даже больше для многих других. Но это трудно и непривычно, 98% под психологическим давлением сдаются и выдают врагу важные секреты :)

На треке Бесстрашных переговоров о зарплате я подробно, с самых первых занятий, разъясняю всё об этой тактике и о том, как её правильно применять, с готовыми скриптами. Она работает даже с чрезвычайно настойчивыми кадровиками.

Да, но если вдруг рекрутер сулит вам золотые горы, и вроде бы всё выглядит отлично? Для курсантов скоро расскажу "маленький грязный секрет твоего охотника за головами" (спойлер: вы никому не нужны), и как его использовать в свою выгоду.
👍14🫡321
Слева архитектура ИТ-департамента корпорации TRANSHUMANISM INC., которую делали профи.

Справа архитектура, созданная ИТ-стартапом, где работают молодые энтузиасты с горящими глазами.
😁20🤔4🐳1🫡1