Как стать автором
Обновить

Разработка

Сначала показывать
Порог рейтинга
Уровень сложности

Языковой процессор LPU, GenAI в FinOps и инструменты для анализа данных

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров1.2K

Привет, Хабр! Возвращаюсь с новым выпуском полезных материалов, который поможет разобраться в ML, AI и дата-аналитике. Сегодня в программе — состояние MLOps в 2024 году, возможности дата-контрактов, оценка качества данных DQ Score и Python-библиотека для работы с SQL. Подробнее — под катом. Еще больше полезных материалов — в Telegram-сообществе «MLечный путь».
Читать дальше →
Всего голосов 19: ↑23 и ↓-4+27
Комментарии0

Плэнер — язык логического программирования для ИИ: что из него получилось

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров5.6K
Боты под управлением системы GOAP (Goal Oriented Action Planning), источник

Плэнер (Planner) — функционально-логический язык программирования, схожий по своему синтаксису с Лиспом. Функциональная часть языка содержит фактически целиком Лисп в качестве подмножества. При этом его встроенные возможности по символьной обработке значительно шире. А введение в запись нескольких типов скобок (в Лиспе допускаются только круглые скобки) сделало программы гораздо понятнее для чтения.

В свою очередь, логическое программирование — это парадигма программирования, основанная на математической логике, в которой код состоит из логических утверждений и правил вывода.
Читать дальше →
Всего голосов 26: ↑34.5 и ↓-8.5+43
Комментарии3

История создания Civilization IV: избавление от унылости

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров8.4K
Историю четвёртой части «Цивилизации» можно начать с очередной смены владельца бренда Civilization: Atari (Infrogames) продала их 2К Games, дочерней компании Take-Two. Сумма сделки составила 22,3 миллиона долларов. На дворе стоял 2004-й год.



Хотя на самом деле к тому моменту разработка уже весьма активно велась, так что Сид Мейер и его студия Firaxis отнеслись к происходящему философски: смена издателя не сильно влияла на планы команды. Руководил проектом Сорен Джонсон, набравшийся опыта в работе над предыдущей частью серии.
Читать дальше →
Всего голосов 24: ↑26 и ↓-2+28
Комментарии10

Мошенники. Вектор атаки на айтишников через LinkedIn

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров14K

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

Читать далее
Всего голосов 56: ↑62.5 и ↓-6.5+69
Комментарии62

Истории

Я скучаю по механикам из старых игр

Время на прочтение13 мин
Количество просмотров59K

За время существования индустрии разработки игр формул разных механик, способных развлечь нас, придумали не одну сотню. Что-то умерло засветившись в паре игр, что-то ушло со временем, какие-то существуют до сих пор. Есть и такие, которые не просто выжили, но стали мейнстримом, хотя только портят нервы игрокам. Игровой дизайн большинства старых игр, от второго фолыча до первого FarCry и пятью активными перками, пусть и не был вершиной искусства - затягивал не хуже современных песочниц с миллионом активностей. Редкую игру захочется пройти второй раз, а как вспомню, что на прохождение можно потратить под сотню и больше часов - думаю, а оно мне действительно было надо? Можно же было заняться чем-то более интересным. Я знаю, чем закончился второй фолыч, знаю это уже четвертый раз, но каждый раз игра удивляет меня чем-то новым. А вот нового "Аватара" бросил на половине, слишком много всего и все недоделанное, и прозрачные стены... просто бич игры. И тут вопрос, чего-то не хватает в этой раздутой, перекачанной сотней механик игре? Только задумайтесь - в аватаре больше сотни основных механик, которые влияют на окружение. Может в играх что-то потерялось? Хотя "потерялось" - звучит странно - за столько лет индустрия только создала просто море всего нового. Статья ориентирована на "побурчать", так что не ждите каких-то великих секретов и тонкостей мастерства.

Раньше и флешки квадратнее были...
Всего голосов 128: ↑135 и ↓-7+142
Комментарии407

Миллер, Рабин, вектор

Уровень сложностиСложный
Время на прочтение16 мин
Количество просмотров3.6K

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

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

Читать далее
Всего голосов 20: ↑22.5 и ↓-2.5+25
Комментарии10

Поиск по коду — это сложно

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров6K

Функциональность поиска на Val Town не очень впечатляет. Сейчас в её основе лежит механизм ILIKE Postgres, работающий на основе алгоритма поиска подстроки: если искомое выражение в коде есть, оно выводится в результатах. Этот процесс не включает никакого ранжирования, и очень слабо поддерживает запросы из нескольких слов. Более эффективный поиск является одной из самых желанных для нас возможностей.
Читать дальше →
Всего голосов 26: ↑31 и ↓-5+36
Комментарии3

48 лет вместе с Zilog Z80

Уровень сложностиПростой
Время на прочтение11 мин
Количество просмотров21K

Один из ранних экземпляров Zilog Z80 с датой выпуска в июне 1976 года. Геннадий Швец

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

Недавно Zilog объявила, что последние заказы на оригинальные Z80 принимаются до 14 июня этого года. Легендарный Z80 продержался в производстве почти 48 лет.
Читать дальше →
Всего голосов 97: ↑112 и ↓-15+127
Комментарии60

Нововведения Zig версии 0.12.0, которые стоит упомянуть

Время на прочтение12 мин
Количество просмотров5.3K

По случаю выхода версии 0.12.0 языка Zig я снова решил написать статью об этом языке. И в этот раз о том, что изменилось в языке относительно версии 0.11.0. Сразу уточню, что я не буду описывать все изменения. Ссылка на примечания к выпуску под цифрой выше. Список изменений хоть и нетакой большой, как у версии 0.11.0, не все изменения мне интересны. Я опишу только те, что мне показались более важными для языка. Да, и если уж делать полный обзор, нужно давать подробные примеры - более детальные, чем те, что предложены в примечаниях к выпускам. Потому что не все изменения будут понятны сразу, нужно сделать сравнение. Это не претензия к авторам, просто есть детали, которые понятны только на более конкретных примерах (если прочитать между строк, то это я нифига не понял).

Читать далее
Всего голосов 16: ↑20.5 и ↓-4.5+25
Комментарии8

Фен и нижний подогрев. Снятие/установка BGA без реболлинга

Время на прочтение5 мин
Количество просмотров6.3K

Приветствую, Хабр!

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

Читать далее
Всего голосов 44: ↑54 и ↓-10+64
Комментарии27

Секретная китайская плата: контроллер стиральной машины

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров37K


Привет, Хабр! Лучшее профессиональное образование — максимально приближённое к реальной жизни. Как минимум в этом смысле пособия для конкурсов и экзаменов по электронике в китайских колледжах заслуживают звания одних из лучших.

Сегодня мы будем собирать почти настоящую плату управления стиральной машины и изучать алгоритмы её работы.

Разработчики набора не забыли добавить традиционную парочку ошибок, чтобы работа испытуемого заключалась не только в аккуратной установке деталей по предложенной схеме, но и сопровождалась пониманием того, как она должна работать, и что необходимо изменить, чтобы она заработала как надо.
Читать дальше →
Всего голосов 51: ↑61 и ↓-10+71
Комментарии60

Никогда такого не было и вот опять: падение поставок ASML и финансовые преграды

Время на прочтение3 мин
Количество просмотров11K

Источник: Reuters.

Ведущий производитель оборудования для полупроводниковой промышленности, компания ASML, столкнулась с преградами. Финансовые результаты за первый квартал 2024 года оказались ниже, чем прогнозы даже пессимистично настроенных аналитиков. Вместе с падением заказов на свою продукцию организация теряет деньги.
Читать дальше →
Всего голосов 48: ↑46.5 и ↓1.5+45
Комментарии26

Как заново реализовать тетрис

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров5.9K


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

Вне всяких сомнений, я наработал массу опыта и знаний, выполняя все эти вещи самостоятельно. Поэтому, на мой взгляд, вполне целесообразно и далее так делать, то есть, попробовать выполнить какой-то проект, уже реализованный ранее. Всё это — именно с целью самообучения. На этот раз я взялся самостоятельно перепроектировать «Тетрис». Чтобы было ещё интереснее, я решил всё сделать на C.

На самом деле, это не первая моя игра на C – немного ранее я уже успел написать на С клон сапёра. В блоге также об этом не писал, но, может быть, напишу в будущем, так как проект получился очень интересным. Пожалуй, этот опыт пригодился мне в работе над «Тетрисом».
Читать дальше →
Всего голосов 34: ↑34 и ↓0+34
Комментарии30

Ближайшие события

Стресс и выгорание в мире разработки ПО

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров9.6K
Автор: Sow Ay

Я хочу поднять тему, о которой в нашей сфере говорят недостаточно: «Психическое здоровье инженеров ПО, в особенности тех из нас, кто принял на себя роль лидера». Являясь соучредителем технологического стартапа, я часто испытываю тревожность. Это один из тех аспектов, которые сопутствуют нашей деятельности, но в описании вакансии не приводятся.

Если вспомнить конкретно 2017 год, то он стал для меня весьма неприятным. Я регулярно испытывал панические атаки, сидел на релаксантах и пытался писать код, находясь под серьёзным давлением дедлайнов и новых ответственностей. Тогда я как раз унаследовал от своего предшественника должность главы отдела информационных технологий. Теперь я отвечал за небольшую команду разработчиков. При этом наш стартап дал многим партнёрам множество обещаний. Моей же задачей была их реализация, и я мог их либо нарушить, либо выполнить. У меня получилось и то и другое.
Читать дальше →
Всего голосов 54: ↑60 и ↓-6+66
Комментарии46

Генеративные 3D-модели

Уровень сложностиСредний
Время на прочтение15 мин
Количество просмотров8.1K

Салют, Хабр! На связи Игорь Пасечник — технический лид направления XR RnD SberDevices. Сегодня я хочу рассказать про одно из наших направлений исследований — разработку генеративных моделей для 3D-контента. 

Современные методы генерации 2D-контента, такие, как 2D-диффузионные модели (Kandinsky 3.0, SDXL), уже достигли впечатляющих результатов и несколько лет являются неотъемлемой частью современности, генеративные видео модели также активно развиваются. Кульминацией развития таких подходов, вероятно, станет представленная не так давно модель Sora. Тем не менее большинство из этих моделей до сих пор испытывают проблемы при генерации консистентных 3D-сцен и объектов.

С другой стороны стороны, существует конвенциональная 3D-графика, а также огромная индустрия и множество прикладных областей, включая игры, XR, дизайн, архитектуру, маркетинг, 3D-проектирование, где используются пайплайны на основе 3D-графики и производится контент на их основе. Методы создания 3D-моделей, такие, как ручное моделирование, 3D-сканирование и фотограмметрия, могут быть трудоёмкими, дорогостоящими и требующими специальных навыков. 3D-продакшн в общем виде использует множество инструментов для создания и рендеринга тяжелой фотореалистичной графики, адаптация генеративных 3D-пайплайнов под такие подходы достаточно тяжела из-за множества инструментов, которые такие пайплайны должны поддерживать. Также адаптация больших латентных генеративных 2D-моделей вроде SORA для прикладных задач фотореалистичной графики может стать альтернативой классическми пайплайнам на основе физического моделирования. Тем не менее, на текущий момент пайплайны работы с графикой, использующие базовый набор примитивов, включая меши, PBR-текстуры, простые модели освещения, закрывают множество прикладных задач и также могут быть востребованы у массового пользователя в случае их демократизации.

Читать далее
Всего голосов 32: ↑37.5 и ↓-5.5+43
Комментарии12

Оживляем неизвестный дисплей от японского поезда/автобуса

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров16K
Как-то раз, очередным томным субботним вечером, я в очередной раз листал от нефиг делать Yahoo! Auctions — одну из крупнейших японских сетевых барахолок. Внезапно, среди рекомендуемых лотов появился вот такой внушительных размеров электровакуумный дисплей:



Однако, рулить дисплеем, как правило, та ещё задача. «Особенно если динамическая индикация, да ну его, влом!» — подумал было я. Но у того же продавца обнаружилась и, судя по всему, управляющая плата:



На фотографии виднеется 8085 процессор, 8251 UART и ПЗУшка — казалось бы, дизассемблируй себе, разбирай протокол, да просто с ардуины выводи что угодно. Да ещё и за одну йену, это прям даром! После этого я решил всё же попытать удачу и выхватить этот дисплей. Тем более, что давно уже хотелось какие-нибудь красивые часики в комнату…
Читать дальше →
Всего голосов 148: ↑169.5 и ↓-21.5+191
Комментарии42

Вы все еще пишете многопоточку на C++ с ошибками синхронизации?

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров21K
Привет, коллеги! В этой статье я покажу свой подход к написанию многопоточного кода, который помогает избежать типовых ошибок, связанных с использованием базовых примитивов синхронизации.

Демонстрация идеи будет проходить на живых примерах кода на современном C++. Большинство описанных решений я применял сначала на собственных проектах, а теперь часть этих подходов уже используется в нашей собственной микроядерной операционной системе «Лаборатории Касперского» (KasperskyOS).

Сразу хочу оговориться, что тема многопоточности — очень большая и серьезная. И эта статья — не полноценный анализ проблем многопоточки, а только частНЫе (но довольно частЫе) кейсы, когда мы вынуждены использовать мьютексы.
Читать дальше →
Всего голосов 50: ↑51.5 и ↓-1.5+53
Комментарии134

Портативное прототипирование электроники

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров7.3K

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

Читать далее
Всего голосов 41: ↑49 и ↓-8+57
Комментарии21

Mojo: убийца Python и будущее AI

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров26K

Всем привет! Меня зовут Вадим, я Data Scientist в компании RAFT. Сейчас технологии AI применяются и развиваются во многих сферах деятельности человека, в особенности LLM, про которые уже слышал каждый. В большинстве случаев подобные технологии реализуют на Python, используя различные библиотеки, такие как pytorch, tensorflow, jax. Все они имеют свои преимущества и недостатки. Например, всем известная скорость вычислений.

Читать далее
Всего голосов 42: ↑33.5 и ↓8.5+25
Комментарии75

Обобщенные фабрики тайпгардов в TypeScript

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров4.6K

Привет, Хабр! Меня зовут Сергей Соловьев, я разрабатываю интерфейсы международных платежей в Тинькофф Бизнесе. Уверен, многие хотят писать надежный, поддерживаемый, но при этом лаконичный код. Как найти баланс?

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

Частный случай решения проблемы сужения типов — функции-тайпгарды. Это полезная фича языка, но ее применение может привести к появлению однотипного кода и даже увеличить риск возникновения багов. В статье рассмотрим проблемы, связанные с использованием функций-тайпгардов и один из способов их решения — создание обобщенных фабрик.

Читать далее
Всего голосов 31: ↑33 и ↓-2+35
Комментарии6