(я думаю, он скорее перепутал:)
Сейчас практически все каналы по нейросеткам забиты обсуждением/сравнением нейронок, которые генерируют видео (потом музыка и изображения). То есть пока никакой пользы от подобных сервисов, кроме дофаминовых "развлекалок", нету. А вреда полно ("с вами по видеосвязи хочет поговорить мэр Москвы Сергей Собянин").
По генерации кода всё как-то стихло. В основном LLM-ки растут вширь (многие десятки разных языков, Фортран и Кобол сегодня модно добавлять :), а по качеству за этот год прогресса не видно.
Пока AI успешно развивается преимущественно в человеческую глупость.
Сейчас практически все каналы по нейросеткам забиты обсуждением/сравнением нейронок, которые генерируют видео (потом музыка и изображения). То есть пока никакой пользы от подобных сервисов, кроме дофаминовых "развлекалок", нету. А вреда полно ("с вами по видеосвязи хочет поговорить мэр Москвы Сергей Собянин").
По генерации кода всё как-то стихло. В основном LLM-ки растут вширь (многие десятки разных языков, Фортран и Кобол сегодня модно добавлять :), а по качеству за этот год прогресса не видно.
Пока AI успешно развивается преимущественно в человеческую глупость.
✍41👍18😁11🤔10💯5
98% программистов, пишуших код в продакшен, делают это так, что их код говорит больше об их глупости, а не о мудрости. Они изучают разные "программистские технологии", но их подход к обучению -- глупый подход. Они получают знания, но эти знания граничат с глупостью. В результате глупость управляет их знаниями, глупость преследует их всю карьеру, вот что с ними происходит. Соответственно, все проектные решения, которые они принимают, могут их привести только к глупым результатам.
При этом они ещё и других учат быть глупыми. Они говорят, что учат других, чтобы те стали умнее, получили полезные для работы знания.. но стоит взглянуть на это всё глазами святых computer science, то становится понятно, что их "учения" ведут людей далеко в сторону от истинных знаний по информатике.
Истинные же ИТ-знания основываются прежде всего на математике, формальной логике, теории типов, языках спецификаций. В мире LLM-программирования именно эти скиллы станут наиболее полезными и прагматичными.
При этом они ещё и других учат быть глупыми. Они говорят, что учат других, чтобы те стали умнее, получили полезные для работы знания.. но стоит взглянуть на это всё глазами святых computer science, то становится понятно, что их "учения" ведут людей далеко в сторону от истинных знаний по информатике.
Истинные же ИТ-знания основываются прежде всего на математике, формальной логике, теории типов, языках спецификаций. В мире LLM-программирования именно эти скиллы станут наиболее полезными и прагматичными.
✍60👍11❤8🤔3🫡2
Для нового курса по software design, для раздела "почему давно работающий код всё ещё содержит баги" подбирал подходящий пример, когда 100% покрытия тестами не даёт гарантии корректности, ибо логика может быть такой сложной, что и сам автор без поллитра не разберётся, какие там возможны критичные случаи.
Взял такой достаточно наглядный пример, как несмещённая оценка дисперсии выборки. Мы стандартно тестируем, когда размер выборки 0, null, а также на ряде типовых примеров, и покрываем все условные веточки. Однако алгоритм подразумевает деление суммы квадратов отклонений не на число элементов, а на число элементов - 1. Поэтому при размере выборки в 1 элемент код будет вылетать с исключением.
Даю конечно рекомендации, что с этим делать, как правильно рассуждать и т.п.
Взял такой достаточно наглядный пример, как несмещённая оценка дисперсии выборки. Мы стандартно тестируем, когда размер выборки 0, null, а также на ряде типовых примеров, и покрываем все условные веточки. Однако алгоритм подразумевает деление суммы квадратов отклонений не на число элементов, а на число элементов - 1. Поэтому при размере выборки в 1 элемент код будет вылетать с исключением.
Даю конечно рекомендации, что с этим делать, как правильно рассуждать и т.п.
❤47👍19⚡4❤🔥2🫡2
Если вы хотите наиболее простую систему типов, то это вероятно будут зависимые типы (когда сами типы становятся объектами первого класса).
По взрослому, это Coq, F*, Agda, Idris, Lean. Но страшно далеки они от мэйнстрима :)
Однако в питончике уже есть, в некотором смысле, завтипы, т.к. он позволяет манипулировать ими (да и ещё много-много чем) нативно.
И при желании можно вот так легко и просто реализовать dependent types в Python.
По взрослому, это Coq, F*, Agda, Idris, Lean. Но страшно далеки они от мэйнстрима :)
Однако в питончике уже есть, в некотором смысле, завтипы, т.к. он позволяет манипулировать ими (да и ещё много-много чем) нативно.
И при желании можно вот так легко и просто реализовать dependent types в Python.
✍57👍6🤔3❤2🫡2
Первая моя попытка заюзать первую отечественную IDE (GigaIDE от Сбера) закончилась, пока, фейлом :)
Но я полностью на стороне Сбера (как сразу конкуренты задёргались).
А если бы даже и закопилефтили код недружественных структур, ну и что? Вы кто такие? Идите нафиг. Никакого уважения и никаких переговоров с ними вообще вести не надо, и тем более, что-то им пояснять.
Вот единственно верный ответ:
"Для этого надо и дальше искать критические уязвимости их экономик и бить по ним во всех сферах. Находить проблемы в их важнейших технологиях и беспощадно наносить удары по ним." (с)
P.S. Правильно это называть "Трофейное ПО" 😎
Но я полностью на стороне Сбера (как сразу конкуренты задёргались).
А если бы даже и закопилефтили код недружественных структур, ну и что? Вы кто такие? Идите нафиг. Никакого уважения и никаких переговоров с ними вообще вести не надо, и тем более, что-то им пояснять.
Вот единственно верный ответ:
"Для этого надо и дальше искать критические уязвимости их экономик и бить по ним во всех сферах. Находить проблемы в их важнейших технологиях и беспощадно наносить удары по ним." (с)
P.S. Правильно это называть "Трофейное ПО" 😎
👌43🤔19👍16❤🔥8😁5
Кроличья нора на выход из Матрицы стремительно сужается. Я думал, что не доживу, где-то лет через 20, предполагал, всё закончится, но AI так стремительно развивается, и туда такие триллионы долларов вкладываются, что уже совсем скоро навечно установится окончательный разрыв между богатыми и бедными.
Это десятилетие последнее, когда вы ещё можете, вкладывая дофига усилий и hard work, создать некую финансовую платформу на будущее (и то для этого фактически осталась единственная темка: ИТ). Свой пик развития человечество прошло в XX веке, и сейчас движется по тому же пути обратно, только ускорившись в тысячи раз.
Коммунизм => капитализм => общество совсем скоро снова станет феодальным => а потом закончится рабовладельческим.
Уже сейчас за ипотечную квартиру 15 млн. вам надо будет за 15 лет накинуть еще 30 млн. сверху. Каркасные домики за год подорожали в два раза. Цены на недвижку растут, аренда тоже скоро станет конской. Всё кончено.
=
Хотя, зачем делать что-то сейчас, если можно подождать, пока это не вызовет у вас жуткую тревогу?
Это десятилетие последнее, когда вы ещё можете, вкладывая дофига усилий и hard work, создать некую финансовую платформу на будущее (и то для этого фактически осталась единственная темка: ИТ). Свой пик развития человечество прошло в XX веке, и сейчас движется по тому же пути обратно, только ускорившись в тысячи раз.
Коммунизм => капитализм => общество совсем скоро снова станет феодальным => а потом закончится рабовладельческим.
Уже сейчас за ипотечную квартиру 15 млн. вам надо будет за 15 лет накинуть еще 30 млн. сверху. Каркасные домики за год подорожали в два раза. Цены на недвижку растут, аренда тоже скоро станет конской. Всё кончено.
=
Хотя, зачем делать что-то сейчас, если можно подождать, пока это не вызовет у вас жуткую тревогу?
🤔82🫡11😁5👌5🤯4
Лучший стек на сегодня например:
- NET Core
- F#
- Critter Stack (Marten + Wolverine)
- Postgres (как на нём одном можно создать вообще всю архитектуру, 14 фишек, рассказываю тут)
- RabbitMQ
- HTMX
- Alpine.js + Tailwind CSS
- хорошо бы дедик от Hetzner, но с ходу аналоги даже не назову (свободная ниша!)
- Ubuntu 24.04 + Omakub
- GigaIDE
- NET Core
- F#
- Critter Stack (Marten + Wolverine)
- Postgres (как на нём одном можно создать вообще всю архитектуру, 14 фишек, рассказываю тут)
- RabbitMQ
- HTMX
- Alpine.js + Tailwind CSS
- хорошо бы дедик от Hetzner, но с ходу аналоги даже не назову (свободная ниша!)
- Ubuntu 24.04 + Omakub
- GigaIDE
❤54✍24👍6🤔5🐳2
Создавайте в своих проектах как можно больше легаси (Java 8 максимум например) и ИТ-долга! 🤘
Это та основа богатства айтишников, которую не уничтожит никакой AI !
Изучите как следует SQL и 1 серверный фреймворк (Spring, Django...), и до конца жизни будете ездить на таких машинках ↑↑↑
"три года упорного труда -- десять тысяч лет счастья" (c)
Это та основа богатства айтишников, которую не уничтожит никакой AI !
Изучите как следует SQL и 1 серверный фреймворк (Spring, Django...), и до конца жизни будете ездить на таких машинках ↑↑↑
"три года упорного труда -- десять тысяч лет счастья" (c)
❤🔥59😁17👌8❤7🐳5
"Программирование -- это весело, но создание высококачественного программного обеспечения -- это сложно."
-- Крэг Ларман, "Применение UML и паттернов проектирования"
Это сложно не столько из-за технологий, сколько из-за того, что в процесс вовлечены белковые/кожаные, от природы не способные к рациональному восприятию мира (потому что думать -- это скилл, который развивать весьма тяжело).
-- Крэг Ларман, "Применение UML и паттернов проектирования"
Это сложно не столько из-за технологий, сколько из-за того, что в процесс вовлечены белковые/кожаные, от природы не способные к рациональному восприятию мира (потому что думать -- это скилл, который развивать весьма тяжело).
😁64👍12💯5🤔2👏1
Когда рассказывают про "AI-программирование на естественном языке", всяческие визуальные, lowcode "системы программирования" и т.п., программистам возмущаться/смеяться не стоит, потому что цель такой пропаганды -- никак не айтишники, а лохи менеджеры богатых компаний, ничего в разработке не понимающие. Вот им эти иллюзии, как видим, продаются на отлично, уже на триллионы долларов, а потом показываются красивые графики, как до небес взлетает продуктивность программистов.
А воз даже не "и ныне там", а начинает потихоньку двигаться назад. И это очень хорошо, потому что в реале взлетают до небес прежде всего айтишные зарплаты :)
"Никто не выигрывает гонку вооружений в области AI, кроме самого AI" (с)
А воз даже не "и ныне там", а начинает потихоньку двигаться назад. И это очень хорошо, потому что в реале взлетают до небес прежде всего айтишные зарплаты :)
"Никто не выигрывает гонку вооружений в области AI, кроме самого AI" (с)
😁62👍23✍7😎5
Если вы не хотите писать такие команды:
CREATE TABLE IF NOT EXISTS MongoDB (_id UUID PRIMARY KEY, data JSONB)
используйте Pongo -- Mongo on Postgres :)
Берёте MongoDB API и автоматически преобразуете в нативные запросы Postgres.
Используется тип JSONB в Postgres, однако он несколько перегружен возможностями ("слишком" гибок, сложные индексы GIN, GiST...), а какая есть для подобных целей более простая и более быстрая фишка, расскажу донам.
CREATE TABLE IF NOT EXISTS MongoDB (_id UUID PRIMARY KEY, data JSONB)
используйте Pongo -- Mongo on Postgres :)
Берёте MongoDB API и автоматически преобразуете в нативные запросы Postgres.
Используется тип JSONB в Postgres, однако он несколько перегружен возможностями ("слишком" гибок, сложные индексы GIN, GiST...), а какая есть для подобных целей более простая и более быстрая фишка, расскажу донам.
✍53👍13🤔7
При наличии достаточного количества пользователей вашего API не имеет значения, что вы обещаете в контракте: всё наблюдаемое поведение вашей системы будет зависеть от кого-то другого.
Закон Хайрама
Имеется в виду, что даже самая простая и логичная спецификация системы может (в 98% обязательно будет) с течением времени становиться всё более сложной из-за деталей и особенностей реализации. Исходный дизайн системы, который вы здорово задумали простым и прямолинейным, становится сложным и запутанным из-за постоянного добавления новых функций, правил и исключений (под давлением/хотелками заказчиков/менеджеров), которые не были (и не могли быть) учтены при первоначальном проектировании.
Конечно, крайне важно тщательно планировать, проектировать и тестировать по всем измерениям вашу систему на всех этапах, чтобы минимизировать вероятность возникновения сложностей и непредвиденных ошибок в будущем, но... попробуйте объяснить это своему начальству.
Готовлю по этой темке трек software design -- как исходно закладываться так, чтобы любое развитие системы сохраняло её сложность линейной. Не одна серебряная пуля, а много мелких серебряных пулек.
Первый курс готов на 80%(и осталось ещё 80% :) . Так затянуло, так залип, не могу оторваться, даже отложил (временно) Metal Slug Attack Reloaded.
Закон Хайрама
Имеется в виду, что даже самая простая и логичная спецификация системы может (в 98% обязательно будет) с течением времени становиться всё более сложной из-за деталей и особенностей реализации. Исходный дизайн системы, который вы здорово задумали простым и прямолинейным, становится сложным и запутанным из-за постоянного добавления новых функций, правил и исключений (под давлением/хотелками заказчиков/менеджеров), которые не были (и не могли быть) учтены при первоначальном проектировании.
Конечно, крайне важно тщательно планировать, проектировать и тестировать по всем измерениям вашу систему на всех этапах, чтобы минимизировать вероятность возникновения сложностей и непредвиденных ошибок в будущем, но... попробуйте объяснить это своему начальству.
Готовлю по этой темке трек software design -- как исходно закладываться так, чтобы любое развитие системы сохраняло её сложность линейной. Не одна серебряная пуля, а много мелких серебряных пулек.
Первый курс готов на 80%
👍51❤11🙏4🔥2🫡2
слегка перефразируя новости 😂
...по данным прокуратуры, в 2021 году Закхайм организовала и возглавила преступную группу, которая занималась хищением денег у людей под предлогом прохождения учебных курсов по программированию...
сообщники "разработали" курс по программированию, записали видео уроки и продавали их людям...
стоимость придуманного сообщниками ИТ-курса доходила до миллиона рублей...
ущерб, который причинен троим потерпевшим превышает 2,5 миллиона рублей...
Учиться программированию теперь будем по бесплатным роликам индусов на полудохлом ютубе.
Качественное обучение не должно быть дорогим, правда же?
...по данным прокуратуры, в 2021 году Закхайм организовала и возглавила преступную группу, которая занималась хищением денег у людей под предлогом прохождения учебных курсов по программированию...
сообщники "разработали" курс по программированию, записали видео уроки и продавали их людям...
стоимость придуманного сообщниками ИТ-курса доходила до миллиона рублей...
ущерб, который причинен троим потерпевшим превышает 2,5 миллиона рублей...
Учиться программированию теперь будем по бесплатным роликам индусов на полудохлом ютубе.
Качественное обучение не должно быть дорогим, правда же?
😁55👍9🤔7❤4🐳2
Ещё в 2019-м я подготовил для начинающих большой материал по теме "Профессия Разработчик игр" (всячески отговариваю:). Разбираю на курсе карьеры, конечно, многие другие профессии, а также даю много подробных рекомендаций по выбору профессии, языка, стека, работы. Частично их также выкладываю для донов в группе для начинающих, даю там также пошаговый алгоритм как самостоятельно обучиться программированию с нуля, а в последнее время делаю особый акцент на продуктивных методиках самообучения, они важны будут на всю карьеру, потому что учиться придётся постоянно, но чем раньше их усвоить, тем сильнее будет результат. Полезны вообще всем!
(список всех материалов для донов)
Вот кусочек:
...Если вы принимаете те факты, что разработки игр очень сложна, что оплата будет низкой и что вам желательно получить хорошее профильное образование, в идеале, на дорогих курсах, добавлю ещё одну серьёзную проблему: вам придётся освоить C++. Потому что разработчикам игр понадобится немало навыков, без которых программисты из других сфер вполне могут обойтись.
Конечно, можно разрабатывать игры, и не зная C++. Множество игр написаны на самых разных языках программирования, причём немало и таких, которые сделаны в удобных фреймворках, по сути вообще не требующих знания программирования. Однако крупные игровые студии, выпускающие топовые игры, полагаются на C++ как один из основных языков разработки.
В будущем это может измениться конечно, но я очень сильно сомневаюсь. Потому что игры всегда идут в авангарде ИТ, выжимая по максимуму возможности из любого оборудования. Это означает, что даже если C++ перестанет использоваться, его место займёт какой-то другой язык, также позволяющий очень эффективно использовать возможности железа (а это сложно), потому что необходимо добиваться максимальной производительности на оборудовании, которое использует игра.
Ничего с тех пор особо не изменилось, но "какой-то другой язык" реально появился: Rust, и это очень здорово.
(список всех материалов для донов)
Вот кусочек:
...Если вы принимаете те факты, что разработки игр очень сложна, что оплата будет низкой и что вам желательно получить хорошее профильное образование, в идеале, на дорогих курсах, добавлю ещё одну серьёзную проблему: вам придётся освоить C++. Потому что разработчикам игр понадобится немало навыков, без которых программисты из других сфер вполне могут обойтись.
Конечно, можно разрабатывать игры, и не зная C++. Множество игр написаны на самых разных языках программирования, причём немало и таких, которые сделаны в удобных фреймворках, по сути вообще не требующих знания программирования. Однако крупные игровые студии, выпускающие топовые игры, полагаются на C++ как один из основных языков разработки.
В будущем это может измениться конечно, но я очень сильно сомневаюсь. Потому что игры всегда идут в авангарде ИТ, выжимая по максимуму возможности из любого оборудования. Это означает, что даже если C++ перестанет использоваться, его место займёт какой-то другой язык, также позволяющий очень эффективно использовать возможности железа (а это сложно), потому что необходимо добиваться максимальной производительности на оборудовании, которое использует игра.
Ничего с тех пор особо не изменилось, но "какой-то другой язык" реально появился: Rust, и это очень здорово.
❤🔥49👍20❤6🤔2
Обновил список наших блогеров. За месяц сразу шесть ребят здорово подтянулись, вошли в список эталонных 💪🏻 + один новый.
Не смог даже явного победителя определить, в июле будет Сергей Крайнюков,
давно и хорошо пишет. Подписка и лайк 💥 => "Android Developer Blog"
Сергею на текущий курс ("Ясная архитектура") скидка 1,000 рублей, и также скидки предыдущим победителям -- Дарья и Светлана (обе -- первый курс ООАП).
Не смог даже явного победителя определить, в июле будет Сергей Крайнюков,
давно и хорошо пишет. Подписка и лайк 💥 => "Android Developer Blog"
Сергею на текущий курс ("Ясная архитектура") скидка 1,000 рублей, и также скидки предыдущим победителям -- Дарья и Светлана (обе -- первый курс ООАП).
👍60❤🔥8🔥3😁3🎉2
Такое мы одобряем:
AMD Zen 5 architecture: A ground up redesign that lays the foundation for future Ryzen CPU architectures
Zen 5 now supports native AVX-512. Interestingly, AMD says Zen 5 processors will run AVX-512 without any frequency penalty. Strix Point supports full AVX-512 too which will remain challenging for notebook cooling and TDPs...
16-ядерный Ryzen 9950X выходит 31 июля например (уже принимают заказы по ~600 долл.)
В тему, мой пост про сишечку полгода назад:
...Резюме, что и в Си правильно (и положено по стандартам) думать не в императивных строках кода, а в абстракциях sequence points (а если хотите абстрактные типы данных, применяйте union :).
И самое интересное, что когда мы полностью ушли от мэйнстрима — в максимальную формализацию и абстрагирование, или в максимальное приближение к аппаратному уровню и машинный код... в итоге оказывается, что эти два полюса смыкаются где-то глубоко в кроличьей норе, но это уже совсем другая история...
(Например, в конце 2023-го Intel выпустила обновление либы x86-simd-sort,
которая за счёт поддержки AVX-512 ускорила на порядок сортировку в NumPy и OpenJDK. А на днях Xeon 5-го поколения Emerald Rapids показал с помощью AVX-512 на рабочих нагрузках, характерных для работы AI, выигрыш в 2-10 раз.
И вот если формализовать модель векторного стриминга AVX, и под неё разработать суперкомпилятор Си, и получить космическую оптимизацию... если кулера хватит :)
AMD Zen 5 architecture: A ground up redesign that lays the foundation for future Ryzen CPU architectures
Zen 5 now supports native AVX-512. Interestingly, AMD says Zen 5 processors will run AVX-512 without any frequency penalty. Strix Point supports full AVX-512 too which will remain challenging for notebook cooling and TDPs...
16-ядерный Ryzen 9950X выходит 31 июля например (уже принимают заказы по ~600 долл.)
В тему, мой пост про сишечку полгода назад:
...Резюме, что и в Си правильно (и положено по стандартам) думать не в императивных строках кода, а в абстракциях sequence points (а если хотите абстрактные типы данных, применяйте union :).
И самое интересное, что когда мы полностью ушли от мэйнстрима — в максимальную формализацию и абстрагирование, или в максимальное приближение к аппаратному уровню и машинный код... в итоге оказывается, что эти два полюса смыкаются где-то глубоко в кроличьей норе, но это уже совсем другая история...
(Например, в конце 2023-го Intel выпустила обновление либы x86-simd-sort,
которая за счёт поддержки AVX-512 ускорила на порядок сортировку в NumPy и OpenJDK. А на днях Xeon 5-го поколения Emerald Rapids показал с помощью AVX-512 на рабочих нагрузках, характерных для работы AI, выигрыш в 2-10 раз.
И вот если формализовать модель векторного стриминга AVX, и под неё разработать суперкомпилятор Си, и получить космическую оптимизацию... если кулера хватит :)
🤔58⚡10👍6🤓2❤1