Pull to refresh
-3
0.4
Ruslan Makhankov @maynoz

User

Send message

Собираем CarPC на Android: недостроенный долгострой

Reading time12 min
Views400K


Моя машина меня устраивает почти всем. Есть практически все, что нужно. В комплектации блютусный телефон, кнопочный климат-контроль, электростеклоподъемники на всех дверях, подогрев сидений, подогрев, регулировка и складывание зеркал, чип-ключ, CD-чейнджер на 6 дисков, но без MP3 и линейного входа. Вот этот прискорбный факт и привел меня к мысли начать собрать свой CarPC на базе андроида. Начал рассматривать варианты и покатился… появилось много идей.
Хочу поделиться с Вами!
Total votes 150: ↑142 and ↓8+134
Comments110

Опыт обучения школьников программированию

Reading time13 min
Views146K
Примерно полтора года назад компания, в которой я работал, приняла решение начать образовательный проект: готовить будущих программистов со студенческой и даже школьной скамьи. Решение было вызвано как нехваткой квалифицированных программистов в нашем регионе, так и тем, что приходящих выпускников приходится очень многому доучивать – получаемое в вузе образование не полностью отвечает современным реалиям индустрии разработки ПО. Проект взаимовыгодный как для студентов, которые получают возможность познакомиться с промышленным программированием на практике, так и для компании, которая получит через несколько лет квалифицированных специалистов.

Но еще интереснее оказалась часть проекта, ориентированная на работу со школьниками. Я принимаю непосредственное участие именно в этой части, поэтому хочу рассказать о ней.
Читать дальше
Total votes 106: ↑99 and ↓7+92
Comments164

Модификация стоковых прошивок для Android. Часть 1

Reading time9 min
Views288K
Здравствуй Хабр!

Несколько лет назад, когда я впервые познакомился с Android, я услышал от своего коллеги по работе, что Android предусматривает возможность установки модифицированных или самодельных прошивок. Признаться, тогда я был далек от этого. И даже пол года назад меня едва интересовали подобные вещи. Глубоко в душе, я был уверен: то, что делает производитель, уже предназначено для нормального использования.

Каково же было мое разочарование, когда я приобрел телефон из поднебесной, где заводскими настройками было запрещено использование Google, Skype, Facebook и других приложений. В принципе, на некоторые вещи можно было закрыть глаза, но когда мой телефон не подразумевал использование учетной записи Google — я взял с себя обещания обязательно разобраться во что бы мне это не стало.

Прошло пол года и мои кастомные прошивки с успехом используются по всему миру.

В данной серии статей пойдет речь о том, как делать reverse программирование для Android, реализовывать патчи, твики и моды.
Читать дальше →
Total votes 93: ↑87 and ↓6+81
Comments31

Добавление Google Apps в эмулятор Android (Intel x86 Atom System Image)

Reading time2 min
Views39K


Все разработчики под Android знают, насколько медленно работает эмулятор. В июне прошлого года Intel представила Android, который работает в режиме x86 (без эмуляции ARM). И конечно, скорость эмулятора стала потрясающая. Но в системных образах этих эмуляторов отсутствуют Google Apps (Maps, GMail, Calendar, Google Play, аккаунт Google, ...).

В этой статье мы добавим приложения от Google.
Читать дальше →
Total votes 48: ↑41 and ↓7+34
Comments20

Прототипы страниц сайта: между брифом и техническим заданием

Reading time3 min
Views34K
Большинство разработчиков сайтов, с которыми мне приходилось сотрудничать, имеют хорошо налаженный процесс производства и прорабатывают все этапы создания веб-ресурсов до мелочей – начиная с ТЗ и заканчивая юридической и финансовой стороной.

Однако почти никто не рисует наброски будущего сайта — прототипы страниц. Казалось бы, очевидно, что воспринимать иллюстрации проще, чем сухой технический текст, да и время на «перевод» ТЗ для участников проекта значительно сокращается.

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

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

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

Обычно такой «концепт» готовится, когда выяснены вопросы целевой аудитории, суть работы бизнеса заказчика в целом понята, а структура будущего сайта уже определена. То есть это этап, предшествующий разработке технического задания.
Читать дальше →
Total votes 10: ↑8 and ↓2+6
Comments23

Малая автоматизация, или как два байта переслать

Reading time4 min
Views27K

Немного обо мне


Я занимаюсь промышленной автоматикой. Буквально от головы до задницы, т.е. от полевого уровня (датчики/исполнительные механизмы) до верхнего (программирование ПЛК/разработка SCADA). Так получилось, что больше всего я занимался наладкой, но последний год — преимущественно разработкой. Кроме того, для меня программные и аппаратные средства делятся на Siemens и всё остальное.

О проекте


Суть проекта заключается в обновлении систем автоматики на довольно большом количестве насосных станций (водонапорных и канализационных). Кроме собственно обновления, была поставлена задача собирать и передавать текущие значения ряда параметров в общую диспетчерскую для централизованного архивирования и наблюдения. Территориально всё это хозяйство находится в Нижней Галилее, в Израиле.
На момент начала работ средства автоматики на разных станциях представляли собой весьма разнообразный зоопарк: от контроллеров ET-200S CPU на более свежих станциях до релейной логики на более старых. На текущий момент на разных станциях работают контроллеры Siemens, Twido (Schneider), Koyo, GE Fanuc.
Получилось так, что формально этот проект реализует Schneider Electric, наша компания является субподрядчиком. Это определило выбор SCADA для диспетчерской (Vijeo Citect) и контроллеров для станций, где требуется их замена.

Читать дальше →
Total votes 29: ↑27 and ↓2+25
Comments25

Сфера из двух треугольников

Reading time7 min
Views61K
История этой демки такова: однажды один мой друг сделал для своей игры генератор карт планет и захотел, чтобы созданные таким образом карты показывались в виде вращающейся сферы. Однако, при этом он не хотел использовать 3D-графику, а вместо этого сгенерировал множество кадров с этой самой сферой, повёрнутой на разные углы. Количество используемой памяти было… скажем так, избыточным, ну а скорость генерации кадров (как и качество их исполнения) сильно страдала. Чуть подумав, мне удалось помочь ему оптимизировать этот процесс, но в целом меня не покидало справедливое ощущение того, что это задача для OpenGL, а вовсе не для 2D-графики.

И вот, однажды, когда меня мучила бессонница, я решил попробовать совместить эти два подхода: нарисовать вращающуюся сферу (с натянутой на неё картой планеты) через OpenGL, но при этом оставив её плоской.
Читать дальше →
Total votes 78: ↑75 and ↓3+72
Comments66

Как мы делали лазер из DVD-RW привода

Reading time2 min
Views844K
image

Без особых прелюдий начну с того, какой привод лучше использовать.
  • Во-первых, это должен быть пишущий привод (RW);
  • Во-вторых, чем выше у него скорость записи, тем мощнее получится лазер;
  • Ну и, в-третьих, чем более ненужным он уже является, тем больше удовлетворения от этого можно получить. Я заметил прямую зависимость :)
Читать дальше →
Total votes 175: ↑150 and ↓25+125
Comments136

Еще одно домашнее видеонаблюдение

Reading time5 min
Views272K

Одним прекрасным днем возникла идея поставить на лестничной клетке небольшую камеру и контролировать входную дверь квартиры.
Основным требованием к системе являлось бюджетность решения. Итоговый вариант вышел не совсем такой, какой хотелось, в силу некоторых совершенных ошибок при задумке и реализации системы.
Читать дальше →
Total votes 49: ↑48 and ↓1+47
Comments140

Как попасть в «золотой миллиард» или отрезвляющая статистика

Reading time1 min
Views205K
Рассматривая всевозможные списки Forbes, цены на квартиры в Москве или просто ценник нового Galaxy S4, легко впасть в уныние – кто-то же это все покупает. Причем в легкую, не парясь, не то что я. Проблема в том, что это все навязанная картина мира (не пугайтесь, пафоса в моем топике будет немного).

Существует такое понятие как «золотой миллиард». Это одна седьмая часть населения планеты, потребляющая большую часть ресурсов и обеспеченная базовыми удобствами. То есть еще раз, 6 миллиардов людей на планете живут хуже. Значительно хуже. Для того, чтобы понять, каков порог вхождения в этот «миллиард» можно воспользоваться сайтом статистики Global Rich List. Выбираем валюту, вводим либо годовой доход, либо накопленное состояние, и позиционируем себя на мировом финансовом поле.

Читать дальше →
Total votes 186: ↑166 and ↓20+146
Comments392

Создание нестандартного компонента с нуля. Часть 2

Reading time10 min
Views21K

Вступление



Вновь приветствую, коллеги.

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



В этой статье под катом мы продолжим накручивать свистелки и... дополнительные возможности нашей клавиатуре. На повестке дня:

  1. Сохранение состояния компонента при повороте экрана
  2. добавление подсветки при оверскролле
  3. передача параметров в XML
  4. Мультитач зуммирование
Читать дальше →
Total votes 53: ↑51 and ↓2+49
Comments9

Возвращаем приватность или большой брат следит за мной на стандартных настройках. Часть 3. Настраиваем «Фейсбук» и «Вконтакте»

Reading time4 min
Views132K
В первой части мы говорили об общих настройках для всех браузеров, вскользь прошлись по паролям, шифрованию и бекапе, а также несколько усложнили жизнь «Гуглу».

Во второй части мы увидели, сколько статистики собирают на нас даже без использования сторонних (third-party) «куки»-файлов и рассказали о пользе и настройке VPN простым языком.

Сегодня поговорим о приватности в социальных сетях, благо даже в комментариях были прецеденты. Однако пока небольшое отступление.

Судя по комментариям, некоторые из вас считают, что простым людям это не нужно. Но вот, например, недавняя дискуссия на «Реддите», в которой показано, как то, откуда вы, сколько времени ищите билеты и также социальные предпочтения, влияет на цену билетов, которая показывается вам в форме покупки.
I bought a return flights to the Philippines a few days ago, just checked it with incognito mode….180$ cheaper!

I F… KNEW IT! I kept refreshing when I was buying airplane tickets and that f…er kept going up when I hit the refresh button. It eventually went up by $100 extra dollars!

I had been searching for a specific itinerary for a few weeks, just checking on prices. I saw this on the front page and decided to try it out. $400 DIFFERENCE!!!!

Если вы не знаете язык, можете почитать выдержку на русском здесь. Если даже после этого вам все равно, то человечество, все-таки, вымрет. Ну да вернемся к социальным сетям.


Читать дальше →
Total votes 89: ↑67 and ↓22+45
Comments68

Основы безопасности операционной системы Android. Native user space, ч.1

Reading time8 min
Views98K

Вступление


В этой статье я попробую рассмотреть безопасность чуть-чуть повыше ядра, а именно: как работает безопасность в Native user space. Мы коснемся темы процесса загрузки операционной системы и рассмотрим структуру файловой системы Android. Как я уже говорил, я не очень силен в Linux, поэтому если заметите неточности, то исправляйте — меня научите и статью улучшите. Так как эта тема довольно обширная, я решил разбить её на две части. В первой части мы рассмотрим процесс загрузки операционной системы и особенности файловой системы. Всем кому интересно, добро пожаловать!
Читать дальше →
Total votes 46: ↑41 and ↓5+36
Comments29

GPS мониторинг авто или домашнее задание на вечер

Reading time6 min
Views73K
Здравствуйте! Однажды, задумавшись о безопасности своего автомобиля, я прошелестел достаточно много ресурсов с информацией об автомобильных противоугонных системах в том числе и с GPS. Но все было либо не то, что нужно, либо достаточно дорого, да и сопутствующие сервисы мне особым функционалом не нравились, да и признаться есть доля паранойи во мне. В общем, главной отпугивающей причиной для меня стало — делить с кем-то информацию о своем местоположении. В итоге была куплена обычная сигнализация с авто запуском и обратной связью, но речь сейчас немного о другом.

Все же мысли о сохранении информации о положении авто у меня крутились в голове, да и хотелось просто найти интересное занять на досуг. НА этих мыслях я решился на покупку т. н. персонального GPS — трекера. Особо к моделям не присматривался, у все примерно одно и тоже, но очень важной особенностью такой как настройка на собственный сервер обладали не многие из перебранных кандидатов. В итоге мой выбор пал на персональный GPS трекер китайской компании Xexun — Xexun TK102-2. После еще нескольких часов выискивания как все настраивается и кучи различных мануалов я решил, что нужно уже купить и посмотреть что это такое. Кому интересна информация о трекере и о написании собственного «сервера» для трекера, прошу подкат.
Читать дальше →
Total votes 39: ↑33 and ↓6+27
Comments41

Diff Displays: подсветка изменений на втором/третьем дисплее в фоне

Reading time1 min
Views24K

Затемнение фоновых дисплеев и подсветка изменений по методу PixMap

Если вы работаете с несколькими мониторами, то наверняка понимаете проблему. Переведя взгляд с одного экрана на другой, трудно быстро понять, что там изменилось. Технология Diff Displays должна помочь в таких ситуациях. Если вкратце, то система отслеживает направление взгляда пользователя. Если взгляд уходит с дисплея, то там активируется промежуточный слой, который затемняет или обесцвечивает картинку, выделяя при этом изменения. Как только взгляд возвращается, дисплей тоже возвращается в нормальное состояние. Вместо затемнения и обесцвечивания могут использовать и другие методы, см. видео под катом.
Читать дальше →
Total votes 45: ↑43 and ↓2+41
Comments19

Как крупные корпорации убивают маленькие стартапы

Reading time6 min
Views179K
В этой статье я хочу рассказать историю одного стартапа, который я запустил 10 лет назад, о первых продажах, о «взлете», который так и не случился, и о том, как все это кануло в Лету (река «Забвения»).

В начале 2000-х популярным направлением для самодеятельности была разработка программного обеспечения. Интернет еще был не так популярен, как сейчас, а софт ставили все кому не лень и всякий разный. Тогда я был хорошим, можно сказать, сильным программистом на C++. Никакие самые сложные задачи не могли остановить меня. И я подумал, а не сделать ли что-то свое, потому что перспектива работать на контору, которая программировала всякую «муть» для довольно «далеких» (в плане понимания необходимости ПО) заказчиков меня не сильно вдохновляла. Ведь жизнь проходит, энтузиазм не вечен (а если и вечен, то не у всех), а написать в резюме, что я 10 лет программировал на FoxPro для региональных филиалов не самого крупного банка – не было моей целью.
Поэтому я силой мысли нарисовал себе мечту (примерно как на картинке) и начал потихоньку к ней идти.


Читать дальше →
Total votes 230: ↑203 and ↓27+176
Comments60

Эксперимент: две недели без времени

Reading time3 min
Views225K
Часы и время окружают нас повсюду. Мы привыкли видеть их везде: на компьютере, телефоне, настенных и наручных часах, а гугло-очки вообще сделают так, что время всегда будет перед глазами. Мы ощущаем потребность во времени и всегда хотим знать который сейчас час.

А что если отказаться от рамок времени? Что изменится? Вам хватает 24 часа в сутках? Когда эта мысль пришла мне в голову, и я не мог не проверить её на себе. Под катом моя история и ощущения двух недель жизни без часов и без времени. Если кратко: оно того стоит!
Читать дальше →
Total votes 127: ↑108 and ↓19+89
Comments176

Мой вариант «гравицапы»

Reading time4 min
Views71K

Предыстория


День добрый!

Эфирное телевидение наша семья не смотрит с момента ее основания, и в этом году будет уже 9 лет! Но различную медиа информацию потребляем, поначалу все это хранилось на домашнем компьютере, на телевизор выводилось через HDMI. С ростом медиа-архива, а так же после появления детей, удобство просмотра стало стремительно падать к нулю. И три года назад я окончательно созрел для сбора домашнего медиа-сервера. На тот момент основные требования к корпусу медиа-сервера были такие:
  • возможность расположения корпуса «плашмя»
  • Ширина (с учетом предыдущего пункта — высота): не более 20 см (иначе в стенку не залезет)
  • Внутренних отсеков 3,5" — не менее 5
  • Внешние отсеки 5,25" — не менее 1


С учетом этих требований я выбрал: Silverstone LC20B:
Silverstone LC20B
Обрадовало, что во внутреннюю корзину 3,5" можно нормально вставить не 6, а 7! винчестеров стандартной высоты. Это меня в определенный момент спасло.

Прикинув, что при развертывании RAID6 на 7 2Tb винчестерах я получаю 10 Tb места для хранения информации, я надеялся, что закрываю свои потребности в хранилище лет на 5. Наивный :-)

10 Tb кончились осенью прошлого года. В принципе, 2,5 года — хороший срок, но надо искать выход из сложившейся ситуации. На новогодних праздниках стал изучать опыт. В результате, очень понравилась идея «Гравицапы». Решил и сам что-то подобное сделать, однако не сразу кидаться делать, а предварительно спроектировать.

Читать дальше →
Total votes 28: ↑18 and ↓10+8
Comments132

CMS Koken для фотогалерей

Reading time3 min
Views69K


Появилась надобность создать сайт с фотогалереей. И пошел искать CMS для сих утех. После некоторого поиска обнаружил неприятную тенденцию. Есть CMS для фотогалерей, но не с современной навигацией, без Lightbox и так далее. Есть красивые HTML шаблоны с всякими вкусностями (например, Gamma Gallery), но без системы управления контентом. Рассматривать Wordpress и др. для сайта только с фотками — слишком накладно. Даже опечалился, но поиск натолкнул на одну новую CMS Koken. После небольшого рассмотрения понял, что это именно то, что мне нужно: первоклассная админка с множеством настроек, и современное отображение галерей. А с напильником так вообще красота получается.
Читать дальше →
Total votes 57: ↑48 and ↓9+39
Comments52

Экспорт фотоальбомов из ВКонтакта

Reading time4 min
Views84K

Преамбула


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

Поехали


В качестве инструмента для работы с API, путём кратких поисков, была выбрана библиотека vk_api. Для работы с сетью она использует Requests, поэтому и эта библиотека требуется для запуска.

Пощупать


GitHub Pages проекта
Исходный код с примерами
Total votes 68: ↑55 and ↓13+42
Comments39

Information

Rating
2,117-th
Location
Toronto, Ontario, Канада
Date of birth
Registered
Activity