Архив за 09 марта 2018 - 2

Внимание: Код представленный в статье немного отличается от оригинальных EncodeVarint и DecodeVarint и даёт другие результаты. Будьте внимательны.

В multiformats/unsigned-varint обсуждении правильной записи числа в varint было замечено что многие числа в оригинальном varint могут быть записаны в последовательности разной длинны. Это даст разные блоки и их хеши при идентичных значениях кодированных в протобуфер.

Оригинальный varint

Оригинальный varint просто делит число на кусочки по 7 бит. И записывает их в порядке от младшего к старшему добавляя к каждому кусочку старший 8ой бит. Значение этого бита зависит от того последний это кусочек (0) или нет (1).

Таким образом например значение 0 мы можем записать во многих вариантах:

  1. 0000 0000 (0x00) varint = 0
  2. 1000 0000 0000 0000 (0x8000) varint = 0
  3. 1000 0000 1000 0000 0000 0000 (0x808000) varint = 0
    и так далее.

Compact varint

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

Читать полностью »

Смартфон Xiaomi Mi Mix 2s, первая фотография задней панели которого появилась на этой неделе, будет поддерживать беспроводную зарядку. На это недвусмысленно указывает изображение, опубликованное производителем.

Анонс Xiaomi Mi Mix 2s ожидается 27 марта

Отметим, что пока в ассортименте Xiaomi нет смартфонов с функцией беспроводной зарядки.

Читать полностью »

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

Какие есть важные и знаковые сцены из мюзиклов с участием женщин: история вопроса - 1Читать полностью »

1 марта клиенты реселлера SSL-сертификатов Trustico узнали, что 23 тыс. сертификатов будут аннулированы в течение суток. Отзыв инициировал центр сертификации DigiCert — это было сделано потому, что в распоряжении Trustico оказались закрытые SSL-ключи клиентов.

Подробнее о том, что случилось, расскажем далее.

DigiCert отзывает 23 тысячи SSL-сертификатов: в чем причина - 1Читать полностью »

Goldman Sachs переманил ведущего инженера Google для разработки API к своим сервисам - 1

По сообщениям СМИ банк Goldman Sachs активно занимается разработкой собственного финансового API. Для этого финансовый гигант даже переманивает ведущих инженеров крупных технологических компаний — так уже в марте на работу в банк перейдет ведущий инженер Google Рейналдо Агияр (Reinaldo Aguiar). На предыдущем месте работы он занимался механизмами поиска и создавал специальные сигналы. До сотрудничества с технологическим гигантом специалист работал инженером в Yahoo, где также специализировался на работе с поисковыми данными. Читать полностью »

Хорошо или плохо, когда яблоком раздора становится не сама вакансия, а право на её существование? Анонс завтрашнего московского турнира соискателей вакансий Software Engineering Manager вдруг стал «местом для дискуссий».

Ни в чём себе не отказывайте: даём карт-бланш на нецензурируемые отзывы о наших мероприятиях в нашем блоге - 1

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

В прошлой статье мы с вами подробно разобрали работу платежных каналов, а также несколько различных методов по обеспечению безопасности платежей, проходящих через них, однако этого все еще недостаточно для построения рабочей сети каналов: даже если мы уверены в том, что внутри каждого канала все играют честно, мы не можем гарантировать доставку средств по цепочке через ряд каналов. И здесь нам на помощь приходят смарт-контракты, называемые HTLC (hash-time-lock-contracts). В этой статье мы разберем принцип их работы, и, наконец, на примере продемонстрируем как проходит платеж в сети Lightning network.

Lightning network

Читать полностью »

Операционные системы с нуля; Уровень 0 - 1

Добрый день/вечер/ночь/утро! Есть один экспериментальный курс по операционным системам. Есть он в Стэнфордском университете. Но часть материалов доступно всем желающим. Помимо слайдов доступны полные описания практических занятий.

Чем этот курс отличается от прочих других? Большая часть кода пишется самостоятельно и выполняется на вполне реальном современном железе. В качестве целевой платформы выбран Raspberry Pi 3 model B. Т.е. достаточно актуальная архитектура AArch64. ARMv8 Cortex-A53, четыре ядра, 64-бита и вот это всё. В качестве основного языка программирования выбран Rust. Который безопасный, быстрый, без GC и так далее. Его, Rust, предполагается изучать во время курса.

Тут есть про диски, файловые системы, операции ввода-вывода, потоки /процессы, планирование, виртуальную память, защита и безопасность, прерывания, параллелизм и синхронизацию. Как и в любом другом, уважающем себя курсе. Разница в актуальности материала и в количестве практики. Коддить придётся много.

Читать полностью »

OGL3

Геометрический Шейдер

Между этапами выполнения вершинного и фрагментного шейдера есть опциональная стадия, предназначенная для выполнения геометрического шейдера. На входе у геометрического шейдера оказывается набор вершин, формирующих один из допустимых в OpenGL примитивов (точки, треугольники, …). В результате своей работы геометрический шейдер может преобразовать этот набор вершин по своему усмотрению, прежде чем передать его на следующую шейдерную стадию. При этом стоит отметить самую интересную особенность геометрического шейдера: в процессе своей работы набор входных вершин может быть преобразован к представлению совершенно иного примитива, а также может сгенерировать совершенно новые вершины на основе входных данных, увеличивая итоговое количество вершин.
Читать полностью »

В августе прошло года компания HTC заверила, что обновление Android 8.0 получит не только модель U11, но и U Ultra. Ожидалось, что обновление для HTC U Ultra выйдет в начале 2018 года. По данным источника, его распространение уже началось в Индии, на Тайване и в Италии.

В дистрибутив включено январское обновление безопасности

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js