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

Сэр

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

ASCII игра — компромисс аутентичности и удобства

Время на прочтение5 мин
Количество просмотров19K
Всем привет! Занимаясь разработкой игры, стилизованной под текстовый режим, я пришел к ожидаемому противоречию. С одной стороны, игра должна быть пропитана духом текстового режима, ведь за это она нравится мне и, надеюсь, понравится любителям ретро игр. С другой стороны, мне хочется, чтобы игровой процесс был максимально приятен и современен. В этой статье я опишу пять пунктов, по которым я отклонился от истинного текстового режима. Удалось ли мне сохранить ламповое алфавитно-цифровое настроение в игре? Прошу высказать мнение!


buildroot — my own experience with multi-platform distro creation

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

Introduction


In my previous article (Monitor linux) I wrote, what is this distro and how it works. Now i will write how to do it. It's may be interesting for everyone, who want to study buildroot.


Target goals


The result we get from article is the following:


  • Firmware (non-volatile image with restorable config)
  • Easy management via web-interface
  • Cross-platform (qemu x86_64, arm-based SBC like rasberry 4, beagle bone black and asus tinker board)
  • Support without extra effort
Read more →

Как работает тайловый растеризатор

Время на прочтение29 мин
Количество просмотров9.3K
Если вы следили за моей серией постов «Растеризация за одни выходные», но не компилировали и не запускали демо, то для вас станет большим сюрпризом, если я скажу, насколько медленными они оказались. В конце серии постов я упомянул существующие техники, позволяющие ускорить мучительно тормозной растеризатор. Теперь настало время двигаться дальше и посмотреть, как они применяются на практике.

Как часть этого проекта я реализовал Tyler — тайловый растеризатор, который мы проанализируем в данной статье. Моей целью при разработке этого проекта были масштабируемость. настраиваемость и понятность растеризатора для людей, которые хотят немного больше понять в этой теме и поэкспериментировать с ней. Эта статья достаточно сильно связана с тем, что объяснено в серии «Растеризация за одни выходные», поэтому лучше будет прочитать и её. Я не буду предполагать, что вы её изучили, но в статье будет больше высокоуровневых объяснений — я не хочу повторять уже сказанное и то, что можно найти в других источниках.

Краткий обзор


Тайловый рендеринг (tile-based rendering или tiled rendering) — это улучшенный по сравнению с традиционным immediate-mode-рендерингом; в нём render target (RT) разделяется на тайлы (т.е. субрегионы кадрового буфера), каждый из которых содержит примитивы, которые можно рендерить в тайлы по отдельности.


Обратите внимание на выражение «по отдельности», потому что оно подчёркивает одно из самых больших преимуществ этой техники по сравнению с immediate-mode: ограничение всех операций доступа внутри тайла буферами цветов/глубин, которые остаются в «медленной» DRAM благодаря использованию отдельного тайлового кэша на чипе.
Читать дальше →

Весь Хабр в одной базе

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

Добрый день. Прошло уже 2 года с момента написания последней статьи про парсинг Хабра, и некоторые моменты изменились.


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

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

Как я «умный» телевизор Samsung до ума доводил — расширенный отзыв

Время на прочтение43 мин
Количество просмотров220K
“Каждый человек обязан, по меньшей мере, вернуть миру столько, сколько он из него взял.” — Альберт Эйнштейн

В своей первой статье на Хабре мне хотелось бы поделиться с уважаемыми читателями подробной информацией о достоинствах и недостатках, а также личным опытом настройки модели Samsung T27H390S для удобной эксплуатации как в качестве телевизора, так и в качестве монитора.
Статья содержит оригинальные находки, которые в равной степени пригодятся владельцам других моделей и марок телевизоров или мониторов.
Будет много букв, в том числе английских, но все по делу. Для удобства навигации начну с оглавления.

Samsung OCM Support
Узнать подробности

Сравнивали Haskell и C++, а сравнили jump и cmov

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

Что самое смешное — <br> я собирал хаскель-код через LLVM-бекенд,<br> но при этом сравнивал с GCC


В статье [ссылка] было заявлено, что производительность Haskell кода превзошла код на С++. Что сразу вызвало интерес, т.к. и то и другое может генерироваться LLVM компилятором, значит либо Наskell может давать больше хинтов компилятору, либо что-то не так с С++ реализацией. Далее мы разберём, как череда случайностей в действиях автора привела к неправильным выводам, которые описываются таблицей ниже (под катом).

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

Семь известных всем неприятных правил жизни, которые мало кто учитывает

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


Если вы не достигаете успеха, жизнь будет казаться несправедливой

Мы живем по сложным правилам. Причем эти правила бывают разные.

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

Большинству людей так и не удается освоить эти принципы — поэтому они делают одно и то же снова и снова, но ожидают, что результат почему-то будет другим. «Безумие!» — сказал бы Эйнштейн.

Переведено в Alconost
Читать дальше →

Можно ли писать скрипты на C++?

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

Недавно пришлось мне опять/снова погрузиться в чудесный мир программирования Linux скриптов. В принципе, дело не очень хитрое, но поскольку мне попадаются такие задачи не часто, то каждый раз изучаю заново. Знаю точно, что завтра многое забуду и через месяц опять буду гуглить, как сделать то или это. Проблема еще оказывается в том, что зачастую не пишешь скрипт заново, а модифицируешь существующий, уже написанный кем-то. А он может быть не bash, а sh или еще что-то… Различия в синтаксисе есть, что работает в sh по идее должно работать и в bash, но не всегда наоборот. А если там dash или ash? Я не знаю… Различия в этих скриптовых языках все же есть, и они сбивают с толка. Ну и конечно, лично для меня, вишенка на торте, когда скрипт вызывает какой нибудь sed или awk и там такие параметры в командной строке, что смотришь на них и диву даешься. Понятно, что это все зависит от квалификации программиста, но вот у меня не все в голове помещается. И вот сейчас мое терпение лопнуло и я подумал, что отныне хочу попробовать писать скрипты на c++…

Я понимаю, что для true системного администратора моя мысль может показаться крамольной. Но почему бы и нет?
Читать дальше →

Ламповая катушка Теслы

Время на прочтение11 мин
Количество просмотров32K
Хомяки приветствуют вас, друзья.

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



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

Самодельный рекуператор для загородного дома с КПД 80%

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

image


Наступила зима, и я решил усовершенствовать систему вентиляции в моем загородном доме. До этого момента ее практически не было, все вентилирование осуществлялось за счет открывания окон, выбрасывания теплого отработанного воздуха и впускания холодного свежего с улицы. Я что-то слышал о системах рекуперации (recuperatio — обратное получение, возвращение), позволяющих не просто выбрасывать тепло вместе с воздухом, а использовать его для нагревания входящего свежего воздуха с заметной экономией энергии на отоплении. Подумав — а почему бы и нет, я решил попробовать сделать такую систему самостоятельно.

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

Аппаратный ключ шифрования за 3$ — возможно ли это?

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

Итоговый результат — ключ размером с флешку

Повсеместное шифрование и, как следствие, обилие ключей заставляет задуматься об их надежном хранении. Хранение ключей на внешних устройствах, откуда они не могут быть скопированы, уже давно считается хорошей практикой. Я расскажу о том, как за 3$ и 2 часа сделать такой девайс.
Читать дальше →

Рисуем муравьями: процедурные изображения при помощи алгоритмов оптимизации муравьиной колонии

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

Почему мне захотелось рисовать муравьями


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

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

UID и авторизация Stalker на MAG250

Время на прочтение4 мин
Количество просмотров3.8K
Я давно уже интересовался темой авторизации медиа приставок в портале Stalker, но было не до этого. Однажды ко мне случайно попала приставка MAG250 от Infomir и я решил занятся этим вопросом.

Подготовка


Первым делом я разобрал приставку, припаял к разьёму кабель и соединил с компом. Запустив терминал программу, меня порадовал знакомый U-Boot. Процесс загрузки можно было также прервать, нажав любую клавишу (обычно такие фишки производитель отключает и приходится тратить много времени, чтобы привести U-Boot в нужное состояние). Доступ с правами root был тоже доступен по ssh.



Приставка оборудована 256МБ DRAM и двумя флешками, NOR 1 МБ и NAND 256МБ. С NOR по-ходу грузится U-Boot, который загружает с NAND ядро и файловую систему.
Читать дальше →

Перезагрузка текстур OpenGLESv2 через DMABUF

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

В этой статье я хочу рассказать, как просто можно обновлять текстуры OpenGLES через DMABUF. Поискал по Хабру и к своему удивлению не обнаружил ни одной статьи на эту тему. В Хабр Q&A тоже ничего такого не нашел. И это для меня немного странно. Технология появилась довольно давно, хотя информации о ней действительно в сети не много, вся она расплывчатая и противоречивая.

Я всю эту информацию собирал по крупицам из разных источников, прежде чем смог написать вот такой видео плеер, как на демке выше. Здесь, на демке, мой самописный видео плеер, основанный на библиотеке gstreamer, загружает видео кадры в текстуру OpenGLESv2 каждый раз перед рендерингом. Работает на Raspberry Pi4. Кадры просто копируются в специальным образом выделенную память — а уж DMA переносит их в память GPU, в текстуру. Далее расскажу, как я это делал.

[Обновлено в 10:52, 14.12.19] В офисе Nginx прошел обыск. Копейко: «Nginx был разработан Сысоевым самостоятельно»

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

Другие материалы по теме:


Eng version
Что значит наезд на Nginx и как это отразится на индустрииdeniskin
Open source — наше всё. Позиция Яндекса по ситуации с Nginxbobuk
Официальная позиция Программных комитетов Highload++ и других IT-конференций на претензии к Игорю Сысоевуolegbunin


По информации от одного из сотрудников, в московском офисе опенсорс-разработчиков Nginx проводят обыски в рамках уголовного дела, истцом по которому выступает Рамблер (ниже официальный ответ пресс-службы компании по этому вопросу и подтверждение наличия претензий к Nginx). В качестве доказательств приводится фото постановления о производстве обыска в рамках уголовного дела, возбужденного 4 декабря 2019 года по статье 146 УК РФ «Нарушение авторских и смежных прав».

Фото постановления о производстве обыска


Как предполагается, истцом выступает компания Рамблер, а ответчиком пока «неустановленная группа лиц», а в перспективе — основатель Nginx Игорь Сысоев.

Суть претензии: Игорь начал работу над Nginx, будучи сотрудником Рамблера, а только после того, как инструмент стал популярен, основал отдельную компанию и привлек инвестиции.

Почему Рамблер вспомнил о своей «собственности» только спустя 15 лет — неясно.

C++ vtables. Часть 1 (basics + multiple Inheritance)

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

Всем привет! Перевод статьи подготовлен специально для студентов курса «Разработчик С++». Интересно развиваться в данном направлении? Приходите онлайн 13 декабря в 20:00 по мск. на мастер-класс «Практика использования Google Test Framework»!



В этой статье мы рассмотрим, как clang реализует vtables (таблицы виртуальных методов) и RTTI (идентификацию типа времени исполнения). В первой части мы начнем с базовых классов, а затем рассмотрим множественное и виртуальное наследование.

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

Как проверить паспорт на действительность

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


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

Tor Hidden Service как техника Nat Traversal

Время на прочтение2 мин
Количество просмотров43K
За последние несколько месяцев мне несколько раз пришлось решать довольно однотипные задачи — регулярно получать доступ на компьютеры, «спрятанные» за NAT. Пока это был один стационарный компьютер, все решалось пробросом порта на домашнем роутере плюс DynDNS. Потом добавился ноутбук. И еще один. Ноутбуки могли подключаться к домашнему WiFi, а могли оказаться, например, на рабочем месте. Наша компания предоставляет услуги VPN, но именно в этот период VPN по каким-то причинам работал не стабильно. В ход пошли VPS, обратные ssh-туннели. Когда конфигурация перестала помещаться в голове, пришла идея сократить количество сущностей, используя Tor Hidden Service.
Читать дальше →

Прямой VPN-туннель между двумя компьютерами находящимися за NAT провайдеров с использованием UDP hole punching

Время на прочтение11 мин
Количество просмотров72K
Статья о том, как мне удалось организовать прямой (точка-точка) VPN-туннель между двумя компьютерами, каждый из которых находился за NAT'ом провайдеров, при помощи VPS и простых скриптов, используя стандартные утилиты Linux, без каких-либо настроек сетевого оборудования.
Читать дальше →

Запись сверх-широкополосных сигналов стандарта 802.15.4 UWB на почти санкционной технике

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

image


Недавно два совершенно разных мира сошлись в нашей лаборатории: мир недорогих радио-трансиверов и мир дорогущих систем записи широкополосных радио-сигналов.

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

Информация

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