суббота, 5 марта 2016 г.

Нужен совет по выбору платформы для постройки робота

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

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

Или платформер вроде Марио -- беги, прыгай и падай, кушай пряники и уворачиваясь от монстров.

Иногда у него возникают затыки -- в scratch нет debug mode, но с моей помощью находит решение.

В общем стало скучно, ничему по настоящему новому на scratch научиться уже невозможно. Дошли до scratch blocks если кто понимает -- но они не настоящие функции и предел достигнут.

Хочу переключиться на железяки -- это мальчика приводит в восторг.
Я управляю роботом -- офигенно круто!

Теперь собственно вопрос: что выбрать?

Не хочу брать Лего -- он тупой и дорогой. Цена меня мало волнует но желаю получить вещь, которую можно будет долго развивать и улучшать.

Arduino? Может что-то посовременней, на лучшем железе?

Плата с контактами ребенка впечатлит визуально но что с ней делать?

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

Управление через android планшет тоже желательно -- это дает +100 к привлекательности.

Паять я не люблю но умею -- лучше если это будет именно конструктор.
К которому можно будет докупать детальки и превратить его хоть в вертолёт -- но должно ездить и бибикать из коробки (управляясь смартфоном).

Программирование.

Мальчик освоил scratch. Это графический интерфейс, программа создается перетаскиванием блоков мышкой.

Хотелось бы сохранить эту возможность на первом этапе.

Потом, понятно, нужно переходить на текстовые файлы.
Если там будет Python -- это плюс.
Какой-то специфический язык -- не беда.
Есть возможность дописывать на С близко к железу -- плюс, я умею:)

Итог:

Мне нужно выбрать платформу.

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

Открытую -- чтобы можно было докупать детальки и создавать новые поделки. Как в детском конструкторе с гайками и болтиками, только еще и сенсоры-моторчики. В перспективе компас и GPS. WiFi и всё такое.

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

Завершение.

Коллеги. Я полный чайник в робототехнике для детей.
Надеюсь, вы мне подскажите годные варианты.
Цена особой роли не играет -- было бы удобно

среда, 2 марта 2016 г.

Разница менталитетов и национальных деловых культур

Увидел интересную статью:
Разница менталитетов и национальных деловых культур

Кажется, автор попал в точку.

По опыту работы могу сказать: да, так и есть. "Наши" заморочки отличаюстся от американских. Это нужно знать и учитывать.

Читайте и удивляйтесь.

суббота, 16 января 2016 г.

Слайды по py.test

Сегодня был Kyiv.py #17, как обычно было круто и интересно.

С тезисами Алексея Поправки на тему "почему Фласк плохой" согласен.

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

Те, кто с этим несогласен -- просто привыкли :) и научились обходить самые неприятные моменты используя техники, не показанные в flask tutorial.

Я рассказывал о py.test.

Fixtures и разные трюки с pytest hooks.

Презентация -- http://asvetlov.github.io/pytest-slides/

пятница, 4 декабря 2015 г.

Motor 0.5

Мы строили-строили и наконец построили.

Motor 0.5 (асинхронный драйвер для MongoDB) доехал до релиза.

Новая версия работает с asyncio.
Всем рекомендую

четверг, 12 ноября 2015 г.

uvloop -- альтернатива стандартному asyncio loop

В последнее время Юра Селиванов (ага, тот самый автор PEP-492 aka async/await и MagicPython) работал над тем чтобы сделать asyncio побыстрее.

Он взял libuv и построил с её помощью uvloop -- asyncio совместимый event loop.

Результаты замера производительности здесь.

Получается, что uvloop в 3.5 раза быстрее стандартного и в 1.25 раза обгоняет gevent.
Т.е. абсолютный победитель по скорости в мире Python.

Библиотека пока еще не имеет стабильной версии, скоро всё будет.

вторник, 10 ноября 2015 г.

Видео с PyCon RU 2015

Я, конечно, тормоз и пишу спустя две недели -- но это лучше чем совсем промолчать.

Ссылки на доклады на ХабраХабре, там и мой есть тоже.

Если интересно -- открываем и смотрим.

P.S. Слайды -- здесь.

воскресенье, 1 ноября 2015 г.

Англицизмы в нашей речи

Навеяно вопросом Русские иностранные слова

Я часто выступаю с лекциями на конференциях.

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

Это не всегда возможно. Рабочий язык программиста всё же английский.
Лично я предпочел бы ограничится родным, которым владею свободно -- но нет.

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

Иногда устоявшегося русского термина не существует (Александр Бельченко при переводе слова commit в статьях о bazaar использовал фиксацию что технически правильно но абсолютно непонятно).

В таких случаях лучше оставлять английское слово как есть, commit но не коммит/комит (опять же вас лучше поймут, вариантов транслитерации много и часто они выглядят ужасно).

Eсли используете английские термины при вербальной коммуникации (а без этого никуда) -- произносите их правильно.
Т.е. так как оно должно звучать на английском/американском а не на ломаном руссиан пингин инглиш.

Еще один момент: делать слайды на русском или на английском?

Александр Соловьёв высказался пару лет назад.

Полностью его поддерживаю.

Если доклад будет на русском -- и слайды должны быть на этом же языке, с минимумом английских слов.

Например, лекцию по aiohttp для PyCon RU 2015 я читал на русском -- и слайды были соответствующие.
На следующей неделе буду читать ту же лекцию для PyCON Hong Kong 2015 -- и там слайды будут уже на английском по очевидной причине: я не владею китайским.

Если нужно, вовсем не трудно перевести ваши слайды на английский, да?
И наоборот -- англоязычные слайды перевести на язык, понятный аудитории.