Pull to refresh
84
0
Егор Баранов @Goganchic

User

Send message

Трассировка печатной платы в KiCAD

Reading time8 min
Views112K


Введение



Одним из критических замечаний к предыдущей статье было следующее: дескать фу таким быть, стрелять из пушки по воробьям да ещё проприетарным софтом за 10000$, к тому же наверняка украденным с торрентов. Оставляя за кадром моральную сторону вопроса, а так же презумпцию невиновности, обратимся к следующему вопросу — а что там у нас имеется в Open Source секторе, пригодное для решения задач проектирования электронной техники. В частности изготовления печатных плат. Наиболее достойной, на мой взгляд, оказалась кроссплатформенная программа KiCAD, распространяемая по лицензии GNU GPL. Имеются версии для Linux, Windows и macOS.

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

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

Hello, TensorFlow. Библиотека машинного обучения от Google

Reading time11 min
Views228K

tensorflow


Проект TensorFlow масштабнее, чем вам может показаться. Тот факт, что это библиотека для глубинного обучения, и его связь с Гуглом помогли проекту TensorFlow привлечь много внимания. Но если забыть про ажиотаж, некоторые его уникальные детали заслуживают более глубокого изучения:


  • Основная библиотека подходит для широкого семейства техник машинного обучения, а не только для глубинного обучения.
  • Линейная алгебра и другие внутренности хорошо видны снаружи.
  • В дополнение к основной функциональности машинного обучения, TensorFlow также включает собственную систему логирования, собственный интерактивный визуализатор логов и даже мощную архитектуру по доставке данных.
  • Модель исполнения TensorFlow отличается от scikit-learn языка Python и от большинства инструментов в R.

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


Как работает TensorFlow? Давайте попробуем разобраться, посмотреть и понять, как работает каждая часть. Мы изучим граф движения данных, который определяет вычисления, через которые предстоит пройти вашим данным, поймем, как тренировать модели градиентным спуском с помощью TensorFlow, и как TensorBoard визуализирует работу с TensorFlow. Наши примеры не помогут решать настоящие проблемы машинного обучения промышленного уровня, но они помогут понять компоненты, которые лежат в основе всего, что создано на TensorFlow, в том числе того, что вы напишите в будущем!

Читать дальше →
Total votes 71: ↑68 and ↓3+65
Comments12

Собеседование на программиста в Amazon

Reading time7 min
Views126K

Представляю вашему вниманию перевод своей статьи Amazon software engineer interview, изначально опубликованной на английском на sobit.me.


Amazon - We Pioneer


Не так давно со мной связался технический рекрутер из Amazon. Компания организовывала трехдневное онсайт собеседование по найму программистов в их берлинский офис.


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


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

Читать дальше →
Total votes 71: ↑62 and ↓9+53
Comments258

О вкусном и здоровом питании ESP8266 от батареек

Reading time6 min
Views68K
Многие из тех, кто мастерит разные штуковины на ESP8266, в какой-то момент задумывались, что было бы здорово взять ту штуковину, положить в карман — и пойти с ней погулять. ESP8266 ведь такой маленький, так и просится. И тут на нашем пути встречается небольшое препятствие — одним программированием здесь не обойтись, придётся брать в руки паяльник, но всё не так страшно, и, надеюсь, эта статья вам поможет.
Читать дальше →
Total votes 24: ↑18 and ↓6+12
Comments60

[ В закладки ] Алгоритмы и структуры данных в ядре Linux, Chromium и не только

Reading time9 min
Views86K
Многие студенты, впервые сталкиваясь с описанием какой-нибудь хитроумной штуки, вроде алгоритма Кнута – Морриса – Пратта или красно-чёрных деревьев, тут же задаются вопросами: «К чему такие сложности? И это, кроме авторов учебников, кому-нибудь нужно?». Лучший способ доказать пользу алгоритмов – это примеры из жизни. Причём, в идеале – конкретные примеры применения широко известных алгоритмов в современных, повсеместно используемых, программных продуктах.



Посмотрим, что можно обнаружить в коде ядра Linux, браузера Chromium и ещё в некоторых проектах.
Читать дальше →
Total votes 158: ↑149 and ↓9+140
Comments15

Новый отечественный motor-control микроконтроллер К1921ВК01Т ОАО «НИИЭТ»

Reading time11 min
Views64K

Как-то прошла мимо новость о появлении нового микроконтроллера К1921ВК01Т ОАО «НИИЭТ». Чем он примечателен? Своей периферией, предназначенной для управления электродвигателями (motorcontrol). Это не просто пара-тройка ШИМ каналов. Это девять навороченных двухканальных модулей ШИМ (PWM), из них три модуля (HRPWM) с режимом «высокого» разрешения. Это шесть отдельных 32х разрядных модулей захвата CAP. Двадцать четыре(!) канала 12ти разрядных АЦП с гибким менеджером их запуска, встроенным усреднителем и цифровыми компараторами. Два квадратурных декодера (QEP), куча интерфейсов связи, внутренняя пользовательская память, часы – и всё это на ядре ARM Cortex-M4F с мегабайтом флеш-памяти «на борту» и производительностью 100 MIPS! Интересно?
Читать дальше →
Total votes 49: ↑46 and ↓3+43
Comments99

Статистические задачи идентификации сетевых структур

Reading time20 min
Views9.4K
В сложных сетях с помощью различных процессов фильтрации могут быть выделены важные сетевые структуры, несущие содержательную информацию о сети. Среди сетевых структур традиционно рассматриваются: максимальное остовное дерево, максимально отфильтрованный планарный граф, отсеченный граф, максимальные клики и максимальные независимые множества отсеченного графа и другие.



В условиях статистической природы исходных данных возникает задача идентификации сетевых структур. Лекция, которую мы выбрали для вас сегодня, посвящена недавнему развитию этой темы в рамках теории одновременной проверки многих статистических гипотез (multiple decision statistical procedures, multiple test procedures). Такой подход позволяет разработать методы оценки статистической неопределенности сетевых структур и выделить оптимальные и устойчивые статистические процедуры идентификации. Оказывается, что сетевые структуры, построенные по вероятностям совпадения знаков, оказываются предпочтительными перед структурами, построенными по классическим корреляциям Пирсона. В рассказе рассмотрены приложения результатов к анализу фондовых рынков.

Доклад был прочитан на факультете компьютерных наук, открытом при поддержке Яндекса в Вышке. Лектор Валерий Калягин — доктор физико-математических наук, ординарный профессор НИУ ВШЭ. Заведует кафедрой прикладной математики и информатики и лабораторией алгоритмов и технологий анализа сетевых структур НИУ ВШЭ в Нижнем Новгороде.

Под катом — полная расшифровка лекции.
Читать дальше →
Total votes 29: ↑28 and ↓1+27
Comments0

Задачи вступительного экзамена в ШАД 2014

Reading time14 min
Views64K


При поступлении в ШАД проверяются знания в рамках общей программы, включающей базовые разделы высшей алгебры, математического анализа, комбинаторики, теории вероятностей, а также основы программирования. Под катом подробно разобраны задачи вступительного экзамена в ШАД 2014 года. Внимание! Пост довольно объёмный, поэтому устраивайтесь поудобнее, вооружайтесь карандашом, если нужно, доставайте чай с печеньем. Убедитесь, что сделали все дела на вечер! Велика вероятность, что рассматриваемые ниже задачи поглотят ваш разум на несколько часов, а кому-то помешают вовремя лечь спать. Во всяком случае сегодняшний вечер обещает быть интересным. Добро пожаловать под кат
Читать дальше →
Total votes 34: ↑31 and ↓3+28
Comments16

Разбор всех задач финального раунда Яндекс.Алгоритма 2015

Reading time17 min
Views75K
Сегодня завершился финал Яндекс.Алгоритма — ежегодного чемпионата по спортивному программированию, который организует Яндекс. В 2015 году состязание проходило полностью в онлайне — на платформе Яндекс.Контест. Заявки на участие подали программисты из 73 стран. Больше всего участников — из России, Украины, Беларуси, Казахстана, Индии, США, Японии и Китая, но вообще география чемпионата крайне обширна — Бразилия, Индонезия, Перу, Доминиканская Республика, Мозамбик, Сенегал, Каймановы острова. 8,9% зарегистрировавшихся — девушки. Примерно половина всех участников — студенты. Всего мы получили заявки от 3722 человек, из которых до финала дошли 28.

А победителем Яндекс.Алгоритма-2015 стал Геннадий Короткевич. Он по привычке показал лучший результат, решив в финальном раунде пять из шести задач и получив при этом 80 минут штрафного времени. Геннадий занимал первое место в чемпионате Яндекса и в 2013, и в 2014 годах.



Второе место занял Пётр Митричев, а третье — Евгений Капун. Они решили по четыре задачи, при этом Пётр набрал 31 штрафную минуту, а Евгений — 79 минут. Результаты всех финалистов можно посмотреть на сайте Яндекс.Алгоритма.

Задачи для Яндекс.Алгоритма составляет международная команда, в которую входят как сотрудники Яндекса, так и приглашённые эксперты — в том числе победители и финалисты состязаний ACM ICPC и Topcoder Open. И мы по традиции подготовили для вас разборы всех заданий. Решить все из них никому не удалось. Больше всего участников справились с задачей B, а вот задания A и D решило всего по одному человеку.
Читать дальше →
Total votes 50: ↑47 and ↓3+44
Comments2

Vim по полной: Компиляция и выполнение чего угодно

Reading time3 min
Views28K

Оглавление


  1. Введение (vim_lib)
  2. Менеджер плагинов без фатальных недостатков (vim_lib, vim_plugmanager)
  3. Уровень проекта и файловая система (vim_prj, nerdtree)
  4. Snippets и шаблоны файлов (UltiSnips, vim_template)
  5. Компиляция и выполнение чего угодно (vim-quickrun)
  6. Работа с Git (vim_git)
  7. Деплой (vim_deploy)
  8. Тестирование с помощью xUnit (vim_unittest)
  9. Библиотека, на которой все держится (vim_lib)
  10. Другие полезные плагины

Как можно назвать редактор удобным, если он не умеет запускать то, что мы программируем? Особенностью описываемого мной в данной статье плагина, является возможность запуска чего угодно, будь то программный код, plantUML, LaTeX, Less и всего, что можно написать и запустить. Плагин vim-quickrun может показаться довольно запутанным и сложным, не смотря на прекрасную документацию, потому я решил коротко осветить его в этой статье, дабы вы могли быстрее начать им пользоваться.
Выполнить
Total votes 15: ↑15 and ↓0+15
Comments28

ESP8266: Революция в мире интернета вещей

Reading time4 min
Views341K


В не столь далекие времена поддержка устройством Wi-Fi-соединения была дорога, громоздка и не энергоэффективна. Разработчики вынуждены были использовать радиоинтерфейсы на базе различных конкурирующих решений. Выдумывали свои «велосипеды» на уровне протоколов. И попадали в заветный Wi-Fi только с использованием дополнительных устройств, реализующих функционал моста. Стоивших весьма заметные деньги.

Но жизнь идет. Технологии стремительно развиваются. Термин «Интернет вещей» все чаще на слуху. Многим производителям микросхем, большим и не очень, наконец-то стало актуальным решить извечную проблему интеграции Wi-Fi в небольшие и недорогие устройства. Чтобы иметь возможность подключить их напрямую в инфраструктуру, уже имеющуюся почти в каждом жилище. Чтобы отъесть как можно больший кусок грядущего нового рынка подключаемых к сети простых устройств.

В 2014 году сразу несколько производителей объявили о выпуске соответствующих наборов микросхем. Сегодня речь пойдет о чипе ESP8266 китайской компании Espressif. Модулями UART-WIFI на базе этого чипа уже наводнен весь Китай и стоят они всего от $4,5 (с бесплатной международной доставкой).
Читать дальше →
Total votes 78: ↑74 and ↓4+70
Comments83

Обзор отечественного одноплатного компьютера MB 77.07: От распаковки и прошивки, до написания первой DSP программы

Reading time30 min
Views60K
В наше время рынок SBC (Single Board Computer) сильно разросся, и появилось огромное количество одноплатных компьютеров на самых различных процессорах, от старых и всем известных, до совсем новых и специализированных. Недавно ко мне попал Module MB 77.07 – одноплатный компьютер от НТЦ «Модуль» на процессоре отечественного производства К1879ХБ1Я, про который на хабре уже однажды оставили небольшую заметку люди из компании Promwad. С момента того поста плату стали продавать всем желающим и было выложено ПО на официальный github компании – http://github.com/RC-MODULE

В статье будет дано описание железа и софта, от распаковки и прошивки, до написания простого примера – аудио-эффекта эха на встроенном в используемый процессор DSP ядре NeuroMatrix.
Читать дальше →
Total votes 85: ↑81 and ↓4+77
Comments54

Переходим с STM32F103 на К1986ВЕ92QI. Или первое знакомство с российским микроконтроллером

Reading time8 min
Views172K

Введение


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

К этому моменту уже как несколько месяцев изучал работу микроконтроллеров STM32F100 и STM32F103, применяя их на практике в презентационном устройстве. От таких гигантов, как STM32F429, мне пришлось отказаться. Так как стоимость в 1800 рублей за корпус является заоблачной для «бюджетного» устройства, функционал которого только начал превосходить возможности AVR Atmega32.
Читать дальше →
Total votes 81: ↑72 and ↓9+63
Comments56

Откуда есть пошло комплексное число

Reading time3 min
Views150K
В современной математике комплексное число является одним из фундаментальнейших понятий, находящее применение и в «чистой науке», и в прикладных областях. Понятно, что так было далеко не всегда. В далекие времена, когда даже обычные отрицательные числа казались странным и сомнительным нововведением, необходимость расширения на них операции извлечения квадратного корня была вовсе неочевидной. Тем не менее, в середине XVI века математик Рафаэль Бомбелли вводит комплексные (в данном случае точнее сказать, мнимые) числа в оборот. Собственно, предлагаю посмотреть, в чем была суть затруднений, доведших в итоге солидного итальянца до подобных крайностей.
Читать дальше →
Total votes 144: ↑139 and ↓5+134
Comments59

Строение двигателей

Reading time7 min
Views129K
Недавно наткнулся на прекрасный сайт (англ.), который по полочкам размусоливает и показывает строение большинства типов двигателей. Попытаюсь вольно и сжато пересказать самое на мой взгляд главное, совсем по пальцам и как для самых маленьких. Конечно можно было бы позаимствовать точные определения из авторитетных источников, но такой любительский перевод обещает быть единственным в своем роде :)

А можете ли Вы сходу объяснить Вашей девушке, в чем отличие бензинового двигателя от дизельного? Четырёхтактного и двухтактного движков? Нет? Тогда приглашаю под кат.

Читать дальше →
Total votes 249: ↑220 and ↓29+191
Comments142

Бюджетный неттоп в качестве HTPC

Reading time5 min
Views59K
У каждого любителя посмотреть хорошее и качественное кино несомненно встает вопрос: как и чем это кино воспроизводить. Сейчас на рынке присутствует огромное количество мультимедийных плееров разной ценовой категории, с разным дизайном, количеством поддерживаемых форматов и других “плюшек” в виде встроенного торрент-клиента и т.д. Но, как правило, достойные плееры выходят за рамки бюджетных устройств и при этом всем они все же не отличаются гибкостью в настройке системы. Но как же тогда поступить? Мы плавно подошли к разговору о HTPC.


Читать дальше →
Total votes 49: ↑44 and ↓5+39
Comments98

Паяльная станция Lukey702

Reading time3 min
Views221K
SMD Rework Station Lukey702

Долго думал в какой блок опубликовать. Станция дешевая, стоит в России от 1600 до 2500 рублей, в зависимости от жадности продавцов. Считаю, каждому самодельщику необходимо иметь такой девайс. Я давно хотел приобрести такую, и не понятно, как я раньше, обходился без нее! Станция компактная, те, кто знает другие поделки фирмы Lukey, станции старого поколения, сделанные в здоровенных железных ящиках, оценят, эргономичный корпус и органы управления.

image
Читать дальше →
Total votes 75: ↑70 and ↓5+65
Comments97

Проверка орфографии одновременно для русского и английского языков в OS X

Reading time1 min
Views8.7K
Сервис проверки орфографии в OS X обладает одним существенным недостатком. Нет возможности проверить правописание слов в смешанном тексте. Возможно проверить либо написание английских слов (русские не будут проверятся), либо написание русских слов (английские слова будут подчеркнуты как слова с ошибками). В настройках сервиса есть возможность выбрать мультиязычную проверку, но по какой-то причине русский язык не входит в данную группу словарей.
В данном топике описана инструкция для включения проверки орфографии в смешанных текстах.
Читать дальше →
Total votes 12: ↑10 and ↓2+8
Comments13

PicUntu 4.5 installer: легкий способ установить Ubuntu на устройства с Rockchip RK3188

Reading time1 min
Views44K


Еще в январе на Хабре публиковалась новость о новом дистрибутиве Linux, PicUntu, предназначенном для установки Ubuntu на устройства с Rockchip RK3188 (в основном это мини-ПК, TV boxes и прочее). Теперь появился GUI-установщик, который позволяет без всяких проблем установить данный дистрибутив, с чем могут справиться не особо опытные пользователи.

Читать дальше →
Total votes 22: ↑19 and ↓3+16
Comments19

Information

Rating
Does not participate
Registered
Activity