Search
Write a publication
Pull to refresh
14
0
Дмитрий Земсков @SADKO

Overqualified

Send message

Методы наименьших квадратов: текст, написанный программистом для программистов

Reading time19 min
Views38K
Продолжаю публикацию своих лекций, изначально предназначенных для студентов, учащихся по специальности «цифровая геология». На хабре это уже третья публикация из цикла, первая статья была вводной, она необязательна к прочтению. Однако же для понимания этой статьи необходимо прочитать введение в системы линейных уравнений даже в том случае, если вы знаете, что это такое, так как я буду много ссылаться на примеры из этого введения.

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


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

BlessRNG или проверяем ГСЧ на честность

Reading time10 min
Views12K


В геймдеве часто нужно что-нибудь завязать на рандоме: у Unity для этого есть свой Random, а параллельно с ним существует System.Random. Когда-то давно на одном из проектов сложилось впечатление, что оба могут работать по-разному (хотя должны иметь равномерное распределение).

Тогда в детали углубляться не стали — хватило того, что переход на System.Random исправил все проблемы. Сейчас решили разобраться подробнее и провести небольшое исследование: насколько «предвзяты» или предсказуемы ГСЧ, и какой выбрать. Тем более, я не раз слышал противоречивые мнения об их «честности» — попробуем разобраться, как реальные результаты соотносятся с заявленными.
Читать дальше →

Смотрим китайскую микросхему novatek NT78820

Reading time2 min
Views18K
Попала ко мне неисправная ТВ приставка для цифрового телевидения. В результате диагностики была выявлена микросхема, которая была неисправна и замыкала питающее её напряжение на землю.

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

Почему топовые физики не любят многомировую интерпретацию

Reading time7 min
Views53K

Последнее время из каждого утюга слышатся хвалебные высказывания о многомировой интерпретации квантовой механики и негативные в сторону Копенгагенской. Вот, например, относительно недавняя статья на Хабре. Приверженцев идей отцов-основателей (Нильса Бора, Вернера Гейзенберга, Пола Дирака, Вольфганга Паули) теперь считают динозаврами, отказывающимися принять современную (1957 год) многомировую трактовку.

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

Интеллектуальное реле управления вентилятором охлаждения двигателя

Reading time8 min
Views97K
Прочитав пост mrsom о пересадке микроконтроллерной начинки в ретротахометр от Жигулей, решил рассказать об одной своей давней микроконтроллерной разработке (2006 год), сделанной для плавного управления электровентилятором охлаждения двигателей переднеприводных моделей ВАЗа.

image

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

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

Reading time4 min
Views7K
В 2000 году профессор Пармского университета Анджело Фарина предложил оригинальный метод одновременного измерения импульсной характеристики и нелинейных искажений с помощью гармонического сигнала экспоненциально изменяющейся частоты (далее ESS – exponential sine sweep).

Для получения этих характеристик необходимо записать воздействие ESS-сигнала на испытуемое устройство и найти взаимную корреляционную функцию записанного сигнала с исходным ESS-сигналом, но промодулированным по амплитуде (подробнее об этом можно узнать в публикациях А.Фарина).
Читать дальше →

Эволюционирующие клеточные автоматы

Reading time22 min
Views38K


Соединим клеточные автоматы с генетическим алгоритмом и посмотрим, что из этого получится.

В статье присутствуют Gif (трафик!) и контрастные картинки. У эпилептиков может случиться эпилептический припадок.
Читать дальше →

Случайные поверхности скрывают в себе замысловатый порядок

Reading time5 min
Views7.9K

Математики доказали, что случайный процесс в применении к случайной поверхности неизменно порождает определённые закономерности



В оригинале статьи это трёхмерное изображение, которое можно покрутить

В фильме про поиски потерянного Ковчега Индиане Джонсу пришлось искать потайную комнату, скрывавшую легендарный Ковчег Завета. Для определения его точного местоположения Индиане нужно было найти особую карту, видимую только тогда, когда солнце светит через особый кристалл в определённой комнате в определённое время дня.

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

Sampler. Консольная утилита для визуализации результата любых shell команд

Reading time5 min
Views87K

В общем случае с помощью shell команды можно получить любую метрику, без написания кода и интеграций. А значит в консоли должен быть простой и удобный инструмент для визуализации.


Sampler


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


Код доступен на гитхабе. Инструкции по установке — для Linux, macOS и (экспериментально) Windows.

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

Создаю глобальную базу знаний по элементам питания

Reading time2 min
Views28K
Тестирую элементы питания на профессиональном оборудовании. Цель охватить большую часть рынка элементов питания Европы и России.

На данный момент протестированы более 230 аккумуляторов и батареек. Сделано более 1000 тестов. Израсходовано 4 ящика батареек и несколько месяцев жизни.

Результатом проделанной работы стала база знаний по аккумуляторам и батарейкам. Под катом рассказываю почему я решил создать базу знаний и как это было сделано.


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

Я нашёл отличного программиста по имени Стив Возняк

Reading time2 min
Views40K
Давным-давно, когда компьютеры были большими, а бизнес скучным, произошло нечто неожиданное. Молодые хакеры нашли способ собрать персональные компьютеры на дешёвых микропроцессорах от телетайпов и светофоров. Одним из них был Стив Возняк. Эти ребята восприняли ограничения своих компьютеров как вызов, сели и заставили эти крошечные чипы делать удивительные вещи. Вот что публиковал Dr Dobb's Journal в августе 1976 года:



Это набор арифметических процедур на действительных числах. Микропроцессор (6502, такой же, как в Apple I и II) мог работать только с байтами, то есть целыми числами между 0 и 255. Хуже того, он мог только складывать и вычитать их. Но с помощью этой библиотеки вы можете вычислить $1.2627-1099.56$, или даже взять квадратный корень из пи. Удивительно, но автор программы по имени Стив Возняк уместил основные функции (сложение, вычитание, умножение и деление) в 239 байт, используя всего 127 инструкций.
Читать дальше →

Разработка игры Breakout на Svelte

Reading time2 min
Views5.4K

На MDN есть туториал "2D игра на чистом JavaScript", в котором изучаются основы использования элемента HTML5 <canvas>.



В этом туториале мы повторим разработку этой игры на Svelte.

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

Найдено доказательство того, что все изменения являются смесью порядка и случайностей

Reading time7 min
Views7.5K

Все описания изменений представляют собой уникальную смесь случайностей и детерминизма, если верить радикальному доказательству «слабой гипотезы Пинскера»




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

Такова природа одного из самых радикальных доказательств, полученных за последние годы. Его сделал Тим Остин, математик из Калифорнийского университета в Лос-Анджелесе. Но вместо цветов работа Остина связана с одним из наиболее изученных объектов в математике: математическим описанием изменений.
Читать дальше →

Хакаем CAN шину авто. Виртуальная панель приборов

Reading time14 min
Views232K


В первой статье «Хакаем CAN шину авто для голосового управления» я подключался непосредственно к CAN шине Comfort в двери своего авто и исследовал пролетающий траффик, это позволило определить команды управления стеклоподъемниками, центральным замком и др.

В этой статье я расскажу как собрать свою уникальную виртуальную или цифровую панель приборов и получить данные с любых датчиков в автомобилях группы VAG (Volkswagen, Audi, Seat, Skoda).

Мною был собран новый CAN сниффер и CAN шилд для Raspberry Pi на базе модуля MCP2515 TJA1050 Niren, полученные с их помощью данные я применил в разработке цифровой панели приборов с использованием 7″ дисплея для Raspberry Pi. Помимо простого отображения информации цифровая панель реагирует на кнопки подрулевого переключателя и другие события в машине.

В качестве фреймворка для рисования приборов отлично подошел Kivy для Python. Работает без Иксов и для вывода графики использует GL.

  1. CAN сниффер из Arduino Uno
  2. Подслушиваем запросы с помощью диагностической системы VAG-COM (VCDS)
  3. Разработка панели приборов на основе Raspberry Pi и 7″ дисплея
  4. Софт панели приборов на Python и Kivy (UI framework)
  5. Видео работы цифровой панели приборов на базе Raspberry Pi

Под катом полная реализация проекта, будет интересно!

Предсказания от математиков. Разбираем основные методы обнаружения аномалий

Reading time15 min
Views27K
За рубежом все большую популярность набирает использование искусственного интеллекта в промышленности для предиктивного обслуживания (predictive maintenance) различных систем. Цель этой методики — определение неполадок в работе системы на этапе эксплуатации до выхода её из строя для своевременного реагирования.

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

Из этой статьи вы узнаете:

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

Источник
Читать дальше →

Математика, сообщающая клеткам, какими они должны быть

Reading time9 min
Views8.6K

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




В 1891 году, когда немецкий биолог Ханс Дриш разделил двухклеточный эмбрион морского ежа пополам, он обнаружил, что каждая из разделённых клеток в итоге выросла в полноценную, хотя и меньшую по размеру, личинку. Половинки каким-то образом «знали», как поменять программу развития: судя по всему, на этом этапе полные чертежи их развития ещё не были нарисованы (по крайней мере, не чернилами).

С тех пор учёные пытаются понять, как создаётся такой чертёж и насколько он детален. (Сам Дриш, раздосадованный тем, что не может найти ответ на этот вопрос, в отчаянии всплеснул руками и вообще перестал работать в этой области). Сейчас известно, что некая позиционная информация заставляет гены включаться и выключаться по всему эмбриону, и задаёт определённые роли клеткам на основании их местоположения. Однако кажется, что сигналы, переносящие эту информацию, колеблются сильно и хаотично – совсем не так, как можно было ожидать от важных инструкций.
Читать дальше →

Опытное производство электроники за минимальный прайс

Reading time10 min
Views59K
Привет, Хабр!

Почитал я некоторые ранее опубликованные статьи о том, как жить славному молодцу, перед которым встала задача спаять 10-50-100 устройств из резисторов и микросхем, и взгрустнул, ибо во всех в них советы были даны если не вредные, то и не сильно полезные.


А вот, например, совет держать включённый паяльник за ручку — полезный!

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

  • регулярно надо делать 5-10-50-100 плат с SMD-компонентами
  • по возможности быстро
  • по возможности дёшево

Если вы можете позволить себе — что по срокам, что по деньгам — услуги «Резонита» или «Компэла» (сотрудничающего, впрочем, с «Резонитом») по сборке модулей под ключ, то текст ниже в общем и целом не для вас. Однако, на практике даже в достаточно крупных компаниях люди, занимающиеся опытными образцами, часто собирают их сами — потому что это занимает пару дней вместо недели, потому что всегда можно на ходу что-то подправить, потому что не надо бегать между начальством и бухгалтерией со счетами и актами… В мелких же вопрос упирается попросту в деньги.

Тем более, что в наше время базовое оборудование, позволяющее делать подобные вещи достаточно быстро и достаточно дёшево, доступно даже любителю-одиночке.
Читать дальше →

Теория счастья. Случайности неслучайны?

Reading time20 min
Views52K
Продолжаю знакомить читателей Хабра с главами из своей книжки «Теория счастья» с подзаголовком «Математические основы законов подлости». Это ещё не изданная научно-популярная книжка, очень неформально рассказывающая о том, как математика позволяет с новой степенью осознанности взглянуть на мир и жизнь людей. Она для тех кому интересна наука и для тех, кому интересна жизнь. А поскольку жизнь наша сложна и, по большому счёту, непредсказуема, упор в книжке делается, в основном, на теорию вероятностей и математическую статистику. Здесь не доказываются теоремы и не даются основы науки, это ни в коем случае не учебник, а то, что называется recreational science. Но именно такой почти игровой подход позволяет развить интуицию, скрасить яркими примерами лекции для студентов и, наконец, объяснить нематематикам и нашим детям, что же такого интересного мы нашли в своей сухой науке.



В этой главе мы порассуждаем о предопределённости полёта монетки, о топографических картах, о математических катастрофах и о природе случайности. А по пути заглянем в такие разделы математики, как теория мер и теория динамического хаоса.
Читать дальше →

Стример из MiniDV-видеокамеры

Reading time4 min
Views16K
Иногда может захотеться странного. Вот вроде бы лежит себе видеокамера стандарта MiniDV и лежит. Есть не просит. А что если взять и записать на её кассеты вовсе даже не видео, а, скажем, файлы. Запись-то всё равно цифровая. Пусть объём кассеты всего лишь около 13 ГБ (под данные получилось занять около 9.5 ГБ), пусть скорость чтения 3.5 МБ в секунду, но ведь получится простой домашний стример. Так сказать, “стример для бедных”. Почему бы не отправить на несколько кассет, скажем, какие-либо важные файлы. Просто так, на всякий случай. Попробуем!
Читать дальше →

Вариационные автокодировщики: теория и рабочий код

Reading time11 min
Views19K


Вариационный автокодировщик (автоэнкодер) — это генеративная модель, которая учится отображать объекты в заданное скрытое пространство.

Когда-нибудь задавались вопросом, как работает модель вариационного автокодировщика (VAE)? Хотите знать, как VAE генерирует новые примеры, подобные набору данных, на котором он обучался? Прочитав эту статью, вы получите теоретическое представление о внутренней работе VAE, а также сможете реализовать его самостоятельно. Затем я покажу рабочий код VAE, обученный на наборе рукописных цифр, и мы немного повеселимся, генерируя новые цифры!
Читать дальше →

Information

Rating
6,302-nd
Location
Москва и Московская обл., Россия
Date of birth
Registered
Activity