Sunday, March 18, 2012

Erlang?

Правильное описание Erlang. Единственное может конечно уже подправили, но очистка памяти у него - иногда он не может освободить память и зависает не отвечая на внешний мир. И так получается что вроде жив - но ни ничто не реагирует.
Я года три назад использовал yaws для проксирования запросов к основной логике плюс часть бизнес логики внутри erlang. Так при большой нагрузке задень он зависало - а когда убиваешь его - куча потоков ждущих записи в логи и очистки памяти. Процесс принудительной очистки вызывался - самым последним в функции после отдачи результата yaws и это не помогало. И я сомневаюсь, что можно даже если память независимо выделяется - избежать ее фрагментирования и эффективной очистки - ссылки то на глобальные структуры создание ранее по коду остаются и их пока поток полностью не выйдет очищать нельзя.
Но все могло уже поменяться, или мы чего-то намудрили.

Saturday, March 17, 2012

Ice Cream Sandwich on Desire HD

Решил проверить как продвигается CM9 - пока не очень.

Используя версию чистого CM9 на основе инструкции- не загрузилось :-( Анимация при загрузке зациклилась, а как смотреть лог загрузки для андроида не понятно. Если есть желание повторить нужно загрузить: repo init -u git://github.com/CyanogenMod/android.git -b ics и добавить в system/.repo/manifests/default.xml репозитории:

  1. project path="device/htc/ace" name="CyanogenMod/android_device_htc_ace"
  2. project path="device/htc/common" name="CyanogenMod/android_device_htc_common" revision="refs/heads/gingerbread"
  3. project path="device/htc/msm7x30-common" name="CyanogenMod/android_device_htc_msm7x30-common"
  4. project name="koush/proprietary_vendor_htc" path="vendor/htc"

Версия собранная специально для этой модели запустилась - единственное отсутсвует приложение для радио и при записи видео приложение вылетает.

Обновление exif

Обновление информации о снимке на основе имени файла используя exiftool. Устанавливает коментарий на основе имени каталога, даты на основе имени файла и устанавливает имя устройства с которого сделана фотография.
Более простая версия использующая jhead - может устанавливать только даты и коментарий.

Saturday, February 18, 2012

MESH телефончик

Идея для маленькой программки - полурация - полуmesh сеть :-) В принципе уже есть аналог http://www.servalproject.org/ - вобщем-то, если верить описанию всем хорош - можно звонить без сети, можно передавать файлы, слать SMS. Программа может сама управлять сетью, но она мне кажется не удобной - слишком много функционала или мне просто хочется создать свой велосипед - единственное, что не удобно для отправки SMS используется, как я понял, внешняя сеть и SMS будет отослан через http://code.google.com/p/websmsdroid/ веб-сайты. Основной проблемой как по мне является не возможность аутентифицировать звонящего - так как можно спокойно менять свой номер. Другим аналогом может быть http://sipdroid.org/ - все хорошо - но нужно постоянное соединение с интернетом и регистрация SIP аккаунта.

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

Принцип работы приложения:
  1. во время запуска мы, делаем широковещательный запрос в сеть ограниченный локальной сетью, на поиск возможно запущенных других клиентов, все ответившие сообщают хеш он текущего номера. 
  2. когда возникает необходимость звонить ищем по хешу от номера собеседника и если в локальной сети - подобный есть - то запрашиваем полный - хеш от номера телефона плюс случайное число(например время). 
  3. если у нас уже в базе такие есть - просто соединяем и говорим - считая что это правильный абонент. 
  4. если нет - то выводим на экран что таких не знаем и просим конечного абонента сказать что за циферки он выбрал как случайные и пользователь их вводит - сами тоже показываем циферки и просим собеседника их тоже ввести. 
  5. при каждой процедуре связи для проверки просим вернуть хеш от случайного числа плюс наше запомненное значение - в принципе этого должно хватить. 
Это тоже не идеально - но по идее позволяет примерно убедиться, что это тот же абонент что и раньше был. Хотя кто то может подсмотреть циферки и узнать по какому коду мы раньше проверили - но все же нет возможности легко выдать себя за кого-то другого - поменяв настройки.

Saturday, February 4, 2012

OpenWRT

Интересная сборка OpenWRT:-) Прям мечта...

  1. svn co svn://svn.openwrt.org/openwrt/branches/backfire backfire
  2. wget http://downloads.openwrt.org/backfire/10.03.1/brcm63xx/config
  3. mv config backfire/.config
  4. cd backfire 
  5. make
  6. смотрим каталог bin/brcm63xx/


И все:-) Конечно можно зайти и по настраивать: make menucofig

Но куда уже проще:-) Ставить пока не пробовал, ADSL функционала что-то все нет.... 

Sunday, January 15, 2012

Fastboot

Есть маленькая особенность при прошивке через fastboot - идентификатор устройства в режиме fastboot не совпадает с идентификатором после загрузки поэтому adb видит устройство после загрузки, но если не прописать правильные идентификаторы udev - fastboot не увидит устройство. Потому желательно поискать телефон через lsusb(телефон должен быть в режиме fastboot) - там должна быть строка вида: 
Bus 001 Device 016: ID 0bb4:0fff High Tech Computer Corp. Android Fastboot Bootloader 




И 0fff - нужно записать в '/etc/udev/rules.d/11-android.rules' в виде строки: 

SUBSYSTEMS=="usb", ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="0fff", MODE="0666", OWNER="mylogname" 

После этого телефон должен появиться в списке fastboot devices, в том случае если телефон поддерживает этот режим прошивки,  я пробовал только на Nexus One и HTC Desire HD. Другие производители я думаю не используют High Tech Computer в идентификаторах. Причем Nexus One точно можно разблокировать прошивку через fastboot( fastboot oem unlock ), на Desire не пробовал.

Friday, December 16, 2011

Android и вирусы


Андроид стал очень популярной системой под него есть вирусы и их даже не нужно компилить:-) Правда они пока ориентированы на невнимательность пользователя - так как нужно подтвердить установки и если не включено разрешение установки пакетов не из Android Market(Application Settings -> Unknow sources) - то вообще установку выполнить нельзя. Но вообще это очень положительный момент - значит эта операционная система очень популярна среди пользователей.

Это произведение хорошо определяется DrWeb (можно установить из маркета бесплатно). А вот clamav не захотел определять как вирус :-(

 По заголовкам пакета это произведение хотело сказать что оно опера:-)