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

Если вы не достигаете успеха, жизнь будет казаться несправедливой
Мы живем по сложным правилам. Причем эти правила бывают разные.
Есть основополагающие принципы, которыми руководствуются самые продуктивные люди, и в их случае они работают — но вам могут показаться неудобными и неприятными. Тем не менее, знать о них полезно — точнее, важно знать, что работает для тех, кто добивается успеха.
Большинству людей так и не удается освоить эти принципы — поэтому они делают одно и то же снова и снова, но ожидают, что результат почему-то будет другим. «Безумие!» — сказал бы Эйнштейн.
Переведено в Alconost
Можно ли писать скрипты на C++?

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

Прелесть ламповой катушки Тесла заключается в том, что одну часть деталей для неё можно достать из обычной микроволновки, а вторую из ближайшего магазина электрики. С пентодом может возникнуть проблема, вещь старая и давно не выпускается, но тот кто ищет — тот всегда найдет. В дальнейшем вы поймете, что его можно заменить на любую другую лампу похожей конструкции.
Самодельный рекуператор для загородного дома с КПД 80%
Наступила зима, и я решил усовершенствовать систему вентиляции в моем загородном доме. До этого момента ее практически не было, все вентилирование осуществлялось за счет открывания окон, выбрасывания теплого отработанного воздуха и впускания холодного свежего с улицы. Я что-то слышал о системах рекуперации (recuperatio — обратное получение, возвращение), позволяющих не просто выбрасывать тепло вместе с воздухом, а использовать его для нагревания входящего свежего воздуха с заметной экономией энергии на отоплении. Подумав — а почему бы и нет, я решил попробовать сделать такую систему самостоятельно.
Аппаратный ключ шифрования за 3$ — возможно ли это?

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

Почему мне захотелось рисовать муравьями
Я хотела создать произведение искусства, исследующее сложность проектирования программного обеспечения. Когда я представляю огромную кодовую базу, то думаю о её самостоятельно возникающей сложности и о её переплетённых, взаимосвязанных частях. Её общая форма, если так можно выразиться, возникает из действий множества отдельных личностей.
Я думала о том, как представить это графически, и одной из нашедших во мне отклик картинок стало изображение муравьиной колонии. Муравьи — прекрасный пример возникающей (эмерджентной) сложности. Ни один отдельный муравей не является архитектором, но вместе они строят великолепные сложные структуры.
UID и авторизация Stalker на MAG250
Подготовка
Первым делом я разобрал приставку, припаял к разьёму кабель и соединил с компом. Запустив терминал программу, меня порадовал знакомый U-Boot. Процесс загрузки можно было также прервать, нажав любую клавишу (обычно такие фишки производитель отключает и приходится тратить много времени, чтобы привести U-Boot в нужное состояние). Доступ с правами root был тоже доступен по ssh.

Приставка оборудована 256МБ DRAM и двумя флешками, NOR 1 МБ и NAND 256МБ. С NOR по-ходу грузится U-Boot, который загружает с NAND ядро и файловую систему.
Перезагрузка текстур OpenGLESv2 через DMABUF
В этой статье я хочу рассказать, как просто можно обновлять текстуры OpenGLES через DMABUF. Поискал по Хабру и к своему удивлению не обнаружил ни одной статьи на эту тему. В Хабр Q&A тоже ничего такого не нашел. И это для меня немного странно. Технология появилась довольно давно, хотя информации о ней действительно в сети не много, вся она расплывчатая и противоречивая.
Я всю эту информацию собирал по крупицам из разных источников, прежде чем смог написать вот такой видео плеер, как на демке выше. Здесь, на демке, мой самописный видео плеер, основанный на библиотеке gstreamer, загружает видео кадры в текстуру OpenGLESv2 каждый раз перед рендерингом. Работает на Raspberry Pi4. Кадры просто копируются в специальным образом выделенную память — а уж DMA переносит их в память GPU, в текстуру. Далее расскажу, как я это делал.
[Обновлено в 10:52, 14.12.19] В офисе Nginx прошел обыск. Копейко: «Nginx был разработан Сысоевым самостоятельно»
Другие материалы по теме:
Eng version
Что значит наезд на Nginx и как это отразится на индустрии — deniskin
Open source — наше всё. Позиция Яндекса по ситуации с Nginx — bobuk
Официальная позиция Программных комитетов Highload++ и других IT-конференций на претензии к Игорю Сысоеву — olegbunin
По информации от одного из сотрудников, в московском офисе опенсорс-разработчиков Nginx проводят обыски в рамках уголовного дела, истцом по которому выступает Рамблер (ниже официальный ответ пресс-службы компании по этому вопросу и подтверждение наличия претензий к Nginx). В качестве доказательств приводится фото постановления о производстве обыска в рамках уголовного дела, возбужденного 4 декабря 2019 года по статье 146 УК РФ «Нарушение авторских и смежных прав».

Как предполагается, истцом выступает компания Рамблер, а ответчиком пока «неустановленная группа лиц», а в перспективе — основатель Nginx Игорь Сысоев.
Суть претензии: Игорь начал работу над Nginx, будучи сотрудником Рамблера, а только после того, как инструмент стал популярен, основал отдельную компанию и привлек инвестиции.
Почему Рамблер вспомнил о своей «собственности» только спустя 15 лет — неясно.
C++ vtables. Часть 1 (basics + multiple Inheritance)
Всем привет! Перевод статьи подготовлен специально для студентов курса «Разработчик С++». Интересно развиваться в данном направлении? Приходите онлайн 13 декабря в 20:00 по мск. на мастер-класс «Практика использования Google Test Framework»!
В этой статье мы рассмотрим, как clang реализует vtables (таблицы виртуальных методов) и RTTI (идентификацию типа времени исполнения). В первой части мы начнем с базовых классов, а затем рассмотрим множественное и виртуальное наследование.
Как проверить паспорт на действительность

Реквизиты паспорта — не просто набор цифр, в них закодирован вагон информации. Если правильно расшифровывать и сопоставлять реквизиты, подозрительные документы мгновенно всплывут на поверхность. Продукты HFLabs уже 14 лет проверяют клиентские данные в банках, страховых, телекомах и другом крупном бизнесе. Расскажу, как мы распознаем ошибки в российских паспортах.
Tor Hidden Service как техника Nat Traversal
Прямой VPN-туннель между двумя компьютерами находящимися за NAT провайдеров с использованием UDP hole punching
Запись сверх-широкополосных сигналов стандарта 802.15.4 UWB на почти санкционной технике
Недавно два совершенно разных мира сошлись в нашей лаборатории: мир недорогих радио-трансиверов и мир дорогущих систем записи широкополосных радио-сигналов.
Предсказание красоты заката
Для удачной фотосессии, требуется, как правило серьезная подготовка. И если собрался снимать закат, хорошо бы знать заранее, насколько этот закат будет красив.
Понятие красоты, конечно, индивидуально, но всё таки есть какие то моменты, которые определяют красоту заката, какие то элементы красоты, про которые большинство людей согласятся.
Элементы заката
1. Небо в том месте, где солнце заходит за горизонт.
Если небо в этом месте чистое — это красиво.
Если чистая полоска неба, а над этим облака — еще красивее.
Если есть небольшая облачность и Солнце заходит посреди облаков — тоже неплохо.
Если всё небо возле горизонта в облаках — плохо.
Примеры:

Солнце заходит без облаков на горизонте
Buildroot: Создание кроссплатформенной прошивки с zabbix-server
История задачи
Небольшие по размеру фирмы с одной стороны, нуждаются в качественном мониторинге своей инфраструктуры (особенно в свете повсеместной виртуализации ), с другой стороны, для них финансово тяжело закупать новое оборудование. Также часто встречаются проблемы с серверной/аппаратной: зачастую стоит 1-3 tower-сервера рядом с пользовательскими рабочими местами или в небольшой нише/чулане.
Проще использовать уже готовую сборку(дистрибутив), который достаточно залить на microSD-карту и вставить в распространенный одноплатный компьютер (beaglebone, семейства raspberry pi и orange pi, asus tinker board). Кроме того, такое оборудование стоит недорого и может быть установлено в любом месте.
Методы наименьших квадратов: текст, написанный программистом для программистов
Итак, задача на сегодня: научиться простейшей обработке геометрии, чтобы, например, суметь преобразовать мою голову в истукана с острова Пасхи:

Значит, хотите запустить Windows 10 на калькуляторе? Ну ладно

HP Prime G2 под операционной системой Windows 10 IoT
О запуске Windows на стандартном калькуляторе можно было только мечтать до появления HP Prime G2. Ещё никогда на рынок не выходил калькулятор на таком мощном железе. И что ещё более важно, HP выбрала процессор ARMv7-A! В этой статье обсудим, как установить на устройство UEFI и ACPI.
Инкремент элементов вектора
Чтобы не рассуждать отвлечённо, рассмотрим две конкретные реализации:
void vector8_inc(std::vector<uint8_t>& v)
{
for (size_t i = 0; i < v.size(); i++)
{
v[i]++;
}
}
void vector32_inc(std::vector<uint32_t>& v)
{
for (size_t i = 0; i < v.size(); i++)
{
v[i]++;
}
}
Информация
- В рейтинге
- Не участвует
- Откуда
- Geghark'unik', Армения
- Зарегистрирован
- Активность