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

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

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

UART и с чем его едят

Время на прочтение10 мин
Количество просмотров876K
После Vogue истерии появилось множество вопросов, как подключить плату к компьютеру. И многие люди даже не понимают, что же такое UART. И я решил рассказать здесь какой это мощный инструмент.

image
Роутер превращается в компьютер, если к нему по UART подключить клавиатуру и дисплей

От телеграфа к COM-порту


Протокол UART (Universal asynchronous receiver/transmitter) или, по-русски, УАПП (универсальный асинхронный приемопередатчик) — старейший и самый распространенный на сегодняшний день физический протокол передачи данных. Наиболее известен из семейства UART протокол RS-232 (в народе – COM-порт, тот самый который стоит у тебя в компе). Это, наверное, самый древний компьютерный интерфейс. Он дожил до наших дней и не потерял своей актуальности.

Надо сказать, что изначально интерфейс УАПП появился в США как средство для передачи телеграфных сообщений, и рабочих бит там было пять (как в азбуке Морзе). Для передачи использовались механические устройства. Потом появились компьютеры, и коды ASCII, которые потребовали семь бит. В начале 60-х на смену пришла всем известная 8-битная таблица ASCII, и тогда формат передачи стал занимать полноценный байт, плюс управляющие три бита.
Читать дальше →
Всего голосов 198: ↑192 и ↓6+186
Комментарии97

Поздравление по гиковски, без написания дров

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


Прочитал статью «Создание собственных драйверов под Linux» от камрада dlinyj и загорелся идеей озвученной в конце статьи. А именно

Сейчас ничего не мешает заплатить на месяц 500 рублей (а если скинемся, сумма будет совсем мелкой), и арендовать сервак на виртуалке. Туда поставить программулину, которая будет рассылать сообщения. Либо jabber либо какие-то другие способы (да хоть nc и telnet всё сделать). А на компе поставить приёмник этих сообщений. И на Новый Год все мы будем иметь поздравления.


И принял решение таки влиться в общую тусовку, получить и отправить своё гиковское поздравление. Искать LPT-порт на своем ноутбуке я не стал, знаю, что его нет. Зато вспомнил, что несколько лет назад делал дисплей подключаемый к COM-порту. Точнее не совсем к СОМ-порту, это переходник USB-to-UART, о котором dlinyj говорил в этом посте «UART и с чем его едят». В результате было принято решение сделать на нём.

Интересно? Читаем дальше
Всего голосов 50: ↑44 и ↓6+38
Комментарии40

Разработка виджета под Android

Время на прочтение6 мин
Количество просмотров43K
На Хабре уже достаточно статей о том, как разработать «hello world»-виджет для устройств на базе Android. Еще больше об этом можно почитать в сети, в том числе и на сайте Google для разработчиков, StackOverflow и других ресурсах. Казалось бы, все подробно разжевано, есть сотни примеров — зачем же писать очередную статью, когда вокруг и так достаточно информации?
Однако, когда мы начали разработку виджета, нам пришлось потратить несколько недель на то, чтобы разобраться с нюансами и реализовать проект так, как мы задумали его изначально.
Надеемся, наш опыт поможет сэкономить время на реализацию вашего виджета.
Читать дальше →
Всего голосов 53: ↑49 и ↓4+45
Комментарии20

Один день из жизни Москвы в геометках Вконтакте

Время на прочтение6 мин
Количество просмотров18K
Сегодняшние социальные сети предоставляют практически неисчерпаемый источник информации. Эта информация может носить разный характер, но ни для кого не секрет, что основной частью этой самой информации являются данные о пользователях. Помимо злободневного вопроса анонимности (а точнее прозрачности) пользователя, коварных спецслужб и маркетологов, эти данные вполне могут быть использованы и в “мирных” целях.

Нам стало интересно, насколько с помощью социальных сетей можно оценить привлекательность городской среды, узнать какие места популярны, где горожане активны утром, а где вечером, куда ходят по выходным и что влияет на их поведение.
Для выяснения этого вопроса, мы запустили небольшой проект по анализу геометок (“ckeck-in”-ы), публикуемых в Москве. Данные собираются за последние 24 часа и отображаются в наглядной форме на карте в режиме реального времени. Кому интересно, что же у нас получилось из этой затеи — добро пожаловать под кат.


Читать дальше →
Всего голосов 22: ↑18 и ↓4+14
Комментарии27

Встраиваем опросы для пользователей Android-приложений

Время на прочтение3 мин
Количество просмотров8.9K
Привет, Хабр!

Одной из главных задач, стоящих перед разработчиками после релиза, является получение обратной связи от пользователей с целью совершенствования и развития приложений. Нечасто подобную информацию можно получить из отзывов в Google Play, да и не все пользователи уделяют этому своё время, даже если у них есть какие-либо идеи. Если разработчик считает необходимым получение обратной связи, он может реализовать соответствующий функционал в своём приложении самостоятельно, что влечёт за собой ряд соответствующих затрат.

Под катом хочу рассказать про классную “плюшку” под названием Profit Button, которая поможет установить диалог с пользователями вашего приложения, а также расширить его функционал так, как вы того захотите.


Интегрируемся за несколько минут
Всего голосов 25: ↑19 и ↓6+13
Комментарии5

Создание собственных драйверов под Linux

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


Многие мои друзья и знакомые крутят пальцем у виска или задаются вопросом: не жмёт ли мне череп, когда узнают, что я пишу драйвера под Linux. Слово “драйвер” окутано каким-то почти мистическим смыслом, и постичь Дао его написания способны лишь избранные гуру.
К счастью это не так. Не знаю, как обстоят дела с написанием драйверов под другие операционные системы, в т.ч. и наиболее популярные, но под linux, вне зависимости от аппаратной архитектуры драйвера пишутся очень просто. Для написания драйвера необходимы базовые знания языка си, представление о работе ОС линукс (базовые), понимание того, что мы хотим получить, желание чтения документации и исходных кодов, ну и усидчивость. Всё.
Вы хотите посмотреть как написать драйвер для своего устройства? Тогда ныряйте под кат!
Читать дальше →
Всего голосов 323: ↑318 и ↓5+313
Комментарии107

Тайны кнопок в Android. Часть 1: Основы верстки

Время на прочтение18 мин
Количество просмотров235K
Приветствую, уважаемое сообщество.

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

Первая часть предназначена для начинающих разработчиков. Я покажу, как сделать достаточно сложную кнопку исключительно версткой, не применяя Java-кода, ни тем более собственных компонентов. Знание этих приемов верстки пригодится и при работе с другими компонентами Android. По ходу статьи я буду подробно пояснять, что означают те или иные константы, атрибуты, команды и тому подобное. Но я также буду давать ссылки на официальную документацию Google, где вы можете подробно изучить каждую тему. Данная статья обзорная, я не ставлю цели привести здесь всю документацию, переведенную на русский язык. Поэтому я рекомендую изучать официальные источники, в частности те статьи, ссылки на которые я привожу здесь.

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

API Яндекс Лингвистики под .NET

Время на прочтение4 мин
Количество просмотров13K
После посещения Yet another Conference 2013 у меня возникла идея написать API для всех сервисов яндекс лингвистики под .NET. После недлительного гугления, таких библиотек к счастью не оказалось. Несмотря на то, что может она никому особо и не понадобится, я все же решил реализовать ее хотя бы для того, чтобы попрактиковаться с RestSharp, тестированием и различными функциями гитхаба (issuers, release, markdown и др.). Кроме того, в процессе реализации пришлось столкнуться с интересным алгоритмом сравнения строк, о котором я упомяну в топике.

Сразу кидаю ссылки на исходники и бинарики на GitHub: Code, Binary

Реализованные API


  • Яндекс.Предиктор. Данный сервис позволяет приложениям получать в виде подсказок наиболее вероятное продолжение слова или фразы. Предиктор также учитывает опечатки в исходном запросе. Это упрощает процесс ввода текста, особенно на мобильных устройствах.
  • Яндекс.Словарь. Данный сервис позволяет приложениям получать подробные словарные статьи из машинных словарей Яндекса. Статьи содержат сгруппированные переводы, информацию о частях речи, примеры, а также транскрипцию для английских слов.
  • Яндекс.Перевод. Перевод текста для более чем 30 языков.
  • Яндекс.Спеллер. Сервис проверки правописания, который помогает находить и исправлять орфографические ошибки. Работа сервиса основана на использовании орфографического словаря. В настоящее время Спеллер проверяет тексты на русском, украинском и английском языках.

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

После обновления демон Bittorrent Sync больше не работает от имени root пользователя

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


Если вы еще не в курсе, что такое Bittorent Sync, то вы можете почитать об этой технологии здесь. Вкратце, данное ПО преследует идеологию Your Data Belongs to You. Его функционал заключается в синхронизации данных с использованием p2p-технологий. Надежность и скорость такого распределенного хранилища пропорциональна количеству машин в сети.
PPA для Ubuntu вы можете взять здесь.
Читать дальше →
Всего голосов 48: ↑43 и ↓5+38
Комментарии78

Тайны кнопок в Android. Часть 2: Рефакторинг верстки

Время на прочтение11 мин
Количество просмотров42K
Приветствую, уважаемое сообщество.

В предыдущей статье мы, используя только верстку, сделали кнопку “включить/выключить”, и вот что у нас тогда получилось:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:padding="6dp"
    android:background="#dddddd" >

    <ToggleButton
       android:id="@+id/act_main_btn_telephony"
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       android:background="@drawable/button_background"
       android:drawableLeft="@drawable/icon_phone"
       android:drawableRight="@drawable/icon_on_off"
       android:gravity="left|center_vertical"
       android:textOn="Телефония"
       android:textOff="Телефония"
       android:textSize="24sp"
       android:textStyle="bold|italic"
       android:textColor="@color/text_color"
       android:onClick="onToggleButtonClick" />

</RelativeLayout>

XML-код получился довольно увесистый. В этой статье я покажу, как сделать его по-настоящему красивым. Мы сократим код вдвое, убрав все, что может затруднить сопровождение нашего приложения или вызвать недовольство тим-лида. В этой статье мы будем использовать строковые ресурсы (strings.xml), ресурсы размерностей (dimens.xml), стили и темы (styles.xml).
Читать дальше →
Всего голосов 37: ↑31 и ↓6+25
Комментарии12

Устанавливаем SteamOS на виртуальную машину

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


В эту субботу с утра на Хабре появилась новость о выходе SteamOS. Valve предлагает пользователям 2 варианта установки: восстановление из образа (2.4Gb) и использовать Debian Installer (960Mb). Там же приведены ссылки на краткие инструкции по каждому способу установки. В этой же небольшой статье я хочу рассказать как установить SteamOS на виртуальную машину.

Читать дальше →
Всего голосов 79: ↑60 и ↓19+41
Комментарии56

Общество телефонных зомби

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

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

Не поймите меня неправильно, технологии — это великая сила, которая помогла нам достичь удивительных высот (мы отправили людей на е***ую луну). Но это не мешает мне думать, что наши недавние изобретения скорее снизили качество нашей жизни, чем улучшили. Мы превратились в общество телефонных зомби, склонивших головы над светящимися экранами в бесконечном поглощении бесконечных объемов бесполезной информации.
Читать дальше →
Всего голосов 262: ↑210 и ↓52+158
Комментарии332

Перенос Google Chrome на RAM-диск в Linux

Время на прочтение3 мин
Количество просмотров83K
Опишу простой способ переноса кеша, настроек и прочих локальных данных Google Chrome на RAM-диск в Linux. Это ускорит скорость работы браузера и исключит насилие над диском (что особенно критично, если у вас SSD).

Статья не содержит ничего интересного для более-менее продвинутых пользователей Unix-like систем. Совсем ничего.

Читать дальше →
Всего голосов 90: ↑71 и ↓19+52
Комментарии52

Как сделать дозиметр и привязать его к Android

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


Здравствуйте, в данной статье я хотел бы поделиться опытом о том как прошел путь от идеи до готового устройства.
Мне очень нравиться читать Хабр, и вот я наткнулся на статью о том как быстро и без хлопотно можно привязать дозиметр к iphone (статья). Статья написанная lexeresser меня очень заинтересовала и мне захотелось попробовать сделать такую привзяку, но наткнулся на сложности: первый момент — бытовой дозиметр, который описывается купить не так просто, нашел всего два на продаже и они продаются не в России, второй момент — в статье описывалась программа для iphone, а у меня смартфон на Android. Я поставил себе задачу уложиться в 1000 рублей, т.к. дозиметры стоят от 3500 рублей. Чтобы уложиться в бюджет я решил не искать готовое устройство, а сделать самому, а программу для андроида создать. Данный проект я назвал SyGeiger и он не несет коммерческую идею, он просто для фана: Смогу ли я?
Читать дальше →
Всего голосов 83: ↑78 и ↓5+73
Комментарии165

Настроим Ubuntu shell под себя

Время на прочтение3 мин
Количество просмотров32K
Итак. Абстрагируемся от мощных высокотехнологичных постов на хабре — я им апплодирую. Но жизнь рядового программиста начинается с его рабочего места, куда он неустанно возвращается снова и снова.
Если это про вас. Если вы хотите добавить в свою жизнь немного изюминки — отвлекитесь на минутку, расслабьтесь и открывайте хабракат!

Читать дальше →
Всего голосов 75: ↑52 и ↓23+29
Комментарии41

Как облегчить установку .apk на Android или GUI для adb install

Время на прочтение3 мин
Количество просмотров27K
Доброго времени суток, уважаемые Хабравчане! Так сложилось, что мне часто приходиться устанавливать .apk-файлы на Android-устройства — работаю тестировщиком. И вот в очередной раз, открывая терминал и набирая команду для установки очередного приложения, я задумался о том, как можно избавиться от рутинной работы. Статья предназначена для новичков, по-этому будет много пояснений.
Читать дальше →
Всего голосов 15: ↑14 и ↓1+13
Комментарии12

Универсальный способ быстро сделать скриншот в linux

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

Как дошло до жизни такой


С переходом ubuntu на unity как-то резко пришло просветление и жажда чего-то такого, что не приходилось бы раз в пол года переделывать с нуля. Поставил себе arch, а там дошло до минимализма и нежной любви к xfce.

Правда, лень моя тогда ещё была не столь развита и скриншоты делались при помощи GIMP'а.
За подробностями — прошу под кат.

Читать дальше →
Всего голосов 32: ↑25 и ↓7+18
Комментарии29
12 ...
12

Информация

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

Специализация

Специалист
Python
Linux
SQL
English
Research work
Git