Search
Write a publication
Pull to refresh
2
0
Юрий Сухов @wombatonfire

User

Send message

Как перестать бояться и полюбить mbed [Часть 1]

Reading time9 min
Views24K
Мы занимаемся поставками электронных компонентов. Чтобы делать нашу работу хорошо, недостаточно просто уметь привозить и продавать электронные компоненты — ещё важно уметь демонстрировать их преимущества. Именно поэтому мы не только пишем обзорные статьи, но и создаем руководства по применению разных «железок» и разрабатываем небольшие демонстрационные проекты.



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

Особенный интерес представляет подход к написанию встроенного ПО — софт полностью написан в онлайн IDE от mbed. То есть программа для микроконтроллера была создана на единственной вкладке гугл-хрома и одинаково работает на отладочных платах от разных производителей.

Содержание цикла публикаций:

Первая часть под катом.

11 текстов, которые помогут разобраться в больших данных

Reading time3 min
Views25K
image

Сегодня необходимо хотя бы в общих чертах иметь представление о мире big data. Мы отобрали публикации, в которых доступно объясняют, что такое большие данные и как их используют. Статьи рассчитаны, скорее, на новичков, но и люди, разбирающиеся в теме, смогут найти для себя интересные (или просто забавные) кейсы.
Читать дальше →

Преимущества systemd-networkd на виртуальных серверах Linux

Reading time6 min
Views58K
Обычно на десктопах Linux для управления сетевыми настройками используется NetworkManager, поскольку он отлично справляется со своей работой и имеет GUI фронтенды для всех популярных графических окружений. Однако на серверах Linux его использование не целесообразно: он потребляет много ресурсов. NetworkManager занимает в оперативной памяти около 20 Мб, в то время как systemd-networkd и systemd-resolvd вместе меньше 2 Мб. По этой причине, по умолчанию серверные дистрибутивы Linux server часто используют различные собственные демоны.



Таким образом возникает целый зоопарк скриптов и утилит: демон networking под Debian, который управляет конфигурацией сети через ifupdown, использующий файлы конфигурации хранящиеся в /etc/networking/interfaces.d и файл /etc/networking/interfaces, под CentOS network, который использует скрипты ifup и ifdown и, конечно же, свои файлы конфигурации находящиеся в /etc/sysconfig/network-scripts, netctl под ArchLinux. Всем известно, что Linux — конструктор, но почему бы такой простой и общей для самых различных систем вещи как настройка сети не иметь одинаковый вид?
Читать дальше →

Логика сознания. Вступление

Reading time8 min
Views113K
image В свое время на Хабре был опубликован цикл статей «Логика мышления». С тех пор прошло два года. За это время удалось сильно продвинуться вперед в понимании того, как работает мозг и получить интересные результаты моделирования. В новом цикле «Логика сознания» я опишу текущее состоянии наших исследований, ну а попутно попытаюсь рассказать о теориях и моделях интересных для тех, кто хочет разобраться в биологии естественного мозга и понять принципы построения искусственного интеллекта.

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

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

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

Самое главное о нейронных сетях. Лекция в Яндексе

Reading time30 min
Views190K
Кажется, не проходит и дня, чтобы на Хабре не появлялись посты о нейронных сетях. Они сделали машинное обучение доступным не только большим компаниям, но и любому человеку, который умеет программировать. Несмотря на то, что всем кажется, будто о нейросетях уже всем все известно, мы решили поделиться обзорной лекцией, прочитанной в рамках Малого ШАДа, рассчитанного на старшеклассников с сильной математической подготовкой.

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



Константин klakhman Лахман закончил МИФИ, работал исследователем в отделе нейронаук НИЦ «Курчатовский институт». В Яндексе занимается нейросетевыми технологиями, используемыми в компьютерном зрении.

Под катом — подробная расшифровка со слайдами.
Читать дальше →

Это маленькое чудо — алгоритм Кнута-Морриса-Пратта (КМП)

Reading time9 min
Views192K
Алгоритм Кнута-Морриса-Пратта используется для поиска подстроки (образца) в строке. Кажется, что может быть проще: двигаемся по строке и сравниваем последовательно символы с образцом. Не совпало, перемещаем начало сравнения на один шаг и снова сравниваем. И так до тех пор, пока не найдем образец или не достигнем конца строки.
Читать дальше →

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

Reading time3 min
Views142K
Господа! Только что на сайте Imagination Technologies вышло исправленное издание бесплатного учебника на русском языке «Цифровая схемотехника и архитектура компьютера» Дэвида Харриса и Сары Харрис (кстати, они не супруги и вообще не родственники – просто так совпало). Предыдущее издание этого учебника вышло год назад, пост о нем собрал 145,000 просмотров на Хабре, количество скачиваний с британского сайта вызвало у его британских админов подозрение, что их атакуют русские хакеры, а впоследствие команду переводчиков лично благодарили за учебник преподаватели МФТИ, МВТУ им. Баумана, харьковского ХНУРЭ и других университетов.

silicon_russia_ad_selected_160730_174932

Книжка содержит «введение во все», доступное способному школьнику или младшему студенту, который после ее прочтения может спроектировать, написать на SystemVerilog или VHDL и реализовать на ПЛИС несложный, но при этом совершенно настоящий конвейерный процессор. Книга написана живым языком и для введения концепций, например конечных автоматов, использует примеры типа:


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

Математика для искусственных нейронных сетей для новичков, часть 1 — линейная регрессия

Reading time8 min
Views157K
Оглавление

Часть 1 — линейная регрессия
Часть 2 — градиентный спуск
Часть 3 — градиентный спуск продолжение

Введение


Этим постом я начну цикл «Нейронные сети для новичков». Он посвящен искусственным нейронным сетям (внезапно). Целью цикла является объяснение данной математической модели. Часто после прочтения подобных статей у меня оставалось чувство недосказанности, недопонимания — НС по-прежнему оставались «черным ящиком» — в общих чертах известно, как они устроены, известно, что делают, известны входные и выходные данные. Но тем не менее полное, всестороннее понимание отсутствует. А современные библиотеки с очень приятными и удобными абстракциями только усиливают ощущение «черного ящика». Не могу сказать, что это однозначно плохо, но и разобраться в используемых инструментах тоже никогда не поздно. Поэтому моей первичной целью является подробное объяснение устройства нейронных сетей так, чтобы абсолютно ни у кого не осталось вопросов об их устройстве; так, чтобы НС не казались волшебством. Так как это не математический трактат, я ограничусь описанием нескольких методов простым языком (но не исключая формул, конечно же), предоставляя поясняющие иллюстрации и примеры.

Цикл рассчитан на базовый ВУЗовский математический уровень читающего. Код будет написан на Python3.5 с numpy 1.11. Список остальных вспомогательных библиотек будет в конце каждого поста. Абсолютно все будет написано с нуля. В качестве подопытного выбрана база MNIST — это черно-белые, центрированные изображения рукописных цифр размером 28*28 пикселей. По-умолчанию, 60000 изображений отмечены для обучения, а 10000 для тестирования. В примерах я не буду изменять распределения по-умолчанию.
Читать дальше →

Чем Fault Tolerant серверы отличаются от «бытового» ширпотреба на конкретном примере

Reading time18 min
Views32K

«Зеркальный» кластер с синхронными вычислительными процессами, вид спереди

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

Эти решения особенно интересны для админов. Дело в том, что они защищены не физически — кожухами, отказоустойчивыми интерфейсами или чем-то ещё, а на уровне именно архитектуры вычислений.

Нам в руки попал флагман ftServer 6800 от Stratus. Это корпус с двумя идентичными вычислительными узлами, объединёнными в один кластер, причем обе его половинки работают синхронно и делают одно и то же «зеркально». Это старая добрая «космическая» архитектура, когда вычислительный процесс проходит сразу два независимых аппаратных пути. Если где-то возникнет баг (не связанный с кривостью кода), то один из результатов точно достигнет цели. Это важно для критичных систем в самых разных областях от банкинга до медицины, и это очень важно там, где есть «тихая потеря данных». То есть там, где во весь рост встают баги процессоров, связанные с тем, что кристаллы всё же уникальные и двух одинаковых машин не бывает в природе. Обычно это не проявляется, но на ответственных задачах требуется защититься от случайного влияния помех и возможных более явных проблем. Поэтому вот так и сделано.
Читать дальше →

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

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

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



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

Архитектура распределенных вычислений: от облака к туману и росе

Reading time5 min
Views12K

Независимые вычисления, совместимые с облачными, называются росистыми (прости, Хабр, но другого хорошего определения Dew Computing на русском языке мы не нашли). Основной принцип росистых вычислений в том, что они восполняют основной недостаток облачных вычислений — требование к стабильному интернет-подключению. Хотя росистые вычисления и будут обеспечивать сервисы и функции в режиме оффлайн, по-прежнему вызывает недоверие длительность промежутка времени, в течение которого будет недоступно облако. Здесь поможет дополнительный уровень — туманные вычисления, который является своеобразной прослойкой между облачными и росистыми вычислениями. В этой статье, собранной из нескольких источников, мы рассмотрим данный концепт подробнее.

image

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

Для квантового компьютера IBM опубликованы первые программы

Reading time2 min
Views33K


Квантовыми вычислениями сейчас занимаются почти все крупные компании, связанные с информационными технологиями. IBM, Google, Microsoft — все проводят исследования в этой сфере. Корпорация IBM успешно создала собственную 5-кубитную квантовую микросхему. На основе микросхемы был создан квантовый компьютер с названием IBM Quantum Experience. Четыре кубита используются для работы с данными, а пятый — для коррекции ошибок во время проведения вычислений (ошибки без коррекции — ахиллесова пята квантовых компьютеров). Это оборудование установлено в одной из исследовательских лабораторий IBM, которая находится в штате Нью-Йорк, США.

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

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

Reading time2 min
Views85K



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

Контроль качества воздуха (со2 и температуры) в офисе и дома, своими руками

Reading time3 min
Views45K
Все началось с того что я работаю в офисе, где как водится нет нормальной вентиляции. Зато есть много народу, кому-то все время жарко, другим постоянно дует.

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

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

Когда мы написали сотое API мы поняли…

Reading time4 min
Views47K
Мы в Perfect Solutions на прошлой неделе написали сотое по счету API. За все это время, ценой граблей, костылей, велосипедов и рефакторинга, мы поняли, что выработали отличную стратегию «как писать API и прекратить боль и страдание».

Этот пост о версировании, поддержке, багфиксинге и полном цикле жизни API.

Под катом нет фото с большим трафиком, нет серебрянных пуль, тут даже нет картинки для привлечения внимания — только полезная выжимка нашего опыта. Под катом методология, выработанная на реальном опыте разработки, набитых шишках и сломанных грабляхъ.
Читать дальше →

Механизмы контейнеризации: namespaces

Reading time11 min
Views69K
namespaces

Последние несколько лет отмечены ростом популярности «контейнерных» решений для ОС Linux. О том, как и для каких целей можно использовать контейнеры, сегодня много говорят и пишут. А вот механизмам, лежащим в основе контейнеризации, уделяется гораздо меньше внимания.

Все инструменты контейнеризации — будь то Docker, LXC или systemd-nspawn,— основываются на двух подсистемах ядра Linux: namespaces и cgroups. Механизм namespaces (пространств имён) мы хотели бы подробно рассмотреть в этой статье.

Начнём несколько издалека. Идеи, лежащие в основе механизма пространств имён, не новы. Ещё в 1979 году в UNIX был добавлен системный вызов chroot() — как раз с целью обеспечить изоляцию и предоставить разработчикам отдельную от основной системы площадку для тестирования. Нелишним будет вспомнить, как он работает. Затем мы рассмотрим особенности функционирования механизма пространств имён в современных Linux-системах.
Читать дальше →

Маргарет Гамильтон: «Пацаны, я вас на Луну отправлю»

Reading time14 min
Views56K
«Когда я только начинала работать в этой сфере, все это было для нас как Дикий Запад — мы были первооткрывателями неизведанных земель. Никто нас ничему не учил» Маргарет Гамильтон.



Это Маргарет. Она пишет код хорошо. Делайте как Маргарет.

А еще:
  • программист-самоучка;
  • написала код для навигационного компьютера программы «Аполлон»;
  • когда американцы ступили на поверхность Луны ей был 31 год;
  • Маргарет НЕ автор термина «software engineering»;
  • часто брала на работу 4х-летнюю дочку;
  • дочка помогла найти баг в программе.

Под руководством Маргарет Гамильтон писались программы для бортового компьютера КА Аполлон. В один из самых ответственных моментов миссии Аполлон 11 именно работа Маргарет и ее команды предотвратила возможный срыв высадки на Луну. За три минуты до прилунения сработало несколько аварийных сигнальных устройств. Компьютер был перегруженн входящими данными – в стыковочной радарной системе произошло непроизвольное обновление счетчика, что привело к запросу на выполнение компьютером большего числа операций, чем он был способен обработать. Благодаря устойчивой архитектуре компьютер продолжил свою работу: в разработке бортового ПО использовался подход асинхронного исполнения (asynchronous executive). Процессы с высоким приоритетом (критичные для прилунения) могли прервать низкоприоритетные процессы.

Список ресурсов по машинному обучению. Часть 1

Reading time3 min
Views30K


Ранее мы говорили о разработке системы квантовой связи и о том, как из простых студентов готовят продвинутых программистов. Сегодня мы решилие еще раз (1, 2) взглянуть в сторону темы машинного обучения и привести адаптированную (источник) подборку полезных материалов, обсуждавшихся на Stack Overflow и Stack Exchange.
Читать дальше →

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

Reading time6 min
Views7.3K
Короткая предыстория: несколько лет назад мы смогли добиться появления на российском рынке финансовых инструментов ETF – кластеров акций. Самой весёлой частью после юридического согласования всей этой истории с государством (точнее, государствами, учитывая, что расчёты проверяются через Дублин, а 6 наших дата-центров находятся в Лондоне) была IT-интеграция с мостами между биржами разных стран.

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

Список ресурсов по машинному обучению. Часть 2

Reading time11 min
Views48K


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

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Registered
Activity