Как стать автором
Обновить
4
0.2

Пользователь

Отправить сообщение

Минимизация файла ELF – попробуем в 2021?

Время на прочтение18 мин
Количество просмотров10K

Экспериментальный проект по максимальному уменьшению ELF-файла с программой Hello, World! под целевую систему Linux x64 с помощью NASM. В предыдущем опыте начала 2000-х удалось добиться размера рабочего файла в 45 байтов, но с тех пор ядро сильно изменилось. Каков же будет минимальный жизнеспособный ELF в 2021?
Читать дальше →
Всего голосов 51: ↑50 и ↓1+77
Комментарии10

Распознаём позу прямо в браузере в реальном времени

Время на прочтение9 мин
Количество просмотров7.1K


Сегодня показываем и рассказываем, как прямо в браузере при помощи ИИ распознать сложную позу человека. Это пригодится, например, в разработке приложений для физических упражнений. Ранее с этой задачей не справлялись даже лучшие детекторы. За подробностями приглащаем под кат, пока у нас начинается флагманский курс Data Science.
Читать дальше →
Всего голосов 8: ↑7 и ↓1+6
Комментарии3

Здоровый сон взрослого человека — это засыпать за 15 минут и не вставать ночью попить и пописать

Время на прочтение13 мин
Количество просмотров164K


Послушала на днях 2х-часовое выступление «Здоровый сон» врача-невролога, сомнолога Елены Царевой. Выдернула самые важные для себя пункты:

  1. Спать регулярно, ложиться и вставать в одно и то же время — самое важное. 
  2. Биоритмы — частично наследуются, частично регулируются стилем жизни. На них можно влиять самому.
  3. Нормальное время отхода ко сну около 22:00. Сова и жаворонок — это отклонение на ±1-2 часа. Больше — это нарушение и сдвиг фазы сна, чаще из-за внешних раздражителей.
  4. Самая частая причина плохого сна и тяжелого засыпания — неправильный свет.
  5. Для сдвига режима на 1 час организму нужен 1 день на адаптацию.
  6. Невозможно «доспать» бессонную ночь. Досыпание устраняет только 30% последствий недосыпа.
  7. Прежде, чем искать причины плохого сна, исключите психологические проблемы (тревожность, депрессию), нарушения щитовидки, дефицит железа, диабеты, сердечно-сосудистые заболевания и патологию почек и мочеполовой системы.
  8. Водителям и пассажирам: 17 часов без сна равны 0,5 промилле, 21 час без сна — 0,8 промилле.
  9. В постели без сна больше 15 минут не находиться — совет при бессоннице. 
  10. Самые физиологичные будильники — те, что светятся. 

Под катом конспект 2х-часового выступления про сон на 15 минут чтения. Еще один поинт в копилку полезных материалов про сон — Sleep Hackers.
Читать дальше →
Всего голосов 139: ↑119 и ↓20+126
Комментарии247

От неживой природы до интеллекта: сознание как этап эволюции материи

Время на прочтение12 мин
Количество просмотров15K
Говоря о человеке в значении личность, подразумевается некая статичная фигура, абстрактный слепок с какими-то определёнными характеристиками, составленными из качеств и параметров, условно, смелость — по шкале от труса до бесстрашного, ум по шкале от дурака до гения, трудолюбие по шкале от бездельника до трудоголика etc. В реальности, составить такую абстрактную схему личности невозможно: абсолютно все качества человека — контекстозависимые.

Отношения личности и человека, которому она принадлежит, можно описать языком корпускулярно-волнового дуализма: тело человека — материя, набор частиц, личность — их поведение, волна.


Квантовая неопределённость — одна из самых интересных проблем современной физики, привлекающая не столько тем, что о ней известно, сколько тем, что за ней должно скрываться. Объяснить феномен корпускулярно-волнового дуализма можно на примере определения положения сёрфера на волне одним взглядом. В любой конкретный момент времени наблюдатель может оценить либо высоту волны, либо положение на ней сёрфера (частицы). Допустим, одним взглядом наблюдатель видит, что сёрфер (частица) находится на середине волны. Другим взглядом — прикинуть высоту волны. Про сёрфера в этот момент будет известно, что он где-то на этой волне, но, чтобы сказать, где конкретно — нужно будет снова переключить внимание.
Читать дальше →
Всего голосов 42: ↑31 и ↓11+35
Комментарии77

Руководство по выживанию для создателей нейрочипов

Время на прочтение7 мин
Количество просмотров3.7K


В 2018 году мы взялись за первый большой контракт по созданию инструментов разработки для нейропроцессора. В то время я знал, что рынок AI быстро растёт и на нём существуют сотни компаний. Но я не подозревал, что к 2021 году на рынке возникнет ещё пара сотен новых чипмейкеров, разрабатывающих акселераторы для AI, что мы станем AI-партнёром Arm, а наши проекты с нейрочипейкерами вырастут в отдельное направление. Не уверен, что вопрос, который поднимаю, актуален для российской аудитории: не так много в России компаний (откровенно говоря – мало), которые выпускают собственные ускорители для нейросетей. Скорее, эта статья — попытка зафиксировать знания, которые мы получили на американском рынке в результате нескольких проектов и около сотни бесед с чипмейкерами. Но если эта статья нанесёт кому-то непоправимую пользу, буду очень рад.
Читать дальше →
Всего голосов 6: ↑4 и ↓2+3
Комментарии2

Особенности работы с POSIX-сигналами

Время на прочтение10 мин
Количество просмотров14K

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

Читать далее
Всего голосов 64: ↑64 и ↓0+64
Комментарии18

Разработчики встраиваемых систем не умеют программировать

Время на прочтение9 мин
Количество просмотров59K

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

Редко когда речь заходит об обратной проблеме, имеющей место в куда более узких кругах разработчиков встраиваемых систем, включая системы повышенной отказоустойчивости. Есть основания полагать, что ранний опыт использования MCS51/AVR/PIC оказывается настолько психически травмирующим, что многие страдальцы затем продолжают считать байты на протяжении всей карьеры, даже когда объективных причин для этого не осталось. Это, конечно, не относится к случаям, где жёсткие ценовые ограничения задают потолок ресурсов вычислительной платформы (микроконтроллера). Но это справедливо в случаях, где цена вычислительной платформы в серии незначительна по сравнению со стоимостью изделия в целом и стоимостью разработки и верификации его нетривиального ПО, как это бывает на транспорте и сложной промышленной автоматизации. Именно о последней категории систем этот пост.

Читать далее
Всего голосов 100: ↑81 и ↓19+92
Комментарии239

Задачи роботизации производственных процессов

Время на прочтение4 мин
Количество просмотров3K
image

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

  • Робот манипулятор (используется для перемещения тяжелых объектов)
  • Робот Scara (используется для скоростных и точных перемещений)
  • Робот Delta (используется для скоростных и точных перемещений)
Читать дальше →
Рейтинг0
Комментарии0

Нейропротезирование: назад к естественным функциям руки через очувствление протеза

Время на прочтение5 мин
Количество просмотров4.3K

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

Что такое фантомная конечность?
Всего голосов 7: ↑6 и ↓1+6
Комментарии0

Пять презентаций по RISC-V процессорам, музыка на ПЛИСах и продолжение следует

Время на прочтение5 мин
Количество просмотров5.4K

Школа синтеза цифровых схем, о которой вы могли читать месяц назад в посте "Проектировщики RISC-V из Yadro покажут школьникам как проектировать процессоры" - прошла на ура. Все 25 мест в офлайне в Сколково были все время заняты. Присутствовали школьники, студенты, преподаватели вузов и кружков. Всего было подано 86 заявок. Все ~70 FPGA плат которые пожертвовали Наносемантика, Максим Маслов и другие, были быстро разобраны, люди охотно проходили роснановский онлайн-курс чтобы получить сертификат и соответственно плату.

Из новых пунктов программы больше всего интереса вызвали опыты по распознаванию мелодий с помощью zero-crossing и конечных автоматов, реализованных в ПЛИС. Это занятие провели преподавательница флейты Мария Беличенко и молодые инженеры Семён Москоленко (МИРЭА) и Виктор Прутьянов (МФТИ, Сколтех, SberDevices) - см. видео в посте.

Так как школа оказалась популярна, ее решили расширить до полноценного семестрового курса по субботам, начиная с 30 октября 2021, с объемом материала на уровне университетских лабораторных по FPGA (типа MIT 6.111), к которым мы добавили элементы компьютерной архитектуры, базовый туториал для ASIC и некоторые умения из промышленности.

Про школу на ChipEXPO и планы будущей
Всего голосов 11: ↑10 и ↓1+11
Комментарии4

Являются ли программисты айтишниками? И является ли проектирование на уровне регистровых передач программированием?

Время на прочтение6 мин
Количество просмотров22K

Перед нами девушка Лиля, с FPGA платой и учебником Харрис & Харрис в руках, на фоне самого высокого на Земле дерева Sequoia sempervirens, недалеко от Стенфорда в Silicon Valley.

Представьте, что вы приехали сюда в командировку в типичную электронную компанию. Усаживаетесь в офисе, входите со своего ноубука (в Америке их чаще называют лаптопами) в корпоративную сеть и пытаетесь что-то напечатать. А принтер не подсоединяется. Вы обращаетесь к ко-воркеру "Что делать?", а он вам говорит: "Обратитесь в IT". Вы в замешательстве "В Ай-Ти? А я что - не айтишник?"

Спокойствие. Если вы программист, вы не IT, вы software engineer и работаете в отделе Software Engineering Department. Если вы электронщик, вы тоже не IT, вы работаете в Hardware Engineering Department. IT Department - это другое, это отдельный от разработки отдел, это группа сисадминов, которые поддерживает внутри-корпоративную сетку и ведут учет выданых сотрудникам лаптопов.

Но это слишком тривиально, обсудим более интересный вопрос: вот все эти люди, которые пишут код на языке описания аппаратуры Verilog, который потом превращается в дорожки и транзисторы из silicon на фабрике - они программисты? Аппарентли, нет.

Обсудим почему
Всего голосов 20: ↑12 и ↓8+8
Комментарии57

Отдача от глубокого обучения снижается. Что с этим делать

Время на прочтение12 мин
Количество просмотров12K

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

Хотя, славные дни глубокого обучения начались сравнительно недавно, зародилась эта парадигма много лет назад. В 1958 году, когда компьютеры-мейнфреймы еще занимали целые залы и работали на электронно-лучевых трубках, Фрэнк Розенблатт из Корнельского университета, исходя из знаний о том, как устроены связи между нейронами в мозге, спроектировал первую нейронную сеть, которую прозорливо описал как «устройство для распознавания образов». Но амбиции Розенблатта сильно опережали его время – и он об этом знал. Даже в своей инаугурационной статье он был вынужден признать, с каким волчьим аппетитом нейронная сеть жрет вычислительные ресурсы, сетуя на то, что «по мере того, как количество связей в сети растет… нагрузка на традиционный цифровой компьютер вскоре становится чрезмерной».  

Читать далее
Всего голосов 20: ↑18 и ↓2+21
Комментарии27

OTA обновление устройств с Linux

Время на прочтение7 мин
Количество просмотров8.3K

OTA A/B обновление образа rootfs для IoT устройств с Linux при помощи проекта Mender. Как обновить образ системы на множестве удалённых устройств. Демонстрация на примере Raspberry Pi.

Читать далее
Всего голосов 17: ↑17 и ↓0+17
Комментарии4

Ускорение процесса разработки под Embedded Linux

Время на прочтение11 мин
Количество просмотров12K

Любой программист, решивший заняться разработкой под Embedded Linux, придя буть-то из высокоуровневых языков программирования, либо из программирования микроконтроллеров на С/С++, неизбежно оказывается удивлен крайней недружелюбностью embedded linux. Текстовый блокнот и консольные утилиты вместо столь привычных IDE, и отладка по логам вместо отладки программатором сильно замедляют процесс разработки. В статье описывается, как мне удалось снизить время доставки изменений до целевого железа при кросс-компиляции в 10 раз.

Читать далее
Всего голосов 14: ↑12 и ↓2+13
Комментарии12

Заставляем компьютер выводить общие законы физики из наблюдений

Время на прочтение5 мин
Количество просмотров7.1K

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

Вдохновением для этих занятий послужила замечательная статья из Science, которая убедила меня и многих других в том, что к таким задачам в принципе можно подступиться. Как и у авторов статьи, наш пример будет немного игрушечным, хоть и для совсем другой физической системы. Более того, мы ещё сильнее ограничим пространство поиска (до 2^{64} формул, что тоже немало), зато обойдёмся без 32 процессорных ядер и без GPU, а решение получим меньше чем за минуту против десятков минут или даже пары дней, как в статье. Для всего этого нам понадобится лишь 300 строк кода на C — и никаких фреймворков.

Читать далее
Всего голосов 20: ↑20 и ↓0+20
Комментарии18

Еще одна стажировка, или сказ про реверс IP-камеры

Время на прочтение14 мин
Количество просмотров12K

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

Можно выбрать какое-нибудь устройство и самостоятельно ковырять его до победного конца (или полного разочарования в своих навыках). А можно делать подобное в рамках стажировки, где опытные наставники проведут по этому тернистому пути, поддерживая и направляя, если это необходимо.

Далее вас ждет история о том, что я делал на стажировке в НТЦ "Вулкан".

Читать далее
Всего голосов 17: ↑17 и ↓0+17
Комментарии6

Как устроена аппаратная часть SberBox Top: разбираем девайс

Время на прочтение5 мин
Количество просмотров14K

За последние два года команда SberDevices запустила серийное производство нескольких устройств: ТВ-приставки SberBox, смарт-экрана SberPortal, ТВ-медиацентра с умной камерой SberBox Top. Последний значительно расширил функциональность такого типа устройств за счёт камеры, микрофонной матрицы и акустики, а также виртуальных ассистентов на борту. С помощь SberBox Top можно смотреть фильмы и ТВ-каналы, видео в интернете, слушать музыку, заказывать доставку продуктов, управлять умным домом. АI-камера позволяет играть в игры с распознаванием жестов, устраивать AR-спектакли с детьми, проводить видеовстречи на большом экране, заниматься фитнесом. Устройство объединяет в себе возможности смарт-экрана и умной колонки. Взаимодействовать с ним можно с помощью голоса, жестов и пульта. Чтобы использовать девайс, нужно только подключить его к телевизору или монитору – любому устройству отображения с HDMI. (Многие функции при этом доступны и без использования экрана.) И, конечно, нужен интернет. 

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

Давайте разберём наш гаджет и посмотрим, как устроена его аппаратная часть.

Поехали!
Всего голосов 14: ↑11 и ↓3+9
Комментарии24

Сборка с Bazel в реальном проекте

Время на прочтение6 мин
Количество просмотров8.7K

Привет, Хабр.

В этой статье я расскажу о практическом опыте работы с Bazel, утилитой для автоматизации сборки и тестирования софта от Google. Мы, компания NtechLab, разрабатываем платформу видеоаналитики FindFace. Продукт большой и сложный, используется много разных языков программирования и библиотек, соответственно процесс сборки у нас громоздкий. В поисках инструмента, способного упростить и ускорить сборку, мы остановились на Bazel.

Читать далее
Всего голосов 3: ↑3 и ↓0+3
Комментарии7

Как устроена графика в Linux: обзор различных сред оформления рабочего стола

Время на прочтение13 мин
Количество просмотров107K
Эта статья о том, как устроена графика в Linux и из каких компонентов она состоит. В ней много скриншотов с различными реализациями сред рабочих столов. 

Если вы не сильно различаете KDE и GNOME или различаете, но хотели бы узнать, какие еще есть альтернативы, то эта статья для вас. Она обзорная, и хотя в ней много названий и немного терминов, материал будет также полезен начинающим и только посматривающим в сторону Linux.

Тема может заинтересовать и продвинутых пользователей при настройке удаленного доступа и при реализации тонкого клиента. Часто встречаю вполне матерых линуксойдов с утверждениями «на сервере только командная строка, и графику подробнее изучать не планирую, так как это всё нужно для простых пользователей». Но даже знатоки Linux с большим удивлением и радостью открывают для себя опцию «-X» у команды ssh (а для этого полезно понимать работу и функции X-сервера).

Источник
Читать дальше →
Всего голосов 141: ↑141 и ↓0+141
Комментарии162

Искусственный интеллект и кризис теорий сознания

Время на прочтение65 мин
Количество просмотров36K

Данная заметка представляет собой обзор связи философии сознания и искусственного интеллекта. Она не претендует на оригинальное исследование, но автор надеется на плодотворную дискуссию и уничтожающую критику.


Введение


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

Читать дальше →
Всего голосов 20: ↑18 и ↓2+20
Комментарии190

Информация

В рейтинге
2 377-й
Зарегистрирован
Активность