Архив за 03 июля 2019 - 8

Длинный, узкий и дорогой: тест-обзор Xperia 10 Plus

Производители смартфонов вернули нас в середину 2000-х: «раскладушки», слайдеры, выдвижные и поворотные камеры, а также прочие эксперименты с форм-факторами устройств. Sony, как обычно, идёт своим путём и предлагает своим фанатам продукт, похожий на ожившую шутку про первые фаблеты, — телефон с очень вытянутым корпусом.

Внешний вид и эргономика

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

Мы разрабатываем платформу для визуальной коллаборации. Для отображения контента мы используем Canvas: на нём рисуется всё, в том числе тексты. Готового решения для отображения текстов на Canvas один в один как в html не существует. За несколько лет работы с отрисовкой текстов мы изучили разные варианты реализации, набили много шишек и, кажется, нашли хорошее решение. Расскажу в статье, как мы переезжали с Flash на Canvas и почему отказались от SVG foreignObject.

Как мы учились рисовать тексты на Canvas - 1

Переезд с Flash

Мы создавали продукт в 2015 году на Flash. Внутри Flash есть текстовый редактор, умеющий хорошо работать с текстами, поэтому нам не нужно было делать ничего дополнительного для работы с текстами. Но в то время Flash уже умирал, поэтому мы переехали с него на HTML/Canvas. И перед нами встала задача — отображать текст на Canvas как в html-редакторе, при этом не сломать при переезде тексты, созданные во Flash-версии.Читать полностью »

Электромобиль Tesla Model 3 появился в продаже в Европе совсем недавно. Впрочем, как мы уже видели, это не помешало компании стать лидером на рынке Норвегии.

Model 3 уже проходила краш-тесты в США, но вот в Европе аналогичные испытания были проведены только сейчас. И самая доступная машина Tesla показала впечатляющие результаты.

Компания PNI Sensor, более 30 лет занимающаяся выпуском датчиков для точного определения местоположения и отслеживания движения, а также интеграцией сенсорных подсистем, объявила о выпуске нового модуля ориентации TRAX2. По словам производителя, TRAX2 — единственный модуль ориентации, который обеспечивает два различных режима: курсовую координатную систему (AHRS) и цифровой компас. Поддержка двух режимов расширяет спектр применений.

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

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

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

Состоянием на июль 2019 года существует порядка 2000 криптовалют, однако единого механизма обмена между разными блокчейнами нет. В этой статье мы упрощенно рассмотрим как устроена одна из технологий обмена без посредников — атомарные обмены (atomic swaps).
Приятного чтения!

logo

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

Упаковка продукта хоть и никак не влияет на сам продукт, но порой добавляет ему лишних «баллов». Похоже, в AMD это понимают, поэтому создали для новых видеокарт весьма необычные упаковки.

Речь о моделях поколения Navi: видеокартах Radeon RX 5700 и RX 5700 XT, которые поступят в продажу 7 июля. На изображениях ниже можно видеть фирменную упаковку AMD, но неясно, будут ли такие же использовать партнёры компании.

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

Вчера Яндекс ответил на жалобу российских компаний о недобросовестной конкуренции. Их иронично-издевательский ответ показал их истинное лицо: двуликое и беспринципное, прикрывающееся словами о конкуренции и выборе. Поэтому я решил опубликовать эту статью, дабы привлечь больше внимания к вопросу монополистических практик в Интернете и спору между Яндекс.Вертикалями и конкурирующими с ними сервисами.

image

В 2015 году Яндекс пожаловался на Google, обвинив его в злоупотреблении доминирующим положением на рынке мобильных ОС. «Яндекс» утверждал, что Google навязывает пользователям собственные сервисы, ограничивая доступ к сторонним.

Официальная позицию Яндекс опубликовал на Хабре. И, судя по рейтингу и откликам, большинство хабравчан поддержало Яндекс в том споре. Тогда Яндекс выиграл дело, ФАС признала Google нарушителем закона «О конкуренции». Но прошло 4 года и я хочу обратиться к Яндексу с его же словами и призывами.Читать полностью »

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

В школе, когда мы решали уравнения или считали формулы, мы пытались их сперва сократить несколько раз, к примеру Z = X - (Y + X) сокращается в Z = -Y. В современных компиляторах это подмножество так называемых peephole-оптимизаций, в которых мы по, грубо говоря, набору шаблонов сокращаем выражения, заменяем инструкции на более быстрые для конкретного процессора и т.п. В этой статье я собрал наборчик таких оптимизаций, которые удалось найти в исходниках LLVM, GCC и .NET Core (CoreCLR).

Начнем с простых примеров:

  X * 1        =>  X
-X * -Y        =>  X * Y 
-(X - Y)       =>  Y - X  
X * Z - Y * Z  =>  Z * (X - Y) 

проверим последний пример в С++ и в C#:

int Test(int x, int y, int z) {
    return x * z - y * z;  //  =>  z * (x - y)
}

и посмотрим на ассемблер от Clang (LLVM), GCC, MSVC и .NET Core:
Peephole микрооптимизации в С++ и C# компиляторах - 1

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


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