Как стать автором
Обновить
-6
0
Владимир Ульрих @Wedmer

Разработчик

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

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

КДПВ


Немножко истории


Начну с истории вопроса.


Очень давно я написал Fresh IDE – навороченнoe IDE для программирования на ассемблере, а точнее на FlatAssembler.


Fresh IDE долгие годы меня полностью устраивал, поэтому я с перерывами выпустил 2 главные версии и начал просто его использовать, время от времени внося какие-то исправления и изредка новые функции.


Когда перешел полностью на Linux, оказалось, что Fresh IDE прекрасно работает под WINE, и я продолжил им пользоваться без угрызений совести. В процессе даже удалось исправить несколько багов WINE (вот, вот и вот).


Как бы то ни было, но я начал писать библиотеку для переносимости ассемблерных программ между Linux и Windows (и KolibriOS). Одновременно с этим задумался и над тем, чтобы сделать Fresh IDE переносимым. Из-за архитектуры библиотеки, огромная часть кода уже и так была переносимой. А точнее все, что не касалось GUI. К сожалению, GUI был полностью написан на Win32 API и его нельзя просто так перенести на другие платформы.


Поэтому и пришлось начинать все сначала. И третья версия Fresh IDE писалась почти с нуля.

Читать дальше →
Всего голосов 267: ↑267 и ↓0 +267
Комментарии 95

Бобина — магнитная лента катушечных магнитофонов. Не канула в Лету…

Время на прочтение 9 мин
Количество просмотров 19K
В начале было Слово, дальше вы знаете, а кто первый придумал записывать это слово на магнитную ленту — расскажет эта статья. Итак…

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



Читать дальше →
Всего голосов 47: ↑42 и ↓5 +37
Комментарии 78

Импортозамещение VR-а клавиатуре покоя не даёт

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

Давным-давно, ... в общем появился у Sony PlayStation шлем VR. Штука оказалась интересная и позволяла не только играть в vr-игры, но и смотреть фильмы.

Правда, сразу выяснились некоторые "тонкости": нормальное использование возможно было только при использовании с Sony PlayStation (что, в общем-то, очевидно) и через специализированную программу Rad (бывший LittlStar). Причём особого разнообразия программ-проигрывателей небыло, использование же программы Rad требовало оплаты подписки. Сначала всё было хорошо: и подписка платилась, и кино смотрелось. Потом появились санкции и, вдруг, оказалось, что заплатить из России нельзя. И вообще вы ничего не можете, пока "... until those restrictions and sanctions have been lifted ...".

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

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

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

Для мнеленьчитать результат здесь.

Читать далее
Всего голосов 9: ↑6 и ↓3 +3
Комментарии 3

Rust должен умереть, МГУ сделал замеры

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

В предыдущих сериях:



Медленно, но верно Раст проникает не только в умы сотрудников больших корпораций, но и в умы школьников и студентов. В этот раз мы поговорим о статье от студента МГУ: https://rustmustdie.com/.


Её репостнул Андрей Викторович Столяров, доцент кафедры алгоритмических языков факультета ВМК МГУ им. М. В. Ломоносова и по совместительству научрук студента-автора статьи.


Я бы сказал, что тут дело даже не в том, что он "неинтуитивный". Дело скорее в том, что компилятор раста сам решает, когда владение "должно" (с его, компилятора, точки зрения) перейти от одного игрока к другому. А решать это вообще-то должен программист, а не компилятор. Ну и начинается пляска вида "как заставить тупой компайлер сделать то, чего я хочу".
Бред это всё.

— А. В. Столяров
Кощунство!
Всего голосов 363: ↑344 и ↓19 +325
Комментарии 230

Собираем генератор данных на Blender. Часть 4: Сборка проекта и рендеринг

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

Привет, Хабр! На связи Глеб, ML-разработчик Friflex. В предыдущих статьях мы научились работать с объектами, настраивать свет и камеры, редактировать материалы (aka. текстуры) через api. В заключительной части знакомства с Blender мы рассмотрим две темы: сборка проекта из разных файлов и запуск рендеринга через консоль. В Friflex мы используем Blender в работе над idChess (интеллектуальной платформой для распознавания и трансляции шахматных партий) и другими проектами по оцифровке спорта.

Читать далее
Всего голосов 2: ↑2 и ↓0 +2
Комментарии 0

«Эльбрус-8СВ» в дата-центре: реально ли сделать «импортозамещающий» сервер

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

Привет, Хабр! Меня зовут Максим, я работаю тестировщиком оборудования в Selectel Lab. Кажется, сейчас как никогда важно иметь план Б, поэтому мы взяли на изучение процессор «Эльбрус-8СВ». Он шел в комплекте с материнской платой «2Э8СВ-EATX» производства компании МЦСТ.

Процессор впаян в плату, и возможность апгрейда материнской платы ограничена — точнее ее нет. Под катом рассказываю, как мы собирали и тестировали сервер на отечественном процессоре.
Читать дальше →
Всего голосов 66: ↑62 и ↓4 +58
Комментарии 159

Разработка процессорного модуля на базе микросхемы 1892ВА018 СнК «СКИФ» и его первый запуск

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

Версия данной статьи для "off-line прочтения" в формате PDF доступна по адресу: ссылка на статью.

В первой половине 2021 года в РФ резко обострились дебаты на тему импортозамещения, инициированные рядом изменений внесенных ранее в декабре 2020г в постановление N719 относительно закупок вычислительной техники, и бурно обсуждаемых на различных площадках и IT-форумах, таких как Elbrus Tech Day, YADRO Лекторий, а так же у ряда популярных блогеров. Основной посыл нововведений состоял в том, что вся вычислительная техника, закупаемая за бюджетные средства, должна иметь в основе микропроцессор, разработанный или произведенный в России или имеющий статус такового. Насколько такое решение Правительства годное и исполнимое — тема отдельного разговора, которую я не хотел бы сейчас затрагивать. Так или иначе, мы, в нашей небольшой компании, пришли к выводу, что данное решение Правительства может приоткрыть пусть не окно, но хотя бы форточку возможностей для мелких разработчиков электроники, которым является наша компания. Имея за плечами опыт разработки изделий на основе импортных (в основном китайских) систем-на-кристалле, мы решили, что на рынке могут быть востребованы одноплатные ПК, аналогичные Raspberry Pi и выполненные на отечественном СнК, по возможности близкие по габаритам и pin-to-pin совместимые с «малиной», а также процессорные модули, устанавливаемые на несущую плату, позволяющие упростить разработку конечного изделия и вынести сложную топологию за его границы.

Читать далее
Всего голосов 163: ↑162 и ↓1 +161
Комментарии 94

Параметры операционных усилителей. Как измерить и какие возникают сложности?

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

Операционный усилитель – одна из базовых схем аналоговой электроники, на основе которой можно строить сложные системы. Данный элемент присутствует почти во всех интегральных микросхемах: управление питанием (AC/DC, DC/DC, LDO…), АЦП, ЦАП, интерфейсы, синтезаторы частот, микроконтроллеры и тд. Система, в которой будет использоваться усилитель накладывает определенные ограничения на его параметры. Как измерить параметры усилителя и какие с какими трудностями можно столкнуться?

Читать далее
Всего голосов 33: ↑33 и ↓0 +33
Комментарии 20

ReactOS 0.4.13 CE (Coronavirus Edition)

Время на прочтение 2 мин
Количество просмотров 28K
Привет, Хабр!

К нашему стыду, во время самоизоляции мы настолько приуныли, что забыли опубликовать новость об очередном релизе под номером 0.4.13, который состоялся еще в апреле 2020 года. Исправляемся.

image
Скачать образы системы | Пресс–релиз | Список изменений | TL;DR | Тесты и список регрессий
Всего голосов 102: ↑99 и ↓3 +96
Комментарии 69

Совершенный цикл for

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

Сегодня необычный для меня формат статьи: я скорее задаю вопрос залу, нежели делюсь готовым рецептом. Впрочем, для инициирования дискуссии рецепт тоже предлагаю. Итак, сегодня мы поговорим о чувстве прекрасного.


Я довольно давно пишу код, и так вышло, что практически всегда на C++. Даже и не могу прикинуть, сколько раз я написал подобную конструкцию:


for (int i=0; i<size; i++) {
    [...]
}

Хотя почему не могу, очень даже могу:


find . \( -name \*.h -o -name \*.cpp \) -exec grep -H "for (" {} \; | wc -l
43641

Наш текущий проект содержит 43 тысячи циклов. Проект пилю не я один, но команда маленькая и проект у меня не первый (и, надеюсь, не последний), так что в качестве грубой оценки пойдёт. А насколько такая запись цикла for хороша? Ведь на самом деле, важно даже не то количество раз, когда я цикл написал, а то количество раз, когда я цикл прочитал (см. отладка и code review). А тут речь очевидно идёт уже о миллионах.


На КПДВ узел под названием «совершенная петля» (perfection loop).


image


Так каков он, совершенный цикл?

Читать дальше →
Всего голосов 92: ↑90 и ↓2 +88
Комментарии 172

Заставляем любой процесс работать с транзакционной NTFS: мой первый шаг к созданию песочницы для Windows

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

TransactionMaster В ядре Windows есть модуль, отвечающий за поддержку группировки файловых операций в некоторую сущность, называемую транзакцией. Действия над этой сущностью изолированы и атомарны: её можно применить, сделав перманентной, или откатить. Очень удобно при установке программ, согласитесь? Мы всегда переходим от одного согласованного состояния к другому, и если что-то идёт не так, все изменения откатываются.


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


Давайте разберёмся, как же это работает, поэкспериментируем с моей программой, и поймём, при чём тут вообще песочницы.

Читать дальше →
Всего голосов 33: ↑33 и ↓0 +33
Комментарии 12

Карма — это приглашение на вечеринку

Время на прочтение 3 мин
Количество просмотров 23K
Рискуя кармой (хе-хе), хочу принять участие в дискуссии и ответить автору этого поста. В принципе, можно было бы ограничиться заголовком, но поскольку у нас тут Хабр, а не Твиттер, я растекусь мысию по древу, серым волком по земле, сизым орлом под облаками.

image
Читать дальше →
Всего голосов 162: ↑131 и ↓31 +100
Комментарии 412

Методы наименьших квадратов: текст, написанный программистом для программистов

Время на прочтение 19 мин
Количество просмотров 36K
Продолжаю публикацию своих лекций, изначально предназначенных для студентов, учащихся по специальности «цифровая геология». На хабре это уже третья публикация из цикла, первая статья была вводной, она необязательна к прочтению. Однако же для понимания этой статьи необходимо прочитать введение в системы линейных уравнений даже в том случае, если вы знаете, что это такое, так как я буду много ссылаться на примеры из этого введения.

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


Читать дальше →
Всего голосов 84: ↑80 и ↓4 +76
Комментарии 13

ReactOS 0.4.12: 华为, 你认为这个怎么样?

Время на прочтение 3 мин
Количество просмотров 36K
Нихао, Хабражители!

Чувствую, что в этот раз вы реально заскучали по весточкам от нашего проекта! Целых семь месяцев мы работали, не покладая клавиатур, чтобы вы могли скачать и протестировать очередную версию нашей операционной системы. В ней было исправлено 226 багов, сделано 1140 изменений в исходном коде и специально для вашего удовольствия добавлены новые нескучные темы оформления



Скачать образы системы | Пресс–релиз | Список изменений | TL;DR | Тесты и список регрессий

Несмотря на заявленный оперативный график формирования релизов раз в 3 месяца, окончательная подготовка выпуска 0.4.12, которая по традиции велась в отдельной ветке, заняла на этот раз немногим больше полугода. Причиной столь длительного процесса подготовки было желание нашего перфекциониста и релиз–инженера по совместительству, Иоахима Хензе, исправить как можно больше регрессий, накопившихся за последние несколько лет. В результате Иоахим добился устранения не менее 33 регрессий, что можно назвать впечатляющим результатом.

Всего голосов 136: ↑133 и ↓3 +130
Комментарии 185

Процедурная генерация планет

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

От переводчика:
Представляю вашему вниманию статью авторства Andy Gainey, в прошлом независимого разработчика игровых инструментов, ныне сотрудника Paradox Development Studio. На мой взгляд, автор играючи создал один из лучших процедурных генераторов планет с открытым исходным кодом.

Читать дальше →
Всего голосов 96: ↑94 и ↓2 +92
Комментарии 17

Представляем Windows Terminal

Время на прочтение 4 мин
Количество просмотров 160K
Windows Terminal — это новое, современное, быстрое, эффективное, мощное и производительное терминальное приложение для пользователей инструментов и оболочек командной строки, таких как Command Prompt, PowerShell и WSL.



Windows Terminal будет поставляться через Microsoft Store в Windows 10 и будет регулярно обновляться, гарантируя, что вы всегда будете идти в ногу со временем и сможете пользоваться новейшими функциями и последними улучшениями с минимальными усилиями.

image
Читать дальше →
Всего голосов 144: ↑132 и ↓12 +120
Комментарии 203

Фибоначчи на собеседовании

Время на прочтение 8 мин
Количество просмотров 122K
Вычисление ряда Фибоначчи — это классическая алгоритмическая задача, потому её нередко дают на собеседованиях, когда хотят проверить, что кандидат в принципе хоть как-то умеет в алгоритмы. Предположим, вы тот самый кандидат. Вам дали задание: на языке JavaScript написать функцию fib(n), возвращающую энное число Фибоначчи. Считаем, что нулевое число Фибоначчи — это нуль. Проверка корректности аргумента не требуется. Какие у вас есть варианты?

image
Выбирай мудро
Всего голосов 183: ↑177 и ↓6 +171
Комментарии 135

Разработка электроники. О микроконтроллерах на пальцах

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


Задумывая технологический стартап, вы совсем не обязаны быть асом в электронике, гораздо больше шансов на хорошую идею имеет узкий специалист со знанием основ маркетинга, но, даже заказывая кому-то разработку, ориентироваться в возможностях современной элементной базы и представлять цену решения необходимо обязательно. Иначе можно потребовать невозможного, либо получить устройство с завышенной себестоимостью на устаревшей элементной базе.
Под катом попытка кратко и просто рассказать о возможностях современных микроконтроллеров людям от них далёким. Для тех, у кого есть идея нового электронного устройства, но отсутствует представление о том, что такое микроконтроллер. Те, кто хочет сделать первый шаг от занимательных экспериментов с платформой ардуино к проектированию собственных устройств, также могут найти в ней простые, но полезные советы. Я старался, не останавливаясь на технических подробностях, для этого и книги не достаточно изложить суть и дать несколько простейших, но полезных советов по схемотехнике, чтобы предостеречь от элементарных ошибок начинающих.
Микроконтроллеры - это просто!
Всего голосов 72: ↑65 и ↓7 +58
Комментарии 218

Установка ReactOS с USB-флешки

Время на прочтение 2 мин
Количество просмотров 14K
Привет, Хабр!

Эцново мы! В новости о выходе релиза 0.4.11 мы рассказали, что благодаря обновленному драйверу RAM-диска ReactOS можно не только запустить, но установить по сети при помощи протокола PXE.

Однако, волонтер проекта под ником Illen выяснил, что используя тот же самый новый драйвер RAM-диска, ReactOS можно установить и с обычной USB-флешки. Таким образом, релиз 0.4.11 стал первым выпуском, поддерживающим установку ReactOS на компьютеры без оптических приводов. Illen написал подробную инструкцию и записал демонстрационное видео.

Всего голосов 52: ↑50 и ↓2 +48
Комментарии 14

ReactOS 0.4.11 — на сотню приложений больше

Время на прочтение 5 мин
Количество просмотров 40K
Привет, Хабр!

Уверен, что вы уже успели соскучиться по новостям от нашего проекта! И мы не теряли времени даром. Прошлый релиз ReactOS вышел всего каких-то три с половиной месяца назад, а сегодня вы уже сможете скачать и протестировать следующую версию нашей операционной системы. В ней исправлено 135 багов, сделано 984 изменения в исходном коде и красивая анимация загрузочного экрана.

Скачать образы системы | Пресс–релиз | Список изменений | TL;DR | Тесты и список регрессий

image

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

Читать дальше →
Всего голосов 155: ↑149 и ↓6 +143
Комментарии 193

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность