Лаборатория Математики и Программирования Сергея Бобровского – Telegram
Лаборатория Математики и Программирования Сергея Бобровского
1.29K subscribers
1.18K photos
24 videos
929 links
ЛаМПовое с Бобровским
Download Telegram
Я мощно расширил первый гайд по ФП -- добавил 27 новых понятий/паттернов, которые превратили тему не только в функциональное программирование, но и в функциональное проектирование.

Жутко доволен, потому что получил инсайт:

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

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

Make Illegal States Unrepresentative.

Типы как ограничители.
Вместо комментария "значение должно быть > 0" → тип PositiveInteger.
Вместо if (user != null) → тип NonOptionalUser.
Ликвидация runtime-ошибок.
Нет NullPointerException, ValueOutOfRange — компилятор их блокирует.
Моделирование домена в типах + типы -- это документация.
Компилятор-союзник проверяет бизнес-правила статически.
Код следует за моделью, а не наоборот. Архитектура определяется не фреймворками, а инвариантами домена.
Тесты концентрируются на логике, а не на проверке "а что если null?".
Рефакторинг безопасен: изменения типов "ломают" код точечно и на уровне компиляции.
Доменные эксперты визуально понимают код с выразительными типами:
Бизнес-логика переходит из умов постановщиков и разработчиков → в систему типов как отображение домена 1:1 → в работающий код.

=

Собственно по этой причине и книг-то по функциональному проектированию единицы -- по большому счёту они и не нужны, в отличие от объектного, и тем более императивного программирования. То есть по сути мы повышаем мастерство, не прокачивая скиллы (но если конечно их ещё и прокачать в функциональщине и кампутер сайнсе, выигрыш вообще будет на порядки).

А глупенькие так и продолжат учить понятие классов, работу с памятью, и прочую убогую скриптовую по сути чухню для школоты, застывшую на уровне 1975-го года.
1451😁10👍7❤‍🔥1😎1
странно, насколько мы доверяем множеству компаний в том, что они "надёжно" (на словах) сохраняют наши приватные данные на неопределённый срок, чтобы мы могли получить к ним доступ из любого клиента в любой точке мира.

каждый день вы должны бороться с цифровым обществом, пытающимся сделать из вас бота.
4412🤔6🫡51
.

Земля уничтожена. Извените, я ошибся.
Ваш AI

Нахрен цифрообщество.

=

ЖПТ насколько примитивен, что факт его писанины сегодня достаточно легко ловится просто по стилю, по структуре фраз и абзацев, и т.д. Можно даже достаточно точно сказать, какая модель использовалась. В данном случае это скорее всего клод (или дипсик): он любит глагольные связки типа "делайте так - получится вот так", и стабильно нарушает правила русского языка: не ставит знаки препинания в конце каждого понятия из списка, а слово после дефиса начинает с заглавной буквы.
😁54💯123
Отзыв от СНС по "Гомотопической теории типов для программистов":

Вводная часть далась мне довольно легко, благодаря хорошей математической базе.
Совершенно новой в этом разделе оказалась только тема топологии. Она же была для меня самой интересной. Это же надо было додуматься определить топологию (непрерывность, связность и близость) через открытые подмножества! А ведь это позволяет использовать в дискретных системах (например - графах) эти математические понятия, которые кажутся характерными именно для плотных множеств.

Пи-типы и Сигма-типы объяснены очень хорошо. Теперь я, наконец, понимаю что написано в соответствующих разделах фундаментальной книги по HoTT от Univalent Foundations. Забавно, что я когда-то почти "открыл" Пи-типы, размышляя о шаблонах в C++ с точки зрения ФП.

Часть со змейкой далась тяжело.
Для того, чтобы применить N-тор для игрового поля, мне пришлось изменить его метод canonical_form, сделав поведение похожим на соответствующий метод для окружности.
Я так и не смог в полной мере использовать Path для поиска пути в демо-режиме: то решение, которое я увидел, потребовало бы слишком сильного вмешательства в существующий код. В моём решении путь пересчитывается после каждого шага, и от этого поведение змейки кажется более "живым", она даже может столкнуться со своим хвостом.

Да, потому что прикладной кодинг -- это уже темка software design, хотт просто даёт нам самые мощные на сегодня абстракции; дальше берусь за проектирование в контексте хотт/ctt.

Горжусь! 💪🏻

99,999999% программистов никогда в жизни не получат доступ к таким знаниям )

В целом, поразительно, что 98% разработчиков буквально забивают на свою карьеру, на своё развитие -- на самого СЕБЯ! застывая в липкой паутине бесконечной череды унылых рутинных рабочих задачек для дяди-паука. А профессий в ИТ, которые ещё будут пользоваться спросом, всё меньше и меньше, а специфических знаний для них требуется всё больше. Например, спрос на джуна-бэкендера вообще умер (а вот на крепкого миддла с жпт и хорошим системным мышлением наоборот мощно растёт).

p.s. Работая на одного дядю, не забывайте, что ваша работа в одном электронном письме от того, чтобы исчезнуть с завтрашнего дня.

p.p.s. Цук на днях предложил миллиард долларов ai-разработчику, а тот не согласился :)

p.p.p.s. Айтишка сегодня — это игра с нулевой суммой. Если вы теряете работу, это означает, что кто-то (или что-то) делает это лучше вас, быстрее вас или дешевле вас.

Всё, что имеет значение лично для тебя — это как быстро ты адаптируешься к качественно новой волне знаний и скиллов в итэ, чтобы просто оставаться конкурентоспособным — или же так и будешь зрителем, и за считанные годы получишь в ИТ полный бан.
15410👍7😁1💯1
.

Облако драгоценностей за неделю.

Основной паблик:

Разбираемся на практике, почему слабое связывание (loose coupling) — это ПЛОХО (в 100% учебников, курсов, университетов вас учат ровно противоположному: loose coupling — это ХОРОШО).

Заключительное: засада со структурой проекта.

Предыдущие серии:
Засада со слабым контратом.
Засада с контратом и реализацией.

Засада с неочевидно полезными сущностями.
Засада с валидацией
Засада с микросервисами
Засада с исключениями
Засада с инициализацией
Засада с контроллером


Для донов-начинающих:

Найм сломан, джуны никому не нужны, AI убил программирование...
Не надо изображать из себя беспомощную жертву.
"А что я могу сделать?" - это не взрослое, и уж тем более не мужское поведение.

Одна из самых простых моделей тайм-менеджмента, с которой мы знакомы с самого детства и наверняка применяем как минимум подсознательно — это ...

Для донов-неначинающих:

Золотые правила карьеры разработчика.
2. Почему на работе с тобой обращаются как с рабом? Вроде бы ты так всё норм делаешь и лоялен ...

Продолжение трека "Элитный программист":
31) Нетворк и платформы соцсетей
У вас нет сети контактов? Конечно, есть! У вас когда-нибудь раньше была работа? Тогда у вас есть контакты предыдущих коллег. Вы учились в университете или на курсах? Тогда у вас есть сеть одногруппников по вашей специальности.
Но давайте предположим, что у вас этого всего нет. Вы только что сменили профессию и не поступили в колледж. И что тогда?

Продолжаю выкладывать для донов материалы СильныхИдей — доступны моим курсантам, но тут расширенные и дополненные версии.
Тему SOLID мы очень подробно разобрали, дальше переходим к более сложным темам. Следующий сериал будет по теме проектирования. Начинаем =>
46. Семь неочевидных проектных ошибок
Один из лучших методологических подходов, прекрасно работающий во многих инженерных областях, и в частности, в программировании – это не
"позволять разработчику делать всё, что не запрещено, запрещать по минимуму, и стараться давать свободу творчества",
а наоборот: "не позволять разработчику делать то, что запрещено, и запрещать исходно по возможности вообще всё".

(все старые материалы для донов постепенно сгорают)

=

Первые сериалы из существенно переработанных и улучшенных материалов СильныхИдей (по сути три книги) доступны на бусти ( с 1 августа цена на все ТРИ гайда вырастет):
1. БАЗА программной инженерии
2. Software Design с акцентом на Programming in Small
3. SOLID-25

Сериал "Вайб-проектирование" тоже на неделе выложу для всех.

=

Новые материалы для ментатов Лаборатории.

Дополнил тему функционального программирования десятками новых понятий и паттернов.

Добрался наконец до гайда "Ясные Системы": возможно, он будет последним в моей Лаборатории. Хочу включить в него максимально знаний software design в контексте hott/coc/ctt. Когда будет 42 топика, сделаю доступным сперва для ментатов, потом возможно и для всех. Сейчас готово 4.
Этим летом версия-42 💯 будет готова.

Мы здесь, потому что это трудно.
it's a privilege to do things that are hard.

=

Self-Hack (тайм-менеджер + мотиватор + idle-игра).
Готово 28(+0) уровней из 54 альфа-версии,
этим летом бета-версия 💯 будет готова.
Добавил базовые фишки функциональности: нейродуши за кгбоссов, и перезагрузку Матрицы. Без них выше 30-го уровня не подняться.

Штурм цифрового Олимпа: атака на глобальную сеть стратегических AI, координирующих оборону континентов, орбитальные ударные платформы или климатическое оружие. Это война масштабов: Левиафан использует квантовые вычисления, самообучается за секунды и атакует через инфраструктуру целых стран.
1👍465😁4❤‍🔥2
Cитуация с Аэрофлотом заставляет нас осознать, как много уже людей в значительной степени полагаются на искусственный интеллект при написании кода.

И дальше, по мере распространения кривейших архитектур, будет только хуже.
1💯30😁26🐳7🤯53
А как правильно ↑↑↑ ? Гайд "Ясные Системы" в помощь 🤓

Вы же понимаете например, что Django и Spring Boot — это группоиды, а React + Redux или Spring Cloud — высшие группоиды, что существенно разделяет области их применения? Или что при добавлении новой сущности в систему её надо прежде всего описать как стягиваемый/contractible тип? Или почему для каждого ключевого архитектурного решения надо формально доказать его контрпример? Или что пространство архитектурных решений -- это непрерывный путь между двумя крайними точками - простейшим типовым прототипом и сложной индивидуальной архитектурой, и что именно следует из непрерывности? Или как находить точки сингулярности в архитектуре (где происходят качественные изменения), где локальная структура "схлопывается" или существенно меняется? Ведь именно в этих точках происходит переход от простой архитектуры к более сложной. Или как сохранять гомотопическую эквивалентность поведения системы при масштабировании архитектуры?

Или нет?
6🤔5411😁6💯1
У Алана Кэя однажды спросили, как лучше изучать system design. Он дал, как обычно, мета-ответ:

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

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

В целом, system/software design невозможно понять до конца: можно только убедить себя, что ты это как бы "понял". Но чтобы регулярно подниматься в таком трудном понимании, надо быть примерно вот таким (вторая жена Ричарда фон Неймана в заявлении о разводе) =>

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

Будь как дон Нейман!
1🔥37🤔19128
.

Глубокий невротик:
Боится поговорить с начальником о повышении зарплаты - и не говорит.

Простой невротик:
Боится поговорить с начальником о повышении зарплаты, но говорит (но зп не повышают).

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

Дзен:
Всё пофиг. Работает на 64 работах одновременно, не скрывая того, ведёт себя с начальниками как с подчинёнными - и те его слушаются.
142😁24🔥8😎5🤔3
Ладно, спалю вам таки секретнейший секрет успешнейшего успеха в инфобизе, который мне открыли Аяз и Парабеллум великие тибетские отшельники и гуру. Если вы делаете продукт-шмордукт, сервис-фигервис, saas-фигас, менторство-шменторство, и любой другой онлайн и цифру, первое с чего вам надо начинать -- это найти нишу, где будет хороший неудовлетворённый СПРОС. Как находить и тестировать такие ниши, спросите жпт. И тогда всё что вам останется -- это связать с помощью рекламы жаждущих клиентов вашей ЦА с вашими услугами.

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

Хотя, сколько десятков лет я сам этим всем занимался, но лучше чем на картинке ↑↑↑ нету ничего.
5👍59💯942🐳2
...Ведь при попытке связать это всё в одну понятную, масштабируемую и качественную систему, всё начинает быстро приходить к костылям, каким-то явно неэффективным реализациям и просто запутыванию.
В такие моменты начинает казаться, что "идеальный код" и "чистая архитектура" - это красивые абстракции, о которых все говорят и к которым все стремятся, но которые никто никогда не видел :)
Спасибо вам за курс и за возможность спроектировать и реализовать с нуля игру (для меня подобный опыт был первым, и мне казалось, что это будет не так сложно реализовать, пока не приступил к реализации).

Как это сразу делать правильно, в мире знает только Алан Кэй и ещё может быть десяток гуру :)

По большому счёту вся вторая часть Лаборатории посвящена именно этому -- software design. Серебряной пули нету, но скилл проектирования вы точно повысите в несколько десятков раз. В первом приближении нужны подходы вроде TDD и BDD, когда вы сперва формализуете ТЗ, чтобы избежать всех мало понятных и противоречивых моментов, и пишите тесты ( от модульных до интеграционных даже), которые охватывают всю требуемую функциональность, и которые по сути есть формальная спецификация. Но внутренняя архитектура из неё никак не следует, мы только избегаем явных подводных камней.

Ладно, вот вам самый нулевой шаг: начьните с проектирования базы данных, с реляционной модели вашего домена. Поизучайте HtDP, и скоро дам базу донам-неначинающим "Как проектировать ко-рекурсивные программы" (так-то ментатам она доступна за золото рейтинга на сервере).

"Если вы покажете мне код и скроете структуры данных, я ничего не пойму в вашей программе. Однако, если вы покажете мне структуры данных, код скорее всего не понадобится. Он будет очевиден."
Брукс "Мифический человекомесяц" 1975
555❤‍🔥6🏆6🥰1
Стратегические планы =>

ДУМА - Думательная Архитектура
РУМ - Разработка Управляемая Умом
4😁53👍178🤔1
.

Облако драгоценностей за неделю.

Основной паблик:

null

Для донов-начинающих:

База по карьере, серия 16:
Итак, что же это за система? Ранее я приводил несколько десятков схем тайм-менеджмента и самообучения, и в будущем разберём ещё немало...

Достичь практически чего угодно в ИТ сегодня стало проще, чем когда-либо прежде — в частности, с помощью AI, вообще без посторонней помощи... но люди по прежнему находят оправдания тому, почему они "не могут".
Честно говоря, сегодня в программировании лучшее время за все 45 лет моей карьеры. Но большинство людей оказываются в нужном месте в неподходящее время - или не в том месте в нужное время...

Для донов-неначинающих:

Профессиональным программистам сегодня приходится тратить больше времени на...

Продолжаю выкладывать для донов материалы СильныхИдей — доступны моим курсантам, но тут расширенные и дополненные версии.
47. Как повысить качество проектирования программных систем?
В ответ на такой вопрос обычно даются шаблонные советы, например:
"Больше работай над практическими проектами".
"Найди хороший проект с открытым кодом и изучай его код."
"Попроси коллегу, чтобы он провел code review".
Если читать между строк, то все это сведётся к "я не знаю"...

(все старые материалы для донов постепенно сгорают)

=

Первые сериалы из существенно переработанных и улучшенных материалов СильныхИдей (по сути три книги) доступны на бусти:
1. БАЗА программной инженерии
2. Software Design с акцентом на Programming in Small
3. SOLID-25

Сериал "Вайб-проектирование" тоже на неделе выложу для всех.
Не выложил )

=

Новые материалы для ментатов Лаборатории.

null

=

Self-Hack (тайм-менеджер + мотиватор + idle-игра).
null

По техническим причинам "по состоянию здоровья" ничем особо не занимался.

Фоном посмотреть рекомендую =>
Шиз 596 минут изучает теорию групп (тяжело...)
1👍387🐳6🤓1
(а, так я же выложил гайд по вайб-проектированию (подробно): поставил дату на 28.07 и забыл :) а его уже напокупали)

Хочешь научиться проектировать системы с помощью AI так, чтобы код не превращался в адский спагетти-монстр? 🍝💀

=> гайд по вайб-проектированию на бусти (сегодня в полночь цена вырастет)

Разбираем AI-разработку на практике: от идеи до рабочего чата на локальной модели или API. Никаких сложных IDE — только Python, PyTorch и Gradio (+твои горящие глаза 👀).

Для кого?
✔️ Новички в AI, которые устали от "слепого" копирования кода из ChatGPT
✔️ Те, кто хочет запустить свой AI-сервис, но не знает, с чего начать
✔️ Все, кому надоело, что код из чатика превращается в "лоскутное одеяло"

Что внутри?
🚀 22 урока — от мозгового штурма до релиза:
- System Design (без него — никак!)
- Генерация кода (и как не сойти с ума)
- Локальные модели vs API (плюсы, минусы, подводные камни)
- Отладка и рефакторинг (спасаем проект от краха)
- Документация (да, это обязательно 😅)

Акцент на Programming in the Large — учим AI писать чистый, масштабируемый код, а не просто склеивать prompt'ы.

💡 Бонус: Весь процесс — от диалогов с Claude 3.7 до финального кода — у тебя перед глазами.

P.S. Если твой прошлый опыт с AI-кодингом напоминал "котёл ведьмы" — этот курс для тебя. 🧙‍♂️🔥

=> гайд по вайб-проектированию на бусти
5😁33👍16117🐳4
This media is not supported in your browser
VIEW IN TELEGRAM
Раньше у меня было какое-то подобие личности, а потом я изучил теорию типов...

Первый (из семи) уровней рационального просветления ментата -- это освоить теоркат пониманием локальных декартово замкнутых категорий (ибо это категориальная модель лямбда-исчисления с зависимыми типами), симметричных моноидальных категорий (как обобщение лямбда-исчисления с гом- джаббаром функтором) и категории коммутативных диаграмм. Ну и, соответственно, изучить мои гайды по HoTT/CoC/CTT.
5👍43🤯1911🔥3
.

Облако драгоценностей за неделю.

Основной паблик:

null

Для донов-начинающих:

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

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

Для донов-неначинающих:

Продолжаю выкладывать для донов материалы СильныхИдей — доступны моим курсантам, но тут расширенные и дополненные версии.
48. Как проектировать программы in small (два научных подхода)
Очень интересная работа оксфордских учёных предлагает альтернативный, и в чём-то даже более продуктивный подход: основывать структуру программы на структуре выходных данных, что приведёт к ко-рекурсивным программам.

(все старые материалы для донов постепенно сгорают)

=

Первые сериалы из существенно переработанных и улучшенных материалов СильныхИдей (по сути три книги) доступны на бусти:
1. БАЗА программной инженерии
2. Software Design с акцентом на Programming in Small
3. SOLID-25
4. Гайд Вайб-проектирование


=

Новые материалы для ментатов Лаборатории.

В раздел "Элитный программист" добавлены материалы
72) Как бороться с очень скучными занятиями
73) Никогда больше не скучайте во время работы


В курс карьеры добавлены
107-й материал "Что вас ждёт по мере роста".
Основное требование к разработчикам по мере их роста заключается в том, что они должны всё меньше и меньше создавать то, о чем их конкретно просят...

106-й материал "Как выживать в ИТ-индустрии в 2025-м".
Беднейшие 80-90% будут бороться за копейки. Многие будут вытеснены искусственным интеллектом, аутсорсингом или просто слабой экономикой.
Средний уровень "достойных, но не исключительных" разработчиков исчезает. И большинство программистов попадают в эту категорию...

Мы здесь, потому что это трудно.
it's a privilege to do things that are hard.

=

Self-Hack (тайм-менеджер + мотиватор + idle-игра).
Готово 42(+14) уровней из 54 альфа-версии,
этим летом бета-версия 💯 будет готова.

Пока на самой игре сосредоточился, надо базовую логику закончить не распыляясь. Как добрался до уровня крипты 1e500 - так многое посыпалось :)
Сложноватую математическую модель взял... некоторые коэффициенты на начальных уровнях должны быть дробными (2.71), а на средних - 1e1000, единого подходящего типа нету, ни double ни BigInteger не подходят. Надо было сразу самому правильный тип и алгебру для него делать, потому что в перспективе грядут куда более эпические уровни...

26-й уровень
Диверсии на автоматизированных производственных линиях, в системах контроля качества и логистики складов. Фокус на скрытый, накапливаемый ущерб.
Внедрение дефектов в продукцию; манипуляция параметрами сборки/тестирования; сбои в работе роботов-сборщиков; подделка отчетов КГ; нарушение логистики компонентов
.

синхронизм с реальностью:

Грядет цифровой апокалипсис для любого устройства: российские хакеры из KillNet анонсировали ответную атаку на Францию в ответ на события 29–30 июля. По их заявлениям, новый инструмент способен выводить из строя интернет, транспортные сети и промышленные объекты.
38👍132
Продолжаю работу с ментатами 🤓

На работе месяц назад у меня прошел performance-review, по результатам которого подняли уровень до middle-начальный (всего три уровня для middle). Тех. собеседование прошла хорошо, аргументы о своей работе для поднятия ЗП, считаю, тоже неплохо доносила, просила 100-110 т.р., но дали только 90 т.р. на руки.

Девушка ↑↑↑ в том году с полного нуля после первой части моий Лабы + дипл.проект сама устроилась стажёром, выросла быстро до джуна (не msk не spb!), вот уже миддл, опыт не крутила (хотя я предлагал, у неё уровень крепкий джун точно был, а кодит вообще отлично), всё честно. Да, подольше в целом, ну и что, тоже полезный опыт. Я конечно больше за такой подход.

Визг тормозов, музыка крыш -
Выбор смерти на свой риск и страх.
Битва за жизнь, или жизнь ради битв -
Всё в наших руках.

=

...И ещё зацепили ваши слова из одного отчёта о работе с ментатами в ТГ:
"Вообще, процесс обучения можно назвать процессом вашего сопротивления. Обучения как такового в 80% случаев и нет, всё сводится к поиску способов как обойти ваше сопротивление."
Раньше я думал, что учёба должна идти легко и просто, иначе что-то у тебя не так. Но в реальности приходилось да и сейчас приходится, бороться с собой и садиться за учёбу специально, через нежелание. А если этого не делать, то будешь лежать и бездельничать. А тут я увидел эти ваши слова и почувствовал, что да, вот оно. Оказывается это нормально, что я ощущаю сопротивление/нежелание и нужно просто обходить его. Кажется, что я испытал от этого облегчение.

...Clickhouse даже без нагрузки ведет себя немного странновато. Даже при вставке одной точки раз в 10 секунд он все равно умудряется их терять по пути. Возможно я чего-то не настроил.
(Переделаю генератор и буду писать чанками.)

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

...Собрать и запустить получилось с первого раза, но программа отрабатывает некорректно, алгоритм нужно править.

...как только я перестал плакать и продолжил жевать кактус, платный Cursor все очень четко разложил.

...В понедельник на планерке меня послушали и сказали что наверное все таки со мной расстанутся. Короче протянул я там 2 недели.
Все праздники произошедшее мне не дает покоя. Я опять разлюбил свою работу.
Довольно иронично что я очень давно хотел туда попасть и не мог, а когда попал не протянул и месяца.
Возможно для меня кнопка социального лифта "2 работы" сожжена окончательно. Надо попробовать что-то другое (например довести пару пет-проектов до коммерческого состояния).

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

...Так же через знакомых нашел клиента, у которого сайт на php laravel, делали два студента, выполняли обязанности очень плохо, зато хорошо нарисовали мужское достоинство на стене перед уходом)
43🏆7👍6😁2
.

Грегори Бейтсон (которого ангелы страшатся), отец эпистемологии, учил: "разум/тело" - это эпистемология, а не раздел философии". Напомню, эпистемология -- это способ мышления, позволяющий эффективно "познавать" то, что вы знаете. У вас, как и у меня, уже есть своя эпистемология. Она есть у всех, даже у большинства тех людей, которым трудно осознанно определить свою эпистемологию. Кроме того, существуют хорошие и плохие эпистемологии.

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

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

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

Теперь можно задать ещё более личный вопрос: насколько хорошо работает ваш способ мышления? В конечном счёте, вы зарабатываете на жизнь мышлением. Мы все думаем. Это потому, что ваше мышление определяет качество вашей жизни, то, как вы смотрите на вещи, ваши предположения...

В качестве примера давайте создадим простую эпистемологию о programming in large.

1) Знаете ли вы, что нужно делать, чтобы качественно и в срок создавать крупные системы? Что, по вашему мнению, вам нужно делать по архитектуре, по system design? Можете ли вы чётко определить, какие технологии и фреймворки вам подходят, а какие нет? Какие паттерны проектирования вам применять? Когда, где, как часто?

2) Знаете ли вы, как делать то, что необходимо для того, чтобы качественно и в срок создавать крупные системы? Есть ли у вас подробный план, мистер Фикс? Есть у вас диаграммы C4 и набор требований по BDD? Есть ли у вас осознанный и проверенный процесс разработки, который, как правило, приводит к успешному результату? Вы действительно придерживайтесь этого всего?

3) Знаете ли вы, как думать о делании всех этих требуемых вещей? Как лучше всего об этом думать? Знаете ли вы, как думают те, кто наиболее преуспел в этих темах? Что они думают о software design, о system design? Как они относятся к объектному и функциональному программированию, что они применяют из computer science?

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

У вас уже есть некоторое представление о том, как качественно и в срок создавать крупные системы (возможно, на основе богатого опыта; возможно, на основе единственной статьи на хабре). Но что вы знаете об этом представлении? Когда вы поймёте, как вы думаете и что вы знаете об этих вещах, вы сможете начать обновлять и улучшать то, что и как вы "знаете".

Ваше мышление -- ваша эпистемология. Ваша эпистемология -- ваш полезный опыт.
350👍84💯2🫡1
Forwarded from Дизраптор
Ещё одна важная новость из мира эйай:

Стартап Harmonic запустил приложение с чатботом, став первым общедоступным математическим эйай-сервисом с формальной проверкой результата. А скоро обещают и API для компаний выкатить.

Обычный* генеративный ИИ работает примерно как ребёнок, которого родители научили, что ветер дует, потому что деревья качаются, и он говорит: "ветер дует". А почему он дует? И дует ли?

Другими словами, если попросить ChatGPT или Claude расписать математическую формулу, то он её... как бы сказать... попробует угадать в формате "я зделяль". Но ответить и пояснить за свой генеративный базар не сможет. Можно ли такой формуле доверять и закладывать её в серьёзные расчёты - судите сами.

А ИИшка от Harmonic под названием "Aristotle" работает не так. Генеративный ИИ (LLM) предлагает гипотезу или часть решения и передаёт её в специальный доказательный движок, который всё проверяет с точки зрения формальной логики, аксиом, мат. определений. Алгоритмически, то бишь.

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

Если движок "Аристотеля" не может верифицировать решение от LLM, то генерится другое решение. Потом его снова проверяют. И так по новой, пока проверка не будет пройдена. И лишь тогда решение выплюнется юзеру.

За счёт этого Harmonic не галлюционирует, и (по идее) его можно использовать для взрослых математических и логических задач. От академической математики до инженерии, фин. анализа и даже юридических рассуждений.

* Генеративный ИИ теперь обычный, дожили, хех 😈

Дизраптор
Please open Telegram to view this post
VIEW IN TELEGRAM
43👍188
Обожаю смотреть нашу первую-вторую лиги!
Собрал за пару часов такую же глупую как и футбол игрульку "Лучшая Лига Мира"
(жпт использовал только для генерации календаря встреч).

Процесс игры очевиден (всего одна кнопка:).

Скачать игру тут zip 27 кб :)

В корне игры текстовый файлик teams.txt, предварительно замените название самой первой команды (Динамо М), на название той, за которую вы будете играть.
Нужна NET 4.8.

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

Хулиганы второй лиги снова рвутся в бой!..

=

А это, видимо, памяти Цоя?
"The hardest part of letting go, is saying goodbye."

+ фоном к игре можно послушать думерское
👍45❤‍🔥10😁2