Lua и Android

Прогаммирование для Android может и не сложнее, чем, скажем, просто написание программ на Java но требует соблюдения большого количества условностей: особая структура проекта, упаковка, отладка в эмуляторе. Всё это довольно трудоемко. Хочется же быстро попробовать, сразу увидеть результат. К сожалению, хотя в состав последних версий Android и входит JavaScript движок V8, написание программ на интерпретируемых языках для этой ОС требует, опять таки, дополнительных телодвижений. Есть, например, проект SL4A. Его используют приверженцы Python'a, но меня этот вариант не устраивает: JavaScript, на котором я интенсивно писал в последние месяцы, там поддерживается очень криво (через прокладку rhino, да и то не на всех прошивках).

Несколько лучше в SL4A обстоит дело с поддержкой скриптового языка lua, но тоже не блестяще (с 2010 года этот плагин не обновлялся и не стыкуется со свежей версией самого фреймворка). Но нет худа без добра. Ковыряясь с этим хозяйством я обнаружил, что lua очень похож на JS и освоить его быстро вполне себе можно. Есть даже фреймворк для lua-разработки прямо в мобильной среде — SigmaScript. Только вот возможности его, как мне показалось, весьма ограничены…

Среди массы проектов для программирования на lua под Android резко выделяется AndroLua. Автор этого довольно свежего проекта (код обновлялся 2 месяца назад) совершил как минимум два подвига. Во-первых, скомпилировал стандартный lua-движок в нативную андроидскую библиотеку, во-вторых, вкорячил в свое приложение еще и LuaJava — фреймворк для стыковки программ на lua и Java. Поскольку программы для Android как раз и работают в Java-среде (хотя и несколько специфической), это дает возможность обращаться практически ко всем возможностям ОС (точнее говоря API).

В AndroLua есть также возможность кодить не с экранной клавиатуры смартфона, а с нормальной, хардварной, подключенной к ПК. Это еще одна причина того, что я не стал делать ставку на SigmaScript, где такой возможности нет. Чтобы кодить в такой клиент-серверной среде нужно включить на мобильном устройстве режим отладки по сети, подключиться с ПК, пробросить порты, запустить на смартфоне AndroLua (она поднимает сервер-интерпретатор на порту 3333) и вводить команды прямо с консоли:


./adb connect 10.10.10.10
./adb forward tcp:3333 tcp:3333
lua interp.lua


О том, что обращаться к Java-API Android-устройства действительно удается, свидетельствует скриншот:

Еще вариант корпуса для Rapsberry Pi

Есть в продаже мышки премиум-класса, вот такие:



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



Да, это опять RPi, прикрутить который к такой коробке — дело получаса. В нижнем отсеке прекрасно размещаются блоки питания и usb-хаб. Аудиосигнал выводится наружу удлинителем.

Спасибо камраду romachan2 за коробочку .

Объявляется НАБОР программистов в «БАРС-Груп»

Объявляется НАБОР программистов в «БАРС-Груп», крупнейшего разработчика Татарстана, решениями которого пользуется 10 000 000 человек, с оборотом в 1 миллиард рублей!

Нужно: 4-5 курс. Высокая обучаемость Начальные знания программирования

Заявку на тестирование присылать [email protected] (ФИО, телефон)
ДО 23 ФЕВРАЛЯ!

Работа в современнейшем бизнес-центре города – ИТ-парке!
Зарплата от 20 000 рублей с первого месяца!
Молодой коллектив (600 чел.) и беспрецедентные перспективы роста!

Динамический DNS и смена адреса одной строкой

Возникла задача настроить DynDNS, для этого лучше всего подошел бесплатный DNS сервис freedns.afraid.org на котором обновить информацию о IP адресе можно просто перейдя по специальной ссылке вида:

freedns.afraid.org/dynamic/update.php?персональный-код=

Вот так просто. Рекомендую.

Музыкальная табакерка

Настроив платку Rapsberry Pi на работу в качестве музыкального проигрывателя, я столкнулся с проблемой помещения ее в какой-нибудь более-менее эстетичный корпус. Вспомнилась давняя задумка упаковать миникомпьютер в фанерную коробку от кубинских сигар. Когда камрад Sergei_T подарил мне такую, я планировал запихнуть туда плату на оcнове процессора Intel Atom. Оказалось однако, что такая ёмкость для Atom'a маловата. Да и для Rapsberry Pi тоже. Дело в том, что когда втыкаешь в микрокомпьюер флешку, usb-кабель, кабель питания, ее «раскоряченность» резко повышается и в совокупности с usb-хабом, его блоком питания и собственным блоком питания она в коробочку от сигар если и помещается, то очень некомфортно: ничего в нее не воткнешь (например, в аудио-разъем и уж тем более в HDMI-разъем). Поэтому были задействованы сразу две сигарных коробки: маленькая для самой платки и большая для блоков питания и хаба:



Самый верхний «этаж» конструкции представляет собой съемный жесткий диск.

Под катом еще пара снимков, иллюстрирующих получившийся результат.


( Читать дальше )

Сикстинская капелла в браузере

Наткнулся на интересную виртуальную копию сикстинской капеллы на сайте Ватикана:

www.vatican.va/various/cappelle/sistina_vr/index.html



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

Slackberry Pi за несколько минут

Несколько дней назад я написал о том, что стал обладателем микрокомпьютера Rapsberry Pi. Запустить его сразу не получилось в связи с загруженностью на работе. Но сегодня, оказавшись на больничном, решил таки ввести в строй это чудо электроники. Сначала фотка, свидетельствующая о том, что всё завершилось успешно.



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

Теперь о том, как установить ОС Linux (в моем случае, конечно же, Slackware) на малютку. Сильно заблуждается тот, кто ждет ниже пространных мануалов. Всё очень бесхитростно. Покупается флешка на 8 или 16 Гб (они сейчас такие дешевые, что даже не верится). Скачивается образ отсюда и приведенной по той же ссылке командой накатывается на флешку. Это занимает минут 10, т.к. инфа пишется на флешку, как известно, медленно. Но это единственное, что нужно сделать. Когда флешка готова, просто воткните ее в SD-разъем Rapsberry, подключите клавиатуру, монитор, питание (microUSB-блок питания от любого смартфона), и… всё. А вы чего ждали? Вот вам консоль, дальше всё как обычно .

Дополнительные впечатления. USB-устройства лучше подключать через отдельный хаб, причем оснащенный блоком питания. Сами понимаете, что через microUSB раскрутить, скажем, портативный жесткий диск не получится: ток его механика потребляет весьма приличный. Больше никаких особенностей. Задал в автозагрузке статический IP, забросил на антресоли — и добро пожаловать через ssh. Кстати, камрад ghost, которому платка была отдана во временное пользование в ознакомительных целях, удверждает, что и в графическом режиме пользоваться микрокомпьютером вполне можно.

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

P.S. Обратите внимание на светящиеся сверху на платке электронные лампы от старого телевизора. С их помощью удалось-таки решить проблему токопотребления подключаемых через USB устройств за счет того, что напряжение, подаваемое на их нити накала (~6,3В) близко к напряжению питания USB-шины (5В). Но об этом в другой раз ;).

Crucible, инструмент для обзора кода (code-review tool)

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


( Читать дальше )

Пособие для шпионов времен второй мировой

Прячем радиостанции под пальто и в батон, разматываем антену!

Универсальная электронная карта: благо или зло?

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



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

Вот в качестве почвы для размышлений ссылки с нейтрально-настороженным, положительным и отрицательным отношением к данной затее.

Нас как жителей Татарстана не может также не заинтересовать то, что треть акций этого проекта находятся в собственности Ак-Барс банка.