Pull to refresh
1
0
Максим Тарасов @MWGuy

Программист

Send message

Родные ЦОДы: обзор российских дата-центров (ч.1)

Reading time6 min
Views43K
На проекте PoiskVPS.ru представлено большое количество хостеров, размещающих серверы своих клиентов в России. Некоторые из них владеют собственными дата-центрами, другие арендуют мощности у более крупных компаний. В этом обзоре я попытался собрать воедино информацию о российских коммерческих дата-центрах, предоставляющих услуги размещения оборудования и аренды серверных стоек. Информация взята с сайтов дата-центров.



В случае, если я допустил какие-то неточности, прошу не кидаться тапками написать, постараюсь исправить. Отдельная благодарность компаниям, присутствующим на хабре и рассказывающим о строительстве и устройстве своих дата-центров.
Осторожно, под катом много картинок!
Читать дальше →
Total votes 19: ↑14 and ↓5+9
Comments9

Пишем собственную виртуальную машину

Reading time24 min
Views54K
В этом руководстве я расскажу, как написать собственную виртуальную машину (VM), способную запускать программы на ассемблере, такие как 2048 (моего друга) или Roguelike (моя). Если вы умеете программировать, но хотите лучше понять, что происходит внутри компьютера и как работают языки программирования, то этот проект для вас. Написание собственной виртуальной машины может показаться немного страшным, но я обещаю, что тема удивительно простая и поучительная.

Окончательный код составляет около 250 строк на C. Достаточно знать лишь основы C или C++, такие как двоичная арифметика. Для сборки и запуска подходит любая Unix-система (включая macOS). Несколько API Unix используются для настройки ввода и отображения консоли, но они не являются существенными для основного кода. (Реализация поддержки Windows приветствуется).

Примечание: эта VM — грамотная программа. То есть вы прямо сейчас уже читаете её исходный код! Каждый фрагмент кода будет показан и подробно объяснён, так что можете быть уверены: ничего не упущено. Окончательный код создан сплетением блоков кода. Репозиторий проекта тут.
Читать дальше →
Total votes 50: ↑50 and ↓0+50
Comments28

Бэкдоры в микрокоде ассемблерных инструкций процессоров x86

Reading time6 min
Views68K

Софту мы не доверяем уже давно, и поэтому осуществляем его аудит, проводим обратную инженерию, прогоняем в пошаговом режиме, запускаем в песочнице. Что же насчёт процессора, на котором выполняется наш софт? – Мы слепо и беззаветно доверяем этому маленькому кусочку кремния. Однако современное железо имеет те же самые проблемы, что и софт: секретную недокументированную функциональность, ошибки, уязвимости, малварь, трояны, руткиты, бэкдоры.



ISA (Instruction Set Architecture) x86 – одна из самых долгих непрерывно изменяющихся «архитектур набора команд» в истории. Начиная с дизайна 8086, разработанного в 1976 году, ISA претерпевает постоянные изменения и обновления; сохраняя при этом обратную совместимость и поддержку исходной спецификации. За 40 лет своего взросления, архитектура ISA обросла и продолжает обрастать множеством новых режимов и наборов инструкций, каждый из которых добавляет к предшествующему дизайну, и без того перегруженному, новый слой. Из-за политики полной обратной совместимости, в современных процессорах x86 присутствуют даже те инструкции и режимы, которые на сегодняшний день уже преданы полному забвению. В результате мы имеем архитектуру процессора, которая представляет собой сложно переплетающийся лабиринт новых и антикварных технологий. Такая чрезвычайно сложная среда – порождает множество проблем с кибербезопасностью процессора. Поэтому процессоры x86 не могут претендовать на роль доверенного корня критической киберинфраструктуры.

Читать дальше →
Total votes 147: ↑142 and ↓5+137
Comments87

Посылка на луну

Reading time2 min
Views3.4K
Фонд Arch Mission в сотрудничестве с Microsoft, Вашингтонским университетом и компанией Twist Bioscience включит 10 000 изображений, текст 20 книг и другую информацию, закодированную на синтетических молекулах ДНК, в Lunar Library («Лунную библиотеку»).

Любой желающий может предложить свое изображение для кодирования в ДНК и отправки на Луну на сайте.

Читать дальше →
Total votes 14: ↑13 and ↓1+12
Comments4

Git: исправление ошибок и наведение порядка в коммитах

Reading time4 min
Views34K
Ошибка в коммите… Как её исправить? Беспорядок в истории коммитов… Как привести всё в пристойный вид? Автор статьи, перевод которой мы публикуем сегодня, говорит, что она написана специально для тех, кто задавался такими вопросами. По его словам, изучив методики работы с Git, представленные здесь, можно значительно продвинуться по пути освоения Git.


Предполагается, что читатель этой статьи уже знаком с основами Git. Если это не так — сначала рекомендуется освоить базу, например, воспользовавшись этим материалом.
Читать дальше →
Total votes 55: ↑39 and ↓16+23
Comments6

Android-приложения на JPHP

Reading time3 min
Views19K

Люди которые пишут код на PHP сделают всё чтобы не переходить на другие языки. Да, я в курсе что раньше на Хабре уже был способ писать Android-приложения на PHP, но было принято решение адаптировать его под более быстрый и совместимый с Java JPHP.


logo

Читать дальше →
Total votes 25: ↑25 and ↓0+25
Comments48

Information

Rating
Does not participate
Location
Гродно, Гродненская обл., Беларусь
Date of birth
Registered
Activity