Pull to refresh
0
0
Шамрай Александр @imsamurai

User

Send message

Радиоуправляемая Wi-Fi машинка с камерой

Reading time8 min
Views117K

Начало


Летом появилась мысль сделать радиоуправляемую машинку, но не просто нечто похожее на творение китайской инженерной мысли, которое продается на каждом шагу, а машинку, управлять которой можно было бы с компьютера или телефона. Понято, что машинка, которой можно управлять через Wi-Fi в чистом виде, совершенно не интересна. А вот если бы у нее была бы камера? А если еще и управление через 3G/EDGE/GPRS? Вот это – другое дело!
Читать дальше →

Топ-5 самых впечатляющих книг, которые должен прочесть каждый разработчик ПО

Reading time3 min
Views382K
Не так давно промелькнула ссылка на достаточно свежее (осень 2011) англоязычное голосование со скромным названием "самая впечатляющая книга, которую должен прочесть каждый разработчик программного обеспечения" и описанием:

Если бы вы могли вернуться в прошлое, к самому началу своей карьеры разработчика и сказать самому себе: «прочитай именно эту книгу», в самой начале своей карьеры разработчика, какую бы книгу вы рекомендовали?

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

Однако в данном небольшом посте я возьму на себя смелость перечислить ТОП-5 тех самых книг, победивших в голосовании, переведенных на русский язык. И дать небольшие комментарии, ведь книги действительно этого достойны. Да, лично я бы поменял некоторые места, однако положимся на «мнение зала» ресурса Stack Overflow.
Читать дальше →

Читайте код, с остальным справится компилятор

Reading time3 min
Views3.1K

Введение


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

PyS60: Сказ о том, как блокнот для Symbian писался

Reading time7 min
Views4.3K

Предисловие


Доброго времени суток, хабраюзеры!
Так уж получилось, что большую часть времени я нахожусь вдали от своего ПК, поэтому большинство его функций возлагаются на девайс, который всегда со мной — на смартфон на базе Symbian 9.4. Наряду с мультимедийными функциями мне очень часто бывает необходимо делать текстовые заметки, наброски статей для блога, а случается, что и приходится работать с (x)html и CSS. И если с мультимедийными функциями Nokia 5530XM справляется на ура, то работа с текстом осложнена отсутствием удобного для меня софта – мой привередливый нрав не признает те программные продукты, которые я имел возможность найти на просторах Интернета и протестировать на своем девайсе. Я нуждался в самом простом блокнотике, в то время как мне встречались текстовые редакторы, обремененные лишними для меня функциями. И когда я вспомнил, что спасение утопающих – дело рук самих утопающих, тогда и понял, что свои потребности удовлетворять придется самому.
Читать дальше →

Как Google тестирует ПО

Reading time9 min
Views40K
Прослушав вебинар «How Google Tests Software» я был так вдохновлен, что решил записать некоторые тезисы. Эта статья и есть мой конспект. Прежде всего, я должен внести ясность относительно ее содержания. Это не дословный перевод. Здесь описаны только те вещи, которые показались мне важными. Проще говоря, здесь описано не все, что прозвучало в вебинаре. Так же существует вероятность, что я понял что-то не до конца или даже понял неправильно. Поэтому горячо рекомендую прослушать вебинар самостоятельно.
Его ведет Джэймс Витакер, который в данный момент занимает пост технического директора по тестированию ПО в Google. Джэймс совместно с коллегами готовится выпустить одноименную книгу. В ней можно будет получить исчерпывающую информацию о том, как проводят тестирование GoogleMaps, Google+, ChromeOS, Android и т.д…
Читать дальше →

Новогодняя музыкальная открытка

Reading time4 min
Views30K
На носу новогодние и рождественские праздники, и многие озабочены тем, что подарить друзьям и близким.
Собственно, тем же вопросом озаботился и я. И пришла мне такая идея — сделать музыкальную открытку. Конечно, идея не новая — наши братья китайцы их делают в больших количествах и по низкой цене. Но конкурировать с китайцами я и не собирался, просто хотелось все-таки чего-то своего. И, как мне кажется, получился неплохой результат:


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

Робот-черепашка на АТMega8

Reading time3 min
Views4.4K
Рассказывали тут про свои «робо-поделки» и я тоже решил поделиться своей.
Вдохновился я роботом Polulu 3pi. Но решил сделать своего, хотя как потом оказалось это сложнее и самое главное намного дороже. Но это мелочи )
Наковырял на различных форумах разные схемы: схема управления двигателями, схема управления ИК-датчиками и всё это дело завёл на МК AtMega8.

Вобщем-то получился вот такой зверек
image
Впереди два TSOP-а и 3 ИК-светодиода. Внизу 5 светодиодов и 5 фототранзисторов. Вобщем-то и за линиями следить может и препятствия обнаруживает.

Внутри еще немного о роботе, пара фотографий и видео
Читать дальше →

Красивый вывод изображений

Reading time3 min
Views46K
image
Всегда мне не нравилось, как выводятся изображения на моих сайтах. Хотелось какой-то упорядоченности, зависимости. Поэтому, я полез искать скрипты и решения в гугле. После безуспешных поисков, решено было делать что-то самому.
Но что? Я стал смотреть, как сделан вывод картинок у популярных сайтов. Всё мне не нравилось, пока я не додумался посмотреть вывод в google images и google+. Меня поразило то, что я никогда этого не замечал картинки выравниваются по ширине и высоте не обрезаясь. Такой принцип я и захотел реализовать. Получается мозаика. И всё будто на своём месте.
Не долго думая, я сел писать код, который сможет вывести картинки так же.
Читать дальше →

Строим гусеничного Bluetooth-робота с камерой. Часть 2

Reading time4 min
Views36K
Часть 1
Часть 3
Продолжаем строить гусеничного робота.
В первой части мы с вами подобрали и, надеюсь, заказали все необходимые детали. Кстати, недавно проверял, все детали Tamiya (гусеницы, площадки, мотор-редукторная коробка) были в наличии в Terraelectronica. Подороже, конечно, чем из Китая, но зато рядом.
Те, кто уже получил детали, наверняка уже собрали шасси.
Теперь займемся бортовой электроникой, видеоподсистемой и питанием.
Читать дальше →

Строим гусеничного Bluetooth-робота с камерой. Часть 1

Reading time7 min
Views147K
По многочисленным просьбам я решил описать процесс создания вот такого робота с камерой на гусеничном шасси и управлением по bluetooth с помощью джойстика.

Я всегда мечтал создать робота, которым можно управлять с помощью компьютера и смотреть за его перемещениями от первого лица.
Весь процесс я условно разделил на три части:
1. Сборка робота
2. Программирование боротового микроконтроллера
3. Программирование управления с ПК
Читать дальше →

Сборка и запуск HipHop-PHP

Reading time5 min
Views18K

Почти три недели назад был анонсирован новый проект от Facebook. Он называется HipHop-PHP.
Для широкой публики исходные коды стали доступны лишь сутки назад.

HipHop был создан для улучшения производительности Facebook. Он преобразует PHP код в C++ код и комплирует его с помощью g++. HipHop доступен под opensource лицензией.

В данной статье описан процесс сборки HipHop из исходных кодов и его использование.

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

Самодельный расходомер для автомобиля

Reading time4 min
Views95K
Привет! Расскажу вам о своей попытке сделать бортовой расходомер на основе Arduino Nano. Это моё второе изделие из ардуинки, первым был шагающий паучок. После экспериментов с лампочками и сервоприводами хотелось сделать что-нибудь более полезное.

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

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

Image #1326265, 1.2 MB

Прибор вычисляет и отображает на дисплейчике километровый расход топлива: на нижней строке мгновенный, на верхней — средний за последний километр.
Подробности

Рендеринг замедленной съёмки на основе отдельных кадров

Reading time2 min
Views11K
Теперь нам не нужна высокоскоростная камера, чтобы делать замедленную съёмку. Швейцарский программист и дизайнер Саймон Югстер (Simon A. Eugster) выпустил замечательный видеоредактор slowmoVideo для рендеринга замедленной съёмки (slow motion) на основе отдельных кадров. Можно использовать slow motion как художественный эффект — чтобы подчеркнуть какой-то момент на видео. Или можно генерировать целые видеоролики на основе ограниченного количества кадров. Например, вы даёте на входе 24 кадра, а программа генерирует 240.



репозиторий git

Инструкция по установке необходимых библиотек и компиляции здесь. К сожалению, программа работает только на картах nVidia из-за использования библиотеки V3D (GPU-KLT+FLOW).

UI, скринкаст и образцы проектов

Решение судоку с помощью веб-камеры в реальном времени

Reading time12 min
Views61K

Предисловие




Это приложение может и не имело практической ценности, но опыта прибавило действительно много. Я бы хотел немного поразмышлять на тему компьютерного зрения. Эта область является одной из самых захватывающих в современных компьютерных вычислениях, и она очень сложна. Что легко и просто для человеческого мозга, то очень сложно для компьютера. Многие вещи до сих пор остаются невозможными с сегодняшним уровнем развития IT.

Программа написана с помощью низкоуровневого языка C++, потому что я действительно хотел понять, как же это все работает изнутри. Если вы тоже хотите начать изучение компьютерного зрения, то для этого пригодиться библиотека OpenCV. На CodeProject вы сможете найти несколько уроков по ней. Изображение с веб-камеры получается с помощью исходного кода Вадима Горбатенко (AviCap CodeProject).
Читать дальше →

Установка словарей для проверки орфографии в NetBeans

Reading time3 min
Views16K
Всем привет!

Чего хотим


Хотим чтобы работала проверка орфографии в NetBeans для русского языка.

Как сделать


КО: Чтобы работала проверка орфографии для русского языка, надо установить словарь для русского языка!

Поскольку найти словарь сходу не удалось, пришлось сделать его самому. Под катом рассказ как сделать свой словарь для NetBeans. Для тех кто не хочет морочиться, в конце статьи приведены ссылки на готовые словари.

UPDATE
В комментариях подтвердили работоспособность словарей в IntelliJ IDEA и Eclipse IDE.

хочу знать как ты это сделал

Шпаргалка по пакетному менеджеру NPM

Reading time5 min
Views421K

npm — это пакетный менеджер node.js. С его помощью можно управлять модулями и зависимостями.
Небольшая шпаргалка всех моих любимых команд npm:

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

Коралина. Мир наоборот

Reading time3 min
Views9.4K
Коралина
Друзья, с некоторой периодичностью я делюсь с вами шедеврами современной мультипликации. Сегодня я расскажу вам о фильме, который скрасит ваш пятничный вечер и капнет бальзам на эстетические раны. «Коралина» долгие месяцы лежала на ближайшей полке, именованной: «Смотреть обязательно и срочно». Я боялся не прочувствовать его до конца, не насладиться каждым кадром, упустить настроение.
Но вот земля налетела на небесную ось и я посмотрел. Это поучительная история одной семьи, центральный персонаж которой — Коралина (Coraline). Фильм снят по повести Нила Геймана (чувак, кстати, крайне разносторонен). Если отбросить сюжет, картинку и условности, то суть сводится к фразе: «какими бы не были твои родители, они всё равно твои родители». Но мы не будем их отбрасывать(:
Coraline
Итак, в детали.
Графика фильма очень своеобразная, такую вы не встретите практически нигде: ни в 3д фильмах пиксара, ни в кукольных мультиках СССР. Пейзажи, интерьеры, герои уникальны и неподражаемы по своей красоте. Это очень оправданный шаг со стороны Лайки, и вы, пожалуй очень удивитесь, узнав, что в этом фильме практически, нету 3д и компьютерной анимации. Он чуть более, чем полностью кукольный. Создатели в количестве полутысячи человек провернули гигантскую работу по моделированию и анимации. И результат, надо признать, потрясающий — получился самодостаточный, очень красивый мультфильм.
Coraline
И, разумеется, речь не только о графической составляющей, но и о сценах, невероятной фантазии режиссёра, своеобразном юморе (мальчика — друга Коралины — зовут Вайборн = WhyBorn) и индивидуальности каждого персонажа. Вообще, кстати, местами мультфильм напоминает антиутопии Жёне.
Как это бывает в такого масштаба проектах, музыкальное сопровождение доставляет. Мелодия льётся от начала до конца, почти не прерываясь — она органичная нить повествования, задаёт настроение сцене и зрителю.
Стоит ли говорить, что я крайне рекомендую смотреть, фильм в оригинале?
Пора бы, составить, пожалуй список таких душевных фильмов?
Кстати, у Коралины есть свой интерактивный вебсайт. Живой, приятный. Не сказать, что потрясающий или уникальный, он такой, каким он должен быть: coraline.com
Под катом я чуть-чуть расскажу о сюжете

Нифига себе сходил за хлебушком, или история одного взлома

Reading time8 min
Views117K
Всё началось с того, что ко мне (как к фрилансеру) обратились за помощью и попросили настроить exim4 так, чтобы почтовая рассылка не попадала в спам. Даже заботливо ссылку прислали на замечательную статью.

Работы на пару часиков включая обновление DNS, но не тут то было. Залогинившись под рутом я включил свой любимый screen по привычке командой screen -x и лицезрел прелюбопытнейшее действо в любимой многими папке /dev/shm. Злоумышленник не удосужился прикрыть сессию screen, либо всё еще работал в ней. И тут начинается квест:

Первое, что я сделал — просмотрел, чем же занимался злоумышленник:

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

Natural Docs + GitHub Pages = online auto-documentation на халяву (почти)

Reading time3 min
Views3.3K
У GitHub есть забавная штука, называется GitHub Pages.

Использоваться может двояко – можно или сайт замутить, или сделать доки к репозитарию, в мануале об этом подробно написано.

Нас сейчас сайт не интересует, а вот доки к репозитарию – тема что надо. Я для примера буду использовать проект на javascript, но это не важно, Natural Docs поддерживает приличную пачку языков, чем и хорош.
Читать дальше →

Нечёткий поиск в тексте и словаре

Reading time13 min
Views270K

Введение


Алгоритмы нечеткого поиска (также известного как поиск по сходству или fuzzy string search) являются основой систем проверки орфографии и полноценных поисковых систем вроде Google или Yandex. Например, такие алгоритмы используются для функций наподобие «Возможно вы имели в виду …» в тех же поисковых системах.

В этой обзорной статье я рассмотрю следующие понятия, методы и алгоритмы:
  • Расстояние Левенштейна
  • Расстояние Дамерау-Левенштейна
  • Алгоритм Bitap с модификациями от Wu и Manber
  • Алгоритм расширения выборки
  • Метод N-грамм
  • Хеширование по сигнатуре
  • BK-деревья
А также проведу сравнительное тестирование качества и производительности алгоритмов.
Читать дальше →

Information

Rating
Does not participate
Location
Днепр, Днепропетровская обл., Украина
Date of birth
Registered
Activity