Обновить

Разработка

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

Всего одна строка кода, из-за которой 24-ядерный сервер стал работать медленнее ноутбука

Время на прочтение13 мин
Охват и читатели45K

Допустим, вы написали код для решения задачи, которая хорошо распараллеливается. Каждый поток занимается своим участком работы и не зависит от других, поэтому потоки почти не должны координироваться друг с другом, за исключением самого последнего этапа, когда требуется объединить результаты. Естественно, в данном случае логично предположить, что чем больше ядер задействуется для такого кода, тем быстрее он выполнится. Вы ставите бенчмарки и сначала прогоняете этот код на ноутбуке. Действительно, оказывается, что он практически идеально масштабируется на всех четырёх доступных ядрах. Затем вы прогоняете его на большой и пафосной многопроцессорной машине, рассчитывая, что производительность будет ещё выше — но убеждаетесь, что на практике этот код работает даже медленнее, чем на ноутбуке, сколько бы ядер под него не выделить. Да, именно с таким случаем мне однажды довелось столкнуться.

Читать далее

Об ассемблере EuroAssembler, о котором вы, возможно, не слышали

Уровень сложностиСредний
Время на прочтение21 мин
Охват и читатели16K

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

Читать далее

Perplexity AI: Как превратить ИИ-поисковик в инструмент для работы и учёбы

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

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

Для доступа к Perplexity из России не нужен VPN, есть мобильное приложение и собственный браузер Comet. В наличии много популярных AI-моделей. Базовые функции - бесплатны. Для студентов есть скидка 75% на версию Pro.

В этой статье я постарался систематизировать свой опыт работы с Perplexity.
Мы разберем, как превратить Perplexity из «умного чата» в интерактивную базу знаний, используя Spaces, Tasks, Comet Assistant и другие функции.

Читать далее

Billing Platform: внедрение Temporal и переход к предметно-ориентированной микросервисной архитектуре

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели9.6K

Привет! Меня зовут Александр Тарасов, я тимлид команды Billing.Arch в Авито. В этой статье я рассказываю, как мы решили проблему высокой зависимости систем платежей и финансового учёта с помощью изменения архитектуры и внедрения новой технологии управления бизнес-процессами.

Читать далее

Как Markdown захватил мир

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

Почти все элементы мира хайтека, от самых современных ИИ-систем крупнейших компаний до обычных кусков кода, написанных студентами, аннотируются и описываются в одном простом текстовом формате. Когда вы пытаетесь дать сложные инструкции ChatGPT, хотите поделиться списком покупок в Apple Notes или скопировать чью-то домашнюю работу в Google Документах, вы пользуетесь одним и тем же форматом. Самое безумное заключается в том, что этот формат придумал не конгломерат технологических корпораций, а ворчун с добрым сердцем, который сейчас, вероятно, пересматривает фильм Кубрика или болеет за любимую спортивную команду. Но нам стоит разобраться, как родились столь простые текстовые файлы; не только для того, чтобы я мог похвастаться щедростью и умом моих друзей, но и чтобы напомнить вам, как работает Интернет на самом деле: умные люди придумывают хорошие вещи, а затем отдают их бесплатно, снова и снова, пока их технология не захватит мир и не сделает его лучше для всех.

Читать далее

Цифровая физика. Жизнь на основе формул

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

Некоторые люди смотрят «Матрицу» и думают, что это выдумка. Конечно, там есть приукрашивания и преувеличения о ценности человеческих тел, но в целом гипотеза симуляции построена на стройной научной модели цифровой физики.

Цифровая физика — это совокупность математических и философских работ, представляющих Вселенную как гигантский цифровой компьютер.

В этом направлении работали великие учёные и инженеры, такие как Конрад Цузе (создатель первого языка программирования высокого уровня), Джон фон Нейман, Стивен Вольфрам и др. Саму физику часто связывают с клеточными автоматами.

Читать далее

Код, за который стыдно: 5 ошибок, которые нельзя допускать в Python

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели19K

Python прощает многое: здесь нет строгой типизации, компилятора и ручного управления памятью. Код пишется легко, запускается с первого раза и проходит Code Review. А потом на продакшене случается страшное: данные пользователей перемешиваются, сервер «замирает» под нагрузкой или биллинг списывает деньги не в тот день.

Читать далее

Нет в Google — нет в Интернете

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели12K

У технарей есть такая фраза: «Если нет в Google, значит, нет в интернете». Смысла обычно два:

Про доминирующую роль Google в сфере поиска информации и Интернете в целом;

И о том, что далеко не все способны найти то, чего в гугле нет.

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

В этой статье я расскажу о том, как без какой-либо причины интернет-гигант забанил наших клиентов, насколько длинны его «руки», можно ли было это предупредить, что делать, когда вас уже «забанили» в Интернете?

Интересно? Добро пожаловать под кат!

Заглянуть под айсберг

Инженерная история: добавляем 3-ю СУБД в карточный процессинг

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

В конце сентября Филипп Дельгядо, один из архитекторов карточного процессинга Lekton Sigma, выступил на Yandex Neuro Scale. На конференции он рассказал, как они с командой добавляли поддержку YDB к своему решению.

Под катом — интервью с Филиппом, где он поделился с нами ключевыми техническими моментами, которые видит интересными для широкой аудитории Хабра: зачем в принципе добавлять поддержку ещё одной базы данных, сколько разработчиков нужно, чтобы вкрутить лампочку всё запилить, и с какими сложностями они столкнутся при переходе от централизованной PostgreSQL к распределённой YDB.

Читать далее

Как я отказался от FFmpeg и написал FLAC энкодер за 500 строк на Go

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели14K

Избавляемся от FFmpeg: конвертер аудио на чистом Go с FLAC-энкодером

Как убрать зависимость от FFmpeg в аудиоинструментах. Разбираю архитектуру, pure Go библиотеки и написание FLAC-энкодера с нуля. Результат: один бинарник для Linux, Windows, macOS.

Читать далее

ИИ лажает там где должен был сиять

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

У меня недавно приняли статью на крутую конференцию, где я описываю, как ИИ лажает в микроархитектурных задачках на SystemVerilog, которые я даю студентам на интервью. Дошло до того, что стартаперы больше не берут от меня задачек, а с честными глазами говорят: мы пока не умеем решать ваши задачки, но научимся как только большая компания инвестирует в нас деньги, объявит нас своим партнером и даст нам доступ к миллионам строк на верилоге в своих закромах, на которых мы научимся и будем сиять. А пока смотрите наши слайдики.

Ну ладно, хорошо, допустим. А где же ИИ сияет сейчас? Мне говорили, что пусть ИИ не сияет на языках описания аппаратуры, но он уже дошел до продакшн в языках программирования, где заменил джуна и скоро заменит миддла. Так что во всех компаниях останется только несколько ИИ-гуру, а все остальные программисты будут отправлены собирать клубнику на плантациях города Ватсонвилл, Калифорния, где они заменят нелегальных мексиканцев, которых Трамп собирается отправить на родину.

Программирование, говорите? Ну хорошо, вот три мои попытки оправдать ИИ на задачах из программирования.

Читать далее

Этажерочные архитектуры чипов для искусственного интеллекта

Время на прочтение7 мин
Охват и читатели14K

Многие мои читатели знают, что вне Хабра я давно занимаюсь техническими книгами. Практически весь прошлый год у меня прошёл в русле изучения новых программно-аппаратных и философских вызовов, которые ставит перед нами искусственный интеллект. Эта работа вылилась в знакомство и сотрудничество с по-настоящему неординарными и глубокими исследователями, такими, как уважаемые Камиль Гадеев @Kamil_GR и Константин Клепиков, но при этом подтолкнула меня отслеживать и более «новостные» блоги, среди которых я рекомендую всем тем, кто интересуется промптами, полностью прочитать/пролистать статьи уважаемого Андрея Пешкова @runaway_llm.

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

Читать далее

Выставка «Информатика в жизни США» — Ленинград, 1988 год

Время на прочтение7 мин
Охват и читатели21K

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

В Ленинград приехала выставка «Информатика в жизни США». Тогда большинство посетителей выставки впервые увидели компьютерную технику «вживую»...

Читать далее

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

Краткая история подшипника: от проектов Леонардо да Винчи до Kugelfräsmaschine

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели13K

Кто читал «Мертвые души» Гоголя и даже те, кто в школе делал вид, что читал, а только туда заглядывал, наверняка помнят сцену появления Чичикова в губернском городе NN. Это самые первые 10 строчек в двухтомной гоголевской поэме, да и сцена забавная. «Два русские мужика, стоявшие у дверей кабака против гостиницы, сделали кое-какие замечания, относившиеся, впрочем, более к экипажу, чем к сидевшему в нем. «Вишь ты, — сказал один другому, — вон какое колесо! что ты думаешь, доедет то колесо, если б случилось, в Москву или не доедет?» — «Доедет», — отвечал другой. «А в Казань-то, я думаю, не доедет?» — «В Казань не доедет», — отвечал другой. Этим разговор и кончился».

Бричка у Чичикова была рессорной, на такой ездили «отставные подполковники, штабс-капитаны, помещики, имеющие около сотни душ крестьян, — словом, все те, которых называют господами средней руки». Гоголевским мужикам не было нужды подходить к ней поближе. Они и так видели подбитый кожей обод колеса со спицами и его ступицу (втулку для колесной оси, и в данном случае скорее полуоси), почти наверняка выдолбленную из дуба или вяза. Такие колеса видели их отцы, деды и гораздо более отдаленные предки. Историки техники обычно датируют первые колеса такой конструкции III тысячелетием до н.э., а более острожные их коллеги — рубежом III и II тысячелетий до н.э. Там тоже были спицы, «покрышка» из дубленой кожи и ступица. 

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

Читать далее

Налоговая следит за каждым переводом на карту? Объясняю, что происходит на самом деле

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

В начале года я увидел уже наверное с десяток кричащих заголовков о тотальном контроле ФНС за переводами на карту, в духе:

Читать далее

Непростительные ошибки оформления иконок в Tahoe

Уровень сложностиПростой
Время на прочтение13 мин
Охват и читатели24K

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

Впереди подробный разбор перлов дизайнерских решений в macOS Tahoe с оглядкой на старое-доброе руководство Macintosh Human Interface Design из далёкого 1992 года. прим. пер.

Читать далее

Конец эпохи кремния? Китай запускает производство чипов на дисульфиде молибдена

Время на прочтение5 мин
Охват и читатели162K

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

В начале 2026 года в Шанхае запустили инженерную демонстрационную линию по выпуску процессоров на основе дисульфида молибдена. Проект развивает компания Shanghai Atomic Technology, основанная в феврале 2025 года профессором Бао Вэньчжуном из Фуданьского университета. Переход к полномасштабному производству здесь планируют начать уже в июне 2026 года. Давайте разберемся, что здесь и как.

Читать далее

The Sims: история игры, которую «отменяли» снова и снова

Уровень сложностиПростой
Время на прочтение13 мин
Охват и читатели12K

The Sims – это игра, о которой слышали даже те, кто никогда не считал себя геймером. В начале 2000-х она наделала много шума и каким-то образом попадала на компьютеры даже самых «мужественных» игроков. Да и кто бы мог подумать, что симулятор обычной жизни сможет увлечь миллионы людей по всему миру: эта концепция оказалась настолько прорывной и живучей, что серия, с определёнными условностями, продолжает успешно существовать уже почти 26 лет!

Но знали ли вы, что The Sims изначально задумывалась вовсе не как «игра про симов»? Или что проект планировали выпустить ещё в 1994 году, однако разработку не раз откладывали и фактически забрасывали? В компании в него почти никто не верил, и то, что игра в итоге всё-таки увидела свет, — во многом результат цепочки удачных совпадений и большого везения.

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

Читать далее

Я написал компилятор на C++ при помощи LLVM

Уровень сложностиСредний
Время на прочтение56 мин
Охват и читатели14K

GitHub

Onyx — язык программирования, нацеленный на базовую безопасность памяти, приятный синтаксис и опыт использования. Onyx написан на C++ с компиляцией на базе LLVM. На момент написания статьи язык поддерживает:

Читать далее

Миф о бесконечном масштабировании или когда ИИшка упрется в потолок

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

Сэм Альтман — безусловно, главная звезда ИИ-бума, начавшегося после запуска ChatGPT в 2022 году. Генеральный директор OpenAI стал лицом всей индустрии, и у него есть своя профессиональная страсть: он просто обожает законы масштабирования.

Именно эти эмпирические правила связывают масштаб модели с ее возможностями. Они же объясняют ту лихорадку, что охватила индустрию: в погоне за мощностью компании сметают с рынка чипы, возводят дата-центры и ради энергии готовы даже перезапускать закрытые АЭС.

В своем блоге Альтман сформулировал это так: «интеллект» модели примерно равен логарифму ресурсов, ушедших на ее обучение. Рецепт успеха звучит просто, хоть и дорого: можно бесконечно повышать производительность, если экспоненциально «скармливать» системе все больше данных и вычислительных мощностей…

Но так ли это?