Pull to refresh
18
0
Роман Миловский @rom2

User

Send message

Verve 2: электронный конструктор умных устройств для начинающих + возможность изучить основы электроники

Reading time2 min
Views25K


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

Проект Verve 2 от компании Inxus — это возможность получить знания по основам электроники, в процессе создания собственного умного устройства (это может быть система удаленного управления, система домашней безопасности и все прочее).

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

Dropclock для xscreensaver или как верстальщик писал заставку под Linux

Reading time8 min
Views27K
Не помню, где первый раз увидел, но был очарован заставкой DropClock, о которой уже упоминалось на Хабре.

=>

Но вот беда: авторы собрали её только для Win и Mac. Несмотря на это, желание было сильнее ограничений, и я решил во что бы то ни стало собрать собственную реализацию.
Читать дальше →

Локализация с AngularJS

Reading time5 min
Views36K
imageДобрый день, уважаемые Хабражители.

AngularJS — отличный Framework для создания ваших сайтов. На Хабре уже достаточно много про него написано, но почему то ни разу не затрагивалась тема локализации приложений. Тем не менее, поддержка локализации в нем есть и сегодня мы попробуем с ней разобраться.

Существует несколько способов локализации и мы рассмотрим несколько из них.
Рассмотрим...

OpenHAB — стань программистом собственного жилища

Reading time9 min
Views202K
image
Дом — это машина для жилья
Ле Корбюзье

В этом посте я расскажу об opensource проекте домашней автоматизации openHAB.
openHAB переводится как "Open Home Automation Bus". Это значит, что он нацелен на создание универсальной платформы для объединения всей домашней «умной» техники в единую систему управления.

Что же это дает на практике? Под катом я расскажу о том, как с помощью этого решения можно создать настоящий интернет вещей в своем доме.

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

Сюрреализм на JavaScript. Советы по разработке на NodeJS

Reading time9 min
Views41K
Привет, Хабра!

Пол года назад я подумал: «А может книгу написать?», и таки написал.



Все документы оформлены, страницы сверстаны, а тираж — отпечатан. Я не буду клянчить у вас деньги на кикстартере или предлагать что-либо купить, а вместо этого попытаюсь заинтриговать советами по разработке на NodeJS в целях пиара и привлечения внимания к книге.
Читать дальше →

ESP8266: Революция в мире интернета вещей

Reading time4 min
Views342K


В не столь далекие времена поддержка устройством Wi-Fi-соединения была дорога, громоздка и не энергоэффективна. Разработчики вынуждены были использовать радиоинтерфейсы на базе различных конкурирующих решений. Выдумывали свои «велосипеды» на уровне протоколов. И попадали в заветный Wi-Fi только с использованием дополнительных устройств, реализующих функционал моста. Стоивших весьма заметные деньги.

Но жизнь идет. Технологии стремительно развиваются. Термин «Интернет вещей» все чаще на слуху. Многим производителям микросхем, большим и не очень, наконец-то стало актуальным решить извечную проблему интеграции Wi-Fi в небольшие и недорогие устройства. Чтобы иметь возможность подключить их напрямую в инфраструктуру, уже имеющуюся почти в каждом жилище. Чтобы отъесть как можно больший кусок грядущего нового рынка подключаемых к сети простых устройств.

В 2014 году сразу несколько производителей объявили о выпуске соответствующих наборов микросхем. Сегодня речь пойдет о чипе ESP8266 китайской компании Espressif. Модулями UART-WIFI на базе этого чипа уже наводнен весь Китай и стоят они всего от $4,5 (с бесплатной международной доставкой).
Читать дальше →

Как изучают робототехнику школьники Испании

Reading time7 min
Views31K


Суть проекта BQ DIY KIT De Robotica

Система KIT De Robotica позволяет научиться и создавать роботов, отличающихся по внешнему дизайну (развитие навыков 3D моделирования, механики) и поведению (программирование сенсоров и систем) из стандартных (набор поставки) и полностью индивидуальных (детали, распечатанные на 3D принтере) компонентов.

KIT De Robotica относится к DIY проектам робототехники для начинающих, так как не требует навыков и приборов пайки. За счет этого и комплексного подхода к проектированию система завоевала популярность в школах Испании.

Что такое KIT De Robotica и почему это именно система?


Когда заказываете KIT De Robotica, вы получаете небольшую симпатичную коробку, но это далеко не все. Просто сенсоры, проводки и двигатели можно легко купить по отдельности — и это будет дешевле, но этого будет недостаточно для создания робота. BQ KIT De Robotica включает в себя:
  • базовые сенсоры и компоненты;
  • онлайн систему визуального программирования;
  • концепты приботов и инструкции по сборке;
  • программу управления на базе смартфонов на Android;
  • блок обучения и развития в виде сайта, видео канала и форума.

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

Оптическое распознавание символов в Linux

Reading time17 min
Views86K

Введение


Это не просто обзор существующих OCR (мы будем говорить всего о трёх) и не руководство по установке (хотя установка будет описана). Эта статья была создана с целью разобраться, что и как реально может распознать русский и английский языки в Linux.
Читать дальше →

Мой опыт обучения детей 8-10 лет программированию на Scratch

Reading time8 min
Views274K
Давно собирался написать об этом, но, модная болезнь прокрастинация брала вверх…

Знакомство со Scratch


Когда сыну Артёму исполнилось 7 лет и он пошел в школу, мы ему подарили компьютер, чтобы он не отставал от жизни. Несколько месяцев он играл в разные игры, наслаждался, развлекался и т.п. Мне стало немного обидно, что такой дорогой и сложный прибор как компьютер используется только для развлечений, и я решил придумать, как использовать компьютер для обучения. А чему можно научиться на компьютере? Конечно, программированию! Тут я и вбил в «Яндекс» заветную фразу «обучение детей программированию».
Читать дальше →

Простой сайт с возможностью авторизации на node.js

Reading time3 min
Views93K
В этой статье я попробую рассказать о том, как с помощью node.js и connect сделать простой сайт с авторизацией. Т.е. такой, где часть контента доступна всем, а часть — только зарегистрированным пользователям. Поскольку express.js основан на connect, практически все, что здесь написано, относится и к нему тоже.
Допустим, что вы уже знаете, что такое node.js и как с ним работать. Также допустим, что у вас уже есть простенький сайт с основной страницей и парой дополнительных. Вот здесь — исходники такого сайта, пример для этой статьи.
Читать дальше →

Документация Mojolicious: Потерянные Главы

Reading time16 min
Views16K
Update: статья обновлена для соответствия Mojolicious 6.0.

Mojolicious — восхитительный современный веб-фреймворк для Perl. Из недостатков я могу назвать только два: политика в отношении обратной совместимости и документация.

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

Содержание


  1. Недостатки
  2. Роутинг: внутреннее устройство
  3. Роутинг: настройка
  4. Параметры HTTP-запроса
  5. Парсинг
  6. Tips & Tricks
    1. Поддержка неблокирующих приложений в режиме CGI
    2. Как работает Mojo::UserAgent при тестировании своего приложения
    3. ojo и Mojolicious::Lite
    4. Переменные окружения


Другие статьи в этой серии



Недостатки


В официальном FAQ написано: "… we will always deprecate a feature before removing or changing it in incompatible ways between major releases … as long as you are not using anything marked experimental, untested or undocumented, you can always count on backwards compatibility …". Для начала, вторая фраза противоречит первой. Далее, вот цитата из Guides::Contributing «Features may only be changed in a major release or after being deprecated for at least 3 months.». Честно говоря, 3 месяца это и так смешной срок когда речь идёт об обратной совместимости, но похоже что даже этот срок соблюдается не всегда (поддержку «X-Forwarded-HTTPS» сделали deprecated два месяца назад, а удалили месяц назад — да, это был «major release» поэтому формально правила не нарушены, но общее отношение к обратной совместимости вполне показательно). Как много разработчиков обновляет фреймворк чаще чем раз в 3 месяца, да ещё и при этом тщательно вычитывает Changes или логи своего приложения на предмет deprecated-предупреждений? При этом, в течении последнего года было deprecated примерно 20 функций/фич. На практике, конечно, всё не так плохо, как это звучит — что-то ломается не так уж часто (лично меня за последний год коснулась только замена $app->secret() на $app->secrets()). Но факт остаётся фактом — обратную совместимость ломают, ломают часто, причём без по-настоящему веских причин: например, в случае с secret() абсолютно ничего не мешало добавить в код
sub secret { shift->secrets([shift]) }
либо просто добавить поддержку дополнительных параметров в secret() вместо добавления новой функции secrets() реализовав нужную фичу вообще не ломая совместимость.

Что касается документации, то многие считают её отличной, даже одним из серьёзных достоинств Mojolicious, но никак не недостатком. Проблема с документацией в том, что она вся сосредоточена на примерах. Это реально круто, когда ты начинаешь изучать фреймворк. Это экономит кучу времени, когда тебе нужно сделать фичу и ты быстро гуглишь пример аналогичной фичи в официальных guides. Но как только ты выходишь за рамки стандартных задач и возникает необходимость понять, как что-то устроено идеологически или архитектурно, какие конкретно параметры может принимать эта функция и что конкретно она может возвращать в разных ситуациях — выясняется, что для многих модулей Mojolicious такая документация отсутствует в принципе. И не потому, что эта информация относится к «недокументированным возможностям» — почти всё это мельком упоминается здесь и там в разных примерах, а значит считается «документированным». Нередко есть несколько способов получить доступ к определённым данным (параметры запроса, тело ответа, etc.) но не описано чем они друг от друга отличаются и в каких ситуациях правильнее пользоваться какими способами. И последнее — алфавитный порядок функций в доке, серьёзно?! Нет, я понимаю, все люди разные и кому-то наверняка это удобно, но многим всё-таки на порядок проще воспринимать документацию в которой функции сгруппированы по задачам. (Хотя в коде, особенно при чтении его через браузер, где не так удобно пользоваться поиском как в Vim, алфавитный порядок функций неожиданно оказался довольно удобным — кроме new/DESTROY/AUTOLOAD — их всё-таки лучше размещать в начале.) В результате, чтобы разобраться приходится вычитывать код (некоторые предпочитают вместо этого смотреть тесты!), что не так просто — во-первых он не является эталоном читабельности: автор любит использовать фишки перла, которые позволяют писать код компактно (и нередко такой код быстрее работает), но читабельность это ухудшает; во-вторых активное использование и наследования и обмена событиями между объектами усложняет понимание того, что и как происходит внутри 104 классов, из которых состоит Mojolicious-5.

С проблемой обратной совместимости мы мало что можем сделать (хотя, наверное, можно сделать плагин к Mojolicious, который будет её эмулировать по мере возможности). Зато вторую проблему решить не сложно — недостающую документацию можно написать самостоятельно. По мере изучения Mojolicious я планирую описывать некоторые вещи, которые, по-хорошему, должны быть в официальной документации, отсюда и название этой статьи.
Читать дальше →

Машинка в Питере — оператор в Москве

Reading time4 min
Views36K

Длинное вступление





В прошлом топике мы тестировали HD FPV с нашей любимой Виртурилкой в качестве источника видео. Тогда испытания показали что всё отлично, вид от первого лица при управлении моделями вполне реальное дело. Главное — был бы нормальный канал связи. Пока HDMI вход для Виртурилки в процессе производства (кстати, уже есть первый тестовый образец, но драйвер ещё не готов), решили поискать ещё варианты организации канала связи. В комментах много юмора было на тему 4G, вот мы и подумали — а почему бы и нет?

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

Подборка настолок про космос и обзор их механик

Reading time4 min
Views63K
Космические дальнобойщики
Взлетели все: это радует


Зерглингов, кстати, по паре в одном юните

Уже года три мы мечтаем сделать игру по принципам «Элиты». Только настольную. К сожалению, за всё это время мы не смогли разработать или найти механику, достаточно удачную для передачи атмосферы и мира, и при этом достаточно интересную для тех, кто не помнит даже «Паркан» или «Вангеров».

Но давайте начнём с начала. Я покажу вам имеющиеся настольные игры про космос и расскажу, в чём особенность механики каждой. Обратите внимание, они довольно успешно переносятся с PC в бумагу (MOO, Starcraft) и наоборот (Eclipse). А ещё я расскажу, где послезавтра в них можно поиграть с другими гиками, отмечающими День космонавтики с такой же радостью, как и мы. Заходите: гиков мало, и встречаемся в реале мы редко. Нужен повод — и он есть.
Начнём с настольного Starcraft...

ПО для монтажа и сборки нелинейного интерактивного кино

Reading time4 min
Views21K
Привет коллеги.


КДПВ 1. Интерфейс для работы с нодами (сценами). Установление связей и привязка событий.

У меня есть давнишняя мысль сделать интерактивное кино. Не в смысле как Kinoautomat Чинчера и не по типу «квеста» с явно выраженной кинематографической канвой и разветвленным нарративом (нажмите 3 если хотите, чтобы героиня осталась, или 4, чтобы героиня ушла), а чтобы в самом принципе подачи медиа была заложена принципиальная нелинейность. Попробую рассказать, что я имею в виду.

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

Аутсорсинг разработки электроники: обзор подходов и тенденций в России и за рубежом

Reading time6 min
Views28K


Опираясь на историю рынка ИТ-аутсорсинга и опыт российских компаний, мы расскажем о появлении первых контрактных разработчиков и дизайн-центров электроники в России и СНГ, объясним, как можно сократить и удешевить цикл разработки электронного устройства, а также попробуем ответить на важный вопрос о том, как сделать свой продукт конкурентоспособным на рынке электроники.
Читать дальше →

Делаем свой персональный Skype, пошаговая инструкция создания WebRTC приложения

Reading time4 min
Views139K
WebRTC

WebRTC позволяет реализовать real-time аудио/видео связь через браузер (firefox и chrome).

В этом топике я расскажу как реализовать простейшее WebRTC приложение.
Читать дальше →

Как научиться отдыхать

Reading time2 min
Views126K
Для того чтобы хорошо отдохнуть, как ни странно это звучит, нужно ничего не делать. Т. е. делать то, что нравится, то что приятно. Нравится смотреть Дом-2 — смотрите, нравится читать — читайте, нравится жарить с друзьями шашлыки — пожалуйста. Главное, чтобы вам это было в удовольствие.

Но если не можете забыть о работе даже за шашлыком, то вам поможет только транс. Транс — это самый эффективный и глубокий отдых. Качественнее отдохнуть просто невозможно :)
Читать дальше →

Краткий список WYSIWYG редакторов от Марка Андреева

Reading time4 min
Views361K

Однажды мне потребовался WYSIWYG редактор, я помнил как он выглядит, его функции, но не помнил названия. Через 45 минут я все же его нашел… Тогда я поставил перед собой задачу помочь многим, в том числе и себе: сделать сводный список всех чуть более известных WYSIWYG редакторов.
Читать дальше →

PDC on Ubuntu server 8.04 openLDAP+Samba

Reading time1 min
Views1.8K
Поднимал PDC на Ubuntu server 8.04 по мануалу: www.rrcomputerconsulting.com/view.php?article_id=2

Это просто видео по этому гайду.
Видео можно взять отсюда: torrents.ru/forum/viewtopic.php?t=1024647
Все другие видеохостинги сильно резали видео и текста было не разобрать, поэтому торрент. Если у кого есть желание перевыложить это дело куда-то ещё я не возражаю, опен видео так сказать :).

Помогли выложить видео на файлхостинг: foldo.ru/2790fnzm6/PDC_on_openLDAPSamba.avi
Спасибо!

Интерфейсы vs. классы

Reading time4 min
Views287K
Обсуждая с различными людьми — в большинстве своём опытными разработчиками — классический труд «Приёмы объектно-ориентированного проектирования. Паттерны проектирования» Гаммы, Хелма и др., я с изумлением встретил полное непонимание одного из базовых подходов ООП — различия классов и интерфейсов.

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

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity