Pull to refresh
196
0.1
Андрей Дмитриев @AndreyDmitriev

Пользователь

Send message

Топ-боли айтишников в английском, часть 2

Level of difficultyMedium
Reading time5 min
Views7.4K

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

Читать далее

Сеть обменной сортировки со слиянием Бэтчера

Reading time9 min
Views24K
Сортировка является одной из базовых операций при обработке данных, которая используется в самом широком спектре задач. В данной статье будет рассмотрена сеть обменной сортировки со слиянием Бэтчера для параллельной сортировки массива произвольного размера.

Читать дальше →

В Политехнический музей будет передана одна из последних сохранившихся ЕС ЭВМ

Level of difficultyEasy
Reading time7 min
Views7.6K
К возможности написать эти строки мы шли более десяти лет. Теперь уже решено: фонды крупнейшего научно-технического музея страны скоро пополнятся узлами вычислительной машины ЕС 1055М, почти 40 лет бережно сохранявшейся в стенах ЦЭМИ — Центрального экономико-математического института.


Читать дальше →

Любителям x86-64 assembler посвящается: DIY волокна в C++

Level of difficultyHard
Reading time26 min
Views14K

Нас ждёт мозговыносящая смесь 64/32-битного ассемблера и старого-доброго C++. Мы сделаем собственную реализацию... Волокон (fibers) без вызова Win API и звонков в службу спасения.

Читать далее

«Накопитель риска» в команде: как одиночные эксперты тормозят развитие

Reading time2 min
Views12K

В команде есть человек, который всё делает сам, знает больше всех, но категорически не делится знаниями? Возможно, перед вами не суперсеньор, а «накопитель риска» — точка отказа в человеческом обличье. Разбираемся, откуда берутся такие одиночки, почему их нельзя поощрять и как выстраивать культуру, где знания не замыкаются на одном человеке.

Разобраться

Как мотивировать профессионалов

Level of difficultyMedium
Reading time7 min
Views3.7K

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

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

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

Читать далее

Простой пример использования в ПЛК нейросетевого контроллера

Level of difficultyEasy
Reading time2 min
Views4.5K

Современный мир движется к объединению технологий: промышленной автоматизации и искусственного интеллекта. Но для меня, занимающегося программированием в сфере АСУ ТП, было трудно понять, как на ПЛК, с его скромными техническими характеристиками и средой Codesys или TIA Portal можно применить технологии ИИ. На форумах готового решения не нашел, но проникся мыслью, что лучше обучить нейросеть на Python, а затем готовые веса и структуру перенести в Codesys. Я решил использовать OpenAI Gym, задачу CartPole. Это классическая задача обучения с подкреплением, где цель агента состоит в том, чтобы удерживать шест в вертикальном положении, выбирая действия (движение влево (0) или вправо (1)), на основе текущего состояния системы. План действий: для получения весов написать класс нейросети на PyTorch с использованием пакет DEAP.  После этого написать Modbus TCP сервер на Python с окружающей средой CartPole, подсоединиться к нему с помощью ПЛК. Полученные данные обрабатывать в ПЛК и передавать сигнал, который будет управлять тележкой, на сервер.

Читать далее

Rust в режиме «жесть»

Reading time16 min
Views14K

В этом посте будет разобрано, как написать приложение на Rust с применением самого минимального API, возможности которого искусственно ограничены (например, не применяется динамическое выделение памяти). Предполагается, что читатель немного знаком с языком Rust.

Читать далее

Как странные формулы ТАУ заменяют 3D расчеты на СуперЭВМ, и помогают Siemens побеждать

Level of difficultyEasy
Reading time7 min
Views5.7K

Этот текст – дополнение ко второй части лекции про особые линейные системы

Сравниваем расчет многослойной стенки в сеточной модели и расчет по формуле ТАУ. 

Читать далее

Приёмы высокоуровневой векторизации на примере Card Raytracer

Reading time20 min
Views3.8K

Хочу рассказать о том, как занимался оптимизацией card raytracer - минимального рейтрейсера, код которого умещается на визитке.

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

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

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

Наверное, статья в большей степени полезна новичкам, но и опытные разработчики (по привычке с 2000-го года пишущие SIMD-код интринсиками) могут найти что-то новое.

Компилятор - в основном Clang, можно GCC, в конечном итоге я адаптировал и под MSVC.

Читать далее

Всё, что необходимо (и достаточно) знать о создании пользовательских интерфейсов в расширениях VS Code

Level of difficultyMedium
Reading time14 min
Views4.5K

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

В этой статье, второй в серии материалов о нестандартных возможностях VS Code, разберём инструменты для создания интерактивных расширений, которые я применяю в работе над решениями productivity suite платформы МойОфис. Под катом мы рассмотрим веб-панели и их разновидность – веб-представления, а также другие стандартные средства VS Code API, такие, например, как элементы строки состояния (кнопки и сообщения).

Читать далее

T-shaped специалисты: один за всех?

Level of difficultyEasy
Reading time5 min
Views6.7K

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

Читать далее

Разоблачение рекламной статьи Intel

Reading time4 min
Views48K
Некоторе время занимаясь реализацией различных алгоритмов обработки изображений, я не мог не узнать о пакете Intel Integrated Performance Primitives (Intel IPP). Это набор высокопроизводительных функций обработки одно-, двух- и трехмерных данных, использующих возможности современных процессоров на полную. Это такие кирпичики с универсальными интерфейсами, из которых можно строить свои приложения и библиотеки. Продукт этот, безусловно, коммерческий, поскольку входит в поставку других средств разработки и отдельно не распространяется.

С тех пор, как я узнал об этом пакете, меня не покидало желание узнать, насколько быстро в нем реализован ресайз изображений. Каких-то официальных бенчмарков или данных о производительности в документации нет, как нет и бенчмарков от сторонних разработчиков. Самое близкое, что мне удавалось найти — бенчмарки кодека JPEG от проекта libjpeg-turbo.

И вот, позавчера, в процессе подготовки статьи «Методы ресайза изображений» (прочтение которой очень желательно для понимания дальнейшего изложения) в очередной раз наткнулся на статью, о которой и пойдет речь:

libNthumb, The NHN* Performance Primitive for Real-Time Creation of Thumbnail Image with Intel IPP Library
Читать дальше →

$315 млрд за толстые пальцы или 7 000 000 баррелей нефти за запой: как человеческий фактор влияет на рынок

Level of difficultyEasy
Reading time5 min
Views6.5K

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

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

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

Читать далее

Представлена языковая модель Mistral Large 2 размером 123B. Как запускать. Локальный Сopilot. Открытый конкурент GPT-4o

Reading time5 min
Views29K

MistralAI, вслед за LLaMA 3.1 405B, представила свою флагманскую модель с открытыми весами Mistral Large 2 (Mistral-Large-Instruct-2407). Mistral всегда отличалась очень качественными открытыми моделями, и, судя по всему, эта будет не исключением.

Веса открыты, размер контекста составляет 128k, размер модели 123B, модель была обучена на 80 языках программирования и десятках естественных языков, включая русский. Модель хорошо себя показывает как в рассуждениях, так и в математике и программировании.

Читать далее

Отчёт о запуске DeepSeek-R1 на Xeon 6132 c 768 ГБ памяти

Level of difficultyEasy
Reading time33 min
Views46K

Привер, Хабр!

В копилку статей про DeepSeek, которых здесь уже великое множество, хочу забросить ещё пять копеек в виде практического отчёта о инсталляции на Xeon, о котором меня попросили в комментариях к посту «Мануал по запуску полной модели DeepSeek-R1 локально...». Кому любопытно — может заглянуть под кат, ну а тем, кто уже выполнил упражнение по установке — вероятно будет совершенно неинтересно.

Прикоснуться к ИИ

Математики несколько десятилетий не могли решить, рационально число или нет

Level of difficultyHard
Reading time11 min
Views29K

В июне 1978 года организаторы крупной математической конференции в Марселе, Франция, объявили о последнем добавлении в программу. Во время обеденного перерыва математик Роджер Апери представит доказательство того, что одно из самых известных чисел в математике — «дзета от 3», или ζ(3), как пишут математики, — не может быть выражено в виде дроби двух целых чисел. Оно оказалось тем, что математики называют «иррациональным числом».

Участники конференции отнеслись к этому скептически. Дзета-функция Римана является одной из центральных функций в теории чисел, и математики на протяжении веков пытались доказать иррациональность ζ(3) — числа, которое дзета-функция выдаёт при входном значении 3. Апери, которому было 61 год, не считался ведущим математиком. У него был говор, напоминающий деревенский, и репутация провокатора. Многие участники, предполагая, что Апери затеял сложный розыгрыш, пришли готовые ответить ему тем же. Как позже вспоминал один математик, они «пришли, чтобы навести шороху».

Читать далее

DeepSeek-R1 для чайников

Level of difficultyHard
Reading time9 min
Views61K

В последние месяцы всё чаще слышим про «reasoning-модели», способные не просто продолжать текст, а действительно шаг за шагом решать сложнейшие задачи цепочкой рассуждений (chain-of-thought). Впервые такой подход эффектно показали в OpenAI o1, но, к сожалению, подробности там остаются секретными. Недавно же команда DeepSeek наделала шуму с открытыми вариантами R1 и R1-Zero, созданными поверх их собственной большой MoE-модели DeepSeek-V3. В этом посте я не стану углубляться в вопрос «чья модель лучше — o1 или R1». Зато разберу, какие главные технические детали стоят за R1, почему Zero-версия выглядит особо захватывающе, и как именно авторам удалось обучить модель мыслить.

Читать далее

Lua-скриптинг в mpv-плеере

Level of difficultyEasy
Reading time4 min
Views2.4K

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

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

При ближайшем рассмотрении mpv-cut оказался скриптом на lua, который позволял вырезать кусок из видео прямо в процессе просмотра в плеере mpv. Я как-то не предполагал, что mpv-плеер при всей своей минималистичности поддерживает скрипты, которые позволяют расширять его функциональность. И решил это дело тщательно разъяснить.

Читать далее
1
23 ...

Information

Rating
5,915-th
Location
Ahrensburg, Schleswig-Holstein, Германия
Date of birth
Registered
Activity