Pull to refresh
293
0
Артем Кашканов @radiolok

Релейно-декатронный маньяк

Send message

Ускоряем программу для 50-летнего процессора на 180000%

Level of difficulty Hard
Reading time 36 min
Views 45K

В прошлом году я написал программу, вычисляющую 255 цифр числа π на самом первом микропроцессоре от Intel - 4004. В той статье я упоминал рекорд ENIAC'a - 2035 цифр [^1], но побить его не смог. Настало время закрыть гештальт. В этот раз возьмём одного из преемников от Intel - 4040.

Читать далее
Total votes 289: ↑287 and ↓2 +285
Comments 41

Моделируем процессы в OpenFOAM и отображаем результаты в веб

Reading time 13 min
Views 8.2K

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


Я обычный разработчик, и не являюсь специалистом в данной научной области. С этим видом задач я столкнулся впервые в рамках недавно прошедшего хакатона FIT-M 2020, где мне посчастливилось поучаствовать в качестве со-организатора и ментора. Опыт мне показался интересным, в частности из-за возможности прикоснуться к области высокопроизводительных вычислений (англ. High Performance Computing), которые часто запускают на суперкомпьютерах. Я разобрался как можно довольно быстро наладить запуск вычислений на сервере в облаке и посмотреть на результат прямо через браузер, хоть с планшета или телефона!


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


Barcelona Supercomputing Center - Centro Nacional de Supercomputación
Картинка взята из Barcelona Supercomputing Center

Читать дальше →
Total votes 4: ↑4 and ↓0 +4
Comments 1

Мы Опубликовали Качественный, Простой, Доступный и Быстрый Синтез Речи

Reading time 9 min
Views 63K

fiona


Вторая частьhttps://habr.com/ru/post/563484/


Вокруг темы синтеза речи сейчас много движения: на рынке есть огромное число тулкитов для синтеза, большое число закрытых коммерческих решений за АПИ (как на современных технологиях, так и на более старых, т.е. "говорилки") от условных GAFA компаний, большое количество американских стартапов, пытающихся сделать очередные аудио дипфейки (voice transfer).


Но мы не видели открытых решений, которые бы удовлетворяли одновременно следующим критериям:


  • Приемлемый уровень естественности речи;
  • Большая библиотека готовых голосов на разных языках;
  • Поддержка синтеза как в 16kHz так и в 8kHz из коробки;
  • Наличие своих собственных голосов у авторов решения, не нарушающих чужие права и лицензии;
  • Высокая скорость работы на "слабом" железе. Достаточная скорость работы на 1 потоке / ядре процессора;
  • Не требует GPU, команды ML инженеров или какой-либо дополнительной тренировки или для использования;
  • Минимализм и отсутствие зависимостей / использование в 1 строчку / не надо ничего собирать или чинить;
  • Позиционируется именно как готовое решение, а не очередной фреймворк / компиляция чужих скриптов / тулкитов для сбора плюсиков;
  • Решение никак не связано и не аффилировано с закрытыми экосистемами и продуктами Гугла / Сбера / Яндекса / вставить нужное;

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

Total votes 205: ↑205 and ↓0 +205
Comments 229

Выбираем self-hosted замену IFTTT

Reading time 6 min
Views 15K


If This Then That — сервис для автоматизации задач и создания пайплайнов из действий в разных сервисах. Это самый известный и функциональный продукт на рынке, но популярность ему навредила: полноценное создание апплетов теперь возможно только с платной подпиской, а на реддите периодически появляются жалобы на нестабильную работу сервиса. Как и в случае с любым полезным но платным продуктом, ищущий альтернативы обрящет их в опен-сорсном комьюнити. Мы сравним три self-hosted инструмента: Huginn, Beehive и Node-RED, попробуем их в действии и выберем лучший по функционалу и удобству использования.
Читать дальше →
Total votes 36: ↑34 and ↓2 +32
Comments 14

Часы на газоразрядных лампах (ГРИ), они же Nixie clock

Reading time 18 min
Views 52K

Концепция проекта


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

Задачи создать прибор для массового производства не ставилось.

Поэтому бюджет проекта заметно больше разумного. Решения принимались исходя из собственных представлений о красоте, стоимость комплектующих не учитывалась. Реально ограничения конечно есть всегда и, например, покупать большие ГРИ (газоразрядные индикаторы) типа ИН18 я не стал – цена их больше интуитивно определенной границы и они не вписывались в мою концепцию внешнего вида изделия. Я использовал ГРИ типа ИН-12.
Рассказ об увлекательной работе далее
Total votes 31: ↑31 and ↓0 +31
Comments 41

Подборка датасетов для машинного обучения

Reading time 6 min
Views 140K
Привет, читатель!

Меня зовут Рушан, и я автор Telegram‑канала Нейрон. Не забудьте поделиться с коллегами или просто с теми, кому интересны такие статьи.

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

Меньше слов, больше данных.

image

Подборка датасетов для машинного обучения:


Читать дальше →
Total votes 66: ↑64 and ↓2 +62
Comments 6

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

Reading time 10 min
Views 58K
Привет, Хабр!

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


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

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

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

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

Тем более, что в наше время базовое оборудование, позволяющее делать подобные вещи достаточно быстро и достаточно дёшево, доступно даже любителю-одиночке.
Читать дальше →
Total votes 170: ↑167 and ↓3 +164
Comments 413

Учим компьютер различать звуки: знакомство с конкурсом DCASE и сборка своего аудио классификатора за 30 минут

Reading time 8 min
Views 6.4K

Статья написана совместно с ananaskelly.


Введение


Всем привет, хабр! Работая в Центре Речевых Технологий в Санкт-Петербурге, мы накопили немного опыта в решении задач классификации и детектирования акустических событий и решили, что готовы им с вами поделиться. Цель этой статьи — познакомить вас с некоторыми задачами и рассказать о соревновании по автоматической обработке звука “DCASE 2018”. Рассказывая вам о конкурсе, мы обойдемся без сложных формул и определений, связанных с машинным обучением, таким образом общий смысл статьи будет понятен широкой аудитории.


Для тех, кого в названии привлекла именно сборка классификатора, мы подготовили небольшой код на python, и по ссылке на гитхабе вы можете найти notebook, где мы на примере второго трека конкурса DCASE создаем простую сверточную сеть на keras для классификации аудиофайлов. Там мы немного рассказываем о сети и признаках, используемых для обучения, и как с помощью простой архитектуры получить близкий к baseline результат (MAP@3 = 0.6).



Дополнительно здесь будут описаны базовые подходы для решения задач (baseline), предложенные организаторами. Также в будущем появится несколько статей, где мы будем более подробно и в деталях рассказывать как о нашем опыте участия в соревновании, так и о решениях, предложенных другими участниками конкурса. Ссылки на эти статьи будут постепенно появляться здесь.

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

Как я диплом в LaTeX писал с GitHub, Docker и TravisCI

Reading time 5 min
Views 45K

Еще со времен обучения в университете я использовал LaTeX для оформления лабораторных и курсовых работ. Познакомился впервые с LaTeX на Coursera, на курсе "Документы и презентации в LaTeX".


В этой заметке я расскажу, как я писал диплом с помощью LaTeX и почему я использовал GitHub, Docker и TravisCI.


Но зачем?

Читать дальше →
Total votes 77: ↑76 and ↓1 +75
Comments 69

Английский язык: взгляд инженера

Reading time 13 min
Views 90K

ДИСКЛЕЙМЕР


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

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




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

Возьмем такой предмет, как английский язык. Там куча понятий: 12 времен глагола, страдательный залог, причастия и т.п. Кто их ввел? Видимо, некие ученые мужи, для которых английский язык был РОДНЫМ. Они жили себе в каком-нибудь Oxford’e или в Cambridg’e и вряд ли знали русский язык.

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

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

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

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

Статья ориентирована именно на таких.
Читать дальше →
Total votes 95: ↑77 and ↓18 +59
Comments 288

Как безопасно программировать в bash

Reading time 11 min
Views 44K

Почему bash?


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

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

Предисловие


Данное руководство сопровождает ShellHarden, но автор также рекомендует ShellCheck, чтобы правила ShellHarden не расходились с ShellCheck.

Bash — не тот язык, где самый правильный способ решить проблему одновременно является самым простым. Если принимать экзамен по безопасному программированию в bash, то первое правило BashPitfalls звучало бы так: всегда используй кавычки.

Главное, что нужно знать о программировании в bash


Маниакально ставить кавычки! Незакавыченная переменная должна расцениваться как взведённая бомба: она взрывается при контакте с пробелом. Да, «взрывается» в смысле разделения строки на массив. В частности, расширения переменных вроде $var и подстановки команд вроде $(cmd) подвергаются расщеплению слов, когда внутренняя строка расширяется в массив из-за расщепления в специальной переменной $IFS с пробелом по умолчанию. Это обычно незаметно, потому что чаще всего результатом становится массив из 1 элемента, неотличимый от ожидаемой строки.
Читать дальше →
Total votes 74: ↑73 and ↓1 +72
Comments 39

Новый MTProto-прокси сервер от Telegram

Reading time 5 min
Views 159K
Прокси-сервер является посредником между клиентом и сервером. Для обхода ограничений прокси-сервер должен быть установлен там, где нет ограничений доступа к требуемой информации, при этом не должно быть таковых ограничений и между клиентом и прокси-сервером.

image

Обновлённая поддержка прокси-серверов в клиентах Telegram


  • Новый MTProto-прокси. Работает с родным для Telegram протоколом MTProto
  • Открытый исходный код сервера на GitHub
  • Docker-образ на DockerHub
  • В мобильных клиентах появилась возможность добавлять несколько прокси-серверов каждого типа. Пользователь может выбрать наиболее подходящий
Читать дальше →
Total votes 106: ↑98 and ↓8 +90
Comments 261

Mikrotik RoS, полезные мелочи

Reading time 5 min
Views 167K
Распространенность оборудования Mikrotik растет с каждым днем, все больше устройств, а значит и RoS, появляется не только в корпоративном секторе, но и у обычных, домашних пользователей.
К сожалению, не смотря на вполне нормальные настройки по умолчанию, которые можно сделать через Quick Set, в интернете можно встретить множество советов очистить конфигурацию, и сделать как-то по «особому», с «нуля». В этой статье я хочу поделится своим опытом и дать рекомендации, как изменить конфигурацию из Quick Set под свои нужды, при этом сохранив достаточный уровень защищенности.
Читать дальше →
Total votes 25: ↑25 and ↓0 +25
Comments 28

N+6 полезных книг

Reading time 4 min
Views 45K


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

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

Коллаборация — Мортен Хансен
Это инструкция по совместной работе и взаимодействию между людьми в команде и командами. Она меня здорово успокоила рядом исследований, например, тем, что вообще-то не надо заниматься нетворкингом, если ты занимаешься делом. Не надо знать 200-400 человек, чтобы найти нужного — надо знать 10 человек, каждый из которых знает по 50-100. А это в разы проще и эффективнее. Нетворкинг для интроверта — это прекрасно.
Читать дальше →
Total votes 43: ↑41 and ↓2 +39
Comments 16

Как подключить матричный принтер MD910 от кассового аппарата Миника

Reading time 8 min
Views 14K
В прошлой своей публикации я подключал ЖКИ дисплей от старого кассового аппарата. Напомню, что я приобрел 3 аппарата за смешные деньги, разобрал их, и в итоге стал обладателем милых сердцу электронных штучек: экраны, принтеры, мелочевки....;)

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


Total votes 39: ↑39 and ↓0 +39
Comments 18

Как решить 90% задач NLP: пошаговое руководство по обработке естественного языка

Reading time 16 min
Views 109K
Неважно, кто вы — зарекомендовавшая себя компания, или же только собираетесь запустить свой первый сервис — вы всегда можете использовать текстовые данные для того, чтобы проверить ваш продукт, усовершенствовать его и расширить его функциональность.

Обработкой естественного языка (NLP) называется активно развивающаяся научная дисциплина, занимающаяся поиском смысла и обучением на основании текстовых данных.

Как вам может помочь эта статья


За прошедший год команда Insight приняла участие в работе над несколькими сотнями проектов, объединив знания и опыт ведущих компаний в США. Результаты этой работы они обобщили в статье, перевод которой сейчас перед вами, и вывели подходы к решению наиболее распространенных прикладных задач машинного обучения.

Мы начнем с самого простого метода, который может сработать — и постепенно перейдем к более тонким подходам, таким как feature engineering, векторам слов и глубокому обучению.

После прочтения статьи, вы будете знать, как:

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

Пост написан в формате пошагового руководства; также его можно рассматривать в качестве обзора высокоэффективных стандартных подходов.
Total votes 38: ↑36 and ↓2 +34
Comments 11

Доверяй и проверяй: подход к проверке схем и печатных плат

Reading time 6 min
Views 27K

image 1


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

Как их избежать?
Total votes 32: ↑29 and ↓3 +26
Comments 67

Регулярные выражения в Python от простого к сложному. Подробности, примеры, картинки, упражнения

Reading time 25 min
Views 1.4M

Регулярные выражения в Python от простого к сложному




Решил я давеча моим школьникам дать задачек на регулярные выражения для изучения. А к задачкам нужна какая-нибудь теория. И стал я искать хорошие тексты на русском. Пяток сносных нашёл, но всё не то. Что-то смято, что-то упущено. У этих текстов был не только фатальный недостаток. Мало картинок, мало примеров. И почти нет разумных задач. Ну неужели поиск IP-адреса — это самая частая задача для регулярных выражений? Вот и я думаю, что нет.
Про разницу (?:...) / (...) фиг найдёшь, а без этого знания в некоторых случаях можно только страдать.

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

Надеюсь, вам удастся из него извлечь что-нибудь новое и полезное, даже если вы уже в ладах с регулярками.
Читать дальше →
Total votes 99: ↑98 and ↓1 +97
Comments 66

Исследование фотограмметрии

Reading time 8 min
Views 36K
Друзья, хочу поделиться опытом, который приобрел в процессе практического изучения дисциплины, как фотограмметрия. Буду рад, если кто-нибудь из вас выскажет свое мнение, поправит меня или укажет на ошибки, которые допустил. Возможно эта статья по изучению мною фотограмметрии поможет и будет полезна Вам. Моя работа описана на примере фотосъемки природы в городском парке, в Центральной полосе России, в период август–сентябрь 2017 г.
Читать дальше →
Total votes 31: ↑31 and ↓0 +31
Comments 22

Нотной грамоте учат неправильно*

Reading time 11 min
Views 234K

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


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


Представьте что было бы, если бы обычной грамоте учили так же. Но мы, почему-то, в большинстве своем читать и писать таки научились.


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


* Дисклеймер

Прошу прощения, если заголовок статьи показался вам чересчур дерзким и провокационным. Таковым он, в общем-то, и является.


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


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


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

Читать дальше →
Total votes 124: ↑123 and ↓1 +122
Comments 212

Information

Rating
3,504-th
Location
Нижний Новгород, Нижегородская обл., Россия
Works in
Registered
Activity