Home
Cyanide
Владельцы всяческих Bletooth-часов и по совместительству N900 - отзавитесь. Рисую проект, реализующий поддержку часов Fossil Abacus CallerID, SonyEricsson MBW-100/150/200, Citizen i:Virt / iVirt M, возможно LG Prada и других производителей, которые поддерживают либо профили SonyEricsson, либо Hands Free Profile.

Уже реализованые фичи:
- индикация входящего мобильного звонка с именем из адресной книги, звонок можно отбить;
- индикация входящего VoIP звонка с именем из адресной книги, звонок можно отбить;
- индикация входящих SMS и IM - сообщений ("конверт");
- синхронизация времени;
- если ваши часы поддерживают отображение информации об операторе, роуминге, уровне сигнала и заряде батареи - все это будет отображаться.

В планах:
- поддержка управления медиаплеером для SE MBW-150, включая отображение названия композиции;
- поддержка мьюта звонка;
- управление громкостью;
- для i:Virt, если удасться раскопать как - чтение IM/SMS и новостей (?!)
- ваши пожелания - к рассмотрению...

Собственно, на днях в extra-devel появился прямой конкурент в виде OpenWatch. Отличия на лицо - наша программа разрабатывается на C/C++ с учетом требований к низкому энергопотреблению и с расчетом на минимальный объем занимаемой оперативной памяти (в связи с чем я по-максимуму избавляюсь от применения в проекте "толстых" С++ библиотек Glibmm, STL и Boost), а так же использует стандартные для платформы API, такие как osso-abook, Telepathy, Mission Control, libhal, rtcom-eventlogger.
Конкурентый же проект написан на Питоне, не отличается изяществом в работе с BT и интегрируется с телефоном "грязным хаком".

Все заинтересованые - пишите в каменты.

Cyanide
Очень нужно найти описание AT-команд AT+BTWRSEF, AT+BTWMER, AT+BTWRER, AT+BTWAER, AT+BTWCLKT, AT+BTWCLKOK и иже с ними. Досканально известно, что они реализуются телефонами Sharp 920SH и выше (SoftBank), а так же Disney Mobile.

Could anybody please help me with SoftBank Sharp mobile phones AT command set starting the model 920SH. I'm interesting of AT+BTW subset that not described at specification of MCPC TR-006 version 1.00.

Feb. 7th, 2010

  • 6:21 PM
Development
Эх, жалко, что даже у коммерческих опенсурсов и конечных продуктов на их основе такой большой временной гэп. В транке BlueZ появилась новая фича - для блютузовых аудиопрофайлов можно создавать внешнего агента АТ-команд, причем, как я понимаю, на конкретный MAC-адрес устройства.
А пока на Maemo приходится довольствоваться отключением плагина audio и публиковать профайл AudioGateway вручную. Все это не очень удобно получится для конечного пользователя, даже если разработать удобную утилиту переключения.

Tags:

Nokia
Попробуйте ответить или завершить VoIP (Skype / SIP) звонок нажатием кнопки на Bluetooth гартинтуре. :)
Проблема в реализации компонента telephony-maemo в BlueZ, компонент заточен только на управление SSC, но не Telepathy. Завел дефект.
Обнаружил лишь по тому, что сейчас изучаю реализацию BlueZ. Натурные испытания вчера подтвердили данную лажу. %:)

CallerID - совместимые часы

  • Jan. 10th, 2010 at 12:03 PM
Cyanide
Sony Ericsson MBW-100/MBW-150/MBW-200
Fossil Abacus MobileWear CallerID
LM Technologies LM957/LM-958/LM959
Prada Link (LBA-T950)
Citizen i:VIRT

Софт:
Sic! BT-Watch для Symbian
smartWatchM для Windows Mobile

Tags:

Bluetooth watches

  • Jan. 10th, 2010 at 11:28 AM
Development
Да, что-то я в этой жизни пропустил :)
Оказывается, протокол, используемый SonyEricsson-овскими и Fossil-овскими часами давно похакали!
Жалко. что на одних часах из пары, что есть у меня, сдох экран. Есть мотив взять еще одни. Правда эпоха распродаж этих часов со складов закончилась.
Будим делать версию под Maemo. :)
Пока мысль выводить сообщения IM-чатов и SMS, звонки (сотовые точно, VoIP - вопрос) и нотификации программ, благо понятно как это сделать.
Есть какие еще мысли?
Maemo-коллегам: не хотите прикупить, пока на e-Bay-е есть?

Tags:

Полезняшки Maemo

  • Jan. 10th, 2010 at 2:08 AM
Nokia
Отключить модем:
#!/bin/sh
dbus-send --system --type=method_call --dest=com.nokia.phone.SSC /com/nokia/phone/SSC com.nokia.phone.SSC.set_radio boolean:false

Ну и включить, соответственно:
#!/bin/sh
dbus-send --system --type=method_call --dest=com.nokia.phone.SSC /com/nokia/phone/SSC com.nokia.phone.SSC.set_radio boolean:true

Tags:

1541 Ultimate vs SD2IEC

  • Jan. 7th, 2010 at 12:28 AM
Studio
С полгода назад мы с сотоварищами решили обзавестись Commodore 64 в качестве музыкальных инструментов (используя модификацию SID2SID с установкой второго чипа SID и ПО MSSIAH). Три сотоварища - три Комодора. Все бы ничего, но встала проблема сохранения данных на современный носитель. Благо, на C64 дисковод был внешним и ОС располагалась в ПЗУ дисковода.
Существует несколько реализаций эмуляторов дисковода. Для себя я остановился на 1541 Ultimate с корпусом от Loriano, я уже писал об этом. Товарищи решили сэкономить и я приобрел для них два SD2IEC. В одном случае это был продукт русского англичанина: плату, предназначенную для установки внутри, я купил на e-Bay. Во втором случае - американский конструктор (SD2IEC + daughter board) от NKC Electronics. Плюс еще IEC-шнурки на e-Bay.
На днях собрал конструктор от NKC Electronics. После того, как устройство не взлетело, пришлось полночи прокопаться и перебрать - уж больно плотно в некоторых местах идут дорожки и где-то видимо попал припой. После этого у меня появился шанс сравнить SD2IEC c 1541 Ultimate.
Получается следующая картина: 1541 Ultimate куда более стабильный и качественный продукт с очень информативным и удобным интерфейсом. Функционально тут и сравнивать нечего - функций больше на порядок, но и цена соответствующая...

Jan. 7th, 2010

  • 12:06 AM
Development
Уйдя в отпуск перед праздниками я занялся тем, что довел до конечного косметического состояния свои поделки под Maemo.
Некоторые редко используемые функциональные моменты мне все-таки не давали покоя. Дело в том, что менеджер сетевых соединений в Maemo имеет настройки прокси. Базовую настройку в виде адреса прокси-сервера я изначально пробрасывал в libcurl, которую я использую в качестве транспорта, но в реальности дела обстояли несколько хуже: в настройках так же имеется список игнорируемых хостов и вариант использования скриптов proxy auto-config (pac-скрипты).
По хорошему, нужно было разработать компонент, который возвращал адрес используемого прокси-сервера в зависимости от соединения и адреса. Собственно с разбором адреса и выбором сервера в зависимости от используемой в адресе схемы - пробоем нет. С разбором списка игнорируемых хостов для поддержки glob-шаблонов помогает Glib::PatternSpec, правда реализовал я это дело без анализа всяческих вторичных адресов в DNS и анализа масок сетей - в сетях со сложной инфраструктурой уж если и используют прокси-сервера, так используют тогда pac-скрипты.
С pac-скриптами дела обстояли на первый взгляд хуже. Я подробно изучил проблематику. Из готовых решений имеется pacparser, но он мне не подходит по ряду причин:
- использует Netscape-овский интерпретатор JS, который под Maemo в виде девелоперский пакетов не доступен совсем;
- загружает скрипты только с файловой системы;
- довольно скверно написан, в частности имеет неудачную реализацию вычисления локального адреса;
- разработан на C, по этому под него в любом случае пришлось бы лабать байндинги под C++.
Исходя из перечисленного мне было проще разработать аналогичный компонент заново используя в качестве основы pacparser. В основе моего компонента лежит Apple-вский интерпретатор JavaScriptCore из Gtk-шной сборки WebKit. Получился весьма изящный компонент.
Так к чему это я? OpenSource накладывает свою специфику: при всем богатстве выбора некоторые поделки сырые и приходится использовать совершенно разные компоненты разных библиотек для идеализации готового продукта, в результате существенно растет объем кода. При 100 Кбайтах исходного получается 490 исполняемого. Это не учитывая размеры динамических библиотек. GTK требует использования Glib-а. В ряде случаев мне пришлось отказаться от использования Glib-овских компонентов в пользу Boost-а для мультитридинга с синхронизацией (boost::thread_group, boost::recursive_timed_mutex) и в пользу PCRE (+ pcrecpp) для регулярных выражений. Кроме того, как я уже говорил, я использую libcurl вместо libsoup. Тем не менее, все компоненты, от которых я отказался, присутствуют в рантайме по различным причинам. Например, libwebkit использует libsoup и собственную модификацию pcre. Так же никуда не денутся Glib-овские реализации Thread и Mutex... Под Symbian исполняемый код получался куда компактнее, но, конечно, столь извращенных функциональных возможностей с чистого листа там нет.
Ну и напоследок. Несмотря на усилия Nokia все таки отсутствует консистентность подхода даже в собственном коде Maemo: например отсутствуют pkg-config-и для libtime, а компонент для работы с контактами пришлось вовсе писать на C, потому как хидера osso-abook попросту под компилятором C++ не собираются ("что будет с Qt"?)

Tags:

Студийно-железное

  • Jan. 4th, 2010 at 12:30 PM
Studio
Ну вот, наконец-таки подключил купленный еще в начале осени в Штатах 6-потровый Firewire-400 хаб от Belkin.
В Штатах куплен потому, что у нас или в Европе его днем с огнем не сыщешь, а если и найдется, то по такой цене, что и покупать не захочется.
Замысел в его установке очень тонок: :)
Есть два прибора - рековый PowerCore и Korg M3, находящиеся в разных углах комнаты. Больших трудов стоило добыть кабели Firewire-400 достаточной длинны (5-7 метров). На Маке сзади всего два Firewire-порта - 400 и 800, из-за чего устройства были подключены последовательно через встроенные хабы. В итоге это приводило к тому, что в случае глюка PowerCore приходилось перегружать не только его, но и M3. Отдельный хаб решает эту проблему, так как при перезапуске PowerCore питание на нем не отключается и M3 продолжает работать нормально. Кроме того, устройства можно включать независимо, а провода теперь имеют излишний запас.
А еще у установки этого хаба имеется долгосрочная перспектива: новые Маки идут только с Firewire-800 и найти полутораметровый кабель 400/800 проблемы не составит, что не скажешь о длинных кабелях. По этому уж если мне приспичит апгрейднуться, проблема коммутации решится весьма просто.

Dec. 29th, 2009

  • 7:15 AM
Development
В общем, как-то зафинализировал проект:


Tags:

Dec. 26th, 2009

  • 9:40 PM
Development
Бывают же упрямые ослы, которым тычешь - вот баг! А они: "Это не баг, это - фича"!
Дефекту 7306 посвящаяется.

Dec. 8th, 2009

  • 11:06 PM
Cyanide
Ой да, забыл вчера написать:

СУБАРУПОГОДА!

Стратегия верна

  • Dec. 6th, 2009 at 3:17 PM
Development
Наконец я со своими поделками под Maemo дошел до натурных испытаний на чужих телефонах.
Для человеческой дистрибуции своих пакетов нужно разварачивать инфраструктуру Debian-овского репозитория. Она весьма проста (структура папок + файлы описаний пакетов), но тем не менее, требует поддержки. Мне, как человеку ленивому, хочется просто забрасывать в одну единую папку собраный пакет и все. Вот я и решил воссаздать все необходимое на PHP - все файлы описаний можно генерировать в онлайне, все равно и пользователей репозитория мало, да и пакетов раз-два.
Нарисовал php-скрипт, имитирующий aptitude-репозиторий, dpkg-scanpackages дергается в онлайне, файлы отгружаются. Но юзабилити это не спасает. Для Maemo существуют еще .install-файлы, явно указывающие на репозиторий и пакет. Хорошо. Делаю php-скрипт, который генерирует .install-файл для пакета и инициирует Web-браузер к его загрузке и запуску Application Manager.
Отлично! Но на 100% это еще не юзабельно. Рисую страницу для браузера, в которую вываливаются описания пакетов и ссылки на install-файлы. Юзабилити побежден, но у пакетов для Maemo бывает еще и иконка, надо бы еще и ее выводить... Тут я обнаруживаю, что dpkg-scanpackages напрочь режет весь extra-info пакета! Так что Application Manager в такой ситуации никогда не увидит иконку.
Запуск утилиты у меня вытащен в отдельный метод, так же еще и кэширующий данные в memcached для прочей эффективности. В поисковиках предлагают патчить dpkg-scanpackages, но это не наш метод. В итоге - сажусь и переписываю метод в собственной php-библиотеке: делаю свой сканер, использующий dpkg-deb и самостоятельно насыщающий дополнительные поля (имя файла, размер, хэш).
Вот так приходится колхозить - основная разработка пораждает массу побочных проектов.

Tags:

Nov. 28th, 2009

  • 12:05 AM
Development
Весело, однако. Похоже, что Nokia настолько спешила с выпуском N900, что половина необходимых пакетов напрочь выброшена в текущей прошивке.
Read more... )

Tags:

Maemo 5 meet-up

  • Nov. 25th, 2009 at 8:24 AM
Me
Ну что, товарищи, я вас поздравляю.
Вчера в флагманском салоне Nokia в Москве была презентация платформы Maemo 5. Важный момент этого события в том, что предыдущие версии платформы носили более экспериментальный характер - интернет-таблетки. Теперь это не просто PDA, а полноценный телефон. Ради этого был изменен форм-фактор, снижены размеры и переработан интерфейс. Тем не менее, характер представленного вместе с платформой устройства Nokia N900 для рынка носит более экспериментальный. Объем устройств на рынке ограничен, ролаут проводится далеко не во все страны.
Read more... )

Tags:

Умный мальчик :)

  • Nov. 6th, 2009 at 10:20 AM
Cyanide
Прислали по асе:

У учительницы первого класса возникли трудности с одним из учеников.

Она спросила: "Что с тобой, мальчик?"

Мальчик ответил: "Я слишком умный для первого класса. Моя сестра в третьем, а я умнее ее! Думаю, я тоже должен учиться в третьем!"

Для учительницы это было уже слишком. Она повела мальчика к директору и объяснила всю ситуацию. Директор подумал и сказал мальчику: "Я проведу тест, и если ты не сможет ответить на какой-нибудь из вопросов, то вернешься обратно в первый класс, и будешь вести себя хорошо".

Мальчик согласился.

- Сколько будет 3 x 3?

- 9

- Сколько будет 6 x 6?

- 36

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

Тогда преподавательница ответила, "У меня тоже есть свои вопросы":

- Что есть у коровы в количестве 4, а у меня только 2?

Мальчик, после паузы ответил:

- Ноги

- А что есть такого в твоих брюках, чего нет в моих?

- Карманы

- Что твердое и розовое - когда входит, и мягкое и липкое - когда выходит?

Директор остолбенел с раскрытыми глазами, и не успел опередить ответ.

- Жвачка!

- Что делает мужчина - стоя, женщина - сидя, а пес - на трех лапах?

Теперь глаза директора на самом деле выпучились широко, но прежде чем он успел, что-то сказать, мальчик ответил:

- Подает руку

- Теперь я задам 7 вопросов из разряда КТО Я? Ты вставляешь в меня свой кол. И я становлюсь мокрой раньше тебя:

- Палатка

- В меня входит палец. Лучший мужчина получает меня первым?

- Обручальное кольцо

- У меня тугой стержень. Мой конец вонзается. В движении я дрожу?

- Стрела

- Какое слово в английском языке начинается с F и заканчивается на K и означает много жара и волнений?

- Firetruck (Пожарка)

- Какое слово начинается с F и заканчивается на K? Если этого нет, тебе приходится работать руками?

-Fork (Вилка)

-Это есть у всех мужчин, у кого-то это длиннее, у кого-то короче. Мужчина дает это своей жене, после свадьбы?

- Фамилия

- У какого органа нет костей, есть мышцы и много вен. Он пульсирует и отвечает за занятия любовью?

- Сердце

Директор с облегчением выдохнул и сказал учительнице:

Отправьте нахуй его прямо в университет!!! На последние 7 вопросов я сам ответил неправильно.
Cyanide
http://forum.mobile-review.com/showpost.php?p=2079910&postcount=4545:

rvn13
Ты много чего писал, но видимо не так много читал. Symbian в настоящий момент точно такой же open source - открыто микроядро, сделан эмулятор ARM QEMU и прочее.

Цитата:
Сообщение от rvn13

И в итоге, если и симбиан обновится, все равно, маемо симбиану рознь будет накорню.

Разница будет, но не такая существенная в конечно итоге Maemo 6 и Symbian^4 будут оба основаны на QT, когда ты осознаешь этот факт разговор пойдет легче.
Maemo в большей степени переходный вариант в настоящее время, для того чтобы обеспечить полное обновление Symbian - смену ядра, переход интерфейса на QT и прочее. В будущем эти обе системы будут работать на синергетику, поддерживая друг друга больше чем конкурируя друг с другом, и все за счет ставки на QT как на основное средство разработки. Не нужно представлять Linux как некую идеальную ОС, у нее тоже есть свои недостатки, прежде всего в том, что Linux ни разу не real time OS, в отличии от Symbian, где самое быстрое микроядро. Для кого то это абракадабра, но это имеет значение в области звонков и взаимодействия с сетями, т.к. для стабильной работы телефонной функции это очень важно, Symbian пока обеспечивает самую стабильную работу телефонного стека по сравнению с другими мобильными ОС и именно из-за отточенности микроядра, именно поэтому Nokia от нее отказываться не собирается.

Apple
Наверное все сталкивались с проблемой того, что когда с Мака ходишь на линуксовые компьютеры очень не хватает клавиши Insert.
Проблема решается очень просто - в Preferences терминала в закладке Settings для нашей любимой темы просто добавляем новое действие на предпочитаемую клавишу (в моем случае это F13) - нажимаем Esc, [, 2, ~ (получается Esc-последовательность \33[2~).
Линивые могут этого не делать - если потребность только в Midnight Commander-е: в нем для выделения файлов можно воспользоваться сочитанием клавиш Ctrl+T.
Наконец, в xterm все не непросто, про настройку там можно прочитать тут (лично проверял).