Рубрика «ruvds_перевод» - 36

В чем именно был смысл [ “x$var”=“xval” ]? - 1

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

Печальная правда о пропуске копий в C++ - 1

Пропуск копий (copy elision) – это оптимизация компилятора, которая, как и следует из имени, устраняет лишние операции копирования и перемещения. Она аналогична классической оптимизации размножения копий, но выполняется конкретно для объектов C++, которые могут иметь нестандартные конструкторы копирования и перемещения. В этой статьей я продемонстрирую пример, в котором очевидная ожидаемая от компилятора оптимизация на практике не происходит. Читать полностью »

Свод правил по работе с целыми числами в C-C++ - 1


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

Умная крышка для мониторинга хлебной закваски - 1

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

Создание образа Мона Лизы в Игре «Жизнь» - 1


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

Таинство отбеливания пожелтевшего пластика - 1


Если вы являетесь участником сообщества ретро-геймеров или любителей ретро-компьютеров, то у вас наверняка есть винтажные устройства, которые под гнетом лет поблекли и начали желтеть. Вы также могли слышать о методике Retr0bright или даже смотреть различные видео от 8-bit Guy, посвященные этой теме. Но самая суть все равно остается для большинства людей скрыта. Почему пластик желтеет, и что именно происходит в процессе Retr0bright? Да и вообще, безопасно ли использование этой техники для коллекционных экземпляров? Читать полностью »

Осторожно! Впереди кроличья нора

Реверс-инжиниринг калькулятора с логикой -17В и частотой работы 200КГц - 1

Разбираем внутреннее устройство старого промышленного калькулятора Rockwell 920 и на аппаратно-программном уровне пытаемся отследить неисправность, из-за которой он не работает. Процесс оказывается не столь простым, как можно было предположить, и на пути возникает ряд «странностей».Читать полностью »

Модернизация токарного станка под работу с ЧПУ - 1

В нашей домашней мастерской есть токарный станок по металлу Jet GBH-1340A с устройством цифровой индикации (УЦИ). Мы давненько обсуждали возможность добавить к нему ЧПУ, потому что без компьютерного контроля некоторые виды деталей чрезвычайно сложно изготавливать с высокой точностью. Статья повествует о полученном в этом процессе опыте, включая допущенные ошибки и рекомендации по их избежанию, а также детально раскрывает весь процесс от начальной комплектации до получения готового результата. Читать полностью »

Linux — это отличная платформа для занятий программированием. На нашей стороне — логичность, высокая эффективность, лёгкость работы с исходным кодом.

В 2021 году Linux выглядит как никогда привлекательно. Я собираюсь написать материалы, в которых расскажу о 21 способе использования Linux. А в этой статье я хочу поговорить о том, почему так много программистов выбирают Linux.

Когда я начал пользоваться Linux, я работал в сфере кинопроизводства. Я выбрал Linux из-за того, что эта ОС замечательно поддерживала работу с мультимедийными данными. Мы выяснили, что обычные коммерческие приложения для редактирования видео не способны обрабатывать большинство тех записей, которые мы извлекали из практически любых устройств, оснащённых камерами. Тогда я не знал о том, что Linux имеет репутацию операционной системы, рассчитанной на серверы и на программистов. Чем больше задач я решал с помощью Linux, тем сильнее мне хотелось научиться управлять всеми свойствами этой ОС. В итоге я выяснил, что компьютер показывает всю свою мощь тогда, когда его пользователь способен «говорить» на его языке. Через несколько лет после перехода на Linux я уже писал скрипты для автоматического редактирования видео, для объединения аудиофайлов, для пакетного редактирования фотографий, и для решения любых задач, которые мне удавалось сформулировать, и для которых удавалось найти решение. Мне не потребовалось много времени на то, чтобы понять, почему программисты любят Linux. Но именно Linux научила меня любить программирование.

5 причин, по которым я люблю программировать в Linux - 1

Оказалось, что Linux — это отличная платформа для программистов, и для начинающих, и для опытных. Нельзя сказать, что Linux необходима для того, чтобы писать программы. Успешные разработчики пользуются самыми разными платформами. Но у Linux есть много такого, что она может предложить разработчикам. Кое о чём из этого я и хочу рассказать.
Читать полностью »

BASIC. Кроссплатформенное ПО тогда и сейчас - 1

Удивит ли вас, если я скажу, что BASIC все еще не утратил свою актуальность? Помимо того, что этот язык явился прародителем современных домашних вычислительных систем, он все еще остается жизнеспособным даже вне кругов ретро-энтузиастов. Предлагаем окунуться в краткий обзор истории его становления, начиная с азов и заканчивая современными реализациями.
Читать полностью »


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