Pull to refresh
3
0
Send message

Виртуализация⁰

Reading time5 min
Views25K
Классическая теория эффективной виртуализации и обзор состояния индустрии в целом описаны в моей предыдущей публикации. В этой статье речь пойдёт о поддержке виртуализации в широком смысле в архитектуре Intel IA-32.


Черепаха на спине черепахи на спине черепахи на спине… — космологическая теория, которой придерживаются создатели виртуальных машин.

Эта статья — нулевая в небольшой серии о технологиях Intel, помогающих представить компьютер не тем, чем он в реальности является, для программ (в т.ч. операционных систем, BIOS и прошивок), на нём запущенных.
В ней не будет говориться о настройке конкретных VMM, прозрачной миграции виртуальных машин, создании невидимых руткитов и многих других интереснейших вещах, произрастающих из этой фрактальной и потому неисчерпаемой темы. Мой взгляд будет с позиции системного программиста, занимающегося разработкой операционных систем и firmware или мониторов виртуальных машин и симуляторов, а также всех им сочувствующих.
Читать дальше →

ИБ по-американски. Часть 1. Что такое NIST 800-53 и как выглядят контроли безопасности?

Reading time9 min
Views49K

*Виновен в разглашении конфиденциальной информации! Ваш ТЕЛЕФОН говорит только то, что говорите ВЫ...*

В последний раз я освещал вопрос обеспечения ИБ в США почти год назад в материале, посвящённом разработке Фреймворка управления рисками ИБ. Настало время более подробно рассказать о том, как устроена ИБ в Америке. По крайней мере на бумаге, изданной вполне авторитетной организацией NIST.
Стоит обратить отдельное внимание на то, что дальше речь пойдет о теоретической ИБ, так называемых best practices, которые, как известно большинству специалистов по практической безопасности, в жизни встречаются редко. Однако это не умаляет их значимости при построении реальной системы обеспечения ИБ.

Ссылки на все части статьи:
ИБ по-американски. Часть 1. Что такое NIST 800-53 и как выглядят контроли безопасности?
ИБ по-американски. Часть 2. А можно поподробнее о NIST 800-53 и причём тут управление рисками?
ИБ по-американски. Часть 3. Что из себя представляет базовый набор контролей и как определять критичность систем?
ИБ по-американски. Часть 4. Разбираемся с «подгонкой» и «перекрытиями» и завершаем этот обзор
Читать дальше →

Новая жизнь протокола Gopher

Reading time3 min
Views25K
Единственная статья по протоколу Gopher была опубликована на Хабре ещё в 2009 году, поэтому я решил немного освежить тему.

Gopher (суслик — англ.) — это текстовый предшественник веба, который ушёл в небытие ещё в далёком 1993-м, когда его вытеснил более функциональный HTTP. Со временем он перестал поддерживаться браузерами, поэтому при попытке перейти по gopher://-ссылке какой-нибудь Firefox 32 с сожалением выдаёт, что такой протокол не поддерживается. Моё знакомство с этим артефактом интернета до последнего времени ограничивалось строкой из книги А. Левина “Самоучитель по работе на компьютере (Windows 95/98)”: “… до сих пор многие интересные ресурсы доступны только на Gopher”. Это было 14 лет назад, хотя уже тогда протокол был совершенно заброшенным.

Но суслик хоть и ушёл, да не совсем.
Читать дальше →

Автоматический радиоэлектронный секретарь, или АРС, или Арсик (1966 год)

Reading time3 min
Views37K
Привет, Хабр!

Борис Гришин, преподаватель Калужского техникума железнодорожного транспорта, в 1966 году представил стране изобретение, на которое он потратил около трёх лет. Зачем он это делал? Как и в случае с планшетом для пожилых, о котором писали на Хабре, робот создавался в помощь родителю — маме изобретателя, которая из-за болезни не могла, например, отвечать на телефонные звонки или же вызвать себе Скорую помощь самостоятельно.

Возможно, я слишком мало знаю про те годы, но, мне кажется, это было что-то из области фантастики.

Внимание, изображения — трафик.

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

HDR vs LDR, реализация HDR Rendering

Reading time8 min
Views89K


Как я и обещал – публикую вторую статью о некоторых моментах разработки игр в трех измерениях. Сегодня расскажу об одной технике, которая используется почти любом проекте ААА-класса. Имя ей — HDR Rendering. Если интересно — добро пожаловать под хабракат.
Читать дальше →

Maxima — Tips&Tricks, или собираем по крохам инфо, как на ней работать

Reading time13 min
Views28K
Человеческая память для меня загадка. Являясь обладателем слабой памяти с детства, вечно забываю о некоторых нюансах окружающего меня мира. Тем не менее, эти данные должны быть под рукой. И когда не хватает блокнота, на помощь приходят текстовые файлы. Один из таких файлов содержит небольшую сборку повседневных и обыденных команд Maximа.

Я думаю, всем из нас известна данная система компьютерной алгебры. Она не является конкурентом Wolfram Mathematica, но она обладает именно тем функционалом, который я требую от математического софта. Если говорить проще и доступнее — считать можно на всём, от палочек до суперкомпьютеров, и далеко не всегда задачи инженерной практики целиком переносятся с бумаги в программный код. Одним из примеров, который я честно говоря, еле-еле застал, является сегодня забытая поделка нашего конверсионного производства — цельнометаллический бытовой вакуумный гражданский термос, который выпускался ранее ещё в СССР на Урале. Чтобы наладить его производство институт, в котором я учусь, де-факто вручную на счётных машинках высчитал все необходимые параметры рабочего оборудования. Поэтому лицензия на Mathematica — не показатель и не ценз пригодности к практике. Считать, повторюсь, можно на всём.

От слов к делу. Ниже разбиты на категории те моменты в документации Maxima, которые желательно знать для начинающего пользователя данной СКА.
Читать дальше →

CVE-2014-6271, CVE-2014-7169: удалённое выполнение кода в Bash

Reading time1 min
Views56K
image
Сегодня были опубликованы детали об уязвимости в Bash.
Вкратце, Bash позволяет экспортировать функции как переменные окружения:

$ myfunc() { echo "Hello"; }
$ export -f myfunc
$ env | grep -A1 ^myfunc
myfunc=() {  echo "Hello"
}


Уязвимость состоит в том, что если после тела функции (после последнего символа "}") добавить ещё какую-нибудь команду, и экспортировать её — она будет выполнена при вызове дочернего интерпретатора:
Читать дальше →

Клеточный автомат Steppers

Reading time14 min
Views32K
В этой статье предлагаются правила для двумерного клеточного автомата, который, с одной стороны очень похож на игру Жизнь Джона Конвея (Conway’s Game of Life), а с другой — обладает существенными отличиями. Прежде всего, его отличает увеличенное до трех количество состояний клеток, повышенная способность к самоорганизации, неограниченное время активной эволюции и неограниченное количество движущихся конфигураций.

Для стабильных конфигураций новые правила совпадают с правилами игры Жизнь, поэтому все стабильные конфигурации в игре Жизнь существуют и в новых правилах. В описываемом клеточном автомате существует большой класс движущихся конфигураций, космических кораблей. Все эти конфигурации перемещаются по одному и тому же поступательному механизму, который напоминает движение и шагового экскаватора и человека на костылях. Подобные космические корабли я назвал степпер (stepper), а само правило Steppers. Так его и будем называть в дальнейшем.

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

_r00.png
[00] Пример движущейся конфигурации, генерирующей поток степперов
Читать дальше →

Автоматическая оптимизация алгоритмов с помощью быстрого возведения матриц в степень

Reading time20 min
Views84K
Пусть мы хотим вычислить десятимиллионное число Фибоначчи программой на Python. Функция, использующая тривиальный алгоритм, на моём компьютере будет производить вычисления более 25 минут. Но если применить к функции специальный оптимизирующий декоратор, функция вычислит ответ всего за 18 секунд (в 85 раз быстрее):


Дело в том, что перед выполнением программы интерпретатор Python компилирует все её части в специальный байт-код. Используя метод, описанный хабрапользователем SkidanovAlex, данный декоратор анализирует получившийся байт-код функции и пытается оптимизировать применяющийся там алгоритм. Далее вы увидите, что эта оптимизация может ускорять программу не в определённое количество раз, а асимптотически. Так, чем больше будет количество итераций в цикле, тем в большее количество раз ускорится оптимизированная функция по сравнению с исходной.

Эта статья расскажет о том, в каких случаях и каким образом декоратору удаётся делать подобные оптимизации. Также вы сможете сами скачать и протестировать библиотеку cpmoptimize, содержащую данный декоратор.
Читать дальше →

Разбираем и собираем обратно стек USB

Reading time14 min
Views108K
Иллюстрированная проекция модели сетевого взаимодействия OSI на универсальную последовательную шину.

Три «замечательных» уровня стека USB


Меня не устроил вид стека USB, который можно встретить чаще всего на просторах сети:

Не сильно полезный стек USB

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

Если у читателя бывали сходные ощущения, предлагаю альтернативное, явившееся мне неожиданно ясно в перегретом мозгу видение стека USB, по мотивам любимой 7-уровневой модели OSI. Я ограничился пятью уровнями:



Я не хочу сказать, что весь софт и библиотеки уже сделаны или должны проектироваться, исходя из этой модели. Из инженерных соображений код c уровнями будет сильно перемешан. Но я хочу помочь тем, кто начинает своё знакомство с шиной USB, кто хочет понять протоколы обмена устройств и терминологию предметной области, подобраться поближе к готовым примерам, библиотекам и лучше ориентироваться в них. Эта модель не для загрузки в МК, но в ваши блестящие умы, дорогие друзья. А ваши золотые руки потом всё сами сделают, я не сомневаюсь:)
Разобрать стек USB

Занимательный web-квест. Узнай весь URL

Reading time1 min
Views16K
Нашла на просторах могучего очень интересный квест. Как раз для пятничного хабра.

Немного о правилах:

Для решения задачи необходимо отгадать правильный URL адрес.
Каждая следующая задача добавляет к URL адресу очередную директорию.
Т.е. адрес будет выглядеть так start.webolomka.ru/ответ1/ответ2
В написании пути могут использоваться латинские буквы (регистронезависимы), цифры, и символы: .,-+()$:;_@
Не бойтесь ошибаться. На некоторых уровнях есть неправильные страницы с подсказками.
Большая просьба не публиковать прямых ссылок на пройденные уровни.


На старт. Внимание. Марш!

UPD. Мой отзыв

Алгоритмы сжатия данных без потерь, часть 2

Reading time9 min
Views104K
Часть 1

Техники сжатия данных


Для сжатия данных придумано множество техник. Большинство из них комбинируют несколько принципов сжатия для создания полноценного алгоритма. Даже хорошие принципы, будучи скомбинированы вместе, дают лучший результат. Большинство техник используют принцип энтропийного кодирования, но часто встречаются и другие – кодирование длин серий (Run-Length Encoding) и преобразование Барроуза-Уилера (Burrows-Wheeler Transform).
Читать дальше →

Как мы прокладывали кабель под дном реки

Reading time3 min
Views119K


Привет, Хабр. Наверное, многие из вас уже видели наш предыдущий материал о постройке базовой станции с вышкой на крыше здания. И сегодня мы хотим рассказать совсем о другом виде работ, которые нам недавно довелось провести. Речь пойдёт о покорении двух стихий — земли и, отчасти, воды. А точнее, о том, как мы прокладывали под дном реки оптоволоконный кабель на участке длиной в 980 метров.
Читать дальше →

System/360 — аппаратное обеспечение

Reading time5 min
Views21K


Когда я начинал первую статью про IBM System/360, я не представлял, что это выльется в целую серию статей, настолько оказалась обширной и интересной эта революционная система. Три статьи уже вышли (первая, вторая, третья), я пишу эту, и понимаю, что тема себя далеко не исчерпала, и про System/360 можно писать еще долго. На этот раз поговорим о периферии и работе с внешними устройствами в System/360.
Читать дальше →

Как с большой вероятностью поступить в североамериканский ВУЗ

Reading time7 min
Views59K
Добрый день! Меня зовут Чингиз. По просьбе Csklassami постараюсь рассказать, как с большой долей вероятности поступить в североамериканский ВУЗ на бакалавра. Мне 17 лет и поступал я в этом году первый раз.



Скажу так: если вы пишете статьи на Хабре или с большим интересом их читаете, а главное понимаете суть, то, скорее всего, вы сможете поступить. Звучит, конечно, не очень правдоподобно, но вот в чем дело: в университетах США действует отличная от российской система приема. В американской системе, помимо результатов теста, университет интересуется вашими увлечениями. Для них важно, чтобы вы могли заниматься там научной деятельностью, были разносторонними.

Вот, например, цитата с официального сайта MIT для абитуриентов (undergraduate):

«The most important thing to remember is that at MIT we admit people, not numbers...».
«Очень важно понимать, что в MIT мы принимаем людей, а не цифры...».

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

Молнии

Reading time4 min
Views42K


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

По крайней мере, таков план.

Но как же именно вам, как разработчику игры, отрендерить такой эффект?
Читать дальше →

Ежемесячный дайджест интересных IT-проектов на Kickstarter №4

Reading time5 min
Views33K
Изобретатели продолжают пополнять Kickstarter интереснейшими IT проектами. Предлагаем вашему вниманию ежемесячный дайджест за июнь 2014 года.


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

Визатор своими руками

Reading time3 min
Views176K
Достаточно трудно найти человека, который не смотрел бы замечательный советский фильм «Кин-Дза-Дза!»
Думаю, что у многих было желание собрать визатор — прибор, который позволяет отличать чатлан от пацаков.



Сейчас я расскажу, как можно собрать это замечательное устройство. Шуточное, конечно же :)
Читать дальше →

Загружены в планшеты космические карты: прямой репортаж с Байконура

Reading time2 min
Views31K
Ракета-носитель “Союз 2.1б” с разгонным блоком “Фрегат” стартовала с группой космических аппаратов. Основная нагрузка ракеты — это двухтонный метеорологический спутник “Метеор-М №2”. Попутно этим же рейсом летят шесть малых спутников, и один из них — наш DX1.



По этому случаю, сегодня я пишу с Байконура. Да, сегодня Zelenyikot близок к космосу как никогда, и, во многом, благодаря Хабру. Поэтому сегодня я расскажу каково это — оказаться рядом с взлетающей ракетой, и ощутить, как на ней в космос отправляется аппарат, к созданию которого ты причастен. Конечно, моя причастность только в том, что я рассказывал как его создают. Настоящие создатели: руководитель проекта DX1 Александр Малинин и ведущий инженер-конструктор Петр Кудряшов стоят рядом со мной, они помогут в репортаже. Остальные сотрудники «Даурии» — находятся в сколковском офисе в Москве, ждут первых сигналов, которые поймают сами, и ждут известий от радиолюбителей, которых мы попросили помочь.
Читать дальше →

Собираем за один вечер Virtual Reality шлем своими руками, с HD изображением и трекингом головы

Reading time25 min
Views606K
Практически не осталось уже людей, которые бы не слышали о виртуальной реальности, и, наверное все уже слышали о VR-шлеме Oculus Rift, который можно сказать стал стандартом для подобного рода устройств. Так же на рынке есть решения, позволяющие использовать экран смартфона диагональю 4-5" в качестве экрана VR-очков, такие как Durovis Dive или нашумевший Google Cardboard, которые снизили планку демократичности вхождения в виртуальную реальность можно сказать уже для всех, но, тем не менее, пока что эта технология не стала повсеместной: не у всех есть смартфон с нужной диагональю, чтобы воспользоваться тем же картонным проектом гугла, покупать пусть не дорогое, но стоящее денег устройство типа Durovis Dive без какого либо понимания, что с ним конкретно делать дальше, а тем более заказывать и ждать сам шлем Oculus Rift простому обывателю довольно проблематично по многим причинам — начиная от цены за устройство, что делать с которым пока не совсем понятно и заканчивая довольно длительным ожиданием доставки заказа. Естественно, самым главным тормозом, помимо цены, является обычная лень и потухшая любознательность.

В этой статье я расскажу вам о своем пути к виртуальной реальности, опишу детальное и практически исчерпывающее руководство по изготовлению VR-шлема с использованием любого относительно современного андроид-смартфона или планшета любой диагонали, этот проект обойдется примерно в 5-8 часов работы и в 500-2000 рублей затрат, в зависимости от ваших пожеланий и возможностей, а на выходе вы получите очень интересное устройство, которое позволит вам смотреть fullHD 3D фильмы и фотографии, играть в андроид-игры а также использовать шлем для игр в ваши любимые PC-игры любой степени современности. Да, с трекингом головы и погружением в VR.

Поэтому, если вами не овладевает лень и вы любознательны, прошу под кат, но предупреждаю, статья наполнена тремя десятками «potato quality» изображений, общим весом на 4 мегабайта.
Читать дальше →

Information

Rating
Does not participate
Date of birth
Registered
Activity