Pull to refresh
100
0

Инженер

Send message

«Невозможный» аудиокодек для Sega MD

Level of difficultyHard
Reading time25 min
Views7.9K

Вступительный текст про легендарную консоль, вода, бла-бла-бла. Искрой для появления статьи послужил неожиданный факт: ЦАП мегадрайва способен воспроизводить звук с качеством 26 килогерц 8 бит. Что? Хочу такое! Но… Максимальный размер картриджа 4 Мб, этого хватит на 2.5 минуты такого звука, с распаковкой современных кодеков старый процессор не справится. Качество против количества. Нерешаемое противоречие, но если сильно хочется, то всё получается.
Читать дальше →
Total votes 67: ↑79 and ↓-12+91
Comments25

Как я чуть не стал миллионером, продавая воздух, или почему Россия – не Америка

Level of difficultyEasy
Reading time10 min
Views114K

Все знают, что Россия — энергетическая сверхдержава, она же – «разорванная в клочья Обамой бензоколонка». Но не все знают, как это может отражаться в области развития математического моделирования. Расскажу одну жизненную историю. 

Начну с далекого 2007 года. Довелось мне в те времена поработать на крупном заводе, который «эффективные менеджеры» как раз делили на несколько отдельных предприятий, каждое из которых крутилось, как могло.  В том цеху, который и стал одним из таких предприятий, на токарных станках могла крутиться (и крутилась!) металлическая болванка размером с автобус. А в печку для нагрева металла можно было затолкать паровоз. Целиком.  Когда я в первый раз увидел токарный станок, на котором крутится и обтачивается деталь размером с автобус, моему восторгу не было предела. Гордость за страну переполняла до состояния «в зобу дыханье сперло». А потом старожилы показали ту часть цеха, где стояли фундаменты таких же станков и пояснили:

- А вот тут были станки для точной обработки. Их продали китайцам по цене металлолома.

- А почему вот другие не продали?

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

Схема бизнеса был гениальна: Siemiens привозил на завод многотонные болванки, их неделями и месяцами обтачивали до состояния заготовок и увозили для чистовой обработки в Германию. Где уже выполняли чистовую доводку на точных и дорогих станках. Главные затраты при черновой обработке – это износ станков и инструмента, зарплата токаря и электроэнергия, необходимая для вращения тонн металла. Поскольку электроэнергия в РФ дешевле немецкой, недели обработки болванок с лихвой окупают транспортировку, а низкая точность обработки не требует дорогого обслуживания и мало чувствительна к износу еще советского оборудования.  В итоге весь бизнес заключался в «перепродаже» дешевой электроэнергии из РФ в Германию, но в виде металлических обточенных болванок. 

Читать далее
Total votes 293: ↑284 and ↓9+275
Comments301

Невидимая рука Super Metroid

Reading time26 min
Views22K
image

Этот анализ Super Metroid уже довольно долго лежал на моём сайте. После прочтения анализа дизайна подземелий Zelda, я понял, что стоит опубликовать свою статью на Gamasutra. Я предполагаю, что читатели в какой-то степени знакомы с франшизой Metroid или, по крайней мере, с играми жанра «метроидвания». Поэтому я пропущу ознакомительную часть и сосредоточусь на дизайне уровней и приёмах, которые использовали дизайнеры для того, чтобы направлять пользователя в игровом процессе, который кажется случайным, но на самом деле таким не является.

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

Во-первых, я хочу начать с определения того, что, как мне кажется, стало одним из ключевых психологических феноменов игрового процесса Metroid.
Читать дальше →
Total votes 28: ↑28 and ↓0+28
Comments11

Windows — причина медленного интернета

Level of difficultyEasy
Reading time4 min
Views102K

Если вы столкнулись с «особой» проблемой медленного интернета и никакие танцы с бубном вам не помогают, то это статья для вас.

Провайдер, роутер, интернет-кабели, rg-45, обжимка, cat5e, порты, драйвера, программы уменьшающие скорость, утилиты, вирусы, настройки сетевого адаптера — это не какие-то страшные слова, на самом деле это всё не причина замедления интернета. В случае, если вы прошли всю эту цепочку и ничего не изменилось, тогда читайте дальше.

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

Читать далее
Total votes 167: ↑161 and ↓6+155
Comments316

Первые новинки C++26: итоги летней встречи ISO

Reading time11 min
Views21K

На недавней встрече комитет C++ активно взялся за C++26. Уже есть первые новинки, которые нас будут ждать в готовящемся стандарте C++:

  • улучшенный static_assert,
  • переменная _,
  • оптимизация и улучшение для std::to_string,
  • Hazard Pointer,
  • Read-Copy-Update (так же известное как RCU),
  • native_handle(),
  • целая вереница классов *function*,
  • множество доработок по constexpr,
  • std::submdspan,
  • и прочие приятные мелочи.

Рассмотрим новинки на примерах
Total votes 66: ↑64 and ↓2+62
Comments119

Самый простой способ редактировать PDF

Reading time3 min
Views93K


История сложилась так, что в 80-е годы именно PostScript стал стандартом для цифровых документов, а из него появился «портативный» PDF. Вероятно, нам ещё долго придётся жить с этим наследием типографской индустрии 20 века.

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

Посмотрим, какие есть варианты для быстрого редактирования PDF с сохранением правок в цифровом виде.
Читать дальше →
Total votes 41: ↑38 and ↓3+35
Comments157

Всё, что вы НЕ хотели бы знать о сервисах онлайн знакомств… [много букОв и иллюстраций + регулярно дополняется]

Level of difficultyEasy
Reading time60 min
Views245K
Компьютерные сети изменили мир и подарили нам возможность не выбирать «меньшее из зол» из ограниченного числа сложившихся по жизни контактов, а найти по-настоящему любимого человека, даже если он прячется от нас на другом материке. Разумеется, мы можем отказаться от этой возможности и пойти по воспетому российской эстрадой садистско-мазохистскому сценарию «слепила из того, что было, а потом, что было, то и полюбила». И все будут только рады, если у нас всё получится. Но, если мы подведем статистику известных нам счастливых пар, сложившихся по этому сценарию, и трезво оценим вероятность успешного исхода, то, вероятно, путь поиска своего счастья в мировой паутине покажется нам более перспективным. И в этой статье я хочу рассказать вам о тех проблемах с которыми на этом пути можно столкнуться.
Читать дальше →
Total votes 293: ↑282 and ↓11+271
Comments770

Припой припою рознь, или Несколько слов о флюсах

Reading time7 min
Views38K

Общаясь сейчас со связистами на предмет «сообщите, кому какой припой нужен», получил достаточно типовой ответ — «хороший, чтобы всё паял». Углублённое обсуждение вопроса вынесло на поверхность несколько запомнившихся людям торговых марок — в первую очередь Asahi — но и только. Про флюсы и их различия сказано ничего не было.

Спектр задач по пайке при этом у связистов простирается от антенно-фидерного хозяйства (кабели, разъёмы), через аксессуары (зарядки, гарнитуры) и до ремонта собственно радиоаппаратуры (SMD-компоненты).

В связи с этим я не только провёл краткий ликбез и показал пару табличек, но и хочу написать про это здесь, чтобы потом было удобно давать ссылку :)

Итак: какие бывают флюсы в припоях, что лучше — ORL0 или ROM1 (я проверил гуглем, обе аббревиатуры на Хабре встречались 0 раз), где искать эту информацию и зачем вообще это надо.

Читать далее
Total votes 141: ↑133 and ↓8+125
Comments92

Грязные трюки разработчиков видеоигр

Reading time12 min
Views78K

Предыдущие части: раз, два, три.

Благодарим за игру!


В первой части Wing Commander при выходе из игры мы получали от нашего менеджера памяти EMM386 исключение. Экран очищался и на него выводилась единственная строка, что-то типа «Ошибка менеджера памяти EMM386. Бла-бла-бла».

Нам нужно было выпустить игру как можно быстрее, поэтому я отредактировал ошибку менеджера памяти в hex-редакторе, чтобы она выглядела как «Благодарим за то, что играли в Wing Commander».

— Кен Демарест

Читать дальше →
Total votes 88: ↑88 and ↓0+88
Comments55

Элементы языка С, которые являются неподдерживаемыми в языке С++

Reading time7 min
Views32K

Нижеприведенный список является моей небольшой коллекцией примеров кода на языке С, которые не являются корректными с точки зрения языка С++ или имеют какое-то специфичное именно для языка С поведение. (Именно в эту сторону: С код, являющийся некорректным с точки зрения С++.)

Этот материал я уже публиковал на другом ресурсе в менее причесанном виде, Я бы, наверное, поддался прокрастинации и никогда не собрался опубликовать эту коллекцию здесь, но из-за горизонта уже доносится стук копыт неумолимо приближающегося С23, который безжалостно принесет некоторые жемчужины моей коллекции в жертву богам С-С++ совместимости. Поэтому мне и пришлось встать с печи, пока они еще актуальны...

Разумеется, язык С имеет много существенных отличий от языка С++, т.е. не составит никакого труда привести примеры несовместимостей, основанные, скажем, на ключевых словах или других очевидных эксклюзивных свойствах С99. Таких примеров вы не найдете в списке ниже. Мой основной критерий для включения примеров в этот список заключался именно в том, что пример кода должен выглядеть на первый взгляд достаточно "невинно" для С++-наблюдателя, т.е. не содержать бросающихся в глаза С-эксклюзивов, но тем не менее являться специфичным именно для языка С.

Читать далее
Total votes 140: ↑139 and ↓1+138
Comments80

Водопровод в современной квартире

Reading time11 min
Views79K

Здравствуйте! Тема ремонта актуальна для всех и во все времена. Я занимаюсь монтажом сантехники и знаю, что разобраться с нуля в этом деле довольно сложно. Но чтобы проконтролировать качество работ надо хоть немного разбираться в сантехнике. Я в краткой форме освятил ключевые моменты на которые нужно обращать внимание. Надеюсь, это будет полезная статья.

Читать далее
Total votes 190: ↑173 and ↓17+156
Comments366

KiCad: скругление дорожек и создание каплевидных падов

Reading time11 min
Views13K

KiCad с годами стал намного лучше, но при этом ему по-прежнему недостаёт возможности рисовать плавные, закруглённые дорожки с каплевидными падами (teardrops). И хоть многие находят этот функционал не особо нужным, в его пользу существует ряд аргументов, которые и привели к реализации данного проекта, а именно двух плагинов — для скругления дорожек и формирования каплевидных подводов.
Читать дальше →
Total votes 80: ↑79 and ↓1+78
Comments32

Ссылки и ссылочные типы в C++

Level of difficultyMedium
Reading time47 min
Views113K

Продолжаем серию «C++, копаем вглубь». Цель этой серии — рассказать максимально подробно о разных особенностях языка, возможно довольно специальных. Это пятая статья из серии, список предыдущих статей приведен в конце в разделе 6. Серия ориентирована на программистов, имеющих определенный опыт работы на C++. Эта статья посвящена ссылкам и ссылочным типам в C++.


Термин «ссылка» широко используется и в обыденной жизни, в компьютерных и других науках и поэтому его смысл сильно зависит от контекста использования. В языках программирования под ссылкой понимают небольшой объект, главная задача которого обеспечить доступ к другому объекту, расположенному в другом месте, имеющему другой размер и т.д. Объекты ссылки удобно использовать на стеке, они легко копируются, что позволяет получить доступ к объекту, на который эта ссылка ссылается, из разных точек кода. В той или иной форме ссылки поддерживаются во всех языках программирования. В ряде языков программирования, таких как C#, Java, Pyton и многих других, ссылки, по существу, являются концептуальным ядром.



В C роль ссылок играют указатели, но работать с ними не очень удобно и в C++ появилась отдельная сущность — ссылка (reference). В C++11 ссылки получили дальнейшее развитие, появились rvalue-ссылки, универсальные (передаваемые) ссылки, которые играют ключевую роль в реализации семантики перемещения — одном из самых значительных нововведений C++11.



Итак, попробуем рассказать о ссылках в C++ максимально подробно.


Читать дальше →
Total votes 34: ↑34 and ↓0+34
Comments26

Латунирование, это просто

Reading time7 min
Views36K

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

Читать далее
Total votes 133: ↑131 and ↓2+129
Comments70

Как я восстановил данные после форматирования, создания разделов и установки системы на «не том» жестком диске

Reading time12 min
Views89K

Здесь будет история о том, как я восстановил файлы и каталоги с жёсткого диска, который превратился в неразмеченную область, был частично отформатирован, разбит на новые разделы, на один из которых и была установлена новая система Linux. Если вам всё ещё интересно, вэлком под кат.
Читать дальше →
Total votes 124: ↑120 and ↓4+116
Comments100

Щуп осциллографа. Устройство и принцип работы

Reading time9 min
Views43K

Эта статья для тех кто всегда хотел знать как устроен щуп осциллографа, но боялся спросить. Для тех кто начинает работать с осциллографом, а также для тех кто много лет работает, но никогда не хватало времени и сил для того, чтобы разобрать как устроен щуп(пробник) осциллографа на самом деле. Этот материал основан на статье Doug Ford «The secret world of oscilloscope probes» с некоторыми изменениями и дополнениями. В статье будут рассматриваться только пассивные щупы. Исследование работы будем проводить в популярном симуляторе электронных схем LTSpice. Разберем последовательно назначение и особенности каждого элемента, моделируя эквивалентные схемы начиная от простых вариантов и переходя к более реалистичным. Узнаем кто изобрёл и запатентовал первый прототип этого устройства в том виде в котором он используется сейчас. А также в конце рассмотрим как устроен реальный щуп фирмы Keysight(бывший Agilent) 10073C, вышедший из строя и давший согласие предоставить свои останки на благо научного прогресса.

Все кто работает в области электроники хоть раз сталкивался с измерением с помощью осциллографа. Существует много разновидностей пробников, в основном они делятся на активные и пассивные. Активные пробники могут быть самого разного устройства и назначения, и в этой статье не рассматриваются. Мы обратим внимание на наверное самый распространенный вариант пассивного пробника с коэффициентом деления равным 10 (либо с переключателем режимов 1 или 10) и входным сопротивлением 10 МОм с учетом входного сопротивления осциллографа 1 МОм. В комплекте осциллографа как правило имеется два таких щупа.

Читать далее
Total votes 83: ↑83 and ↓0+83
Comments33

Старый компьютер, Windows XP, 512 Мб оперативки, Firefox и интернет

Level of difficultyMedium
Reading time127 min
Views320K
Несмотря на пройденное время, многие по прежнему ещё пользуются Windows XP. Кто-то вынужден работать на этой ОС или обслуживать такие компьютеры, у кого-то может быть хобби восстановления старых ПК, некоторых полностью устраивает Windows XP или же из-за своих финансовых или прочих убеждений они не хотят менять старого верного «друга» на нового.
Эта статья, возможно поможет многим обладателям старых компьютеров открыть «второе дыхание» своим музейным экспонатам.

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

— Firefox
— Дополнения к браузеру
— Драйверы
— WindowsXP
— BIOS
— Советы по аппаратной части
Читать дальше →
Total votes 47: ↑38 and ↓9+29
Comments936

Мой MikroTik – моя цифровая крепость (часть 1)

Reading time10 min
Views115K
В статье рассмотрены различные подходы к организации практической безопасности сетей, построенных на оборудовании MikroTik, в том числе при помощи дополнительного открытого программного обеспечения, расширяющего имеющиеся штатные возможности, что в комплексе позволяет качественно администрировать сетевые средства, а также своевременно реагировать на различные угрозы информационной безопасности.
Читать дальше →
Total votes 91: ↑88 and ↓3+85
Comments101

Шрифты для графического дисплея? Это же очень просто

Reading time6 min
Views19K

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

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

Читать далее
Total votes 45: ↑45 and ↓0+45
Comments75

Information

Rating
Does not participate
Registered
Activity