вторник, 18 октября 2011 г.

Установка jMonkeyEngine

jME - кроссплатформенный 3D движок для Java и в том числе - для Android.

До 3D я еще не дорос, но пощупать хочется... в связи с чем скачал и попытался поставить. Однако с первой попытки получил граблями по башке.

суббота, 8 октября 2011 г.

Я обожаю эту ... компанию

Сегодня, добавив очередную небольшую функцию в свое приложение Google App Engine получил очередной жестокий облом:

08.10.2011 21:55:38 org.datanucleus.store.query.AbstractJDOQLQuery <init>

WARNING: Candidate class for JDOQL single-string query (Commander) could not be resolved

Потратив массу времени выяснил
Вот так работает:

Query query = pm.newQuery(Commander.class);
query.setFilter("name == nameParam");
query.declareParameters("String nameParam");

Вот так нет:

Query query = pm.newQuery("select from Commander " +
"where name == nameParam " +
"parameters String nameParam");

И тот и другой код один в один повторяют примеры из руководства. Так какого же хрена?

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

Продолжение не заставило себя ждать.

среда, 5 октября 2011 г.

Большое человеческое спасибо компании Sun за впустую потраченное время

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

Какого дерьмового рожна эти обдолбанные кретины выкладывают сырые обновления? Им свербит в одном месте? Что там такого принципиально улучшилось, чтобы ради этого стоило поломать работу тысячам людей? И какого хрена эта проблема потом не решается годами?

Короче. Сегодня. Вдруг. Перестала работать Eclipse. Симптомы - все работает 5-10 минут, потом вдруг падает. Молча. Без каких-либо сообщений об ошибках.

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

Там собственно проблема возникла после выхода sun java update 21, eclipse перестал понимать что это виртуальная машина от sun, что-то там oracl'овцы нахимичили, решение — явно прописать в eclipse.ini "-XX:MaxPermSize=256m" после vmargs. 

Источник решения:
http://www.rsdn.ru/forum/java/3893887.all.aspx

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

Самые ягодки - когда проблема свежая и решения нет. И это тоже сплошь и рядом.

среда, 28 сентября 2011 г.

Отладка на A8

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

  • разрешить установку левых приложений
  • разрешить отладку по USB
  • провести над компом некоторые шаманские манипуляции в зависимости от вашей ОС
  • получить рутовский доступ

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

Собственно с третьим единственная сложность - узнать Vendor ID. На коробке, или в мануале такие вещи не пишут - по причине ненадобности для большинства пользователей. Узнать (в Linux) его можно командой lsusb. Нужно выполнить ее дважды - перед подключением телефона и после, чтобы не гадать какое из устройств является нашим телефоном. Нас интересует лишь то устройство которое появится в списке. Как я уже писал - мой телефон идентифицирует себя как HTC. Далее следуем инструкциям на android.com.

Надо сказать что я не совсем понимаю какой смысл разработчики Android вкладывали в блокирование рута, если в результате его все равно получить не так уж сложно? Блокировать - так уж насмерть, или не маяться дурью. Тем более зачем нужно оставлять в настройках пункты 1 и 2 на телефоне, который изначально предполагается как чисто пользовательский (не девелоперский)? Так или иначе мой A8 изначально шел заблокированный и при попытке подцепиться к нему через ADB выдавал вот такой результат:

четверг, 22 сентября 2011 г.

WiFi

Первое чем я озаботился после покупки смартфона это дешевый интернет. Мобильный интернет наших ведущих провайдеров отличается убогостью - дурными ценами, низкой скоростью и мизерными лимитами. Не говоря уже о различных способах надурить абонента. Поскольку я хочу попробовать разные приложения с маркета и вообще активно пользоваться интернетом, однозначно нужен способ сэкономить. При этом дома у меня безлимитный ДОМ.РУ. Решение напрашивается очевидное - поставить точку доступа WiFi. Это самый простой и кошерный способ.

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

A8

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

среда, 3 августа 2011 г.

Муки выбора блог-клиента

Какие только блог-клиенты я не перепробовал... честное слово, голова идет кругом. Раз в один-два месяца, когда меня очередной раз достает примитивный интерфейс встроенного редактора blogger или livejournal я сажусь и по новой роюсь в обзорах пытаясь найти программу, которая не то что устроит меня полностью, но хотя бы будет работать без явных глюков