2009-01-04

Текстовый редактор для Nokia 5800

Я уже писал, что у Nokia 5800 наблюдается некоторый дефицит офисных программ. Странно, но даже обычный текстовый редактор для мобильника найти не так то просто, хотя создать некое подобие notepad'a проще простого.

Немного поколдовав с Sun Java Wireless Toolkit, сделал небольшой текстовый редактор для своего мобильника который умеет читать, редактировать и сохранять текстовые UTF-8 файлы.

Отсюда  можно скачать TextEditor.jar. Исходники редактора можно скачать здесь.

В принципе, программа должна запуститься на любом мобильнике с Java и файловой системой к коим относятся практически все Symbian и Windows Mobile устройства.

К сожалению, jar не подписан, поэтому при работе приложение выдает кучу дурацких предупреждений, как с этим справиться я пока не придумал, в крайнем случае придется покупать сертификат, а это довольно дорого  Может кто знает более дешевый способ? Он должен, должен быть это способ, его не может не быть.

UPD: Для установки - скачиваем TextEditor.jar, кладем на флешку телефона, предаварительно подключив телефон к компьютеру, можно сразу скачать jar через встроенный браузер телефона. Запускаем jar через встроенный файловый менеджер телефона. Соглашаемся со всеми варнингами - после установки в телефоне в списке приложений появится значёк запускающий текстовый редактор.

 

Коментариев: 20

 
  2008-12-30

Бесплатный Касперский

Что делать если вы поймали вирус а у вас нет свежих обновлений вашего любимого антивируса? Оказывается, что большинство производителей коммерческих антивирусов имеют также и бесплатные продукты со свежими вирусными базами которые можно вполне легально скачать и вылечить компьютер. Так у DrWeb есть утилита CureIt а у Касперского вот такое средство называется Virus Removal Tool. Программа хорошо запрятана на сайте Касперского поэтому про нее мало кто знает. Это одноразовая программа - после инсталляции она предлагает проверить диски компьютера на вирусы а после проверки удаляет себя.

 

Оставить комментарий

 
  2008-12-30

Скрипт для генерации снега

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

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

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

 

Читать далее...

 

Оставить комментарий

 
  2008-12-28

Коммуникатор Nokia 5800

Nokia 5800

Подарил сам себе к Новому Году и Дню Рожденья подарок - коммуникатор Nokia 5800.

Довольно интересное устройство, до этого пользовался HTC 3470. В принципе, у обоих устройств есть много общего и одновременно имеются несколько существенных отличий.

Оба устройства имеют GPS приемник, большой сенсорный экран, мощный процессор, и довольно приличный аккумулятор, microCD карточку. Цена у обоих устройств практически  одинаковая, так, вчера видел HTC 3470  в Софите за 14 тысяч, Nokia 5800 в Евросети стоит 15 тысяч.

Формфактор Нокии ближе к класическим мобильникам и уже чем HTC, хотя по весу они практически одинаковые. Nokia 5800 работает на базе Symbian 9.4 в то время как HTC строит свои коммуникаторы на базе Windows Mobile. Коммуникатор оснащен 3.2 мега пиксельной камерой со светодиодной вспышкой и автофокусом, что позволяет делать читаемые фотографии с документов - коммуникатор от HTC имеет ручной "автофокус" и начисто лишен светодиодной подсветки что делает его камеру годной только для фотографирования рож для контактов - а это совсем неинтересно.

Еще одним очевидным плюсом является его изначальная способность распознаваться любым компьютером как дисковый накопитель. HTC такой возможности был начисто лишен и приходилось перекачивать файлы через ActiveSync - причем перетащить на устройство файл больше 150 Mb у меня не получалось, а скорость по ощущениям была как на USB 1.0. Знающие люди говорят что есть софт позволяющий использовать HTC как дисковый накопитель, но я такой софт до сего момента так и не нашел.

Понравилось наличие встроенного FM тюнера, хотя думаю я не сильно его буду использовать. Еще есть акселерометр, в принципе неплохо, но это уже гламур. Есть TV - выход - эту штуку я еще не успел испытать. Дисплей заметно ярче и насыщенее чем у HTC. Также есть датчик приближения, т.е. когда телефон поднесен к уху тачскрин автоматически отключается. Также большущий плюс это поддержка 3G и WLAN.

Есть и заметные минусы. Во первых телефон начисто лишен офисных приложений. Причина обнаружилась быстро - пакет QuickOffice согласно сайта разработчиков еще не вышел для Symbian 9.4! Этот факт не позволяет рекомендовать телефон как бизнес-коммуникатор. Также дела обстоят и с DivX плеером - максимум что есть на сайте разработчиков версия для Symbian 9.3 и на 9.4 она не работает - проверено.

Также в телефоне отсутствует вменяемая программа для работы с GPS - то что есть мне не понравилось, в то время как с HTC в комплекте шел Navitel Navigator и carkit для работы в машине. Так что без доработок телефон вряд ли можно рекомендовать для использования в качестве навигатора в машине, хотя думаю можно будет поискать подходящий carkit и версию Navitel для Symbian - поживем увидим. По субъективным ощущениям GPS приемник менее чувствительный чем в HTC.

После включения телефона попробовал выйти с него в Интернет качество соединения мне резко не понравилось - не соединяется с Интернетом и все тут. При попытки соединения выдает "Подключение Невозможно". Странное дело что проблема возникает почти всегда когда пытаюсь выйти в интернет из своей квартиры, когда же вышел на улицу - все получилось. Оказалось что проблема кроется в 3G - телефон работает в режиме 3G и похоже у Билайна с этим какието проблемы, позвонил в техническую поддержку - там проблему полностью подтвердили, сказали что подправят настройки и все будет работать. Однако до сегодняшнего дня при работе в режиме 3G Интернет так и не заработал, я же просто переключил телефон в режим GSM - теперь все работает стабильно.

Еще одним очевидным плюсом является наличие 3.5мм гнезда для наушников.

А вот с USB разработчики меня огорчили - во первых это не miniUSB - разъем меньшего размера и более плоский. Во вторых, телефон от USB не заряжается. Для зарядки используется стандартный нокиевский разъем. Похоже такова политика фирмы. Обидно.

В целом впечатления довольно противоречивые, но все же положительных больше :)

P.S. Подскажите плиз нормальный текстовый редактор для Symbian пока не выйдет QuickOffice буду использовать его.

P.P.S. Как показала практика 3G у нас в Саратове у Билайна работает не только не всегда но и не везде, так, попробовал связаться в режиме 3G из района политеха - ничего не вышло соединяет только через GPRS, тоже самое и в районе Ильинской площади.

 

Коментариев: 2

 
  2008-12-19

Ограничение области видимости в JavaScript

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

(function(){ //наша анонимная функция
function func1(){ //первая функция видимость которой нужно ограничить
   alert('!');
}

function func2(){ //вторая функция видимость которой нужно ограничить    
   func1();
}
func2();
//внутри блока func1 и func2 "видят" друг друга и могут быть вызваны!
})(); //выполнить

//при этом вне блока func1 и func2 оказываются невидны!

Этот принцип может быть также использован для создания приватных методов и свойств при программировании объектов.

 

Оставить комментарий

 
  2008-12-19

Корректный способ итерации сквозь объекты

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

Допустим, у нас есть объект созданный вот таким образом:

var obj = {property1:"свойство 1",property2:"свойство 2"};

вот самый распространенный НЕПРАВИЛЬНЫЙ способ показать все свойства объекта:

for(key in obj){
        alert(key);
}

Вроде все работает правильно и на экране действительно последовательно покажутся все свойства объекта. Почему такой способ является неправильным?

Добавим перед циклом вот такую строчку:

Object.prototype['test1'] = "test1 value";

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

for(key in obj){
   if (obj.constructor.prototype[key]!==obj[key]){
      alert(obj[key]);
   }
}

Обратите внимание, что здесь использовано строгое сравнение !==. Все просто, все логично, вот только набирать это каждый раз довольно утомительно, поэтому создадим вот такую функцию:

    function forEach(obj,fn){
        for(key in obj){
            if (obj.constructor.prototype[key]!==obj[key]){
                if (fn(key)===false) break;
            }
        }
    }

В этом случае итерация запишется совсем просто:

forEach(obj,function(key){
    alert(obj['key']);
});

Обратите внимание, что в функции forEach есть возможность остановить итерацию досрочно, что бывает полезно например при поиске элемента, для этого достаточно возвратить false:

forEach(obj,function(key){
    alert(obj['key']);
    if (key=='property1') return false;
});

 

 

Оставить комментарий

 
  2008-12-18

Перегружайтесь бля!

Понимаю что пост мусорный и опять может подняться спор о противостоянии - Windows versus Linux, бессмысленный и беспощадный, к которому я давно решил не притрагиваться, но сегодня, придя с обеда обнаружил на своем мониторе сообщение:

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

Т.Е. придя я на пять минут позже, я бы обнаружил перегруженный компьютер с закрытыми приложениями и сообщением, что ой бля меня перегрузили.

Я все могу понять, безопасность и все такое, но почему бля Микрософт без моего ведома позволяет себе перегружать компьютеры, закрывая все программы и убивая все несохраненные данные, причем это, замечу для вполне легальных копий Windows. Только Я имею право решать когда мне перегрузить МОЙ компьютер и никто бля другой. Странно, что никто из правозащитников не подал на детище дяди Билла (имею ввиду компанию Microsoft а не операционную систему, конечно) в суд за это вопиющее нарушение прав пользователей.

 

Коментариев: 5

 
  2008-12-12

Как настроить Google Talk для Миранды

Сейчас набирает обороты сервис мгновенных сообщений Googe Talk, однако мне совершенно не хочется ставить их клиента на свой компьютер - во первых у меня уже стоит Miranda, а во вторых их клиент постоянно норовит перебросить меня на Gmail - а онлайновый Gmail клиент по какой то странной причине блокирует загрузку писем в мой Thunderbird, к тому же мне совершенно не нужно смотреть на их рекламу у себя в браузере.

Поиски плагина Google Talk для Миранды успехом не увенчались. Однако такой плагин воовсе не нужен. Google использует для Google Talk протокол Jabber который входит в дистрибутив Миранды по умолчанию. Вот настройки:

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

 

Оставить комментарий

 
  2008-12-11

Native in Chrome

Обнаружил что в Google Chrome в JavaScript нельзя создать переменную с именем native - оказывается это ключевое слово зарезервированное на будущее. Интресно что Safari который работает на том же самом движке все работает.

 

Оставить комментарий

 
  2008-12-04

Эмбриопрограммирование

JavaScript это такая штука которая постоянно требует уменьшения размера кода. Чем меньше тем лучше. В идеале программный код должен сам себя распаковывать, дописывать и расширять. Вот такой гомункул получился сегодня

shortEvents:function(names){
     x.forEach(names,function(key){
       this[names[key]] = new Function("fn","remove","this.on('"+[names[key]]+"',fn,remove)");
     },this)
},

Кто догадается что это?

 

Коментариев: 4