Как стать автором
Обновить
28
0

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

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

«Герои Меча и Магии» в браузере: долго, сложно и невыносимо интересно

Время на прочтение22 мин
Количество просмотров103K
Как реализовать в браузере игру, на которой годы назад залипал без всякого браузера? С какими сложностями столкнёшься в процессе, и как их можно решить? И, наконец, зачем вообще это делать?

В декабре на конференции HolyJS Александр Коротаев (Tinkoff.ru) рассказал, как он сделал браузерную версию «Героев». Ранее уже появилась видеозапись доклада, а теперь для Хабра мы сделали ещё и текстовую версию. Кому удобнее видео — запускайте ролик, а кому текст — читайте его под катом:

Читать дальше →
Всего голосов 214: ↑210 и ↓4+206
Комментарии63

Еще одна статья о распознавании рабочих без касок нейросетями

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

Привет, Хабр! Меня зовут Владимир, я студент 4го курса КубГТУ (к сожалению).


Некоторое время назад я наткнулся на статью о разработке CV-системы для обнаружения рабочего персонала без касок, и решил поделиться собственным опытом в данной области, полученным в ходе стажировки в одной промышленной компании летом 2017 года. Теория и практика OpenCV и TensorFlow в контексте задачи обнаружения людей и касок — сразу под катом.



КДПВ, снятая в реальном времени с камеры видеонаблюдения

Читать дальше →
Всего голосов 21: ↑21 и ↓0+21
Комментарии28

Датчики Холла для бесколлекторного двигателя: возвращение квадратурных энкодеров

Время на прочтение5 мин
Количество просмотров66K
Это уже третья статья, рассказывающая о квадратурных декодерах, на сей раз с применением к управлению бесколлекторными двигателями.


Задача: есть обычный китайский бесколлекторник, нужно его подключить к контроллеру Copley Controls 503. В отличие от копеечных коптерных контроллеров, 503й хочет сигнал с датчиков холла, которых на движке нет. Давайте разбираться, для чего нужны датчики и как их ставить.

Ликбез: принцип работы бесколлекторного двигателя


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


Читать дальше →
Всего голосов 42: ↑42 и ↓0+42
Комментарии35

Операционная система на JavaScript? JsOS

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

Приветствую, хабровчане!


Как вы думаете, можно ли создать полноценную операционную систему на языке программирования JavaScript, с которой можно загружаться?


Правильный ответ — можно!


image


Сегодня я хочу рассказать вам про проект JsOS.

Читать дальше →
Всего голосов 44: ↑32 и ↓12+20
Комментарии193

Порядок разрешения методов в Python

Время на прочтение15 мин
Количество просмотров172K
В этой заметке рассматривается алгоритм MRO С3 и некоторые специфические проблемы множественного наследования. Хотя и алгоритм и проблемы не ограничиваются рамками одного языка, я акцентировал своё внимание на Питоне. В конце приведён список полезных ссылок по данной теме.
Читать дальше →
Всего голосов 63: ↑62 и ↓1+61
Комментарии12

Операционные системы с нуля; Уровень 0

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

Добрый день/вечер/ночь/утро! Есть один экспериментальный курс по операционным системам. Есть он в Стэнфордском университете. Но часть материалов доступно всем желающим. Помимо слайдов доступны полные описания практических занятий.


Чем этот курс отличается от прочих других? Большая часть кода пишется самостоятельно и выполняется на вполне реальном современном железе. В качестве целевой платформы выбран Raspberry Pi 3 model B. Т.е. достаточно актуальная архитектура AArch64. ARMv8 Cortex-A53, четыре ядра, 64-бита и вот это всё. В качестве основного языка программирования выбран Rust. Который безопасный, быстрый, без GC и так далее. Его, Rust, предполагается изучать во время курса.


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

Читать дальше →
Всего голосов 80: ↑78 и ↓2+76
Комментарии55

25 микрочипов, потрясших мир

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

В разработке микрочипов, как и в жизни, мелочи иногда складываются в значительные явления. Выдумайте хитрую микросхему, создайте её из полоски кремния, и ваше маленькое создание может привести к технологической революции. Так произошло с микропроцессором Intel 8088. И с Mostek MK4096 4-килобитной DRAM. И с Texas Instruments TMS32010 цифровым процессором сигналов.

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

Мы подготовили список из 25 ИС, заслуживающих, по нашему мнению, почётное место на каминной полке дома, который построили Джек Килби и Роберт Нойс [изобретатели интегральной схемы – прим. перев.]. Некоторые из них превратились в долгоиграющую икону поклонения любителей чипов: к примеру, таймер Signetics 555. Другие, например, операционный усилитель Fairchild 741, стали азбучными примерами схем. Некоторые, к примеру, микроконтроллеры PIC от Microchip Technology, продавались миллиардами, и до сих пор продаются. Несколько особых чипов, таких, как флэш-память от Toshiba, создали новые рынки. А по меньшей мере один стал символом гиков в поп-культуре. Вопрос: на каком процессоре работает Бендер, алкоголик, курильщик и достойный порицания робот из «Футурамы»? Ответ: MOS Technology 6502.
Читать дальше →
Всего голосов 47: ↑43 и ↓4+39
Комментарии56

Подключение цветного LCD с сенсорным экраном к микроконтроллеру

Время на прочтение9 мин
Количество просмотров96K
Добрый день, хабр. Сегодня я хотел бы поделиться некоторым опытом, касающимся подключения цветных LCD-индикаторов к микроконтроллеру. Эта тема уже поднималась на хабре (http://habrahabr.ru/post/139384/), поэтому данный пост может рассматриваться как дополнение к уже написанному моими уважаемыми коллегами.

Читать дальше →
Всего голосов 57: ↑56 и ↓1+55
Комментарии9

Регулярные выражения для самых маленьких

Время на прочтение11 мин
Количество просмотров223K
Привет, Хабр.

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

Некоторые из них для наглядности будут показаны на примере языков программирования PHP или JavaScript, но в целом они работают независимо от ЯП.

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

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

Поехали!


Читать дальше →
Всего голосов 67: ↑64 и ↓3+61
Комментарии55

Ещё один Радио-86РК

Время на прочтение2 мин
Количество просмотров15K
В далёком 1989-м году, когда мне было 15 лет, я, как и многие в те времена, спаял, популярный тогда компьютер – Радио-86РК.

В 1992-м году он выпал из поля моего зрения, но внезапно приятель провёл маленькое расследование и отыскал его. Сложно передать словами, насколько мне было приятно и интересно взглянуть на это своё детище. Многие нюансы уже стёрлись из памяти.

Схемотехнику этой модели, по-моему, не раз обозревали на Хабре, поэтому нет особого смысла повторяться. Мой пост о конструктивных особенностях именно этого изделия, собранного простым советским студентом техникума, поэтому дальше много фотографий.
Читать дальше →
Всего голосов 28: ↑27 и ↓1+26
Комментарии27

Не все так просто с Petya

Время на прочтение6 мин
Количество просмотров111K
27-го июня, 2017 года новая кибератака поразила множество компьютерных систем в Украине и других странах. Атака была вызвана зловредом, который ESET определял как Diskcoder.C (aka ExPetr, PetrWrap, Petya, или NotPetya).

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

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

Итак, рассказ о поддельном обновлении.
Читать дальше →
Всего голосов 81: ↑72 и ↓9+63
Комментарии360

Кислотные аккумуляторы; чтобы больше не было отвратительно читать то что люди о них пишут

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

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

Далее перейдем к некоторым мифам, а именно главный миф — АКБ для автомобиля имеет некие существенные отличия от АКБ для ИБП. И вот нельзя их применять и там и там.
Читать дальше →
Всего голосов 112: ↑107 и ↓5+102
Комментарии340

Бесплатное программное обеспечение для IP-камер

Время на прочтение5 мин
Количество просмотров696K
За 11 лет работы на рынке видеонаблюдения, нам пришлось столкнутся с множеством программ для управления системами видеонаблюдения, с какими-то мы работали, какие то тестировали, какие хотели потестировать, но так и не успели этого сделать, про какое-то просто читали в обзорах подобных тому, что читаете вы.

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

Все программное обеспечение разбито на три группы:

  • Программное с открытым исходным кодом
  • Бесплатное программное обеспечение с ограниченным функционалом
  • Программное обеспечение бесплатное в течении пробного периода

image
Читать дальше →
Всего голосов 40: ↑39 и ↓1+38
Комментарии31

Нейронные сети в картинках: от одного нейрона до глубоких архитектур

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

В статье мы пойдём по другому пути. Начнём с самой простой конфигурации — одного нейрона с одним входом и одним выходом, без активации. Далее будем маленькими итерациями усложнять конфигурацию сети и попробуем выжать из каждой из них разумный максимум. Это позволит подёргать сети за ниточки и наработать практическую интуицию в построении архитектур нейросетей, которая на практике оказывается очень ценным активом.
Читать дальше →
Всего голосов 67: ↑62 и ↓5+57
Комментарии53

История одного осциллографа на stm32

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


Чуть больше года назад, мне в голову пришла мысль о том, что хорошо бы было сделать осциллограф. Тогда мне хотелось, чтобы это было независимое устройство с собственным TFT дисплеем, да и вообще, идея разобраться с TFT дисплеями, мне казалась очень перспективной. Спустя некоторое время на али был заказан TFT размером 3.2 дюйма с драйвером SSD1289.

На тот момент у меня уже был опыт программирования микроконтроллеров AVR, поэтому решил запустить дисплей на моём любимом Atmega16. Дойдёт ли дело до создания осциллографа тогда ещё не знал, но то что буду в своих проектах использовать TFT знал точно, поэтому не стал искать сторонние библиотеки, а решил написать свою, которой пользуюсь и по сей день.
Читать дальше →
Всего голосов 23: ↑23 и ↓0+23
Комментарии45

Разминка перед выходными: есть Raspberry Pi, Arduino и свободный вечер

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

image alt text


Неделя плавно подходит к выходным, поэтому самое время придумать себе занятие на длинные праздники. Например, можно собрать из Raspberry Pi тепловизор для ответа на вечные вопросы "сколько греть двигатель" и “какова температура головы у программиста”. Или собственный вариант Google Glass на базе Arduino, пусть и узкоспециализированный.

Всего голосов 24: ↑22 и ↓2+20
Комментарии9

Прямой доступ к диску из python (simhdd)

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

Добрый день, коллеги. Со времени написания первой статьи прошло достаточно много времени. За это время моя библиотечка для доступа к диску научилась работать со встроенными SMART-тестами и их логами а также механизмами безопасности современных накопителей.

На этот раз я расскажу о создании приложения для тестирования жестких дисков на базе этой библиотеки.
Читать дальше →
Всего голосов 18: ↑18 и ↓0+18
Комментарии20

Персона. Деннис Ритчи — создатель языка С и ОС UNIX

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


Деннис Ритчи – создатель языка программирования Cи. Он вместе с Кеном Томпсоном разработал Cи для создания операционной системы UNIX. «У Ньютона есть фраза о стоящих на плечах гигантов», – говорит Брайан Керниган. «Мы все стоим на плечах Денниса».

«Практически все в веб создано на основе – Cи и UNIX», – рассказал изданию Wired Роб Пайк (Rob Pike), легенда программирования. – «На языке Cи написаны браузеры. На ядре UNIX работает почти весь Интернет, и оно также написано на языке Си. Веб серверы – написаны на языке C. А если не на нем, то на Java или C++. А эти языки производные от Си. Python и Ruby также базируются на Cи. Я ручаюсь за то, что все сетевое оборудование работает на программах, написанных на С. Действительно трудно переоценить то, что, сколько всего в современной информационной экономике основано на работе Денниса».

«Недаром же Windows, когда-то написали на Cи, – добавляет он. А UNIX лежит и в основе настольной операционной системе Apple, Mac OS X и IOS. Эти системы установлены в iPhone и iPad».
Читать дальше →
Всего голосов 51: ↑50 и ↓1+49
Комментарии28

Лазерный резак своими руками. Часть номер ноль. Силовая

Время на прочтение5 мин
Количество просмотров98K
image
В свое время я очень сильно хотел заиметь ЧПУ лазер, не то чтобы он был очень нужен для работы или хобби, но тем не менее вещь полезная в подсобной мастерской, да и круто же!
Читать дальше →
Всего голосов 75: ↑73 и ↓2+71
Комментарии154

RS232 устройство 3-в-1 для домашнего Linux сервера: Часть 2 (Серверная)

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

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


В этой части статьи будет рассмотрено как взаимодействовать с последовательным портом из пространства ядра (kernel space) и как организовать работу с несколькими подсистемами устройства через RS232 в Linux.


Устройство включает в себя следующие подсистемы:


  • Аппаратный сторожевой таймер, работающий с watchdog демоном;
  • Генератор истинно случайных чисел;
  • Радиомодуль nRF24L01+ для сбора данных с автономных датчиков.

WRN устройство

Читать дальше →
Всего голосов 18: ↑17 и ↓1+16
Комментарии6
1
23 ...

Информация

В рейтинге
Не участвует
Откуда
Киев, Киевская обл., Украина
Дата рождения
Зарегистрирован
Активность