Как стать автором
Обновить
Артур Конан Дойл @AntonSazonovread⁠-⁠only

Сэр

Отправить сообщение

Субпиксельный рендеринг произвольных векторных изображений (Haarmony LCD)

Время на прочтение2 мин
Количество просмотров7.6K

Субпиксельный рендеринг (вики)— способ увеличить видимое разрешение LCD или OLED дисплея путем рендеринга пикселей с учетом свойств экрана. Используется тот факт, что каждый пиксель экрана фактически состоит из отдельных красных, зеленых и синих субпикселей.


В посте я хочу рассказать о методе Haarmony LCD, который применяется в последних версиях freetype, и как его адаптировать для произвольных векторных изображений и конфигураций субпикселей.



Как выглядят исходные изображения


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


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

Проверка на прочность: наномеханика перламутра раковин благородной пинны

Время на прочтение12 мин
Количество просмотров6.1K


Какой самый прочный материал на планете? Однозначного ответа на этот вопрос нет, поскольку все зависит от того, как именно вы будете оценивать прочность, и что вы подразумеваете под этим термином. Кто-то назовет алмаз — самый прочный минерал, кто-то назовет паутину, у которой предел прочности на разрыв составляет до 2.7 ГПа, т.е. примерно в 2 раза больше, чем у стали. Другими словами, прочных материалов органического и неорганического происхождения достаточно много. Ученые со всех уголков планеты тратят годы на изучение этих материалов, дабы установить все физико-химические процессы, которые приводят к их формированию. Уникальным объектом одного из таких многолетних исследований считается перламутр — органико-неорганический материал, который покрывает внутренние стенки раковин моллюсков и является основой жемчуга. Сегодня мы с вами познакомимся с исследованием, в котором ученые из Мичиганского университета решили раскрыть секрет одного из самых прочных природных материалов, наблюдая за ним в реальном времени. Что удалось выяснить ученым, какими необычными характеристиками обладает перламутр, какие наномеханические процессы протекают в нем, и что эти открытия значат для человечества? Об этом мы узнаем из доклада исследовательской группы. Поехали.

Самодельный электромобиль — всё не так, как думаешь

Время на прочтение6 мин
Количество просмотров71K
Всем привет. Учась в университете я собрал маленький электромобильчик, ну или карт. Его фишкой было то, что всё управление электроприводом, включая тормоза было отдано самодельному контроллеру. И именно о том, как я делал этот маленький автомобильчик, и с какими подводными камнями столкнулся при постройке — хотелось бы рассказать в данном материале. Материал не претендует на уникальность, но для меня это был большой и интересный опыт.

image

Ошибочно предсказанное ветвление может в разы увеличить время выполнения программы

Время на прочтение4 мин
Количество просмотров15K
image

Современные процессоры суперскалярны, то есть способны выполнять несколько инструкций одновременно. Например, некоторые процессоры могут обрабатывать за цикл от четырёх до шести инструкций. Более того, многие такие процессоры способны инициировать команды не по порядку: они могут начать работать с командами, расположенными в коде намного позже.

В то же время, код часто содержит ветвления (операторы if–then). Такие ветвления часто реализуются как «переходы», при которых процессор или переходит к выполнению инструкции ниже по коду, или продолжает текущий путь.

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

Невидимая фотография

Время на прочтение4 мин
Количество просмотров73K


О чём речь?


Знакомые часто интересуются: зачем я занимаюсь невидимой фотографией? Инфракрасной, ультрафиолетовой, тепловой. Неужели там есть что-то интересное?

Поскольку лучше один раз увидеть, чем сто раз услышать, то вот вам небольшая демка. С 15-ю предметами. Здесь они в видимом спектре, а дальше мы на них посмотрим в других диапазонах:

[Видимый свет, 400-750 нм. F/6.3, 1/2500 сек, ISO 200, стеклянная 35-мм линза Nikkor. Снято на модифицированный Nikon D90 с удалёнными внутренними ИК/УФ фильтрами через светофильтр видимого света Kolari Vision Hot Mirror UV/IR Cut filter.]
Читать дальше →

Как я проработала 3 месяца в Я.Маркете и уволилась

Время на прочтение6 мин
Количество просмотров308K

Первая попытка


Все началось с того, что я люблю ходить по конференциям и частенько хожу на них в Яндекс, Mail.ru и другие крупные компании. Однажды мне написал HR из Яндекса и попросила сделать тестовое на стажера фронтенд-разработчика.

Я его сделала, вот оно. По условию оно должно было работать на айфонах и андроидах, поэтому я проверила его в Browser Stack и дописала пару префиксов и css-стилей.

Через какое-то время поняла, что не хочу быть стажером, имея несколько лет опыта за плечами и зааплаилась в Я.Маркет через форму на их сайте.

Мне позвонила HR и предложила пройти скайп-интервью с лайвкодингом. Перед собеседованием я повторила структуры данных, сложность алгоритмов, сортировки. Тогда я еще не знала, что этого недостаточно.

На интервью я не смогла решить алгоритмические задачки, не знала внутренности JS и меня сбрили.

Это задело мою самооценку и весь следующий год параллельно с работой я учила JS на глубоком уровне и решала задачки на codewars. Здесь можно оценить мой прогресс.
Читать дальше →

Новое решение парадокса Ферми (почему мы одиноки во Вселенной)

Время на прочтение4 мин
Количество просмотров65K
Недавно мне пришло в голову совершенно новое решение Парадокса Ферми. Я не буду пересказывать то, что вы можете прочитать в Вики.



Перейду к сути. Для решения проблемы нам понадобятся несколько ингредиентов.
Читать дальше →

Интеграл Эйлера — Пуассона. Подробно о способах вычисления

Время на прочтение4 мин
Количество просмотров62K


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

Опыт создания сборок Linux под одноплатники с поддержкой обновлений

Время на прочтение9 мин
Количество просмотров30K
image

Введение


На данный момент, на рынке представлен большой ассортимент одноплатников на любой вкус по приемлемой цене.

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

9 лучших опенсорс находок за сентябрь 2019

Время на прочтение2 мин
Количество просмотров53K

Доброго Хактоберфеста, дамы и господа. Подготовил для вас подборку самых интересных находок из опенсорса за сентябрь 2019.


За полным списком новых полезных инструментов, статей и докладов можно обратиться в мой телеграм канал @OpensourceFindings (по ссылке зеркало, если не открывается оригинал).


В сегодняшнем выпуске.
Технологии внутри: Python, C, Rust, Ruby, JavaScript, Go.
Тематика: веб разработка, администрирование, инструменты разработчика.


Прошлый выпуск.

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

Разоблачение алгоритмов растеризации шрифтов (1/2)

Время на прочтение15 мин
Количество просмотров14K
Попытка улучшить алгоритмы растеризации шрифтов, пользуясь исключительно общедоступной информацией.

От переводчика


В первый раз я столкнулся с этой статьей в 2008 году. С тех пор я неоднократно задумывался о переводе (так как лучшего материала по теме не найти), и вдруг ссылка на оригинал всплыла на Хабре в обсуждении топика «Сглаживание шрифтов, анти-алиасинг, и субпиксельный рендеринг». Это стало решающим фактором (раз на материал ссылаются, значит, он кому-то нужен), и работа была, наконец, закончена.
Читать дальше →

Рендеринг текста вас ненавидит

Время на прочтение14 мин
Количество просмотров30K

Рендеринг текста: насколько сложным он может быть? Оказывается, невероятно сложным! Насколько мне известно, буквально ни одна система не выводит текст «идеально». Где-то лучше, где-то хуже.

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

В общем, сразу скажем: здесь нет последовательных правильных ответов, всё намного важнее, чем вы думаете, и всё влияет на всё остальное.

Мы обсудим темы, которые не объединяются в рамках какой-то единой концепции, это просто вопросы, с которыми мне пришлось столкнуться за несколько лет работы над рендерингом текста в Firefox. Например, не будем слишком подробно обсуждать проблемы сегментации текста или управления различными текстовыми библиотеками для конкретной платформы, поскольку этим я не слишком интересуюсь.
Читать дальше →

Вычисление целочисленного квадратного корня

Время на прочтение2 мин
Количество просмотров14K
Возникла нужда проверить, является ли целое число квадратом, и если да, то вычислить корень. Причем хочется сделать это в целочисленной арифметике. Понятно, что можно реализовать метод Ньютона в целых числах, но он требует деления на каждом шаге. А нельзя ли по другому? Найти квадратный корень по модулю степени двойки, и проверить, а не будет ли он обычным квадратным корнем.
Читать дальше →

Как работает альфа-композитинг

Время на прочтение23 мин
Количество просмотров25K
image

Возможно, прозрачность не кажется какой-то интересной темой. Формат GIF, позволявший некоторым пикселям просвечивать сквозь фон, опубликован более 30 лет назад. Почти в каждом приложении для графического дизайна, выпущенном за последние два десятка лет, поддерживается создание полупрозрачного контента. Эти понятия давно перестали быть чем-то новым.

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

Делаем из Vim-а конфетку

Время на прочтение17 мин
Количество просмотров154K

Вы под давлением коллег или сокурсников из более успевающих групп решились на отчаянный шаг, способный разделить вашу жизнь на период "до" и "после" (прошли vimtutor), и теперь не знаете что делать с вашими новообретёнными способностями? А может вы всё ещё сидите в какой-нибудь IDE и в ус не дуете зачем вам "эти ваши программистские блокноты" и "какой-то там Vim"? Тогда присаживайтесь поудобнее и налейте себе лимонад, сейчас я вам всё по полочкам разложу.


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

Профилирование под Linux с помощью Performance Analyzer

Время на прочтение4 мин
Количество просмотров4.9K

Профилирование под Linux с помощью Performance Analyzer


Коллеги, считаю полезным рассказать об удобном и бесплатном профилировщике кода для Linux/Solaris. Он входит в пакет Sun/Oracle Developer Studio [1]. По моему мнению, другие части этой среды разработки несколько бесполезны, но профилировщик, который называется Performance Analyzer, очень удачный. Он прост в использовании, наглядно и удобно устроен анализ результатов. На мой взгляд, профилировщик все еще превосходит многие аналоги под Linux. При наличии этого инструмента использование gprof видится странной прихотью и потерей времени.


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

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

Мини-мануал, как поставить хакинтош максимально просто и безболезненно

Время на прочтение6 мин
Количество просмотров266K
Предисловие
Хотя на Хабре уже есть неплохая статья о хакинтоше, она уже довольно немолода и некоторая информация там устарела. Однако, суть всего действия описана верно, поэтому для начала очень рекомендую ее почитать.

Здравствуй, Хабр.

Данный гайд служит скорее дополнением к уже существующей статье (см. предисловие), за время существования которой произошли некоторые изменения, о которых я бы хотел рассказать.

Так как с вероятностью 99% вы столкнетесь с кучей ошибок на различных этапах установки, лучшее, что я могу посоветовать — оставить комментарий со своей проблемой внизу статьи, или же написать о ней на каком-нибудь форуме. Не исключено так же, что ваша проблема уже известна сообществу, поэтому навыки гугления очень рекомендую применять.
Читать дальше →

C/C++. Как использовать внедряемые ресурсы приложения, при работе в GCC на Linux

Время на прочтение3 мин
Количество просмотров8.6K

Захотелось как-то мне использовать в Linux внедряемые ресурсы, причём, автоматически. В общем, задача такая:


  1. Имеется Eclipse проект программы на C++.
  2. ОС: Linux Ubuntu. Компилятор: G++
  3. В проекте используются данные из внешних файлов: строки локализации, SQL-запросы, картинки, звуки и т.д.
  4. Все ресурсы необходимо внедрить в исполняемый файл, ибо программу планируется распространять, как портативную.
  5. Кроме того, хочется, что бы процесс был максимально автоматизирован, ибо лень.
Если интересно, как мне это удалось, то прошу под кат...

Чего нельзя требовать и за что нельзя хвалить сотрудников, если вы хотите, чтобы они хорошо работали

Время на прочтение3 мин
Количество просмотров84K
Уже давно сформулировал для себя этот подход. Возможно, он очевиден, но хуже от этого не становится.

Сначала сами пункты.

Никогда не требуйте и не хвалите сотрудников за:

  • вовремя приходят на работу или с обеда
  • ходят в соответствии с дресс-кодом
  • задерживаются на работе, работают на выходных

Это не все и примеры специально выбраны простые и очевидные, но для объяснения хорошо подходят.

Обратите внимание, что речь не только про «не хвалите», но и про «не требуйте».

С удивлением недавно обнаружил, что до сих пор большое количество компаний требуют строгий дресс-код для всех сотрудников (даже тех, кто не вылезает из офиса и не видится с клиентами) и следит, чтобы люди приходили в 9:00.

Опустим те ситуации, где они (форма и строгое время прихода) действительно необходимы, потому что их можно пересчитать по пальцам: машинист электропоезда в метро, врач скорой помощи, сотрудники полиции и т.п.

А теперь почему так? Ведь хорошо, когда сотрудник не опаздывает и ходит в офис не в рваных джинсах?
Читать дальше →

Запускаем “десктопное” ПО на микроконтроллере

Время на прочтение9 мин
Количество просмотров11K

Embox принимал участие в IT фестивале TechTrain. Мы как и в первый раз привезли железки и вживую показали наши достижения. О некоторых мы уже писали на хабре, но мало ли кто не поверил :). Были показаны VoIP телефон, Qt и OpenCV, все на базе STM32F7-Discovery. Кроме стенда мы сделали три доклада. Идеи первого про открытый проект я уже описывал на хабре. В данной статье хочу рассказать идеи еще одного нашего доклада, который назывался “Запускаем “десктопное” ПО на микроконтроллерах”. Ну и пользуясь случаем, немного расскажу про свои ощущения о фестивале.
Читать дальше →

Информация

В рейтинге
Не участвует
Откуда
Geghark'unik', Армения
Зарегистрирован
Активность