Показаны сообщения с ярлыком howto. Показать все сообщения
Показаны сообщения с ярлыком howto. Показать все сообщения

суббота, 18 июня 2011 г.

Слал лучи ненависти..

в сторону явы/андроида и компании
Последние мои часы должны слева показывать название месяца; все названия (месяцы/дни недели) у меня локализуются, ну красиво же - но при выводе форматтером названия месяца с установленной русской локалью эта *** выводит текущий месяц как "Июля" вместо "Июль"
Ппц
String.format("%1$tB", curDateTime)
выдает "июля",
SimpleDateFormat df = new SimpleDateFormat("MMMM", symbols);
тоже выдает "июля"; в доке написано, что можно использовать модификатор (?) "L", он мол как раз для случая русского языка, когда у месяцев суффиксы меняются в зависимоти от вариант использования.. но с "L" процесс просто падает
Гуглил-гуглил, толком ничего не пригуглил, только время потерял на гугления да тесты.. а надо было с самого начала наколхозить что-то типа:
final private String[] rusMonths = {"Январь", "Февраль", "Март", "Апрель", "Май", "Июнь",
                    "Июль", "Август", "Сентябрь", "Октыбрь", "Ноябрь", "Декабрь"};

    final private Locale rusLocale = new Locale("ru_RU");
    ...
    if (Locale.getDefault().getDisplayLanguage().equals(rusLocale.getDisplayLanguage())) {
      DateFormatSymbols symbols = new DateFormatSymbols(rusLocale);
      symbols.setMonths(rusMonths);
      SimpleDateFormat df = new SimpleDateFormat("MMMM", symbols);
      remoteViews.setTextViewText(R.id.idMonth, df.format(curDateTime.getTime()));
    } else
      remoteViews.setTextViewText(R.id.idMonth, String.format("%1$tB", curDateTime));
Ну выглядит как-то странненько и страшненько (больше просто чтобы посмотреть, что это за DateFormatter и как юзается), но как всегда, KISS рулит

вторник, 14 июня 2011 г.

Примеры для ffmpeg..

С рапиды пропали примеры, не знаю по какой причине - я их не трогал, ни у кого абуз не должно было к ним возникать.. может удалили, потому что долго никто их не качал?..

Факт в том, что я не помню, что там за примеры были и что показывали как делать :( Нашел у себя вот 2 проектика, подходящих на роль примеров, выложил: пример 1, пример 2

Один просто портированный пример из самого ffmpeg-а, второй - чтение мр3 файла

вторник, 29 марта 2011 г.

А не сделать ли что-то полезное?.. Туториал!

Не забецать ли такие вот часики:
Сказано - сделано; делаем цифровые часы.

среда, 5 января 2011 г.

Стемминг Портера

Последние несколько дней (вообще-то учитывая выходные/праздники - то недель) я изучаю тему с анализом текстов - определение языка текста, выделение значимых слов и т.д. Поиск обычно приводит так или иначе к стеммингу Портера - алгоритму, который был придуман еще в 1980 году (ага, я в том году перед первым классом Олимпиаду-80 смотрел летом по телеящику :) ); а может и раньше, а сформулирован в 80-м.. не суть важно, смысл в том, что в результате применения к слову определенных правил получаем основу слова (не корень в лингвистическом смысле), которую храним для поиска/анализа. 

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

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

четверг, 2 декабря 2010 г.

Android widget, part 0.4

Может перескакиваю немного, но по ощущениям где-то так :) – 0.4

Мне понадобилось добавить в свой виджет диалог выбора папки с файлами; стандартного контрола/класса не оказалось, так что пришлось 2 вечера гуглить, вот что нагуглил; но сначала ТЗ уточненное: я каким-то образом говорю “хочу выбрать папку”, должен появится список доступных в телефоне папок с файлами, причем я хочу а) ограничится только картой памяти и б) обрабатывать только тапы по папкам, но в) хочу показывать в папке файлы, если они – файлы картинок (для меня картинки == jpg и png

воскресенье, 28 ноября 2010 г.

Android, part промежуточная..

Только что нашелся баг (собственно можно было и предвидеть) – перезагрузил телефон и увидел, что после перезагрузки виджет показывает нули, сервис не запущен.. Ну правильно, а кто ж его запустит.. Надо дофиксить..

среда, 24 ноября 2010 г.

Android widget, part 0.2.1

Собственно я что-то протупил и забоялся, когда писал про 2 "бага" в моем виджете (размер и выход из настроек без сохранения).. вчера не спалось, и я а) в фотошопе немного увеличил цифры, а потом в xml немного увеличил высоту 3-х базовых лайоутов - ведь по идее я говорю андроиду, что мой виджет не меньше таких-то значений, а больше - ну пусть будет больше :) Факт в том, что теперь даже лучше.

б) применение настроек можно делать в событии onStop (кажется) активити настроек - которое (К.О.) возникает, когда активити скрывается, соотв. из обработчика меню я перенес в onStop обновление виджета и настроек - и все работает просто зашибись..

воскресенье, 21 ноября 2010 г.

Andrid widget, part 0.2

Бесполезная часть почти закончилась,дальше будет полезная; полезная – в том смысле, что виджет будет делать хоть что-то, для чего он придуман, показывать время

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

четверг, 18 ноября 2010 г.

Android widget, part 0.1

Итак, сейчас у проекта тестовое активити, которое показывается при старте и показывает внешний вид нашего будущего виджета; в окончательном виде его разметка выглядит примерно так:

среда, 17 ноября 2010 г.

Android widget, part 0

Зуд под коленкой не дает уснуть, требует выплеснуть полученный экспириенс, так что я попробую на пальцах рассказать, как сделать виджет-часы для андроида; на пальцах – потому что (как я до сего времени любил говорить про Си) про яву я не прочитал ни одной книжки, поэтому предметом особо не владею – так, понахватался понемногу отовсюду.

Результатом должно стать вот это:

Результат

При добавлении виджета должен появляться экран настроек, где можно указать – какую программу запускать после тапа по области с датой и часами и как (12/24) выводить время:

Настройки

Начинать надо с начала – с дезигна.

четверг, 17 июня 2010 г.

Pragmatic Android, part #2

Следующий простой шаг – вывод About; надо просто отреагировать на нажатие кнопки About показом нового окна с какой-то текстовкой, картинкий, урлами, номером версии и прочим.

среда, 16 июня 2010 г.

Разгул примеров для программирования..

Действительно, с рапидшары пропал пример для декодирования мр3; поправлю положение, показав еще раз – как использовать библиотеки от ffmpeg для декодирования звукового файла и последующего его кодирования в мр3

Правда я не разбирался никогда с созданием файлов, с наскоку не получилось – поэтому я пишу только мр3 – потому что у файла там структуры никакой – просто фреймы подряд (ну это если тегов нет)

Pragmatic Android, part #1

Есть несколько обьектов в Android SDK, с которыми разработчик будет плотно и перманентно работать: activities, intents, services и content providers.

Я в шоке, это надо же было выбрать такие термины, которые не переводятся на русский нормально.. “настроим нашу активность” – ну это же бред (говорить с придыханием, © не мой)

Ну фиг с ними, с терминами, ладно уж..

Pragmatic Android, part #0

Скачал несколько книжек о программировании для Android, хочется сделать себе одну программку, на маркете ничего похожего не нашел пока (а у жены, на ее Corby такой виджет есть и она его хвалит) – так что читаю, пробую

Одна из книжек пока понравилась больше других, так что не поленюсь и сделаю тут “конспект” – может кому еще пригодится

Автор по шагам описывает, как сделать игру Судоку для андроида (я пытался несколько раз поиграть на iPod-е, ни разу так и не до решал ее до конца.. тупой я что-ли настолько), получается такое себе хорошее howto

вторник, 23 марта 2010 г.

Немного про амбилайт..

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

Но вообще просто хотел повесить еще одно видео, мне нравится:

Даже описание проекта есть желающим почитать.. Как же я люблю такие свистелки-мигалки.. :)

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

Вчера был секас!..

:)

Все ж не оставляю желания сделать светодиодно-светящуюся штуку, like “лампа настроения

Сначала приставал по радио-рынку с дурацкими вопросами про RGB-светодиоды (3 одноцветных, максимально стуленных в кучу, не доставляют), обошел все ряды раза 3-4, не обзывали, но думаю думали нехорошее :) В конце-концов все же купил пару выводных 5-мм в прозрачном корпусе и пару smd..

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

среда, 10 февраля 2010 г.

Про неуемные желания..

Однажды из жадности я купил нетбук; каждый раз, проходя мимо полок с ноутбуками, я ныл жене, что мне срочно нужен такой девайс, на что она советовала мне купить его и отстать от нее.. а однажды я таки согласился и купил (и теперь и ныть особо не о чем, разве что о PS3)

Понятно, что нетбук мне не нужен был абсолютно, так, желание иметь цяцьку новую. Не нужен в том смысле, что необходимости острой не было, работать на нем - мазохизм, играться на нем - разве что в пасьянс. НО! зато у меня появился личный компьютер, с которым я могу уйти на кухню и ни от кого не зависеть (по такому случаю, да еще для iPod-а, в квартире wi-fi сеть сделал).

Нетбук кстати хороший :) - MSI Wind 100, я на него и Windows7 поставил, и MacOS 10.6, а раз хороший - значит у меня его тоже начинают отнимать (жена забирает на сон грядущий новости про House MD или фанфики про него же, небритого, читать)

Так вот все это предисловие получилось к статье, которую сегодня прочитал и которую хочу повторить: самодельный чехол для нетбука из старых футболок :)

А че.. любимая старая (лет 10!..) рубашка есть, швейная машинка есть, час та натхнення периодически накатывают - а такого я еще не делал ;)

пятница, 31 июля 2009 г.

Домашний сервер: SVN

SVN примерно расшифровывается как "система контроля версий" и служит собственно для этого - для хранения информации об изменениях в файлах. К примеру, у себя дома я настроил svn для хранения "домашних" проектов и использую систему примерно так:
  1. задумал новый проект - создал для него папку и добавил ее в svn
  2. чего-то там пописал, поделал, заканчиваю играться - делаю commit в svn
  3. на след. день еще чего-то написал/исправил, снова сделал commit
  4. на работе стукнула мысль (или просто код может пригодится по работе - тот же ffmpeg) - создал папку на рабочем компьютере и сделал в нее checkout моего проекта, чего-то пофиксил, сделал commit
  5. пришел домой, сделал update проекту и продолжил работу - никаких переписываний с флешки/на флешку (с обязательным забыванием или забрать исходники на флешку, или скопировать дома с флешки)
  6. бамц! перестало работать то, что работало раньше - начинаю сравнивать версии и искать, что фиксил
  7. бабамц! компьютер накрылся медным тазом.. восстановил систему, поставил клиент для svn, сделал checkout своим проектам - и я готов к работе

пятница, 24 июля 2009 г.

Домашний сервер (13?): FTP

"File Transfer Protocol (FTP) is a TCP protocol for uploading and downloading files between computers."
А по русски: протокол TCP для передачи файлов - это FTP; доступ к ftp (чтобы скачать что-то или свои файлы залить) бывает анонимным (когда вводится имя anonymous и адрес эл.почты вместо пароля) и авторизованным (когда на сервере должна быть заведена учетная запись для пользователя).
Я себе конечно же установлю 2-й вариант, свой сервер я стараюсь прятать, так что лишняя дырка "заходите гости дорогие" мне ни к чему. Устанавливать буду vsftpd (потому как серверов разных много, почему этот - а какая разница какой, если нет предпочтений?):

понедельник, 20 июля 2009 г.

Еще про интернет: VPN

Все описанное (ну кроме squid-а там и деталей каких-то) я делал в течение практ. 2-х лет, пока был клиентом Укртелекома и его интернета по ADSL "ОГО" (к слову сказать ушел только из-за соотношения скорость/цена, работал он у меня на "отлично")
Но заметив "халяву" в виде интернета от билайна я тут же присел ее попробовать (благо подключение бесплатное, отключится тоже ничто не мешает, оборудования никакого не надо), а распробовав перешел полностью (держать "резервного" провайдера для меня и слишком дорого, и смысла нет)
Правда с настройкой на убунту (когда монтажники шнурок завели и все там включили, они попробовали на Win7, показали, что все работает; но меня то интересовало, как все приладить к уже настроенному шлюзу) пришлось повозится достаточно долго.. Хотя больше потому, что а) мало понимал (и понимаю) все эти впн-ы и вообще суть настройки сети, б) потому что мануалы, тоннами находимые в инете, или тупо предлагают "дважды щелкнуть по иконке сети около часов", или милиард раз перекопи-пасченные и неработающие в принципе.. Как бы там ни было - на всякий случай рассказ, как настроить наш шлюз, если к провайдеру надо соединятся по впн; проверить с нуля на связке двух виртуальных машин не получится, так что все настройки будут с моего домашнего шлюза. Не знаю, как там у всех, но "Домашний интернет" от билайна предполагает, что в квартиру затягивается витая пара, которая где-то там на чердаке идет в домовой маршрутизатор (или как эти фигни называются), дома между собой соединяются оптоволокном; есть понятие "внутрисеть" и собственно "интернет", внутри сети 100 мбит/сек скорость, в интернет - сколько купил. Внутри сети есть несколько неплохих ресурсов, в т.ч. неск. торент-трекеров, так что кино можно вытянуть за пару минут Внутри сети автоматически выдается адрес из сетки 10.*.*.* (не помню там уж точно), чтобы выйти в интернет, надо установить VPN соединение, при этом будет динамически выдан реальный ip-адрес (который к примеру можно использовать на dyndns). Поднятое соединение с точки зрения операционки выглядит как и 2 других (eth0, eth1) и обзывается ppp0 - так что чтобы все заработало, надо сообщить правилам shorewall-а о нем. После такого длинного вступления собственно надо сделать это и все остальное (все в консольке - гуя у меня нету; это я к тому, что пока гуглил много читал о каких-то проблемах Network Manager-а с впн-ом - ничего про это не знаю)