Pull to refresh
4
0
Юрай Нескажу @juray

Технарь широкого профиля

Send message

Post-mortem отладка на Cortex-M

Reading time7 min
Views5.4K

Post-mortem отладка на Cortex-M



Предыстория:


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


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


На соплях был прикручен отладочный UART, в который я стал выводить логи. Стало легче, часть проблем решилась. Но потом случился assert и все завертелось.

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

Витамин Д. Пить или не пить, вот в чем вопрос. (Или рассказ о том, как я сдавал анализ, который мне не назначали)

Reading time7 min
Views448K

Предыстория


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



Читать дальше →
Total votes 90: ↑71 and ↓19+52
Comments238

Как мы искали необычный туризм в России, и какие приключения вообще бывают

Reading time7 min
Views25K

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

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

Например, вы знали, что около Грозного есть Российский университет спецназа, и можно поехать туда учиться базовой стрелковой подготовке, вождению внедорожного багги и просто пробовать местную кухню? Но строго без алкоголя. Или вот что можно отправить ребёнка на Северный полюс в пешей экспедиции, которые уже больше 10 лет водит полярник Матвей Шпаро? Или что можно поехать в Москву, попасть на секретный уровень Сокольников и пообниматься там в питомнике с хаски, которые катали иностранцев на нартах к Чемпионату мира? Поспасать манекен в горах со спасателями?

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

И мы сделали сервис, где начали собирать их всех.
Читать дальше →
Total votes 49: ↑44 and ↓5+39
Comments24

О простых вещах-сложно. Возвращаем девочке птицелет или RTFM по определению пластмасс в домашних условиях

Reading time17 min
Views39K

Посвящается моей дорогой маме, по совместительству лучшему эксперту в раздельной сортировке пластмасс...


Если, дорогой читатель, у тебя никогда в жизни не возникал вопрос "что, черт побери, это за пластмасса такая?", то можешь статью не читать :) Вниманию же всех остальных — очередная статья из серии "положи в закладки!". Сегодня у нас тема — "Определение пластмасс в домашних условиях" и я продолжаю wikipedia-ровать Хабр полезной информацией, которая осталась у меня после выполнения моих научно-технических проектов. Сегодня под кат смело могут идти экологи, биотехнологи, мастера полимерных производств, инженеры по переработке пластмасс и все, кому приходилось сортировать пластики, клеить пластики, паять пластики — автолюбители, самодельщики и прочие заинтересованные лица. Традиционно — минимум FUN-а, максимум информации, полнее русскоязычную мануалку по пластикам просто не найти, "я гарантирую это" :)


… И наконец-то руки дошли вспомнить советский детский роман 1966 года, в котором практических рекомендаций ребенку "которому нравится химия" гораздо больше чем в современных белорусских учебниках химии вместе взятых.


Читать дальше →
Total votes 104: ↑102 and ↓2+100
Comments176

Соскучились по КПК?

Reading time2 min
Views33K
Сделайте его сами!



Устройство выполнено на микроконтроллере STM32F4 и работает под управлением специально разработанной для него ОС. Приложения для неё можно писать на скриптовом языке и помещать на карту памяти. В режиме ожидания зарядки хватает примерно на пять дней, при включённом дисплее с яркостью подсветки в 60% — более чем на шесть часов.

В ПО применены сторонние наработки под лицензией MIT, готовый результат выложен под ней же. Если вы всё ещё не уверены, что вам нужен такой гаджет, поменяйте своё мнение на противоположное, воспользовавшись симулятором (требует WebAssembly, у переводчика заработало):



Да, а ещё у него нет даже намёка на безрамочность.
Читать дальше →
Total votes 66: ↑65 and ↓1+64
Comments71

Реализация «Тетриса» в игре «Жизнь»

Reading time39 min
Views38K
То, что начиналось как приключение, закончилось одиссеей.

image

Задача по созданию тетрис-процессора размером 2 940 928 x 10 295 296


Этот проект стал кульминацией труда множества пользователей в течение последних полутора лет. Хотя состав команды со временем менялся, в написании этой статьи принимали участие следующие авторы:

  • PhiNotPi
  • El'endia Starman
  • K Zhang
  • Muddyfish
  • Kritixi Lithos
  • Mego
  • Quartata

Также мы хотим поблагодарить 7H3_H4CK3R, Conor O'Brien и многих других пользователей, вложивших свои труд в решение этой задачи.

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

Стоит также заглянуть в GitHub нашей организации, в котором мы выложили весь код, написанный для решения задачи. Вопросы можно задавать в нашем чате разработки.
Читать дальше →
Total votes 166: ↑166 and ↓0+166
Comments47

Коренные микробы на пике моды

Reading time9 min
Views3.4K
Indibiome – is the new black (что-то очень стильное) — так называется статья на английском (ссылка на Хабр), здесь приводится перевод моего собственного текста.

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

Indibiome обсуждается в моей предыдущей статье на русском языке (ссылка). indibiome это коренной микробиом, возник от термина «коренные народы», термин используется ниже в значении «присущ некой среде, локализован и оптимизирован для устойчивого существования».

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

Читать дальше →
Total votes 18: ↑14 and ↓4+10
Comments4

Когнитивное выпрямление: сеанс иллюзий с полным разоблачением

Reading time8 min
Views31K


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

Обычно искажению предшествуют переизбыток информации, сложность понимания, необходимость быстрого реагирования или ограничения нашей памяти. Но наиболее частой причиной являются особенности человеческого мышления. Один из самых интересных видов ошибок — оптические иллюзии. Сегодня поговорим именно об этом, поскольку визуальные иллюзии лучше всего демонстрируют способы создания мозгом внутри себя ощущение реальности. Изучая эти механизмы, мы лучше пониманием, как сделать неотличимый от физического виртуальный мир.
Total votes 72: ↑70 and ↓2+68
Comments36

Советы по организации работы c Git

Reading time4 min
Views19K
Как обычно используют git? Пара базовых команд, чтобы «всех синхронизировать». Разочарование от git часто возникает у тех, кто никогда не выходит за пределы этого поверхностного понимания. Однако освоение git наверняка окупится. Сколько времени вы тратите на использование git? Я бы предположил, что на вашем поясе немало инструментов, которые вы используете вдвое реже и потратили вдвое больше времени на изучение.


Читать дальше →
Total votes 47: ↑27 and ↓20+7
Comments17

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

Reading time14 min
Views221K


В первой статье «Хакаем 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

Под катом полная реализация проекта, будет интересно!
Total votes 195: ↑192 and ↓3+189
Comments224

Разгон подсветки монитора

Reading time6 min
Views30K
Оверклокинг процессора или памяти — это понятно, но зачем разгонять подсветку монитора?



Речь пойдёт о стареньком 23-дюймовом Samsung SyncMaster BX2340 (выпущен в январе 2011) со светодиодной подсветкой. Со временем стал замечать, что работать за ним утомительно, а сосредоточиться всё сложнее. И даже не только работать, просто читать, например. Сам монитор остался тот же, но мне стало труднее. А за другими экранами работалось вполне нормально.
Может выкинуть его, и купить новый?
Total votes 61: ↑60 and ↓1+59
Comments76

Искусственный интеллект улучшает качество графики старых видеоигр и делает это действительно хорошо

Reading time3 min
Views45K


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

Технология, о которой идет речь, получила название “AI upscaling”. Все просто, как часы: алгоритму «скармливается» изображение из игры низкого разрешения, и чуть позже ИИ выдает улучшенную версию этого экземпляра. Конечно, в начале работы необходимо обучить нейросеть, иначе никакого улучшения не будет. Но после обучения ИИ демонстрирует весьма интересные результаты работы.
Total votes 49: ↑40 and ↓9+31
Comments46

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

Reading time8 min
Views75K

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

На проводимой в этом году Game Developers Conference выступили два разработчика игр, способные написать новую главу романа-антиутопии о будущем: они рассказали историю о том, как заработали деньги, позволив делать всю работу роботам. В их случае этой работой была процедурная генерация игр для смартфонов.

Участие в обычном гейм-джеме привело к созданию машины обработки данных, которой в результате удалось заработать приличную сумму: 50 тысяч долларов за два с лишним года. Спустя годы, имея на руках данные (и деньги), разработчики этой машины по изготовлению игр, которая создавала только «мусорные» слот-автоматы с моделью free-to-play, использовали GDC как трибуну, чтобы подать тревожный сигнал индустрии, в которой «правильное» поведение часто ограничивается вниманием к игрокам, заискиванием перед издателями и сбором положительных обзоров критиков. В случае этих разработчиков нарушение всех этих правил привёл к слишком успешным результатам, вызвав у них сильный дискомфорт.

Побеждаем в «гонке ко дну»


Вернёмся в 2013 год: в то время два разработчика видеоигр уже несколько лет пытались добиться успеха на растущем рынке мобильных игр. Один из них, Алекс Шварц, помогал в создании качественной мобильной игры Jack Lumber. (В прошлой жизни я даже написал о ней хороший отзыв в уже несуществующем журнале The Daily, работавшем только на планшетах.) Второй, Зиба Скотт, разработал приятную мобильную головоломку Girls Like Robots.

Обе игры использовали модель «заплати один раз» без микротранзакций. Обе получили награды, известность, хорошие отзывы на выставках и обрели издателей. Обеим не удалось добиться успеха.
Читать дальше →
Total votes 125: ↑123 and ↓2+121
Comments63

Система управления умным домом на коленке: Tarantool

Reading time25 min
Views27K
Интернет вещей врывается в нашу жизнь. Где-то совсем незаметно, где-то распихивая существующие порядки с изяществом паровоза. Всё больше устройств подключаются к сети, и всё больше становится разных приложений, веб-панелей, систем управления, которые привязаны к конкретному производителю, или, что еще хуже — к конкретному устройству.

Но что делать тем, кто не хочет мириться с таким состоянием, и хочет одно кольцо один интерфейс, чтобы править всеми? Конечно же, написать его самим!



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

Что такое Tarantool? Это связка «сервер приложений — база данных». Можно использовать её как базу данных с хранимыми процедурами, а можно как сервер приложений со встроенной базой данных. Вся внутренняя логика, будь она пользовательской или в виде хранимых процедур, пишется на Lua. Благодаря использованию LuaJIT, а не обычного интерпретатора, в скорости она не сильно уступает нативному коду.

Еще один важный фактор — Tarantool это noSQL база данных. Это означает, что вместо традиционных запросов вроде «SELECT… WHERE» вы управляете данными напрямую: пишете процедуру, которая переберет все данные (или их часть) и выдаст вам их. В версии 2.x поддержку SQL-запросов добавили, но панацеей они не являются — для высокой производительности часто важно понимать, как именно исполняется тот или иной запрос, а не отдавать это на откуп разработчикам.

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

Поехали!
Total votes 36: ↑35 and ↓1+34
Comments30

Умная «Квартира»

Reading time7 min
Views65K
Всем привет! Наконец-таки подошел к концу капитальный ремонт в квартире, и в связи с этим хочу поделиться с Вами, реализованным проектом «Умной квартиры» с базовыми возможностями управления освещением, подогревом теплых полов, контроля температуры и влажности помещений, и прочими плюшками. Описательная часть будет выполнена в виде мануала (так проще излагать что ли).

image
Читать, если интересно!
Total votes 42: ↑40 and ↓2+38
Comments91

«Умный дом» — переосмысление

Reading time10 min
Views59K
На Хабре уже было несколько публикаций о том, как айтишники строят себе дома и что из этого получается.

Хочу поделиться своим опытом («тестовый проект»).

Постройка собственного дома (особенно, если еще и своими силами) — крайне объемный кусок информации, поэтому я свое повествование буду вести больше про ИТ-системы (мы же все-таки сейчас на Хабре, а не на ФХ, хотя там тема тоже есть).
Читать дальше →
Total votes 50: ↑48 and ↓2+46
Comments193

Игровая механика: давайте разберём ядро игры по косточкам

Reading time11 min
Views115K
Термин «игровая механика» имеет много значений, но сегодня я буду говорить об игровой механике как об абстракции, определяющей состояние игры. Очень упрощённо это выглядит вот так:



Есть только два фактора, которые определяют любое текущее состояние игры: механика (правила) и игроки своими действиями.

Уровень ядра


Такт 1: определение состояния
Всегда есть некое текущее состояние системы (например, начало хода). Оно определяется на первом такте инициализирующей последовательностью, когда игроки «загружают» игру, раскладывая поле, выбирая фишки, распределяя начальные ресурсы и так далее. Затем оно меняется в зависимости от происходящего в игре.
Читать дальше →
Total votes 60: ↑56 and ↓4+52
Comments18

А в вашей жизни были приключения интереснее, чем в компьютерных играх?

Reading time6 min
Views57K
Наш ветвер на низком уровне не отличает собственный живой опыт от выдумки. То есть того, что мы видим в играх, фильмах и книгах. Мозгу всё равно. Что случилось в последней игре — так же легло в копилку опыта, как и то, что случилось вчера в офисе. Благодаря развитию IT и своему воображению, мы можем от первого лица переживать опыт, который никогда нельзя испытать в реальности.

Проиллюстрирую рядом воспоминаний. Вспомните траву под ветром в Сталкере и пробежку до 4-го энергоблока под переговоры военных; финальные диалоги с Элизбет из Биошока; многоэтажный остров Хэнша из Deus Ex; практически все первые впечатления от колоний Mass Effect; перестройку сознания в «Трассе-60»; концовку первой книги «Ведьмака». И так далее.



Возможно, почти каждый из нас был в сотнях миров Гипериона, наблюдал за дисфункцией реальности и шел к Нижнему Краю на «Внеполосном». Мы вместе ходили с Морриган в самоубийственную атаку на дракона; вместе спасали друзей в Far Cry; вылетали на террор сектоидов в Лиме и ехали вместе с Каином в такси в V:tM.

Это и многое другое рождает парадокс suspension of disbelief — приостановку неверия.
Читать дальше →
Total votes 154: ↑148 and ↓6+142
Comments435

Любительская голография — начало пути

Reading time13 min
Views60K
Вторая часть про галогенсеребряные фотоматериалы.

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


Total votes 149: ↑149 and ↓0+149
Comments127

Serial, UART и Android, как связь с микроконтроллерами

Reading time3 min
Views17K
image

Наши испытуемые:


Планшет на Android 4.1.1 “DNS AirTab M101w” и следующие устройства:
1. Плата Tiva C Series TM4C123G LaunchPad
2. Плата Stellaris LaunchPad EK-LM4F120XL
3. Плата Arduino MEGA 2560
4. Плата MSP430 LaunchPad, M430G2553

И сейчас мы будем по очерёдности подключать все эти платы через USB OTG к планшету и пытаться установить с ними связь не прибегая к root доступу.
Читать дальше →
Total votes 15: ↑12 and ↓3+9
Comments2

Information

Rating
Does not participate
Location
Ростов-на-Дону, Ростовская обл., Россия
Date of birth
Registered
Activity