Pull to refresh
24
0
Игорь @iByte

User

Send message

Разработка OS на Go+asm Part 0x01

Reading time 3 min
Views 12K
Приветствую, %username%.

Перед вами вторая статья из цикла о разработке ОС на Go + asm.

Part 0x00
Part 0x01

Изначально я планировал, что вторая статья будет про обработку прерываний, но Go накладывает свои корректировки — сейчас будет описано простое выделение памяти и часть рантайма Go, которая нам пригодится, но будет переписано. На самом деле это подготовка к третьей статье — куче и допиливанию рантайма.

Кода к этой статье на гитхабе не будет (забыл вовремя сделать коммит, а теперь банально лень специально восстанавливать, если кто пришлет пулл реквест — буду благодарен).

Слабонервным просьба закрыть статью — все, что может быть написанно на Go будет написанно на нем!
Продолжение извращений
Total votes 27: ↑26 and ↓1 +25
Comments 7

Vim по полной: Менеджер плагинов без фатальных недостатков

Reading time 7 min
Views 27K

Оглавление


  1. Введение (vim_lib)
  2. Менеджер плагинов без фатальных недостатков (vim_lib, vim_plugmanager)
  3. Уровень проекта и файловая система (vim_prj, nerdtree)
  4. Snippets и шаблоны файлов (UltiSnips, vim_template)
  5. Компиляция и выполнение чего угодно (vim-quickrun)
  6. Работа с Git (vim_git)
  7. Деплой (vim_deploy)
  8. Тестирование с помощью xUnit (vim_unittest)
  9. Библиотека, на которой все держится (vim_lib)
  10. Другие полезные плагины

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

Интересно? Беги скорей под кат!
Total votes 21: ↑19 and ↓2 +17
Comments 31

Устройство игрового движка для NES на примере игр «Capcom»

Reading time 11 min
Views 33K
В моей третьей статье про NES-игры я покажу техники, используемые для создания игровых движков, а именно реализацию скроллинга экрана, переключение банков памяти, организацию списка объектов, устройство системы анимаций персонажей, функции обновления игровых объектов (и обработку столкновений), устройство главной карты. Чтобы не быть голословным в описаниях, я буду приводить дизассемблированный код из конкретных игр (любимый всем «Darkwing Duck», с отсылками к «Chip & Dale» и «Duck Tales»), без него в этой статье не обойтись. В качестве примера рассматривается движок от «Capcom», на модификациях которого работает как минимум пара десятков игр.

Некоторые из рассматриваемых тем не связаны между собой, поэтому статья будет разбита на несколько разделов. Также, из-за обширности, материала хватило бы на небольшую книгу, поэтому иногда я буду давать ссылки на статьи для желающих разобраться в деталях, а описывать только общие вещи, касающие архитектуры движков.
Читать дальше →
Total votes 74: ↑74 and ↓0 +74
Comments 6

Нативная реализация OmniDirectional теней в DirectX11

Reading time 13 min
Views 24K
image

Привет. Продолжая рассказывать про различные технологии из графического геймдева — хотел бы рассказать о том, как в DirectX 11 удобно работать с тенями. Расскажу о создании Point-источника света с полным использованием инструментов GAPI DirectX11, затрону такие понятия, как: Hardware Depth Bias, GS Cubemap Render, Native Shadow Map Depth, Hardware PCF.
Исходя из легкого серфинга по интернету – я пришел к выводу, что большинство статей о тенях в DX11 неверны, реализованы не совсем красиво или с использованием устаревших подходов. В статье постараюсь сравнить реализацию теней в DirectX 9 и DirectX 11. Все ниже описанное так же справедливо и для OpenGL.

Читать дальше →
Total votes 51: ↑49 and ↓2 +47
Comments 3

Vim по полной: Введение

Reading time 5 min
Views 70K
Привет, хабраюзер!

Вот уже второй год я активный пользователь и поклонник редактора Vim. За это время я прошел путь от двух команд в .vimrc, до файла в несколько килобайт и обратно. Я испробовал очень много плагинов, а так же активно писал собственные, и теперь это мой основной текстовый редактор для работы и отдыха.

В этой серии статей я решил поделиться собственными наработками и, возможно, показать, на что может быть способен этот редактор в руках программиста. Серия будет состоять из следующих частей:
  1. Введение (vim_lib)
  2. Менеджер плагинов без фатальных недостатков (vim_lib, vim_plugmanager)
  3. Уровень проекта и файловая система (vim_prj, nerdtree)
  4. Snippets и шаблоны файлов (UltiSnips, vim_template)
  5. Компиляция и выполнение чего угодно (vim-quickrun)
  6. Работа с Git (vim_git)
  7. Деплой (vim_deploy)
  8. Тестирование с помощью xUnit (vim_unittest)
  9. Библиотека, на которой все держится (vim_lib)
  10. Другие полезные плагины

Хочется сразу заметить, что я не преследую цель «посадить как можно больше людей на иглу Vim», так как статья больше расчитана на опытных пользователей, нежели на новичков.

Готов? Вперед под кат!
Total votes 52: ↑49 and ↓3 +46
Comments 86

Разработка из Университета Алабамы поможет распространению пассивных систем охлаждения для серверов и обычных ПК

Reading time 2 min
Views 28K


Системы погружного (иммерсионного) охлаждения известны довольно давно. При этом до сих пор распространение подобных систем и их внедрение происходит не слишком активно. Тем не менее, прогресс все же есть, некоторые дата-центры используют системы погружного охлаждения, и не планируют переходить на прежние типы систем охлаждения.

В подобных системах обычно используется хладагент компании Novec, считающийся несомненным лидером. Но ничего постоянного нет, постепенно появляются альтернативные хладагенты. Одним из новых, перспективных проектов является пассивная система охлаждения на основе Fluorinert Electronic Liquid FC-72. Жидкость эта не проводит ток плюс очень стабильна (химически и термически). Здесь сразу сказать, что разработчики используют систему охлаждения, которая не требует погружения всего сервера в емкость с жидкостью. Авторы проекта — сотрудники Университета Алабамы, Хантсвилль (University of Alabama in Huntsville).
Читать дальше →
Total votes 19: ↑18 and ↓1 +17
Comments 41

Бесплатный учебник электроники, архитектуры компьютера и низкоуровневого программирования на русском языке

Reading time 2 min
Views 245K

Господа! Я рад сообщить, что наконец-то все желающие могут загрузить бесплатный учебник на более чем 1600 страниц, над переводом которого работало более полусотни человек из ведущих университетов, институтов и компаний России, Украины, США и Великобритании. Это был реально народный проект и пример международной кооперации.

Учебник Дэвида Харриса и Сары Харрис «Цифровая схемотехника и архитектура компьютера», второе издание, 2012, сводит вместе миры программного обеспечения и аппаратуры, являясь одновременно введением и в разработку микросхем, и в низкоуровневое программирование для студентов младших курсов. Этот учебник превосходит более ранний вводный учебник «Архитектура компьютера и проектирование компьютерных систем» от Дэвида Паттерсона и Джона Хеннесси, причем соавтор предыдущего учебника Дэвид Паттерсон сам рекомендовал учебник от Харрисов как более продвинутый. Следуя новому учебнику, студенты строят реализацию подмножества архитектуры MIPS, используя платы с ПЛИС / FPGA, после чего сравнивают эту реализацию с индустриальными микроконтроллерами Microchip PIC32. Таким образом вводится вместе схемотехника, языки описания аппаратуры Verilog и VHDL, архитектура компьютера, микроархитектура (организация процессорного конвейера) и программирование на ассемблере — в общем все, что находится между физикой и высокоуровневым программированием.

Как загрузить? К сожалению, не одним кликом. Сначало надо зарегистрироваться в пользовательском коммьюнити Imagination Technologies, потом зарегистрироваться в образовательных программах на том же сайте, после чего наконец скачать:
Читать дальше →
Total votes 117: ↑114 and ↓3 +111
Comments 66

Полный гайд по робототехническим конструкторам от Робостанции

Reading time 10 min
Views 51K


ИМХО нет в мире лучшей игрушки, чем конструктор. До появления компьютера железные балки и пластиковые кубики были для меня вне конкуренции – ведь из них можно создать целый мир без всяких ограничений.

Только повзрослев, я узнал, что детский конструктор это вершина эволюции игрушек на изобретение (скорее, даже открытие) который европейские педагоги потратили сотни лет, шаг за шагом подбираясь к тому великолепию, что мы имеем сейчас в каждом детском магазине. Не будь конструкторов, не было бы у меня и такой тяги к DIY роботам.

У нас на Робостанции есть десяток магазинов с конструкторами и всамделишная робошкола, где из этих конструкторов собирают настоящих роботов. Вот об этом и поговорим.


Но сначала немного теории.
Total votes 27: ↑24 and ↓3 +21
Comments 11

Что новые версии UEFI-стандартов нам готовят, часть первая, PI 1.4

Reading time 5 min
Views 16K
После полугода разработки организация UEFI Forum выложила наконец в открытый доступ документацию по новым стандартам Platform Initialization 1.4, Advanced Configuration and Power Interface 6.0 и Unified Extensible Firmware Interface 2.5, на базе которых сейчас разрабатывается абсолютное большинство прошивок для ПК и серверов.
Обычно между выпуском новых версий стандартов и первыми прошивками на их базе проходит обычно от 4 до 6 месяцев, но уже сейчас можно предсказать с высокой долей вероятности, какие именно новые возможности появятся в UEFI для платформ на базе процессоров Intel Skylake и AMD Falcon Series.
Я решил разделить описание новшеств на 3 части, иначе оно рискует оказаться очень длинным и читать его никто не станет. Если вас интересуют новшества, описанные в стандарте PI 1.4 и мои комментарии к ним — добро пожаловать под кат.
Читать дальше →
Total votes 11: ↑10 and ↓1 +9
Comments 7

Реализация погодных эффектов. Осадки

Reading time 10 min
Views 22K


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

Итак, что же такое дождь или снег в реальном мире?
Читать дальше →
Total votes 44: ↑44 and ↓0 +44
Comments 11

Разбираемся с UEFI и GPT: установка Windows и Kubuntu на один диск

Reading time 4 min
Views 605K
Помните те времена, когда BIOS был 16-битным с адресным пространством в 1 Мб, а вся информация о загрузчиках писалась в MBR? На смену уже давно пришли более гибкие технологии: UEFI (замена BIOS), и GPT (замена MBR).

Предыстория: Понадобилось мне недавно на свой домашний десктоп поставить 2 системы, чтобы разграничить окружение. Kubuntu для разработки на Ruby on Rails (ибо работаю удаленно), и Windows для всяких игрушек в свободное время. Хочу заметить, что несколько лет назад это было достаточно просто: один раздел для винды и один раздел для линукса, загрузчик записывался в MBR. Однако, технологии не стоят на месте, и оказалось, что настройка dual boot'а теперь несколько изменилась.
Читать дальше →
Total votes 26: ↑23 and ↓3 +20
Comments 42

Мой топ-100 книг по Программированию, Компьютерам и Науке: часть 1

Reading time 3 min
Views 132K
Недавно сайт Fog Creek взял у меня интервью, и один из вопросов был связан с моими любимыми книгами по программированию, кодированию и разработке программ. Мне этот вопрос запомнился потому, что я давно себя считаю заядлым книжным ботаником. Книжный ботаник я потому, что безумно люблю книги о науке, компьютерах и программировании. Каждые несколько месяцев я уделяю день или два исследованию недавно изданной литературы и покупке наиболее понравившихся экземпляров. Я мог бы вечно разговаривать о своих любимых книгах. Ведь у меня их так много.

Меня настолько заинтересовал вопрос о книгах, что я решил начать новую серию статей на своём сайте catonmat о моих топ-100 книгах о программировании, программном обеспечении, науке, физике, математике и компьютерах. В каждой статье я буду размещать по пять книг, ведь разбивать огромное задачи на маленькие подзадачи — это самый простой способ их решать (GTD — get things done).

Взгляните на мою книжную полку, чтобы убедиться, что я настоящий ботаник:

image
Читать дальше →
Total votes 32: ↑27 and ↓5 +22
Comments 26

Защищенный компьютер внутри Micro SD карты

Reading time 3 min
Views 25K
image

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

Вместе с тем компания Google также озабочена вашей безопасностью в интернете и хочет помочь вам защитить вашу самую ценную информацию самым разумным способом. Google создал то, что является самым маленьким компьютером – Project Vault.

Это цепляющее название было представлено во второй день ежегодной конференции разработчиков Google I/O.

Project Vault – это полностью безопасный компьютер, разработанный Google ATAP (Advanced Technology and Projects), упакованный в карту MicroSD, которая может быть вставлена в любую систему, будь то ПК или мобильный телефон.
Читать дальше →
Total votes 21: ↑20 and ↓1 +19
Comments 18

Что значит робота разработать

Reading time 28 min
Views 32K
Вы читаете о роботах и программировании и думаете: «Было бы здорово сделать что-то подобное самому!» Теми, кем эта идея овладевает чуть больше просто мыслей смотрят кто и как делал своего робота. Читают статьи, смотрят видео. На картинках все понятно. В видеороликах тоже обычно показываются уже готовые продукты, а также сжато показываются технологии их изготовления. И вроде бы то же всё понятно: отпилил, прикрутил, припаял, соединил, запрограммировал вон на той программе вот этим кодом.

Еще более увлечённые, выбрав интересный и, с первого взгляда, простой вариант, переходят к действию и, зачастую копируя, делают своего первого робота. Это волевое и очень значимое решение — главное начать хоть что-то сделать самому! В процессе изготовления оказывается куча технологических заковырок вплоть до того, что оказывается для заказа/покупки какой-то штукенции, надо узнать как она точно называется. А еще — разъёмы не паяются нормально — и как на видео в одно касание всё получается? Процесс создания нередко затягивается, но настойчивый начинающий робототехник так или иначе добивает результат до какого-то осмысленного первого запуска хотя бы «по прямой».



Потом, когда робот закончен, приходит понимание, почему все делается именно так и именно в такой последовательности. Процесс создания уже можно как-то осознать, формализовать, расписать. Вот с этого момента-то и начинается разработка модели следующего, второго поколения.
Как я разрабатывал своего первого робота...
Total votes 28: ↑27 and ↓1 +26
Comments 10

Автоматическая генерация осмысленных уникальных текстов

Reading time 6 min
Views 96K
Каждый веб-оптимизатор знает, что для того чтобы сайт любили поисковики, он должен содержать уникальные тексты. Причем не абы какие наборы слов, а осмысленные предложения, желательно по теме сайта. Особо это проблема для агрегаторов, которые берут информацию с других сайтов, и интернет-магазинов, где параметры и данные о товарах в целом одинаковые. Поэтому стандартная практика в этой ситуации — заказывать уникальные тексты копирайтерам. Стоимость такого удовольствия от 50 до 300 руб. за 1000 знаков. Если на вашем сайте 10000 страниц, то уникальные тексты быстро становятся значительной статьей расхода.

В этой статье поговорим методах алгоритмической генерации текстов и расскажем о нашем опыте работы с ними.
Читать дальше →
Total votes 33: ↑27 and ↓6 +21
Comments 79

Визуализация звука на лампе 6Е1П

Reading time 9 min
Views 110K
Решил поделиться опытом создания звукового индикатора на лампе 6Е1П. При создании лампового аудио усилителя для наушников было решено визуализировать аудио сигнал. Выбор пал именно на эту советскую лампу. Результатом работы стала маленькая печатная плата размером 30х33 мм. В данной статье приведена схема этой платы и описание алгоритма работы.


Читать дальше →
Total votes 67: ↑67 and ↓0 +67
Comments 33

Дайджест интересных материалов из мира Drupal #9

Reading time 6 min
Views 6.6K
Всем привет!
За месяц у нас накопилось много интересных ссылок для вас. Встречайте девятый выпуск!


По-русски


Весна в русском Drupal-сообществе прошла плодотворно. Ловите десять ссылок на отличные статьи на русском:

  1. В блоге angarsky.ru вышла большая техническая статья «Создание ноды через кастомную форму с использованием модального окна CTools». И хотя этот материал далеко не для новичков, мы с честью открываем им дайджест! Всё очень подробно и грамотно рассказано и показано на реальном коде.
  2. Немного хардкора от того же автора: «Получить программно список обновлений для БД». Эта заметка демонстрирует преимущества открытого фреймфорка Drupal — при желании вы можете сделать всё, что угодно.
  3. Ещё одна практическая статья «Как добавить форму редактирования поля сущности к своей форме» вышла в блоге drupaler.by. Кстати, у Ctools и для полей есть удобные хелперы, чтобы не разбираться с подводными камнями Field API в одиночестве.
  4. Куда ж без андеда и его неповторимого краткого стиля изложения. Модуль Language Domains будем иметь ввиду.
  5. Хотите сделать свой rapidshare c таймером перед скачиванием? Павел Катаев поделился своим модулем Delay Download для этой цели, правда пока что модуль не доступен с drupal.org.
  6. И ещё код: «Как программно редактировать профиль пользователя».
  7. Пётр Лозовицкий рассказал, как переводил сайт с MySQL на PostgreSQL.
  8. Новенькое на сайтах сообщества. На drupal.ru читайте про настройку сервера на основе конфига nginx-джедая Perusio.
  9. На dru.io вышла заметка про любимые Drush-команды Василия Устинова.
  10. Ребята из DrupalSPB.org провели очередной митап (презентации смотрите на страницах докладов) и Global Training Day, за что им большое уважение!

Читать дальше →
Total votes 13: ↑10 and ↓3 +7
Comments 9

Как делаются видео с НЛО

Reading time 2 min
Views 53K
Ещё не так давно снять НЛО было довольно проблематично, но с современными технологиями это можно делать даже в высоком разрешении. Например, так:



Основные этапы:
  1. Трекинг камеры по заданным точкам на видео.
  2. Создание 3D-модели и имитация освещения.
  3. Рендеринг.
  4. Композитинг (компоновка картинки и постобработка), цветокоррекция.

Всё это можно делать с помощью бесплатного и открытого Блендера.

Демонстрация процесса, упакованная в короткое видео:



Далее — более подробно о каждом этапе.
Читать дальше →
Total votes 75: ↑72 and ↓3 +69
Comments 50

Краткий Making of Pinup персонажа

Reading time 3 min
Views 41K


Недавно закончил серию девушек. Не слишком страшных решил сохранить, c одной опишу этапы. На мой взгляд, получился косплей на Pin Up. Для рендера бюста использовал KeyShot. Финал рендерил в Marmoset(программа для реал тайм ингейм привью). Все текстуры готовил под PBR шейдер.

По ссылке можно подробно почитать описание PBR-рендера и его тонкости.
Читать дальше →
Total votes 46: ↑43 and ↓3 +40
Comments 20

Information

Rating
Does not participate
Location
Украина
Date of birth
Registered
Activity