Среди людей, увлекающихся электроникой, одним из самых популярных этюдов является изготовление гусеничного робота. Этой теме посвящена масса статей, в том числе и на Хабре. Обилие руководств, схем и статей привело меня к мысли, что это будет не так уж трудно, и мне тоже захотелось самому изготовить такую прекрасную самоделку. Можно сказать, что мне не повезло — в процессе работы я столкнулся с массой проблем, связанных с наличием двигателей. В конце концов все эти проблемы мне удалось решить, но это заняло очень много времени. В данной статье я предлагаю несколько советов по проектированию схем, содержащих двигатели, на базе микроконтроллеров AVR. В практической полезности всех этих советов мне пришлось убедиться на собственном опыте. Многие советы, как мне кажется, подойдут и для других микроконтроллеров.
foff4ik @foff4ik
User
Ресурсы, о которых должен знать каждый Android-разработчик
6 min
189KTranslation
Сегодня я хочу поделиться с вами моим вольным переводом статьи, написанной Сергеем Повзнером (Sergey Povzner). Сергей ведёт блог bongizmo.com и занимается разработкой туристических гидов под общим названием Citybot.
В то время как Android продолжает свой невероятный рост, всё больше и больше программистов начинают разрабатывать приложения на этой платформе. Если ты начинаешь свой путь сегодня, то ты определенно — счастливчик. За последние годы Android значительно повзрослел и избавился от множества детских болезней. Информации по платформе более чем достаточно. Я же расскажу о самых важных ресурсах.
Статья будет полезна как новичкам, так и опытным разработчикам. Это гид по миру Android-разработки.
В то время как Android продолжает свой невероятный рост, всё больше и больше программистов начинают разрабатывать приложения на этой платформе. Если ты начинаешь свой путь сегодня, то ты определенно — счастливчик. За последние годы Android значительно повзрослел и избавился от множества детских болезней. Информации по платформе более чем достаточно. Я же расскажу о самых важных ресурсах.
Статья будет полезна как новичкам, так и опытным разработчикам. Это гид по миру Android-разработки.
+123
Мобильный телефон своими руками. Часть 2
5 min
119KВ первой части мы рассмотрели «железную» часть проекта, в этой части мы приступим к экспериментам с устройством.

Модуль M10-TE-A, основа нашего телефонного аппарата.

Модуль M10-TE-A, основа нашего телефонного аппарата.
+73
Мобильный телефон своими руками. Часть 1
4 min
319KНедавно на хабре был пост про то, как некие умельцы из Массачусетсого Технологического создали «самодельный» мобильный телефон. Я думаю, пришла пора доказать, что наши месье тоже знают толк в из… э… в изысканных удовольствиях.
Итак, представляю вашему вниманию мобильный телефон, собранный практически «на коленке»!

Всех заинтересованных прошу под кат. Много картинок!
Итак, представляю вашему вниманию мобильный телефон, собранный практически «на коленке»!

Всех заинтересованных прошу под кат. Много картинок!
+132
Canvas в GIF на Javascript
9 min
24K
Расскажу об особенностях с которыми я столкнулся при сохранении изображения из canvas в GIF.
Тут будут рассмотрены готовые решения и мой собственный javascript код квантизации изображения (то есть уменьшение палитры до 256 цветов). Так же будут затронуты вопросы быстродействия некоторых javascript конструкций.
+62
Как запустить программу без операционной системы: часть 2
8 min
65K
В первой части нашей статьи мы рассказали о том, каким образом можно получить простую программу “Hello World”, которая запускается без операционной системы и печатает сообщение на экран.
В этой части статьи, хочется развить получившийся в первой части код таким образом, чтобы он мог быть отлажен через GDB, компилировался через оболочку Visual Studio и печатал на экран список PCI устройств.
! ВАЖНО!: Все дальнейшие действия могут успешно осуществляться только после успешного прохождения всех 6-ти шагов описанных в первой части статьи).
+112
Полезные советы новичкам в дизайне под Android
3 min
171KTutorial
Translation

+36
Мартовская Хабравстреча в Киеве
2 min
5.1KМартовская Хабравстреча в Киеве. Подробности под катом


+20
Бот для шашек (часть 1)
2 min
100KПосле прочтения поста на хабре «Шахматный бот», хотелось сделать свой, но так как посчитал, что шахматы сразу не получатся, то решил потренироваться на шашках (чтоб было больше мотивации взял знаменитые «Русские стрип-шашки»).
В отличии от выше упомянутого поста, где только несколько скринов и видеоролик, постараюсь рассказать подробнее…

В отличии от выше упомянутого поста, где только несколько скринов и видеоролик, постараюсь рассказать подробнее…

+24
Lenovo P770 — «долгоиграющий» смартфон с аккумулятором на 3500мАч
6 min
344K
Выпуская новые смартфоны производители очень часто забывают о самом главном — хорошем аккумуляторе. Да, 4 ядра, большой экран, ультратонкий дизайн — это хорошо. Но не доживать до вечера на одном заряде? Это слишком!
Есть ли на данный момент хороший компромисс? Чтобы и производительность хорошая, и экран, и аккумулятор. И при этом телефон не выглядел кирпичом?
Да, есть!
Компания Lenovo выпустила свой новый смартфон под названием — Lenovo P770. Два ядра, хороший экран, 2 сим-карты, аккумулятор на 3500мАч. А цена…
Интересно? Тогда читаем далее!
+70
Как за одну минуту восстановить текст после неудачной отправки веб-формы
3 min
119KБывало ли когда-нибудь так, что вы набирали в браузере длинный и интересный текст, внимательно вычитывали его, и тут, буквально через мгновение, понимали, что при обращении к сайту произошла ошибка, а ваш текст в форме был стёрт?
В основном такое бывает из-за невнимательности разработчиков сайтов (под разработчиками я в данном случае подразумеваю не только программиста, который мог не знать о нужном способе, но и, например, менеджера, который посчитал, что тратить на это время слишком нецелесообразно): современные веб-технологии (например, Web Storage) позволяют сохранять и восстанавливать данные (в том числе данные форм) при почти любых обстоятельствах — вплоть до случайного закрытия браузера.
И, тем не менее, вы писали длинный текст именно там, где ничего для сохранения данных формы не сделано.
Можно ли теперь как-то восстановить данные, если вы не можете скопировать текст из формы и не можете отправить POST-запрос повторно?
Не закрывайте браузер!
В основном такое бывает из-за невнимательности разработчиков сайтов (под разработчиками я в данном случае подразумеваю не только программиста, который мог не знать о нужном способе, но и, например, менеджера, который посчитал, что тратить на это время слишком нецелесообразно): современные веб-технологии (например, Web Storage) позволяют сохранять и восстанавливать данные (в том числе данные форм) при почти любых обстоятельствах — вплоть до случайного закрытия браузера.
И, тем не менее, вы писали длинный текст именно там, где ничего для сохранения данных формы не сделано.
Можно ли теперь как-то восстановить данные, если вы не можете скопировать текст из формы и не можете отправить POST-запрос повторно?
Не закрывайте браузер!
+120
Разработка софта на Nexus 7
4 min
32KВ недавнем посте Планшет — не роскошь зашла речь про использование планшетов под управлением Android не только для развлечений, но и в рабочих целях. Хочу продолжить эту тему и рассказать о том, как я использую свой Nexus 7 во время долгих поездок и программирую на нём приложения под этот самый Android.
Вот список задач, которые должен решать планшет для меня во время данного времяпрепровождения:
И вот что у меня получилось.
Вот список задач, которые должен решать планшет для меня во время данного времяпрепровождения:
- редактирование исходного кода с подсветкой синтаксиса для языков Java, XML и C;
- компиляция простейшего C кода в нативные для Android бинарики (то есть использовать Bionic вместо libc и т.д.);
- сборка Java проекта в APK приложение;
- git, ssh, привычные консольные GNU тулзы во всём их многообразии.
И вот что у меня получилось.
+63
Управляем вентилятором ноутбука через DSDT в Linux и не только
10 min
62KНе знаю почему, но я всегда воспринимал системы охлаждения в ноутбуках как некий закрытый черный ящик. Тупость алгоритмов, по которым вентилятор начинал надрывно завывать при еще вполне холодном процессоре, изрядно раздражала во многих ноутбуках, но мне казалось, что все параметры там производители прибили гвоздями и поменять их можно разве что расковыряв BIOS или вообще только вставив какие-нибудь регулируемые резисторы в нужных местах. Ни тем, ни другим мне заниматься совершенно не хотелось, поэтому я об никогда всерьёз даже не задумывался.
Нет, конечно, я слышал про всякие программы, которые могут вмешиваться в управление охлаждением и вроде кто-то ими успешно пользуется, но лично мне с ними вечно не везло, точнее не везло с железом, на котором я пытался их завести. Например, какое-то время назад я пробовал настроить fancontrol на довольно старом ноутбуке HP nc8430 с Убунтой. В итоге, известный скрипт sensors-detect не смог найти ни одного вентилятора в системе, а без этого fancontrol не работает. На разных форумах периодически появляются люди с похожими проблемами, но никто им толком помочь не может.
Тогда я в очередной раз забросил эту тему и вернулся к ней только на днях, когда читал обзоры, подыскивая себе новый ноутбук, и уже вроде бы выбрал почти всем хороший Sony S15, как опять в одном из обзоров читаю про него, что вентилятор в нем вообще не останавливается никогда, даже когда точно можно. Постоянно шумящий ноутбук я больше не хочу, а выбирать как всегда особо не из чего, учитывая, что надо 15", что TN матрицу я тоже больше не хочу, и бюджет ограничен. Ну сами знаете, как оно бывает. Может быть на нем все-таки заведется fancontrol и все будет хорошо, но а если нет? Никаких отчетов по его установке на этот ноутбук найти не удалось. Это побудило меня еще раз копнуть тему программного управления вентиляторами и пройти довольно непростой, но очень увлекательный квест.
Нет, конечно, я слышал про всякие программы, которые могут вмешиваться в управление охлаждением и вроде кто-то ими успешно пользуется, но лично мне с ними вечно не везло, точнее не везло с железом, на котором я пытался их завести. Например, какое-то время назад я пробовал настроить fancontrol на довольно старом ноутбуке HP nc8430 с Убунтой. В итоге, известный скрипт sensors-detect не смог найти ни одного вентилятора в системе, а без этого fancontrol не работает. На разных форумах периодически появляются люди с похожими проблемами, но никто им толком помочь не может.
Тогда я в очередной раз забросил эту тему и вернулся к ней только на днях, когда читал обзоры, подыскивая себе новый ноутбук, и уже вроде бы выбрал почти всем хороший Sony S15, как опять в одном из обзоров читаю про него, что вентилятор в нем вообще не останавливается никогда, даже когда точно можно. Постоянно шумящий ноутбук я больше не хочу, а выбирать как всегда особо не из чего, учитывая, что надо 15", что TN матрицу я тоже больше не хочу, и бюджет ограничен. Ну сами знаете, как оно бывает. Может быть на нем все-таки заведется fancontrol и все будет хорошо, но а если нет? Никаких отчетов по его установке на этот ноутбук найти не удалось. Это побудило меня еще раз копнуть тему программного управления вентиляторами и пройти довольно непростой, но очень увлекательный квест.
+52
Анонимный Дед Мороз: пост хвастовства новогодними подарками
1 min
32K
Привет, %username%!
Наша акция "Клуб Анонимных Дедов Морозов в самом разгаре. Адреса введены. Жребий брошен. Тысячи почтовых работников сбились с ног, оформляя подарки хабражителям от, собственно, хабражителей.
Сегодня первый подарок уже нашел своего адресата, а значит, пришло время для этого поста.
Тут мы с вами будем хвастаться полученными подарками на зависть тем, кто в этом году не решил или не успел поучаствовать в нашем безумии.
Заносите пост себе в трекер и ничего не пропустите. Ведь писать сюда будут еще столько, сколько будут поступать подарки от Почты России и ее зарубежных коллег.
С НАСТУПАЮЩИМ НОВЫМ 2013 ГОДОМ!
Ваши Negasus и Kafeman
+68
За кулисами Android: что-то, чего вы можете не знать
14 min
151KTutorial

0. Оглавление
- 1. Предисловие
- 2. Хак eMMC памяти HTC Desire HD с целью изменения идентификационной информации телефона
- 3. Создание телефона-оборотня с использованием криптографии
- 4. Ложная безопасность: обзор угроз несанкционированного доступа к данным
- 5. Заключение
1. Предисловие
Мобильные гаджеты стали неотъемлемой частью нашей повседневной жизни, мы доверяем им свои самые сокровенные тайны, а утрата такого устройства может привести к серьезным последствиям. Сегодня много внимания уделяется освещению вопросов мобильной безопасности: проводятся конференции, встречи, крупные игроки выпускают комплексные продукты для персональной и корпоративной защиты мобильных устройств. Но насколько такие средства эффективны, когда устройство уже утрачено? Насколько комфортны они в повседневном использовании – постоянные неудобства с дополнительным ПО, повышенный расход батареи, увеличенный риск системных ошибок. Какие советы можно дать беспокоящимся за сохранность своих мобильных данных? Не хранить ничего важного на смартфоне? Тогда зачем он такой нужен – не птичек же в космос отправлять, в самом деле?
Сегодня я хочу поговорить с вами об устройствах под управлением ОС Android, созданной глубокоуважаемой мною компанией Google. В качестве примера я использую неплохой смартфон прошлых лет от компании HTC – Desire HD. Почему его? Во-первых, именно с него мы начали свою исследовательскую деятельность в области безопасности Android-устройств, во-вторых – это все еще актуальный смартфон с полным набором функций среднестатистического гуглофона. Он поддерживает все версии Android, в нем стандартный взгляд HTC на организацию файловой системы и стандартная же раскладка разделов внутренней памяти. В общем, идеальный тренажер для защиты и нападения.
С этим докладом я выступил на вот-вот только прошедшей конференции ZeroNights 2012 и теперь хочу презентовать его хабрасообществу. Надеюсь он будет вам интересен и даже немного полезен.
+96
STM32 + DHT11
2 min
108KПопал мне в руки датчик температуры и влажности DHT11. Измеряет влажность в пределах 20-90% и температуру от 0 до 50°С. Погрешность измерения влажности 5%, температуры 2°С. Время захвата 1 сек. Интерфейс связи single wire (datashit). Столь скромные параметры ограничивают область применения датчика только бытовыми даже комнатными условиями.

Я хотел сравнить показания устройства на HCH1000+DS18B20 с DHT11.

Я хотел сравнить показания устройства на HCH1000+DS18B20 с DHT11.
+18
Видео докладов с киевских хабравстреч
2 min
13KЯ был на нескольких киевских хабравстречах. Вызвался там быть в качестве видео оператора. Все доклады, которые были прочитаны на этих встречах, были мной сверстанны или в виде видео или в виде слайдкастов.

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

Но, к сожалению видеозаписи/слайдкасты были довольно слабо представлены на самом хабре, ведь смысл видеосъемки был в том, чтобы те кто не был, могли услышать что там было. На мой взгляд, обойдены вниманием очень хорошие доклады. Хочу восполнить этот пробел и выложить по рейтингу просмотров все доклады с киевских хабравстреч, на которых я был.
+27
Прошиваем AVR вручную
6 min
216KTutorial

Картинка для привлечения внимания — xkcd
Представьте себе, что вы попали на необитаемый остров. И вам жизненно необходимо запрограммировать микроконтроллер. Зачем, спросите вы? Ну, допустим, чтобы починить аварийный радиомаяк, без которого шансы на спасение резко падают.
Радуясь, что еще не забыли курс ассемблера, вы кое-как написали программу палочкой на песке. Среди уцелевших вещей каким-то чудом оказалась распечатка документации на контроллер (хорошо, что вы еще не успели пустить её на растопку!), и программу удалось перевести в машинные коды. Осталась самая ерунда — прошить её в контроллер. Но в радиусе 500 километров нет ни одного программатора, не говоря уже о компьютерах. У вас только источник питания (батарея из
Как же прошить МК фактически голыми руками?
+169
Практика получения и использования цифровых подписей при сдаче отчетов в гос.органы
11 min
39K
Уже достаточно давно украинская налоговая (а также другие органы) стали принимать документы в электронном виде. Для сдачи таких документов они должны быть подписаны электронной цифровой подписью. Дело двигалось достаточно медленно – подписи стоили денег, учиться их применять всем было лень, хороших программ не было и т.д. За последний год-полтора, всё, как ни удивительно, резко изменилось:
- Появились нормальные законы и открытые стандарты – программу для формирования документов теперь может написать любой (и их действительно уже написано много)
- Налоговая стала выдавать подписи бесплатно
- Опять-таки бесплатно оказывается техподдержка
- Одна и та же подпись может использоваться во всех гос. органах
- Налоговая стала намекать, что скоро бумажные документы принимать не будет (это не правда, но людей подстёгивает)
Данная статья детально описывает процесс получения электронной цифровой подписи и её использования при отправке документов в налоговую инспекцию. Да, на Хабре о чем-то таком уже писали, но то были либо рекламные посты платных программ, либо короткие малополезные заметки. А здесь будет много скриншотов и рассказов о
Что этот пост делает на Хабре? Многие айтишники зарегистрированы как частные предприниматели и должны примерно 5 раз в год тратить по полдня на сдачу отчетов в налоговую. Теперь это время можно будет свести к 5-10 минутам. Кроме того, мы уделим некоторое внимание вопросам информационной безопасности всего этого механизма.
+16
Парсим русский язык
8 min
71K
В прошлый раз (почти год назад) мы определяли части речи в русском тексте, производили морфологический анализ слов. В этой статье мы пойдем на уровень выше, к синтаксическому анализу целых предложений.
Наша цель заключается в создании парсера русского языка, т.е. программы, которая на вход бы принимала произвольный текст, а на выходе выдавала бы его синтаксическую структуру. Например, так:
"Мама мыла раму":
(предложение
(именная гр. (сущ мама))
(глаг. гр. (глаг мыла)
(именная гр. (сущ раму)))
(. .)))
Это называется синтаксическим деревом предложения. В графическом виде его можно представить следующим образом (в упрощенном виде):

+120
Information
- Rating
- Does not participate
- Location
- Киевская обл., Украина
- Date of birth
- Registered
- Activity