Analitycs

четверг, 29 марта 2012 г.

Facebook developer - ... is not a verified user.

Кстати, вы знаете, что принимать участие в разработке приложений для Facebook теперь могут только верифицированные пользователи?

Иначе - при добавлении пользователя даже в группу Тестеры(!) появится сообщение

Ivan Ivanov is not a verified user

И соотвественно, вот и  все - пользователь не добавляется.

Так что увы - нужно привязать телефон...

пятница, 23 марта 2012 г.

Как посмотреть версию прошивки на Samsung Wave 3 (s8600)?

Для того ш-ш-што бы ус-с-снать, а что с-с-собственно, за прош-ш-шивка в телефончике в кармаш-ш-шке, горлум, горлум, набираем с-с-своими скольс-с-скими пальчиками

*#1234#

и радуемс-с-с-я, моя прелес-с-сть.

суббота, 17 марта 2012 г.

MD5 проверка PHP, Python и MySQL

Несколько лет поймал одну особенность - md5 суммы посчитанные в PHP и MySQL отличались(!!!) - но хоть убей не помню на каких версиях.

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

PHP

php -r "echo md5('domains.txt');"
aeae2f628c54f10054e5c70076e1237b

md5sum

# echo -n "domains.txt" | md5sum
aeae2f628c54f10054e5c70076e1237b 

Python

# echo "import md5;print md5.md5(\"domains.txt\").hexdigest()" | python
aeae2f628c54f10054e5c70076e1237b

MySQL

SELECT MD5('domains.txt');

aeae2f628c54f10054e5c70076e1237b

Уф, отпустило ;-) Приступ паранойи навеян вот этой заметкой.

четверг, 15 марта 2012 г.

Logging в Tornado

После большого рефакторинга проекта на Tornado пропало логгирование в stdout. То есть ошибки писались только в stderr, который выводился в лог сидящего уровнем выше сервиса  Supervisord (который за сервисом, собственно говоря, и наблюдал).

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

tornado.options.parse_command_line()

То есть должно быть примерно так

def main(): 
    application = tornado.web.Application([ 
        (r"/", MainHandler), 
    ]) 
    # this line will setup default logging no matter if you use command options 
    tornado.options.parse_command_line()
    logging.info("starting torando web server") 
    http_server = tornado.httpserver.HTTPServer(application) 
    http_server.listen(8888) # hardcoded port 
    tornado.ioloop.IOLoop.instance().start() 

После восстановления строчки-"беглянки" лог торнадовского приложения выглядит как положено


mneradkov@mneradkov-thinkpad:~/workspace/mysuperproject$ ./webapp.py 
[I 120315 16:33:28 mixins:28] [INFO] Directory [/home/mneradkov/workspace/mysuperproject]
[I 120315 16:33:28 mixins:28] [INFO] Connected to MySQL [xx.xx.xx.xx:xxxx]
[I 120315 16:33:28 mixins:28] [INFO] Connected to memcache [127.0.0.1:11211]
[I 120315 16:33:28 mixins:28] [INFO] 
[I 120315 16:33:28 mixins:28] [INFO] Server [My Super Server] version [X.Xalpha] binded to [127.0.0.1:11100]
[I 120315 16:33:28 webapp:37] Starting I/O loop to serve requests...

понедельник, 12 марта 2012 г.

Как синхронизировать Google c Bada (Samsung Wave 3) ?

Если вы пользователь Google и нужно засинхронизировать ваш аккаунт с телефоном на Bada (в моем случае - это Samsung Wave 3), то необходимо проделать следующие телодвижения.



  • Создаем Exchange ActiveSync аккаунт
  • Вводим имя-логин-пароль, но оставляем поле domain пустым
  • Затем нажимаем далее и после того как проверка будет неуспешной - в поле Server URL вводим m.google.com и выставялем галочку для SSL
  • Заодно выставляем галки синхронизировать и Календарь, Адресную книгу и Задачи. (Кстати - явный баг - при выборе одной галки СРАЗУ начнется синхронизация, в итоге у меня девайс синхрился 4(!) раза ;-) ) 

  • Теперь с этой странной зверюшкой можно как-то жить ;-)

    Вообще забавная платформа - воспринимается как Android без приложений от Google

    Подрезано тут

    четверг, 1 марта 2012 г.

    Как удалить все папки .svn от subversion?

    Есть у subversion (в отличии от git) не очень удобная особенность хранить служебную информацию в скрытых папках .svn. При каких-то манипуляциях с переносом каталога они жутко раздражают. Быстренько их удалить

    find . -name .svn -exec rm -rf {} \;