Search
Write a publication
Pull to refresh
14
0.1
Дмитрий Земсков @SADKO

Overqualified

Send message

Чемоданы айфонов и гопники в Бутово: как мы чуть не разорились на продукции Apple

Reading time7 min
Views201K
Бес нас попутал.
Мы создали MadRobots, чтобы привозить в Россию лучшие инновационные гаджеты со всего мира. А опустились до того, что стали торговать банальными айфонами. За это и поплатились — как платят в итоге все, кто идет за толпой и предает свои идеалы.
В прошлый раз я рассказывал, как начал инвестировать на «Кикстартере», увлекся «интернетом вещей» и в итоге обрел свое счастье, бросив работу в Panasonic и открыв свое дело.


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

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

Сегодня я расскажу о самой (пока что) драматичной нашей ошибке — неудачной попытке заработать на товаре, который, если верить мифам Древней Греции, обогатил не одного российского интернет-продавца.
Читать дальше →

Retro Games Battle 2014

Reading time1 min
Views13K
image Сегодня утром стартовал игровой конкурс Retro Games Battle 2014, в котором состязаются новые игры, написанные под старую платформу ZX Spectrum.

Жанровых ограничений не было, главное требование — это использование стандартного железа ZX Spectrum до 128к.
Итак, 3,5 Мгц, 128 килобайт. Основной язык — assembler z80.

Немного графики из игр:
image

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

Новая жизнь старого синтезатора. Часть 1

Reading time6 min
Views83K
Внешний вид синтезатора
Несколько лет тому назад умер смертью храбрых мой старый синтезатор Yamaha PSR-GX76. Случилось это из-за того, что я по ошибке подключил к нему блок питания 24 В вместо положенных 12 В. В таком режиме синтезатор героически проработал несколько минут, после чего случился «пук», сопровождаемый аудиовизуальными спецэффектами и специфическим запахом и синтезатор больше не включался. С тех пор он пылился в коробке и ждал своего часа, который для него, наконец, настал. В нескольких статьях я расскажу как проходило движение от идеи вдохнуть в него новую жизнь до реализации и демонстрации полученных результатов.
Перейти ко вскрытию пациента

Массивно-параллельная стабилизация изображения

Reading time8 min
Views20K
image
Предисловие

Доброго времени суток! Сегодня решил поделиться с Вами сокровенным — одним из своих любимых велосипедов.

Начну издалека — довольно долго я работал на одном радиозаводе в Челябинске, и был у нас (вообще и сейчас есть, просто я уже не там) один мега-проект: оптико-электронный модуль для охраны физических объектов. Это такая здоровая штука на поворотной установке, с тремя камерами на все случаи жизни (цветная — дневная, ЧБ светочувствительная — для сумерек, и тепловизор — для ночного наблюдения). Берётся такой модуль, ставится на вышку высотой метров 50 — и можно днём и ночью держать под наблюдением территорию в радиусе 4-5 километров. Подробности писать не стану, не о том пост. Кому интересно — сами найдут.

Разумеется, интересных задачек по обработке изображений было много. Об одной из таких я и хочу рассказать. А именно — как использовать массивно-парралельные вычисления для компенсации дрожания камеры в реальном времени, или почему SURF подходит не всегда. Добро пожаловать под кат.
Читать дальше →

GNU/Linux и устройство на Rockchip 2918

Reading time26 min
Views49K
Сначала немного предыстории. Небольшое продолжение истории с медиаплеером GV2B, описанным мной ранее ту/т. Напомню, что изначально бокс покупался не как Android приставка к телевизору, а как более мощная замена Raspberry Pi, на который я оставил заявку ещё в апреле, но приедет который только в августе. А GV2B оказался у меня в руках через 8 дней после заказа, всего за $100 и с полным комплектом кабелей (что всего на $5 дороже, чем комплект Raspberry Pi с зарядкой, шнурами и корпусом).
Успокою злопыхателей из моего предыдущего поста, что Youtube и другие приложения, установленные с Play, заработали замечательно, и больше никаких недостатков у устройства обнаружено не было.

Совсем недавно появилось пара топиков, в которых рассказывалось, как на ARM устройства удалось поставить Puppy Linux, Arch Linux и Ubuntu. Это уникальная особенность Allwinner A10, недооценить которую тяжело, но всё-таки система физически запускается с SD карты, а не встроенного флеша. Я начал активнее работать над вопросом, и наткнулся аж на три способа прошить что-либо во флеш память устройства, что обнадёживает и, возможно открывает лазейку для заливки туда полноценного GNU/Linux. Самонадеянно замечу, что это уже следующий шаг за банальным запуском чуть допиленного образа с SD карты.

Цель


— Установить на устройство ядро Linux. Желательно самое новое. Либо самое новое из тех, которое содержит все драйвера, специфические для устройства;
— Поставить GNU;
— Поставить окружение рабочего стола;
— Сделать резервную копию, чтобы устройство можно было вернуть в изначальное состояние, если что пойдёт не так;
— Хорошенько повеселиться со сложной задачей (сравнимо с установкой первых версий USB загрузчиков на Wii и прохождению NetHack или Dwarf Fortress).

Средства


Устройство GV-2B от неизвестного китайского производителя, на базе Rockchip 2918 (сокращённо RK29) (CPU ARM Cortex A8 1ГГц + GPU Vivante GC800 600МГц), с 4ГБ флеш памяти, 512МБ оперативной памяти и неплохим количеством разьёмов.
SD карта 16ГБ class 10.
PC с Arch Linux.
Клавиатура.
Монитор.
Шнур HDMI-DVI для подключения монитора.
Куча USB шнуров, переходников итп.

Предостережение и самобичевание


Наверняка многие из читателей сделали бы то, что описано в топике или хотя бы какую-то определённую часть, быстрее и лучше, но никаких упоминаний о таком подвиге я в просторах сети не нашёл. Топик содержит много практики и совсем немного теории, лишь самое необходимое, чтобы понять о чём идёт речь и что происходит (признаюсь честно, мне и самому теории в описанных областях явно не хватает). С академической точки зрения тянет на трёхчасовую лабораторную работу. Также хочу сказать, что впервые занимаюсь всем этим, если исключить подключение диска с предварительно установленным на настольком компьютере Ubuntu к PC104 x86-совместимому одноплатнику.
Окунуться в миллион приключений

Распаковка, редактирование и упаковка прошивок видеорегистраторов и IP камер от Xiong Mai

Reading time6 min
Views156K

Предыстория


Не так давно приобрёл на Aliexpress IP камеру (чип Hi3516 платформа 53H20L) и 16-канальный гибридный видеорегистратор (чип Hi3521 платформа MBD6508E). Оба выполнены на чипсете от HiSilicon, так что проблем с совместимостью между собой не испытывают.
Разумеется, не обошлось и без глюков. Первый, и самый главный — у камеры криво работал WiFi — нельзя было подключиться к сети, если ключ был задан в HEX виде, а также периодически возникала проблема со шлюзом по умолчанию.

Прошивка оказалась старая, ещё июньская. Раздобыл несколько свежих прошивок и попробовал. Некоторые оказались глючными, но одна заработала нормально.
Возникла другая проблема — изменился пароль по умолчанию для telnet подключения. Этого я не стерпел и стал искать способы вернуть его обратно.
Сразу предупрежу, что данный способ опробован на видеорегистраторах и камерах на чипах HiSilicon, но должен сработать и с другой платформой, так как китайцы широко используют загрузчик U-boot.
Читать дальше →

Burn-in рутовый шелл в IP-камерах Vesta и не только

Reading time5 min
Views61K
Так получилось, что передо мной встала задача записывать и хранить видео с IP-камер. Были закуплены и смонтированы камеры Vesta VC-6206 IR без представления архитектуры информационной системы на их основе. Совсем короткий период эксплуатации показал, что камеры имеют свойство зависать и неплохо бы их перезагружать периодически. nmap показывал, что у камеры доступен только telnet, http и rtsp. Ребутать камеру телнетом по крону показалось мне неплохим решением, но рутовый пароль техподдержка дать отказалась.
Читать дальше →

Лабораторный программируемый линейный блок питания UnionTest/KORAD UT3005EP и его калибровка/управление

Reading time4 min
Views91K
Купил недавно лабораторный блок питания UnionTest UT3005EP (31В 5.1А), это другое название известного блока питания KORAD — чистокровного китайца. Снова оригинальная китайская разработка, а не недоделанная копия. Первые ревизии блоков этой серии (~2012 год) имели недостатки (в частности, на максимальном токе — силовые транзисторы могли перегреться, это обнаружили в видеоблоге eevblog), однако позже они были исправлены. Лично я питаю слабость к 4-х разрядным светодиодным индикаторам — потому мой выбор и пал на блоки питания UnionTest/KORAD с учетом того, что на тестах исправленной ревизии он показывал себя хорошо.

Сначала я по привычке заказал блок напрямую из Китая, но он ко мне не дошел (деньги вернули) — и тут я увидел, что в наличии в московских магазинах по примерно той же цене (5210 рублей за эту модель) продают UnionTest — на первый взгляд KORAD с другим именем. Однако остается вопрос, не распродают ли там случайно старую ревизию железа? Блок я купил, и на внутренности мы сейчас посмотрим. Забегая вперед — ревизия новая.

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

О гипотезе Пуанкаре. Лекция в Яндексе

Reading time6 min
Views108K
Еще в XIX веке было известно, что если любую замкнутую петлю, лежащую на двумерной поверхности, можно стянуть в одну точку, то такую поверхность легко превратить в сферу. Так, поверхность воздушного шарика удастся трансформировать в сферу, а поверхность бублика – нет (легко вообразить себе петлю, которая в случае с бубликом не стянется в одну точку). Гипотеза, высказанная французским математиком Анри Пуанкаре в 1904 году, гласит, что аналогичное утверждение верно и для трехмерных многообразий.

Доказать гипотезу Пуанкаре удалось только в 2003 году. Доказательство принадлежит нашему соотечественнику Григорию Перельману. Эта лекция проливает свет на объекты, необходимые для формулировки гипотезы, историю поиска доказательства и его основные идеи.



Читают лекцию доценты механико-математического факультета МГУ к. ф-м. н. Александр Жеглов и к. ф.-м. н. Федор Попеленский.
Конспект лекции

Как должен выглядеть мануал для женского телефона

Reading time2 min
Views17K
Нынешним субботним утром мое настроение было приподнято не только из-за двух предстоящих выходных, но и весьма неординарного подхода teXet к продвижению своего, цитирую, «бело-розовенького телефончика teXet TM-D300». О том, как должен выглядеть мануал к телефону для женской аудитории и почему я с женой смеялся в голос при чтении «обычной» инструкции – далее под катом.

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

Злоумышленники используют Win32/Boaxxe.BE для организации кликфрода

Reading time17 min
Views12K
В этом анализе мы хотим рассказать об интересном семействе вредоносных программ Win32/Boaxxe.BE, которое используется злоумышленниками для направления трафика на рекламные сайты с использованием различных техник кликфрода. Таким образом злоумышленники получают материальную выгоду от рекламодателя, который платит за клики. Первая часть анализа освещает инфраструктуру партнерской сети, которая используется для распространения этой вредоносной программы, во второй части мы сосредоточимся на технических аспектах вредоносного кода.



Дистрибуция и получение прибыли

Win32/Boaxxe.BE распространялся с сайта партнерской программы partnerka.me, который начал свою работу в сентябре 2013 г. Владельцы или клиенты партнерки (партнеры) платят злоумышленникам за установки этой вредоносной программы на компьютеры пользователей. На скриншоте ниже представлена панель управления одного из партнеров (т. н. филиал партнерки), который фиксирует статистику, связанную с дистрибуцией вредоносного кода.

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

Как слетать в Гонконг на выставку (часть 1)

Reading time9 min
Views14K
image
Возвращаюсь в очередной раз из командировки в Гонконг и Шеньжень. 10 часов полета. Скучно. Вспомнилось, как я летел туда в первый раз несколько лет назад… Первое в жизни посещение ЮВА. Апрельские выставки электроники в Гонконге, потом выставка в Гуаньджоу, потом посещение 12 фабрик в Шеньжене. Насыщенная выдалась поездка. Благо, что мне помогли хорошие люди и я вляпался всего лишь в одну небольшую неприятность. Но вот денег я потратил гораздо больше, чем нужно, потому что очень многого не знал.
Вот и захотелось мне, имея в полете кучу свободного времени, написать эту статью — как наиболее эффективно потратить время и деньги (летаю я исключительно на свои, так что оптимизация затрат рулит), чтобы посетить Гонконг, посмотреть сразу две весьма интересные выставки электроники и получить массу положительных впечатлений. Конечно, я далеко не первый в мире эксперт по Гонконгу, т.к. бывал там в общей сложности только раз 15. Есть куда более опытные люди. Но, по-моему, никто из них еще не написал статью на Хабре, а до апреля (и, соответственно, выставок), осталось не так уж и много времени. С другой стороны, полтора десятка посещений — не так уж и мало, я люблю и нелохо знаю этот город, плюс я получаю много информации из первых рук: мой партнер с семьей живет в Гонконге уже больше 10 лет, а мой очень хороший приятель работает там по контракту 3.5 года, его жена — лицензированный гид по Гонконгу. В общем, сильно налажать с советами я не должен, ну и в комментариях меня знающие люди поправят, если что.
Читать дальше →

Пару слов о распознавании образов

Reading time13 min
Views314K
Давно хотел написать общую статью, содержащую в себе самые основы Image Recognition, некий гайд по базовым методам, рассказывающий, когда их применять, какие задачи они решают, что возможно сделать вечером на коленке, а о чём лучше и не думать, не имея команды человек в 20.
image

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

Устанавливаем Linux-программы на смартфон под управлением Android

Reading time11 min
Views182K


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

Опубликован исходный код Light Table

Reading time1 min
Views55K


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

Собрав необходимую сумму на Кикстартере, американский разработчик Крис Грэнджер сдержал слово — реализовал поддержку Python и опубликовал исходный код Light Table на Github.
Читать дальше →

Twister: Децентрализованный, P2P аналог Twitter'a

Reading time4 min
Views41K


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

Twister — это сервис микроблогинга (аналогичный твиттеру), но его отличает несколько очень интересных технологий которые были использованы одновременно.

А именно: Bitcoin Block Chain, Bittorrent DHT, Bittorrent Swarm.

Другими словами — это полностью анонимный, децентрализованный сервис микроблогинга который вобрал в себя всё лучшее от Bittorrent и Bitcoin.
Читать дальше →

Virt2real итоги года, или «Главный вопрос жизни, Вселенной и всего такого»

Reading time20 min
Views29K

Преамбула


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

image

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

Что такое MANET или почему WiFi не решение всех телекоммуникационных проблем

Reading time10 min
Views42K
Прочитав очередной пост на хабре на тему самоорганизующихся сетей автор понял, что в этой теме до сих пор нет ясности. В большинстве случаев о самоорганизующихся радиосетях говорят «mesh», «ad hoc», «mobile ad hoc» и т.д., подразумевая, что это одно и тоже. И это касается не только простого хабро-обывателя, пусть даже технически подкованного, но и большинства инженеров с PhD. К тому же, зачастую такие сети преподносятся как универсальное средство на все случаи жизни [1] или даже как чуть-ли не единственный вектор развития и эволюции телеком индустрии [2]. Смею уверить, что без четкого понимания места и роли этих сетей, такие утверждения, по крайней мере, преждевременны, хотя и недалеки от реальности.

Итак, начнем с определения, что же такое сети типа Mesh, Ad Hoc, mobile Ad Hoc и в чем разница между ними.

Mesh сети – радиосети ячеистой структуры, состоящие из беспроводных стационарных маршрутизаторов, которые создают беспроводную магистраль и зону обслуживания абонентов) и мобильных/стационарных абонентов, имеющих доступ (в пределах зоны радиосвязности) к одному из маршрутизаторов. Топология – звезда, со случайным соединением опорных узлов.
Ad hoc сети – радиосети со случайными стационарными абонентами, реализующие полностью децентрализованное управление при отсутствии базовых станций или опорных узлов. Топология – фиксированная со случайным соединением узлов.
MANET (Mobile Ad hoc NETworks) сети – радиосети со случайными мобильными абонентами, реализующие полностью децентрализованное управление при отсутствии базовых станций или опорных узлов. Топология – быстро меняющаяся со случайным соединением узлов.
К этому надо добавить WSN (Wireless Sensor Networks) — беспроводные сенсорные (телеметрические) сети, состоящие из малогабаритных сенсорных узлов с интегрированными функциями мониторинга определенных параметров окружающей среды, обработки и передачи данных по радиоканалам. Они могут, в зависимости от задачи, строиться как топологии mesh, ad hoc так и MANET; автомобильные сети VANET (Vehicle Ad hoc NETworks) – сети связи транспортных средств; и всевозможные гибриды вышеизложенного.

Почему именно MANET?

Сегодня подавляющее большинство наземных мобильных беспроводных сетей связи имеют фиксированную инфраструктуру и соединены между собой с помощью различных, как правило проводных или радиорелейных, каналов передачи данных. В последнее десятилетие большое внимание уделяется созданию мобильных пакетных радиосетей, которые не имеют фиксированной инфраструктуры – сети стационарных (Ad Hoc) и мобильных абонентов (MANET).

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

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

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

Raspberry Pi: Кодируем H.264 видео в реальном времени

Reading time7 min
Views39K
В одном из проектов компании Itseez, связанных с компьютерным зрением, мы используем Raspberry Pi для обработки видео потока с веб-камеры, и недавно столкнулись с проблемой записи видео на флеш-карту. Трудность состояла в том, что ресурсы ЦП съедались другими более важными задачами, однако сохранять видео все же было нужно. Причем предпочтений, каким кодеком сжимать и какой формат использовать, не было, лишь бы это никак не сказывалось на fps (количестве кадров в секунду). Перепробовав большое число программных кодеков от RAW до H.264 (использовалась обертка OpenCV над FFmpeg), пришли к выводу, что ничего из этого не выйдет, т.к. при высокой нагрузке fps проседал с 20 до 5 кадров в секунду, при том что картинка – черно-белая с разрешением 320x240. Немного погуглив, выяснили, что в процессоре Raspberry Pi есть аппаратный кодер с поддержкой стандарта H.264 (насколько мне известно, лицензия приобретена только для него). Плюсом ко всему было то, что взаимодействие с кодером реализовано по стандарту OpenMAX, поэтому было решено взяться за написание кода с использованием OpenMAX, и посмотреть, что из этого получится. Получилось, кстати, очень даже недурно!
Читать дальше →

Реализация интерфейса I2C на базе чипа FT2232H (режим MPSSE)

Reading time5 min
Views36K
Интерфейсная микросхема поддерживает работу с интерфейсом I2C (не путать с I2S!) в режиме MPSSE (Multi-Protocol Synchronous Serial Engine). Кроме I2C данный режим поддерживает целый перечень стандартных последовательных интерфейсов, таких как SPI, JTAG и т. п. Есть возможность реализации собственных интерфейсов в случае необходимости. Данное описание рассказывает о ряде нюансов поддержки интерфейса I2C, а так же дает повод поболтать на смежную тематику.

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

Information

Rating
6,056-th
Location
Москва и Московская обл., Россия
Date of birth
Registered
Activity