Pull to refresh
11
0
Send message

Как айтишник гигантские арбузы в средней полосе выращивал. Часть 1

Level of difficultyEasy
Reading time8 min
Views25K

Хобби коллег очень многогранны. Сегодня расскажем об ИТ-шном подходе к выращиванию арбузов в регионе, где, казалось бы, нормально вызревать они не должны. Наш девопс, Игорь Иванов, объединил системный подход к сбору информации и комплектующие с AliExpress и из магазинов для садоводов, и уже не первый год собирает отличный урожай. 

Своеобразная “инструкцию для начинающих” получилась довольно объемной. Мы  разделили ее на две части: в первой автор разбирает теоретические основы, а во второй переходит к практике.

Осторожно, много фото!

Читать далее
Total votes 72: ↑71 and ↓1+84
Comments26

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

Reading time10 min
Views15K

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

Год назад в своей статье «Римские и средневековые доспехи. Что лучше?» в качестве одного из параметров сравнения я использовал ударную вязкость. Чтобы понимать, как работает связка свойств – твердость/ударная вязкость в доспехах, представьте себе пластилин и стекло. Если давить пальцем на стекло, то оно будет какое-то время сопротивляться вашему нажиму, но с определенного уровня – трескаться и рассыпаться. Пластилин, напротив, будет тянуться, не давая проникнуть «за». Для доспехов в идеале должны работать оба свойства, но поскольку они противоположны, то на практике нужен компромисс.

Готовы?
Total votes 101: ↑96 and ↓5+121
Comments25

Полезен ли сегодня быстрый обратный квадратный корень из Quake III?

Reading time23 min
Views73K

В 2005 году id Software опубликовала под лицензией GPL-2 исходный код своей игры 1999 года Quake III Arena. В файле code/game/q_math.c есть функция для вычисления обратного квадратного корня числа, которая на первый взгляд выглядит очень любопытным алгоритмом:

float Q_rsqrt( float number )
{
    long i;
    float x2, y;
    const float threehalfs = 1.5F;

    x2 = number * 0.5F;
    y  = number;
    i  = * ( long * ) &y;                       // зловещий хакинг чисел с плавающей запятой на уровне битов
    i  = 0x5f3759df - ( i >> 1 );               // какого чёрта?
    y  = * ( float * ) &i;
    y  = y * ( threehalfs - ( x2 * y * y ) );   // первая итерация
//  y  = y * ( threehalfs - ( x2 * y * y ) );   // вторая итерация, можно удалить

    return y;
}

Об этом алгоритме написано множество статей, и ему посвящена хорошая страница Википедии, где он назван fast inverse square root (быстрым обратным квадратным корнем). На самом деле, этот алгоритм упоминался на различных форумах ещё до публикации исходного кода Q3. Ryszard из Beyond3D провёл в 2004-2005 годах исследование и в конечном итоге выяснил, что первоначальным автором алгоритма был Грег Уолш из Ardent Computer, который создал его десятью годами ранее.
Читать дальше →
Total votes 148: ↑146 and ↓2+191
Comments52

DIY наушники: реализация мониторного звука

Level of difficultyHard
Reading time7 min
Views16K

О том, как получился магнитопланарный драйвер для наушников с высокой линейностью и быстрым затуханием импульсной характеристики, а также - как и почему это работает. Для подготовленных читателей, уже ознакомленных с предыдущими статьями 1, 2. Ссылка на исходники для сборки в конце статьи.

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

Дампер картриджей для Денди/Famicom

Level of difficultyHard
Reading time20 min
Views21K
Восемь лет назад я уже писал статью о том, как я делал простенький дампер (устройство для чтения картриджей) для Денди/Famicom. Думаю, пора рассказать о том, как этот проект преобразился спустя эти годы вместе с ростом моих скиллов.


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

Linux на esp32s3

Level of difficultyMedium
Reading time12 min
Views27K

Вопрос о том, можно ли загрузить линукс на микроконтроллерах Espressif я
впервые услышал в 2015, в период бума esp8266. Тогда мой ответ на него
был: "нет, не это ядро и не на этом железе". Но прошло 8 лет и ответ
изменился на "да, и у меня есть рабочий пример". Дальше рассказ о том,
как это произошло.

Читать далее
Total votes 120: ↑119 and ↓1+148
Comments21

Тестирование блоков питания. Часть 1. Методическая

Reading time16 min
Views16K
При производстве разнообразных электронных устройств проектирование, тестирование и разработка блоков питания для них зачастую уходит разнообразным подрядчикам в Китае, т.к. именно при таком варианте себестоимость блока питания получается значительно ниже и общая выгода от такого решения очевидна. Но при таком раскладе возникает вопрос — как же проконтролировать качество, как оценить ключевые характеристики и как быстро протестировать целую массу всевозможных демо-образцов с самых разнообразных заводов.

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

Всем интересующимся — добро пожаловать под кат!
image
Читать дальше →
Total votes 37: ↑37 and ↓0+37
Comments24

1-Wire датчик QT18B20 — долгожданный аналог DS18B20 или очередная подделка? Исследуем в лаборатории

Reading time10 min
Views23K

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

Но есть нюанс — DS18B20 часто подделывают, что заставляет проверять каждую купленную партию на оригинальность. И вот однажды нам попалась не просто очередная подделка, а почти настоящий аналог со своим даташитом. Почему «почти»? Подробности под катом.

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

Умный дом на Home Assistant с дополнениями (Zigbee2MQTT,Portainer...) на любом пк

Level of difficultyEasy
Reading time11 min
Views71K

В данной статье мы затронем установку Home Assistant с некоторыми аддонами как на поддерживаемые, так и на не поддерживаемые официально системы (32 бит).

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

Преимущества Home Assistant перед системами умных домов других производителей (Xiaomi,Tuya, и др.) заключается в возможности использовать устройства разных производителей с разными типами подключения (WiFi, MQTT, Zigbee, Bluetooth) без привязки к экосистеме определенного производителя.

Читать далее
Total votes 10: ↑9 and ↓1+10
Comments34

Безграничные возможности FFmpeg на примерах

Level of difficultyEasy
Reading time12 min
Views57K

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

FFmpeg объединяет более 300 видео/аудио/графических кодеков, декордеров, муксеров, демуксеров и фильтров. Благодаря ему вы можете написать собственный видеоплеер в тысячу строчек кода, не разбираясь с кишочками видеообработки.

Это «движок» почти всех современных инструментов для обработки/сжатия/редактирования видео. Они просто предлагают графический интерфейс с кнопками, а ffmpeg делает реальную работу.
Читать дальше →
Total votes 101: ↑98 and ↓3+127
Comments84

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

Level of difficultyMedium
Reading time11 min
Views7.3K

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

Как раз про решение одной из типовых задач - задачи определения остаточного ресурса я и рассказывал на конференции https://datastart.ru в ноябре 2022 года, а также на митапе ИИшницы “ИИ в индустрии”, откуда даже сохранилось видео. В этом посте я соберу, структурирую и немного дополню информацию из докладов.

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

Конструктор для взрослых…

Reading time10 min
Views131K

...и не только!

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

В этой статье я познакомлю вас с этим простым, но очень функциональным изобретением.

Читать далее
Total votes 168: ↑162 and ↓6+190
Comments257

Как запустить Doom на УАЗ Буханке 2022

Reading time11 min
Views73K

Прошедший 2022 год сильно повлиял на отечественных автопроизводителей. Появились антикризисные комплектации (а остальные исчезли). Произошли откаты на старые экологические нормы, вплоть до евро-2. Кто-то прогнозировал возврат к карбюраторным двигателям, чего, к счастью, не случилось. Люди в шапочках из фольги особенно рады, что из отечественных машин исчезла система ЭРА-Глонасс. Глупцы, она стала ненужной, потому что всех уже чипировали через вакцину.

Мы же продолжали пилить RusEFI - свой ЭБУ с преферансом, барышнями, открытым программным кодом и открытыми аппаратными реализациями.

Читать далее
Total votes 155: ↑149 and ↓6+182
Comments216

Что делать, когда выпускник топ-10 мирового вуза не может спроектировать блок сложения A+B

Reading time5 min
Views121K

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

Когда я вижу у недавнего выпускника в резюме какой-то из протоколов в котором используется valid/ready, например AXI или AHB, я прошу его спроектировать блок, у которого на входе два числа A и B, а на выходе их сумма. Разумеется не просто написать SUM=A+B, а еще и поставить valid/ready сигналы на каждый из A, B, SUM, чтобы A и B могли приходить в разное время, а также чтобы блок ждал, если SUM не может быть передана другому блоку сразу.

Некоторые не справляются. Грустно смотреть на человека, который потратил 6 лет своей жизни (4 года в бакалавриате и 2 года в магистратуре) и океан денег на образование - и не может сложить два числа и бьется как угорь на сковородке. То блок не работает когда числа приходят в разное время, то создатель забывает снять valid, и блок на 2+2 выдает не 4, а 4-4-4-4-4-4-4... То числа складываются не попарно, а просто записываются в регистры и на выход идет их текущая сумма, хотя количество аргументов A и B не совпадает. То не отрабатывается backpressure и результаты теряются, то (после того как кандидат написал страницу кода на верилоге) блок работает на половинной производительности, то есть не может принимать поток чисел подряд, а ожидает между ними пропуски (gaps). Короче ведет себя как ChatGPT.

Как же прокачаться чтобы такого не было?
Total votes 109: ↑97 and ↓12+111
Comments222

Датировка звукозаписи по гулу в энергосети

Reading time4 min
Views14K

Сравнение колебания частоты тока в целевом сигнале (target) и референсной базе данных (ref) относительно несущей частоты 50 Гц с помощью программы enf-matching, источник

В современную эпоху очень важно иметь инструменты, которые позволяют точно верифицировать аудио/видеозапись, выявить следы монтажа и поставить точную метку времени.

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

Речь о специфическом гудении энергосети в виде электрического шума, который всегда записывается на аудиодорожку.
Читать дальше →
Total votes 61: ↑59 and ↓2+77
Comments54

Обратная разработка XC2064 — первой микросхемы FPGA

Reading time17 min
Views12K
Программируемая Логическая Интегральная Схема (ПЛИС) может реализовать произвольную логику, что угодно, от микропроцессора до генератора видеосигнала или майнера криптовалюты. ПЛИС состоит из множества логических блоков, каждый из которых обычно состоит из триггера и логической функции, а также из сети проводников, соединяющей логические блоки. Что делает ПЛИС особенной, это то, что она является программируемым аппаратным обеспечением, вы можете сконфигурировать каждый логический блок и соединения между ними. В результате вы можете построить сложную цифровую схему без физического соединения каждого логического элемента и триггера, что обошлось бы вам в стоимость разработки заказной интегральной схемы.


Фотография показывает один из 64 блоков микросхемы XC2064. Слои металлизации убраны, мы видим кремний и поликремниевые транзисторы, лежащие под металлизацией. По ссылке вы можете увидеть фото в большем масштабе: siliconpr0n.
Читать дальше →
Total votes 63: ↑63 and ↓0+63
Comments24

Как вырвать нерв из головы и остаться без лица: почему так дорого рвать «коренной» зуб

Reading time8 min
Views42K
80 тысяч за удаление зуба — а не охренели ли мы в край? Примерно такой комментарий был в одном из прошлых постов. Показываю, почему некоторые зубы такие дорогие.

Нервов у нас в районе головы столько, что в них могут быть подло понатыканы другие органы, обычно растущие в других местах. Вот типичный случай, когда пациентка осталась бы инвалидом на всю жизнь в какой-нибудь маленькой региональной клинике с вырыванием зубов без предварительного КТ:


Видите зуб-восьмёрку и тоненькую чёрточку под ним? Это так называемый коренной зуб и нерв. Точнее, это их рентген-тени.

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

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

И вот в этот момент на сцене появляюсь я со своими лезвиями и начинаю мило улыбаться. Потому что есть целых три инженерных подхода.
Читать дальше →
Total votes 80: ↑72 and ↓8+87
Comments138

Аппаратный ЭЛТ-фильтр для картинок

Reading time10 min
Views12K

Всю мою жизнь мне нравятся средства отображения информации — в виде электронно-лучевых трубок. В них есть определённый романтизм и шарм. Недаром их часто используют в иллюстрациях к фильмам антиутопиям. 

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

Как вы понимаете, этот проект — самый эпичный долгострой в моей жизни, раз я задумал его ещё в конце 2000-х. Где-то примерно в году 2015 он работал для друзей, и даже в 2016 году он ездил на Chaos Construction. Но это всё было не то, интерфейсы не те. И вот, наконец проект завершён, и может быть показан широкому зрителю.

А прежде, чем вы залезете под кат, можно сразу попробовать отфильтровать картинку — достаточно просто зайти в мой телеграмм бот

Поехали, ниже много аппаратной жести.
Читать дальше →
Total votes 87: ↑86 and ↓1+115
Comments33

Зачем серебрить провода? (часть 1)

Reading time10 min
Views30K

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

Здесь я опишу, зачем на самом деле покрывать проводники серебром и золотом. А в следующей публикации -- как это сделать в домашних условиях.

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

Что может сделать злоумышленник зная пароль от Госуслуг

Reading time5 min
Views107K

На днях один мой знакомый получил звонок от работника ФНС с целью уточнить некоторые данные по декларации 3-НДФЛ на возврат бюджетных денег за лечение. Удивлению не было предела: мало того, что декларацию эту он не подавал (!) так и возврат уже был проверен и одобрен (!!), возврат средств предполагался на неведомый счёт в МТС-банке на его имя (!!!), нужно было лишь уточнить сущие пустяки. Небольшая, но поучительная история.

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

Information

Rating
Does not participate
Location
Долгопрудный, Москва и Московская обл., Россия
Registered
Activity