jME - кроссплатформенный 3D движок для Java и в том числе - для Android.
До 3D я еще не дорос, но пощупать хочется... в связи с чем скачал и попытался поставить. Однако с первой попытки получил граблями по башке.
jME - кроссплатформенный 3D движок для Java и в том числе - для Android.
До 3D я еще не дорос, но пощупать хочется... в связи с чем скачал и попытался поставить. Однако с первой попытки получил граблями по башке.
Сегодня, добавив очередную небольшую функцию в свое приложение 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");
И тот и другой код один в один повторяют примеры из руководства. Так какого же хрена?
Ларчик открылся просто. Во втором случае вместо простого имени класса должно стоять полное, т.е. включая имя пакета. В связи с чем мне остается только сказать большое человеческое спасибо людям писавшим документацию для разработчиков - они сделали мою жизнь интереснее.
Продолжение не заставило себя ждать.
Иногда мне хочется намертво заблокировать все обновления на своем компе. В такие дни я чувствую что не за горами технологическая сингулярность и это отнюдь не счастливый переход в светлое будущее, а скорее апокалипсис и сплошная антиутопия.
Какого дерьмового рожна эти обдолбанные кретины выкладывают сырые обновления? Им свербит в одном месте? Что там такого принципиально улучшилось, чтобы ради этого стоило поломать работу тысячам людей? И какого хрена эта проблема потом не решается годами?
Короче. Сегодня. Вдруг. Перестала работать 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
И что самое характерное - и проблеме, и решению уже больше года. Тем не менее проблема до сих пор вылазит и все новые и новые люди получают граблями по башке. И это еще цветочки.
Самые ягодки - когда проблема свежая и решения нет. И это тоже сплошь и рядом.
После некоторых несложных манипуляций телефон вполне пригоден для разработчика. Нужно:
Первые два пункта врядли у кого-то вызовут затруднения, с третьим и четвертым чуть посложнее.
Собственно с третьим единственная сложность - узнать Vendor ID. На коробке, или в мануале такие вещи не пишут - по причине ненадобности для большинства пользователей. Узнать (в Linux) его можно командой lsusb. Нужно выполнить ее дважды - перед подключением телефона и после, чтобы не гадать какое из устройств является нашим телефоном. Нас интересует лишь то устройство которое появится в списке. Как я уже писал - мой телефон идентифицирует себя как HTC. Далее следуем инструкциям на android.com.
Надо сказать что я не совсем понимаю какой смысл разработчики Android вкладывали в блокирование рута, если в результате его все равно получить не так уж сложно? Блокировать - так уж насмерть, или не маяться дурью. Тем более зачем нужно оставлять в настройках пункты 1 и 2 на телефоне, который изначально предполагается как чисто пользовательский (не девелоперский)? Так или иначе мой A8 изначально шел заблокированный и при попытке подцепиться к нему через ADB выдавал вот такой результат:
Первое чем я озаботился после покупки смартфона это дешевый интернет. Мобильный интернет наших ведущих провайдеров отличается убогостью - дурными ценами, низкой скоростью и мизерными лимитами. Не говоря уже о различных способах надурить абонента. Поскольку я хочу попробовать разные приложения с маркета и вообще активно пользоваться интернетом, однозначно нужен способ сэкономить. При этом дома у меня безлимитный ДОМ.РУ. Решение напрашивается очевидное - поставить точку доступа WiFi. Это самый простой и кошерный способ.
Есть более нетривиальное решение - подключиться к интернету через универсальный интерфейс (жопу) BlueTooth, но это на мой взгляд для любителей изврата.
Вот я и стал счастливым (почти) обладателем китайского смартфона. Купленный на молотке, он обошелся мне в смешную сумму (3.333 руб + проценты за перевод денег через сбербанк). Добирался он до меня из Китая почти месяц и вот наконец добрался. Больше всего я переживал за его скитания по российской почте, но китайцы упаковали его очень хорошо и посылкой можно было спокойно играть в футбол, не опасаясь за целостность аппарата.
Какие только блог-клиенты я не перепробовал... честное слово, голова идет кругом. Раз в один-два месяца, когда меня очередной раз достает примитивный интерфейс встроенного редактора blogger или livejournal я сажусь и по новой роюсь в обзорах пытаясь найти программу, которая не то что устроит меня полностью, но хотя бы будет работать без явных глюков
Поскольку я редкостная язва, то даже пытаться пролезть на хабрахабр довольно бессмысленная затея. Что не мешает мне его читать. Вот довольно таки полезная статья по созданию приложения уровнем посложнее чем набивший оскомину Hello, World.
В целом полезная. Но с точки зрения реализации некоторых алгоритмов... я содрогнулся. Элементарная задача решается путем таких жутких умственных вывертов, что я не верю никаким оправданиям автора, что ему было лень думать, или он хотел показать как эта задача может быть решена в более сложном случае.
Начнем с того, что тупо проверять все мыслимые варианты, в то время как тебе точно известно где поставлена последняя метка - граничит с идиотизмом. Достаточно проверить одну вертикальную линию, одну горизонтальную и две диагонали. 4 линии вместо 14. Это в наихудшем случае. Если метка не попадает на диагональ, то логично не проверять эту диагональ вовсе.
Замечу также что известна последняя метка - стало быть если это крестик, то сложно ожидать что вдруг выиграли нолики. И наоборот. Что еще сильнее упрощает проверку.