Search
Write a publication
Pull to refresh
0
Roman Akopov @adontzread⁠-⁠only

User

Send message

Xamarin. За и против

Reading time4 min
Views61K
image

Наверное, каждый .NET разработчик, знакомясь с monodroid и monotouch, хочет узнать, что его ждет. Стоит ли тратить свои силы и время на изучение, какой потенциал платформы, не превратится ли разработка в тестирование фреймворка?

Уже больше года моей основной задачей является разработка на C# под Android и IOS, и я постараюсь ответить на основные вопросы, возникающие при выборе monotouch и monodroid. В статье будет много личного мнения и описания костылей, так как ответы по техническим вопросам можно легко найти на официальном сайте Xamarin: docs.xamarin.com

Поскольку Xamarin 3 вышел только недавно, мне не удалось полностью прощупать новые возможности и изменения в платформе. Тем не менее, почти все «особенности» разработки в monotouch и monodroid по-прежнему актуальны.
Читать дальше →

Navio — плата автопилота для Raspberry Pi

Reading time2 min
Views14K
image

Привет Хабр!

Представляем Navio — плату расширения для Raspberry Pi предназначенную для управления самолетами, коптерами, лодками и другими роботами. Мы уже прошли путь от идеи, изготовления прототипов и тестирования до успешной кампании по сбору предзаказов на Indiegogo.

Ранее мы работали над коммерческим автопилотом на микроконтроллере и каждый раз добавляя новый функционал думали “А ведь в Линуксе можно было бы просто подключить libxyz для этого”. Однако на тот момент не существовало удобной аппаратной платформы, на которой можно было бы заниматься разработкой, так мы и пришли к решению сделать Navio.

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

В отличие от текущих автопилотных платформ на микроконтроллерах, на Raspberry Pi + Navio можно программировать почти на любом языке, легко подключать дополнительную нагрузку — можно подключить камеру и WiFi-свисток и получить FPV из коробки. Также у Raspberry Pi большая производительность, что может пригодится при обработке GPS-данных или при распознавании образов.

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

Google Web Starter Kit: конструктор мобильных сайтов

Reading time1 min
Views51K


Google Web Starter Kit — конструктор и шаблоны для быстрой разработки отзывчивых мобильных сайтов, которые хорошо работают на любой платформе и почти в любом браузере (кроме самых старых). Такие сайты везде выглядят, как нативные приложения.

Основные особенности:
  • HTML-шаблоны, оптимизированные для мобильного применения;
  • отзывчивый макет для разных мобильных устройств
  • руководство по стилю визуальных компонентов;
  • поддержка Guilp.js (по умолчанию), Node.js, Ruby и Sass.
Читать дальше →

Настройка удаленного интерпретатора на Pycharm для Django

Reading time3 min
Views46K

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

К тому же такой подход нас избавляет от таких проблем:

• на разных серверах свой Unix и свои приколы, разворачивать локально и подгонять среду под особенности того или иного сервера может занять приличное количество времени;
• разные версии python;
• И если в файле req.txt для Django не указаны все зависимости;
и т.д.
Читать дальше →

На Coursera вышел курс от нобелевского лауреата с русским дубляжом

Reading time2 min
Views90K
Недавно на Coursera произошло примечательное событие — вышла дублированная версия курса «Финансовые Рынки» (Financial Markets) о самых азах финансов.

image

И примечательно оно потому как раньше дублированных курсов на платформе не существовало, а первый появился именно на русском языке. Во-вторых, сделано это было на частное пожертвование. И в-третьих, курс прочитал профессор Йельского университета, нобелевский лауреат по экономике 2013 года – Роберт Шиллер.
Читать дальше →

ТОП-10 докладов с PyConRu 2013

Reading time4 min
Views12K
Пока суть да дело, мы выбрали для вас самые популярные видео докладов с PyCon 2013. Видеозаписи отранжированы по количеству просмотров видео на нашем канале YouTube

new_logo_white.png"
Читать дальше →

24-битные I2C датчики давления HP203B и HP206C от Hope Microelectronics

Reading time8 min
Views57K
История началась, когда одна китайская компания по имени Hoperf прислала мне их новые датчики давления, на пробу. В статье описаны основные характеристики сенсоров, фичи, тесты ну и самое главное их результаты в виде графиков и словесных описаний к ним. В конце статьи выложены драйвера для этих датчиков, максимально абстрагированы от аппаратной части.

image

С лева на право: HP206C, HP203B и BMP085 от Bosch для сравнения (в тестах также участвует).
Много картинок..

Шаринг кода между WP, Win8. Часть 2

Reading time8 min
Views5.8K
В прошлой статье мы рассмотрели основы шаринга кода. Дополнить эту статью можно продемонстрированной на конференции Build возможностью шаринга между W8.1 и WP8.1. Этот подход очень хорошо описан здесь, поэтому сейчас мы не будем подробно останавливаться на Universal Apps.

В целом Microsoft радует шагами по унификации кода для обеих платформ, однако все же у нас остается наследие в виде Windows Phone 7. Кроме того, возможно, придется шарить код также и на десктоп, Android и т.д.

В этой статье мы рассмотрим один из наиболее часто используемых практических решений по шарингу кода.
Читать дальше →

WinJS — opensource от Microsoft

Reading time2 min
Views22K
Два дня назад Microsoft представил JavaScript'овую UI-ориентированную библиотеку для кроссплатформеной разработки — WinJS, который, хоть и существует достаточно давно, но как отдельный «сет» вне привязки к Windows, был представлен только 02.04.2014.

http://dailyjs.com/2014/04/03/winjs/
http://blogs.windows.com/windows/b/buildingapps/archive/2014/04/02/extending-platform-commonality-through-universal-windows-apps.aspx
https://github.com/winjs/winjs

И вот что интересно…
Читать дальше →

Автономный квадрокоптер с нуля: PID и грабли

Reading time12 min
Views87K
Большинство проектов, использующих коптеры, опираются на ручное дистанционное управление, полностью автономных систем пока нет. Но для индустриального использования это необходимо; человеческий фактор — причина большинства аварий. Ниже рассказ пойдёт про то, как мы делали свою систему стабилизации с помощью ПИД, позволяющую свести к минимуму участие человека в процессе работы дрона.

Один из тестовых полётов нашего коптера
Читать дальше →

Людям нужна не дрель, а картина на стене

Reading time14 min
Views37K
Чуть больше года назад мы решили создать сервисную компанию для предпринимателей, объединив бухгалтера, юриста, бизнес-ассистента и банковское обслуживание в одном месте. У нас уже был опыт разработки b2b-софта и веб-сервисов, но на этот раз мы столкнулись с кучей неведомых доселе проблем. На помощь пришли ребята Ричарда Брэнсона — за четыре визита они научили нас задавать себе простые и точные вопросы и правильно на них отвечать. Так мы смогли выявить узкие места, узнали, как нанимать правильных людей и объединять их в команды, поняли, кто мы такие и какой уровень обслуживания должны обеспечивать. Мы хотим, чтобы в России было больше хорошего сервиса, поэтому с радостью поделимся своим нелёгким опытом.
Читать дальше →

Signed Distance Field или как сделать из растра вектор

Reading time12 min
Views61K
Речь сегодня пойдёт о генерации изображений с картой расстояний (Signed Distance Field). Данный вид изображений примечателен тем, что фактически позволяет получить «векторную» графику на видеоускорителе, причём даром. Одной из первых данный метод растеризации предложила компания Valve в игре Team Fortress 2 для масштабируемых декалей в 2007 году, но до сих пор он не пользуется особой популярностью, хотя позволяет рендерить прекрасного качества шрифты, используя текстуру всего 256х256 точек. Данный метод прекрасно подходит для современных экранов высокой чёткости и позволяет серьёзно сэкономить на текстурах в играх, он не требователен к железу и прекрасно работает на смартфонах.



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

Как же создавать такие изображения? Очень просто, ImageMagick позволяет сделать это одной командой:

convert in.png -filter Jinc -resize 400% -threshold 30% \( +clone -negate -morphology Distance Euclidean -level 50%,-50% \) -morphology Distance Euclidean -compose Plus -composite -level 45%,55% -resize 25% out.png

На этом можно было бы поставить точку, но так полноценного топика не получится. Что ж, под катом — описание быстрого алгоритма расчёта SDF, пример на C++ и немного шейдеров для OpenGL.
Читать дальше →

Квадрокоптер на базе AeroQuad Open Source project

Reading time3 min
Views74K
image

Добрый день!
Хотелось бы немного рассказать о проекте AeroQuad Open Source и о своем опыте сборки квадрокоптера.

Проект AeroQuad поддерживает:
1. В перспективе возможность подключения gps, полета по путевым точкам, которые можно загрузить через AeroQuad Configurator.
2. Стабилизация камеры. Для компенсации движений квадрокоптера можно использовать 3 сервопривода.
3. On-Screen-Display. Наложение графики на видеопоток.
4. Помимо подключения гироскопа акселерометра и магнитометра есть возможность подключения других датчиков, таких как ультразвуковой дальномер и барометр.

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

Поиск людей на фотографиях на Android с помощью OpenCV

Reading time6 min
Views42K
Недавеча столкнулся с одной интересной задачкой для мобильного “коня” на Android’e- необходимо определить контуры людей на фотографиях (если таковы там были, естественно). После поиска в интернете, было решено использовать open source проект OpenCV, который может работать на платформе Android.

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


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

Динамические деревья

Reading time8 min
Views36K
Перед прочтением статьи рекомендую посмотреть посты про splay-деревья (1) и деревья по неявному ключу (2, 3, 4)

Динамические деревья (link/cut trees) мало освещены в русскоязычном интернете. Я нашел только краткое описание на алголисте. Тем не менее эта структура данных очень интересна. Она находится на стыке двух областей: потоки и динамические графы.

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

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

Перед тем, как нырнуть под кат, попробуйте решить следующую задачу. Дан взвешенный граф в виде последовательности ребер. По последовательности можно пройти только один раз. Требуется посчитать минимальное покрывающее дерево, используя памяти и времени. По прочтении статьи вы поймете, как легко и просто можно решить эту задачу, используя динамические деревья.
Читать дальше →

Всплывающие метки в формах на чистом CSS

Reading time3 min
Views42K
Возможно, вам уже попадался на глаза этот приём. Это поле ввода, которое выглядит так, как будто в нем есть текстовая подсказка (placeholder), но при начале набора текста она не исчезает, а отодвигается в сторону. Мне нравится эта идея. Брэд Фрост написал очень хорошую статью об этом приёме, подробно рассмотрев все «за» и «против».

Большинство примеров использования этой техники полагаются на JavaScript. В один прекрасный день я зашёл на nest.com, увидел там этот приём и задумался: а нельзя ли реализовать то же самое без JavaScript? И вот что из этого вышло.

Вот так выглядит форма на nest.com:

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

Паттерны для новичков: MVC vs MVP vs MVVM

Reading time6 min
Views819K
Добрый день, уважаемые коллеги. В этой статье я бы хотел рассказать о своем аналитическом понимании различий паттернов MVC, MVP и MVVM. Написать эту статью меня побудило желание разобраться в современных подходах при разработке крупного программного обеспечения и соответствующих архитектурных особенностях. На текущем этапе своей карьерной лестницы я не являюсь непосредственным разработчиком, поэтому статья может содержать ошибки, неточности и недопонимание. Заинтригованы, как аналитики видят, что делают программисты и архитекторы? Тогда добро пожаловать под кат.
Читать дальше →

Программируем на Python

Reading time1 min
Views53K
Эта книга — идеальное пособие для начинающих изучать Python. Руководство, написанное опытным разработчиком и преподавателем, научит фундаментальным принципам программирования на примере создания простых игр. Вы приобретете необходимые навыки для разработки приложений на Python и узнаете, как их применять в реальной практике. Для лучшего усвоения материала в книге приведено множество примеров программного кода. В конце каждой главы вы найдете проект полноценной игры, иллюстрирующий ключевые идеи изложенной темы, а также краткое резюме пройденного материала и задачи для самопроверки. Прочитав эту книгу, вы всесторонне ознакомитесь с языком Python, усвоите базовые принципы программирования и будете готовы перенести их на почву других языков, за изучение которых возьметесь. Научитесь программировать на Python играючи!

image

Книга на сайте издательства ПИТЕР

Оглавление
Отрывок
Читать дальше →

1000+ KPI

Reading time27 min
Views13K
Привет. Если Вы хотя бы раз сталкивались с задачей создания системы ключевых показателей эффективности (KPI) для сотрудников или проектов, то скорее всего согласитесь, что задача эта не из легких. Решения «в лоб» здесь не работают, многие очевидные показатели на проверку оказываются неинформативными, дают искаженное представление о ситуации или могут быть легко искажены сотрудниками.
Что бы сократить драгоценное время, сохранить нервные клетки здоровыми и дать «вдохновение», предлагаю ознакомится со списком популярных KPI для IT. Возможно некоторые из них помогут с решением вашей задачи.
Читать дальше →

Навигация изнутри

Reading time5 min
Views22K
Мне всегда интересно, как работает какая-то вещь, будь то умные часы, смартфон или Atari 2600. А вы в курсе, как ваш навигатор прокладывает маршрут? Я решил узнать, как эта система работает изнутри на примере одного производителя оборудования и ПО.

image

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

Information

Rating
Does not participate
Registered
Activity