Search
Write a publication
Pull to refresh
64
1.4
Send message

ПЛИС — мои первые шаги

Reading time11 min
Views155K
Недавно я все-таки сделал свой первый шаг к ПЛИС и призвал вас за собой. Мое фанатическое увлечение ПЛИС и идея о том, что ПЛИС является лучшей платформой для создания любых устройств приобрела религиозный характер. Моя секта ПЛИСоводов проповедует полный отказ от микроконтроллеров, а особо экстремистская ветвь проповедует отказ не только от софт процессоров, но и вообще от последовательных вычислений!

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

Эта статья для новичков. В ней я опишу типичные проблемы, вопросы, заблуждения, ошибки, которые могут появиться в самом начале обучения (потому что они появились у меня). Однако, контекст статьи ограничен тем, что разработка ведется на ПЛИС от Altera в среде Quartus на языке Verilog.

Подробности

Как сделать nandroid backup устройства непосредственно на компьютер, минуя sdcard

Reading time7 min
Views95K
Здравствуй, Хабрахабр.

Так случилось, что мне понадобилось создать полную копию Android устройства, в котором полностью отсутствовали обычно используемые для этого средства. Поиски меня привели на форум XDA, где и была найдена данная всеобъемлющая инструкция, которая пришлась как нельзя кстати и которой я решил поделиться с вами.
В статье имеются мои комментарии, так как применял эту инструкцию для создания backup'a планшета Teclast x98 3g.
Более подробно под катом

API Медузы: пишем полнотекстовый RSS

Reading time2 min
Views26K
Как и многих других, кто использует RSS, меня напрягают фиды, которые возвращают новость не целиком, а лишь краткую версию. В таком случае нет возможности читать фид в офлайне.

Meduza.io — не исключение: текст приходит урезанный, приходится каждый раз переходить из ридера в браузер для прочтения одной новости. Особенно это выглядело ужасным, когда на Медузе не было нормальной мобильной версии, веб-версия на телефоне сильно тормозила.

Существуют различные сервисы для парсинга html в rss, но когда я наткнулся на консольный клиент для Медузы, у меня сразу же возник вопрос, а какое API там используется и можно ли его заюзать для написания своего приложения?

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

Полный гайд по робототехническим конструкторам от Робостанции

Reading time10 min
Views52K


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

Только повзрослев, я узнал, что детский конструктор это вершина эволюции игрушек на изобретение (скорее, даже открытие) который европейские педагоги потратили сотни лет, шаг за шагом подбираясь к тому великолепию, что мы имеем сейчас в каждом детском магазине. Не будь конструкторов, не было бы у меня и такой тяги к DIY роботам.

У нас на Робостанции есть десяток магазинов с конструкторами и всамделишная робошкола, где из этих конструкторов собирают настоящих роботов. Вот об этом и поговорим.


Но сначала немного теории.

Атака на оракула. Подробный гайд по векторам атак на Oracle DB

Reading time17 min
Views37K


Сегодня я бы хотел поговорить о векторах атак на СУБД Oracle на разных стадиях: как прощупать слабые места базы снаружи, проникнуть и закрепиться внутри плюс как все это дело автоматизировать с помощью специализированного софта. Архитектура и возможности базы данных весьма интересны, занимательных моментов немало, а значит, немало и способов все испортить. Однако не забывай: ломать — не строить, поэтому вся дальнейшая информация предоставлена исключительно с целью выявить недочеты в защищенности тестируемых систем и повысить безопасность.
Читать дальше →

Да какого, блин, хрена, D-Link⁈

Reading time2 min
Views80K
Как уже писал в апдейте к посту про баг в HNAP DIR-890L, его нашли в начале года, в DIR-645, и выпустили патч. Сейчас D-Link выпустил патч и для DIR-890L.
Патчи для DIR-645 и DIR-890L одинаковые, поэтому я буду писать только про DIR-890L.

Хоть в предыдущем посте я рассматривал только выполнение команд, патч указывает на несколько дыр в безопасности, которые появились из-за использования strstr для валидации HNAP-заголовка SOAPAction:
  • Использование неаутентифицированных пользовательских данных в вызове system
  • Использование неаутентифицированных пользовательских данных в вызове sprintf
  • Неаутентифицированные пользователи могут выполнять привилегированные HNAP-запросы (такие, как смена пароля администратора)

Видите, D-Link признала все это в информации об уязвимости, и они ясно представляли все векторы атаки.
Итак, убрали ли они переполнение стека sprintf?

image
sprintf(cmd_buf, “sh %s%s.sh > /dev/console”, “/var/run”, SOAPAction);

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

Геолокация без GPS (часть 1)

Reading time2 min
Views61K
wifi
Представляю публичную базу геопозиций телефонных вышек и Wi-Fi роутеров. Мне понадобилась стабильная и безлимитная база для приложения Android, в котором нужна была точная геолокация из всех доступных источников (GPS, Wi-Fi, Mobile). Пришлось создать базу данных положений сотовых вышек и Wi-Fi. Всех заинтересовавшихся прошу под кат.
Читать дальше →

Эра фаблетов: Проектирование для крупных экранов

Reading time10 min
Views20K


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

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

Deconvolutional Neural Network

Reading time9 min
Views62K
Использование классических нейронных сетей для распознавания изображений затруднено, как правило, большой размерностью вектора входных значений нейронной сети, большим количеством нейронов в промежуточных слоях и, как следствие, большими затратами вычислительных ресурсов на обучение и вычисление сети. Сверточным нейронным сетям в меньшей степени присущи описанные выше недостатки.

Свёрточная нейронная сеть (англ. convolutional neural network, CNN) — специальная архитектура искусственных нейронных сетей, предложенная Яном Лекуном и нацеленная на эффективное распознавание изображений, входит в состав технологий глубокого обучения (англ. deep leaning). Эта технология построена по аналогии с принципами работы зрительной коры головного мозга, в которой были открыты так называемые простые клетки, реагирующие на прямые линии под разными углами, и сложные клетки, реакция которых связана с активацией определённого набора простых клеток. Таким образом, идея сверточных нейронных сетей заключается в чередовании сверточных слоев (англ. convolution layers) и субдискретизирующих слоев (англ. subsampling layers, слоёв подвыборки).[6]

image
Рис 1. Архитектура сверточной нейронной сети

Ключевым моментом в понимании сверточных нейронных сетей является понятие так называемых «разделяемых» весов, т.е. часть нейронов некоторого рассматриваемого слоя нейронной сети может использовать одни и те же весовые коэффициенты. Нейроны, использующие одни и те же веса, объединяются в карты признаков (feature maps), а каждый нейрон карты признаков связан с частью нейронов предыдущего слоя. При вычислении сети получается, что каждый нейрон выполняет свертку (операцию конволюции) некоторой области предыдущего слоя (определяемой множеством нейронов, связанных с данным нейроном). Слои нейронной сети, построенные описанным образом, называются сверточными слоями. Помимо, сверточных слоев в сверточной нейронной сети могут быть слои субдискретизации (выполняющие функции уменьшения размерности пространства карт признаков) и полносвязные слои (выходной слой, как правило, всегда полносвязный). Все три вида слоев могут чередоваться в произвольном порядке, что позволяет составлять карты признаков из карт признаков, а это на практике означает способность распознавания сложных иерархий признаков [3].

Что же именно влияет на качество распознавания образов при обучении сверточных нейронных сетей? Озадачившись данным вопросом, наткнулись на статью Мэттью Зайлера (Matthew Zeiler).
Читать дальше →

Xiaomi представила экстремальную камеру за 64 доллара: акции GoPro Inc. обвалились на 4,9%

Reading time1 min
Views50K
Третий в мире производитель смартфонов Xiaomi представил носимую видеокамеру для экстремальных видов спорта Yi Action Camera, которая стоит 64 доллара и по некоторым характеристикам превосходит GoPro Hero. Капитализация производителя GoPro уменьшилась на 4,9 процента.

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

Квантовая песочница: часть 2

Reading time7 min
Views18K

Квантовая песочница: часть 1
Что такое квантовое состояние? Чем обычное состояние отличается от квантового? В какой момент обычное состояние становится квантовым и что будет, если от него отнять квантовости? Оно всё еще будет квантовым или уже превратится в обычное? Оно же только что было квантовым. Наверное, оно стало запутанным, и кот тоже стал запутанным.

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

Как я имплантировал RFID себе в руку, а потом еще NFC. Часть 1

Reading time6 min
Views140K


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

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

А когда обнаружилась метка, совместимая с NFC — и способная быть ключом к ноутбукам, смартфонам и оставшимся замкам — избегать ее встраивания причин решительно не было.
Что я сделал и как это работает

Тестирование аккумуляторов: первые выводы

Reading time3 min
Views44K
После моего Грандиозного тестирования батареек многие просили меня заняться таким же подробным тестированием аккумуляторов.

Уже две недели практически круглосуточно идёт процесс тестирования. За это время я успел протестировать 22 вида аккумуляторов АА десяти брендов: IKEA, Ansmann, GP, Duracell, Energizer, Robiton, Panasonic, Panasonic Eneloop, Varta. На подходе аккумуляторы Turnigy, Космос, Camelion.



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

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

Разбор вызовов функций в PHP

Reading time15 min
Views40K
Этот пост посвящён оптимизации PHP с помощью профайлера Blackfire в PHP-скрипте. Нижеприведённый текст является подробным техническим объяснением статьи в блоге Blackfire.

Обычно применяется метод strlen:

if (strlen($name) > 49) {
...
}

Однако такой вариант примерно на 20% медленнее этого:

if (isset($name[49])) {
...
}

Выглядит неплохо. Наверняка вы уже собрались открыть ваши исходники и заменить все вызовы strlen() на isset(). Но если внимательно прочитать оригинальную статью, то можно заметить, что причина 20-процентной разницы в производительности — многократные вызовы strlen(), порядка 60-80 тысяч итераций.
Читать дальше →

PeerVPN – пиринговый VPN с открытым кодом

Reading time2 min
Views27K
Перевод анонса и небольшой документации проекта PeerVPN, который показался мне интересным.

PeerVPN


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

Традиционные VPN работают по схеме клиент-сервер, когда много узлов соединяются с одним сервером. У такой звёздной топологии есть недостатки. Центральный сервер должен обладать большой пропускной способностью, чтобы обрабатывать весь трафик сети. Если сервер падает, сеть падает следом.

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

Кручу-верчу, запутать хочу. Разбираемся в линейках HDD

Reading time11 min
Views251K
Привет, гиктаймс!

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

Исследование механизма блокировки сайтов «Ростелекомом» и способы ее обхода

Reading time6 min
Views109K
В этом посте я приведу небольшое исследование механизма блокировки сайтов Ростелекомом, а также покажу способы ее обхода без применения различных туннелей до сторонних хостов (прокси, vpn и пр.). Вероятно это применимо и к некоторым другим провайдерам.
Читать дальше →

Выбор платформы для экспериментов с БПЛА

Reading time8 min
Views56K
Выбрать платформу для экспериментов с БПЛА сейчас есть из чего. Автопилотов на рынке много, поэтому прежде всего последует небольшой обзор доступных устройств, а затем рассмотрим победителя — Pixhawk (да да, вот так, сразу, никакой интриги).

Критерии выбора:

  • открытая архитектура (software & hardware);
  • современная элементная база (отпадает все по шаблону *avr*);
  • грамотная, красивая архитектура (отпадают шаблоны *ardu*o и *Rasberi*);
  • механизмы SIL/HIL симуляции;
  • наличие открытого ПО наземной станции.

Посмотрим, что осталось:
Читать дальше →

Литературно-фантастические новинки 2014 года. Чем пополнить домашнюю библиотеку фантастики

Reading time5 min
Views83K


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

И если в суете будней вы подзабросили чтение книг, то это вы зря. Высокие технологии пока не задушили писательское ремесло (надеемся, этого и не произойдёт), и ежегодно выходит немало интересных книг, достойных того, чтобы выкроить полчаса-час в день на чтение. Быть может, эти книги станут для вас некой отправной точкой. Кстати, в конце ноября теперь уже прошлого года Урсула Ле Гуин сказала:

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

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

Подборка научно-популярных твиттеров от Vert Dider

Reading time7 min
Views13K


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

Information

Rating
2,684-th
Registered
Activity