Интерпетатор Brainfuck на TASM

Часть I Часть II Для начала напишем интерпретатор на высокоуровневом языке, например, на Паскале. Массив data_arr будет представлять память данных, строка str_arr будет содержать команды. Напишем программу, выводящую символ, ascii-код которого соответствует количеству + (поэтому нам нужны будут только команды + и .) var data_arr:array[1..10] of integer; // массив данных str_arr: string; // команды i, […]

Еще один способ использования docker-compose

По следам статьи Docker + Laravel = ? хочу рассказать о довольно необычном способе использования утилиты docker-compose. Для начала, для тех кто не знает, зачем нужен docker-compose. Это утилита, которая позволяет запускать на отдельном хосте набор связанных сервисов, запакованных в docker-контейнеры. Изначальная версия была написана на python и могла быть установлена двумя способами: через пакетный […]

Строим загружаемую по сети ферму серверов для Kubernetes с помощью LTSP

В этой статье, я хотел бы показать вам одну крутую технологию, я успешно использую ее для Kubernetes. Она может быть реально полезна для построения больших кластеров. С этого момента вам больше не придется думать об установке ОС и отдельных пакетов на каждую ноду. Зачем? Вы можете сделать все это автоматически через Dockerfile! Тот факт что […]

12 подсказок для масштабирования Node.js

Node.js уже сейчас успешно работает в мировом масштабе, об этом свидетельствую развернутые приложения на нем таких компаний как Netflix, Reddit, Walmart и Ebay. Однако, он имеет свой набор проблем при масштабировании; как с точки зрения масштабирования людей, работающих над единой базой кода, так с точки зрения вертикального и горизонтального масштабирования в облаке. К дополнении моему […]

Алгоритм сжатия без потерь Broo и дельта-кодирование, сравнение с Xdelta3. Развитие домашнего проекта

Рады Вас приветствовать. Прошел почти год с момента публикации последней статьи и мы готовы рассказать, что происходило с самим алгоритмом и как тут замешано дельта-кодирование. Вступление После выпуска статьи об улучшениях алгоритма Broo, мы столкнулись с преградой в улучшении уровня компрессии и производительности, а именно нельзя было улучшить уровень компрессии не ухудшив скорость распаковки и […]

Хакатон ГАЗ — как прикоснуться к автогиганту

Привет, Хабр! Я живу в Нижнем Новгороде, и кто не знает, это город ИТ-компаний и промышленности (ну почти). Один из самых знаменитых заводов — Горьковский автозавод, тот самый, который подарил миру Волги, Чайки, Победы, Газели, Шишиги, Катюши… Сегодня это предприятие, напичканное ИТ-технологиями, достижениями промышленности и мощными роботами. И 20-21 октября 2018 года пройдёт крутой двухдневный […]

EV-сертификаты мертвы

Вот и всё, я это произнёс: сертификаты расширенной валидации мертвы. Конечно, вы ещё можете их купить (и некоторые компании с удовольствием вам продадут!), но их польза теперь снизилась с «едва ли» до «несуществующей». Изменение произошло ряду факторов, включая увеличение популярности мобильных устройств, удаление визуального индикатора EV из браузеров, из iOS (а также из MacOS Mojave): […]

Как проходит знакомство с LLP в Университете ИТМО: курс «Низкоуровневое программирование»


Большинство популярных языков программирования — это языки высокого уровня. Например, Java, Python или C#. Конечно, программировать на них можно и слабо представляя, как на самом деле работают различные уровни абстракции. Но для хорошего IT-специалиста важно понимать и то, как устроена платформа, с которой он взаимодействует, как функционирует среда разработки, компилятор, отладчик. Это приводит нас к […]

Делаем резервное копирование сайта с помощью git и Makefile

Перевод сайта в набор статических веб-страниц позволяет снизить нагрузку на сервер или даже воспользоваться бесплатными хранилищами, а также повысить надёжность, быстроту и безопасность сайта. В этой статье я расскажу как это сделать с помощью хорошо знакомых инструментов git и Makefile. Плюсом этого подхода является также возможность контроля версий контента веб-страниц. В статье рассказывается, как сделать […]

LoJax: первый известный UEFI руткит, используемый во вредоносной кампании

Кибергруппа Sednit, также известная как АРТ28, Strontium и Fancy Bear, работает как минимум с 2004 года. Считается, что группа стоит за рядом резонансных кибератак. Некоторые ИБ-компании и Министерство юстиции США назвали Sednit ответственной за взлом Национального комитета Демократической партии перед выборами в США в 2016 году. Группе приписывают взлом глобальной телевизионной сети TV5Monde, утечку электронных […]