Pull to refresh
0
max7 @max7read⁠-⁠only

User

Send message

FLIF — свободный формат сжатия изображений

Reading time2 min
Views40K
FLIF (Free Lossless Image Format) — это новый свободный формат сжатия без потери качества, который превосходит PNG, lossless WebP, lossless BPG, lossless JPEG2000 и lossless JPEG XR по степени сжатия.

Как показало сравнительное тестирование (результаты), файлы FLIF в среднем:

  • на 14% меньше, чем lossless WebP,
  • на 22% меньше, чем lossless BPG,
  • на 33% меньше, чем PNG с брутфорсом через ZopfliPNG,
  • на 43% меньше типичного PNG,
  • на 46% меньше PNG, оптимизированного алгоритмом образования чересстрочного изображения Adam7,
  • на 53% меньше lossless JPEG2000,
  • на 74% меньше lossless JPEG XR.
Читать дальше →

ФБР может без помощи Apple взламывать айфоны

Reading time2 min
Views23K
Китайцы за полчаса времени и 60 долларов превращают 16-гигабайтный iPhone 6 в 128-гигабайтный. В процессе работы работник сервисного центра извлекает флеш-память, копирует все данные, включая идентификационные, и затем загружает их в новый 128-гигабайтный модуль.

Специалисты по информационной безопасности уверены: с тем же успехом ФБР может взять iPhone террориста и скачать с него всё, а затем взломать за гораздо меньшее время, чем требуется для борьбы с Apple в судах. ФБР либо хочет получить законный доступ ко всем устройствам (даже не Back Door, а Front Door), либо вся тяжба направлена на получение политических очков.

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

Когда ВВС США осознали изъян со средними числами

Reading time9 min
Views132K
Отрывок из книги "The End of Average" Тодда Роуза


В начале 1950-х американцы измерили тела более 4000 пилотов по 140 характеристикам, чтобы спроектировать идеальную кабину для среднего пилота

В конце 1940-х у американских военно-воздушных сил была серьёзная проблема: пилоты теряли контроль над самолётами. Тогда наступала эпоха реактивных двигателей, так что самолёты стали более быстрыми и сложными в управлении. Но катастрофы случались так часто и на таком количестве разнообразных самолётов, что ВВС США столкнулись с реальной проблемой спасения жизней. В худшее время разбивалось до 17 пилотов за день.
Читать дальше →

Квантовый скачок

Reading time6 min
Views21K


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


Источник: http://wikibon.org/wiki/v/Evolution_of_All-Flash_Array_Architectures

Важность этого момента трудно переоценить, его можно сравнить с быстрой сменой исторической формации. Эра владычества HDD стремительно уходит в прошлое. И одним из вестников этого процесса стала DSSD D5 — высокопроизводительное хранилище стоечного класса на flash-накопителях (RSF, Rack-Scale Flash).
Читать дальше →

Правительство США против компаний информационных технологий — близко гражданская война?.. Мы — на стороне Apple

Reading time4 min
Views7.2K
image

Данная публикация — открытое письмо редакции TechCrunch.

Открытое письмо Тима Кука клиентам о требовании ФБР создать «чёрный ход» в операционной системе iOS вызвало критическое обсуждение права на частную жизнь граждан в Америке.
Мы, как и все граждане Америки, также были потрясены и опечалены гибелью людей в Сан-Бернардино. Но недавнее постановление судьи полицейского суда, чтобы Apple помогла американскому правительству в разблокировании интернет-аппарата iPhone, принадлежавшего «стрелку из Сан-Бернардино», особенно при отсутствии ситуации «обстоятельств, не терпящих отлагательства», вызывает беспокойство.

То, что это постановление заставляет Apple не только помочь ФБР разблокировать iPhone, но фактически написать соответствующее программное обеспечение, угрожает создать тревожный прецедент.
Мы поддерживаем компанию Apple в её борьбе с этим постановлением и призываем остальных участников индустрии, занимающихся системами безопасности и информационными технологиями, поступить так же.
Это вызвано тем, что наибольшие разногласия имеются между обеспечением доступа представителям правительства и обеспечением безопасности в сфере информационных технологий.

Обсуждая данный случай, действительно ли ФБР требует создать «чёрный ход», будьте уверены – если Apple будет вынуждена выполнить требуемое, то долгосрочным последствием этого будет снижение безопасности и конфиденциальности информации во всём мире.
Читать дальше →

jsPDF + canvas: экспорт в PDF многостраничной таблицы на русском языке

Reading time4 min
Views29K
Генерация PDF… Эта тема не нова, однако порой можно столкнуться с некоторыми тонкостями, в итоге став на тернистый путь велосипедостроения. Сегодня я расскажу, как разрабатывал один такой велосипед.

Мне понадобилось сделать генерацию отчетов в PDF. По ряду причин я решил сделать это на стороне клиента. Беглый поиск предоставил мне выбор между jsPDF и pdfmake. Остановился на первом. А теперь подробнее…

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

Mesh-роутер — это просто

Reading time6 min
Views70K
С того момента, когда cjdns добавили в официальный репозиторий OpenWRT, процесс подготовки mesh-роутера стал просто тривиален. Саму установку OpenWRT на роутеры описывать подробно не вижу смысла, т.к. это популярная тема. На многих официально поддерживаемых роутерах задача установки свободной прошивки сводится к простому скачиванию Factory архива и скармливанию его стандартной форме обновления прошивки на заводской системе. Главное, чтобы не было блокировки на установку сторонней прошивки, но и в этом случае, как я полагаю, будет множество обходных путей.

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

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

C++ SDK для Amazon Web Services

Reading time5 min
Views11K

Под конец прошлого года компания Amazon выпустила (наконец-то!) C++ SDK для своей платформы AWS. Непонятно, почему так долго тянули — есть масса приложений, написанных на С++, из которых давно хотелось удобно пользоваться AWS. Не джавой же единой, в самом деле.

Всегда интересно посмотреть на что-то, написанное на С++ в наши дни с нуля, без груза обратной совместимости и странных архитектурных решений, присущих некоторым разработкам прошлого. Я не буду тут пересказывать документацию, но остановлюсь на ключевых моментах, определяющих всё поведение SDK.
Читать дальше →

Поняв Docker

Reading time14 min
Views223K

Если вы еще никогда не поддерживали чужие приложения, или пусть даже свои, но таких размеров, что уже не помещаются в одной голове, то прошу вас расслабиться, откинуться на спинку кресла и воспринимать прочитанное как поучительную сказку с надуманными проблемами, забавным сюжетом и очевидным счастливым концом. В противном случае, если реальный боевой опыт у вас имеется, добро пожаловать в ад, но с IDDQD и IDKFA.


К вашему сведению! В этой статье мы рассматриваем само явление docker-контейнеров, а не составляем список микросервисов, которые гнездятся внутри. Этим мы займемся в следующей серии, во имя справедливости!


UPDATE: пришлось заменить «докер» на «docker», иначе статья не ищется. Заранее прошу прощения за все «docker'ы» в тексте. Селяви.


Что мы имеем сегодня


  • Зоопарк дубовых VPS-хостингов.
  • Дорогие IaaS и PaaS с гарантированным vendor lock in.
  • Уникальные сервера-снежинки.
  • Ворох устаревших зависимостей на неподдерживаемой операционке.
  • Скрытые связи частей приложения.
  • Незаменимый админ полубог на скейтборде.
  • Радуга окружений: development, testing, integration, staging, production.
  • Генерация конфигов для системы управления конфигами.
  • Feature flagging.
docker run docker

От действий над матрицами к пониманию их сути…

Reading time5 min
Views147K
Очень уважаю людей, которые имеют смелость заявить, что они что-то не понимают. Сам такой. То, что не понимаю, — обязательно должен изучить, осмыслить, понять. Статья "Математика на пальцах", и особенно матричная запись формул, заставили меня поделиться своим небольшим, но, кажется, немаловажным опытом работы с матрицами.

Лет эдак 20 назад довелось мне изучать высшую математику в вузе, и начинали мы с матриц (пожалуй, как и все студенты того времени). Почему-то считается, что матрицы — самая лёгкая тема в курсе высшей математики. Возможно — потому, что все действия с матрицами сводятся к знанию способов расчёта определителя и нескольких формул, построенных — опять же, на определителе. Казалось бы, всё просто. Но… Попробуйте ответить на элементарный вопрос — что такое определитель, что означает число, которое вы получаете при его расчёте? (подсказка: вариант типа «определитель — это число, которое находится по определённым правилам» не является правильным ответом, поскольку говорит о методе получения, а не о самой сути определителя). Сдаётесь? — тогда читаем дальше…
Читать дальше →

Как обеспечивается «совместимость» финансовых сделок на грубых IT-примерах

Reading time7 min
Views8.6K


В ядре Московской биржи имплементированы как функции непосредственно регистрации и проведения сделок, так и функции клиринга. Для примера, те же биржи Нью-Йорка и Лондона вынесли это в отдельный модуль, чтобы при падении одного из фронтов не останавливать все торги, а просто деградировать в плане возможных сервисов.

Но речь немного не об этом. В этом посте я расскажу о том, зачем вообще нужны системы клиринга и как проводится сделка между, например, Нидерландами и Москвой.

Начнём с того, что в ряде случаев биржи и банки, естественно, не меняются деньгами и бумагами сразу и мгновенно. Процедура очень похожа на кэширование на запись: чем делать тысячи одиночных Random IO, лучше записать сразу несколько блоков последовательно. Есть и максимальный допустимый объём долга за период — это объём кэша в нашем сравнении.

Плюс, конечно же, ни деньги, ни акции не попадают к конечным участникам сделки — они «физически» ложатся в депозитарии, а вы получаете «указатель» на них.
Читать дальше →

Shodan собирал IPv6-адреса NTP-клиентов и сканировал их в ответ

Reading time2 min
Views21K
Одним из преимуществ IPv6 является отсутствие необходимости NAT из-за большого количества адресов в целом и длины выдаваемых пользователям подсетей в частности. Казалось бы, никто просто так не подключится к какому-нибудь одноплатнику, который вы только-только подключили в домашнюю сеть с поддержкой IPv6. Никто же, в здравом уме, не будет сканировать всю вашу подсеть. Если весь IPv4-интернет можно просканировать в течение десятков минут, то на полное сканирование одной только /64 (минимальная подсеть, рекомендуемая к выдаче клиентам) уйдут десятки тысяч лет. К тому же, если каким-то образом злоумышленник узнал ваш IPv6-адрес, всегда можно активировать поддержку IPv6 Privacy Extensions, с которыми ваш адрес будет рандомизироваться раз в сутки или чаще.
Казалось бы, вероятность сканирования вашего одноплатника, который не обращается к внешним ресурсам, крайне низка. Однако, есть одна вещь, которая настроена почти на каждом компьютере — периодическая синхронизация времени через NTP.

NTP

Подавляющее большинство дистрибутивов Linux устанавливаются с настроенной автоматической синхронизацией времени через NTP, используя серверы pool.ntp.org. Как оказалось, стать частью pool.ntp.org достаточно просто, чем и воспользовались Shodan, задействовав 5 NTP-серверов в разных частях света, для верности используя несколько IP-адресов на одном сервере, чтобы вероятность попадания запроса клиента именно на их сервер была выше. Таким образом, в пуле ntp.org оказалось 45 IPv6-адресов машин Shodan, которые сканируют любой подключающийся к ним IPv6-адрес в ответ.
Обнаружил факт сканирования и вычислил все серверы Shodan Brad Hein. Вычислить все сканирующие NTP-серверы вручную достаточно сложно, т.к. NTP-демон обращается ко многим NTP-серверам последовательно для более точной синхронизации времени. Для автоматизации процесса был написан скрипт, который обрабатывает журнал файрволла и соединяется с подозрительными хостами еще раз, чтобы удостовериться, что они действительно сканируют в ответ, используя свежий временный IPv6-адрес.
Подтвердить принадлежность хостов к Shodan было довольно легко — почти все серверы использовали настоящие имена хостов в PTR-записи, вида *.scan6.shodan.io

На данный момент, серверы Shodan исключили из пула ntp.org.
Читать дальше →

Чем плох JavaScript в большом проекте? С какими проблемами мы столкнулись и как их решали

Reading time1 min
Views42K


Почему определенные недостатки языка JavaScript в реалиях разработки такого большого проекта, как наш, оказываются критическими? Как решить проблемы JS, когда количество кода превышает 2 млн строк, а команда насчитывает более 20 человек и постоянно растет? Об этом — в докладе фронтенд тимлида Wrike в рамках митапа, проведенного в нашем офисе совместно с сообществом Piter JS.

Смотреть

[ В закладки ] Алгоритмы и структуры данных в ядре Linux, Chromium и не только

Reading time9 min
Views86K
Многие студенты, впервые сталкиваясь с описанием какой-нибудь хитроумной штуки, вроде алгоритма Кнута – Морриса – Пратта или красно-чёрных деревьев, тут же задаются вопросами: «К чему такие сложности? И это, кроме авторов учебников, кому-нибудь нужно?». Лучший способ доказать пользу алгоритмов – это примеры из жизни. Причём, в идеале – конкретные примеры применения широко известных алгоритмов в современных, повсеместно используемых, программных продуктах.



Посмотрим, что можно обнаружить в коде ядра Linux, браузера Chromium и ещё в некоторых проектах.
Читать дальше →

Обстоятельно о подсчёте единичных битов

Reading time16 min
Views100K
Я хотел бы подарить сообществу Хабра статью, в которой стараюсь дать достаточно полное описание подходов к алгоритмам подсчёта единичных битов в переменных размером от 8 до 64 битов. Эти алгоритмы относятся к разделу так называемой «битовой магии» или «битовой алхимии», которая завораживает своей красотой и неочевидностью многих программистов. Я хочу показать, что в основах этой алхимии нет ничего сложного, и вы даже сможете разработать собственные методы подсчёта единичных битов, познакомившись с фундаментальными приёмами, составляющими подобные алгоритмы.

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

RuTracker уже 6 лет оплачивает домен torrents.ru

Reading time1 min
Views29K
Почти 6 лет назад, 17 февраля 2010 года, один из самых популярных российских торрент-трекеров torrents.ru (ныне rutracker.org) лишился своего доменного имени. Регистратор RU-CENTER на время предварительного следствия приостановил делегирование домена после получения соответствующей просьбы от правоохранительных органов.
Читать дальше →

Математики построили карту связей во вселенной «Звездных войн»

Reading time2 min
Views11K

Визуализация связей между 7563 основными персонажами вселенной «Звездных войн»

Используя новое программное обеспечение, исследователи из EPFL проанализировали вселенную «Звездных войн», построив карту связей между персонажами, мирами и цивилизациями. Всего было задействовано около 20 тысяч персонажей и 640 сообществ в рамках временного отрезка в 36 тысяч лет.

Основа используемого ПО — это теория графов, при помощи которой ученые провели анализ сотен веб-страниц, посвященных «Звездным войнам». Эта работа — демонстрация возможностей нового программного обеспечения. Использоваться оно может, конечно, не только для работы с литературными произведениями и фильмами. Но поскольку авторы исследования — поклонники мира «Звездных войн», то и первая серьезная работа была выполнена на их основе.
Читать дальше →

Реверс-инжиниринг и замедление «Казаков»

Reading time5 min
Views62K


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

  1. Искусственно загрузить ядро процессора, на котором запущена игра
  2. Запускать игру в виртуальной машине с ограниченными ресурсами
  3. Играть не по локальной сети, а по интернету — там задержки побольше
4. Только дизассемблинг, только хардкор!

Обход DPI провайдера на роутере с OpenWrt, используя только busybox

Reading time5 min
Views69K
image
Всем привет, в свете последних новостей от РосКомНадзора решил я глянуть, как дела с блокировками у моего провайдера. Оказалось, что гугловский DNS не спасает, а блокировка работает путем выделения HTTP запроса на запрещенный сайт и последующего дропания пакетов найденной TCP сессии. Однако после небольшого ковыряния оказалось, что для обхода достаточно одного busybox'а. Кому интересно — велком под кат.

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

Декларации независимости Киберпространства исполнилось 20 лет

Reading time3 min
Views12K


«Правительства Индустриального мира, вы — утомлённые гиганты из плоти и стали; моя же Родина — Киберпространство, новый дом Сознания. От имени будущего я прошу вас, у которых всё в прошлом, — оставьте нас в покое. Вы лишние среди нас. Вы не обладаете верховной властью там, где мы собрались

… Я заявляю, что глобальное общественное пространство, которое мы строим, по природе своей независимо от тираний, которые вы стремитесь нам навязать. Вы не имеете ни морального права властвовать над нами, ни методов принуждения, которые действительно могли бы нас устрашить».


Так начинается знаменитая Декларация независимости Киберпространства (перевод на русский), которая провозглашала независимость интернета от власти национальных правительств — классика интернетовского либертарианства. Для своего времени она стала настоящим откровением. Краткий, но ёмкий текст Джона Перри Барлоу очень быстро стал известным и широко разошелся по Сети.
Читать дальше →

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity