Архив категории «Разработка»

Использование Firefox как глобального XULRunner для Windows

XULRunner — это движок для XUL+XPCOM приложений, таких как Firefox и Thunderbird. Кроме того, XULRunner можно использовать для встраивания браузера, например, в Eclipse. Для установки XULRunner для Windows его надо скачать, распаковать и объявить:

xulrunner.exe -register-global

Очень просто, но при уже установленном Firefox обидно ставить отдельную копию XULRunner. Так вот, оказывается можно скопировать в папку с Firefox только файл xulrunner.exe и выполнить вышеуказанную команду. Мелочь, а приятно.

Кстати, если не хочется искать xulrunner, то можно просто добавить в реестр следующую информацию (следите за путями и номерами версий!):

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\mozilla.org]

[HKEY_LOCAL_MACHINE\SOFTWARE\mozilla.org\GRE]
[HKEY_LOCAL_MACHINE\SOFTWARE\mozilla.org\GRE\1.9.2.8]
"Version"="1.9.2.8"
"GreHome"="C:\\Program Files\\Mozilla Firefox"
"xulrunner"="true"
"abi"="x86-msvc"
"javaxpcom"="1"
[HKEY_LOCAL_MACHINE\SOFTWARE\mozilla.org\Mozilla]
"CurrentVersion"="1.9.2.8"

13.08.2010  Метки: , ,   Рубрики: Mozilla, Разработка  Комментариев нет

Wordpress плагин WP-Shortstat и кодировки

Прижился у меня в блогах на Wordpress плагин WP-ShortStat. Официально он работает c Wordpress до версии 2.7, последний релиз был в прошлом году. Так что пришлось самостоятельно устранять проблемы с кодировками. Заодно добавил поисковик mail.ru.

19.07.2010  Метки: ,   Рубрики: WordPress, Разработка  2 комментария

Перенос Cygwin в другую папку

Если переместить папку с установленным Cygwin, то потеряются /, /bin и /lib. Чтобы их восстановить, необходимо прописать в реестре новые пути:

[HKEY_CURRENT_USER\Software\Cygnus Solutions\Cygwin\mounts v2]
"cygdrive prefix"="/cygdrive"
"cygdrive flags"=dword:00000022

[HKEY_CURRENT_USER\Software\Cygnus Solutions\Cygwin\mounts v2\/]
"native"="D:\\TOOLS\\cygwin"
"flags"=dword:00000002
[HKEY_CURRENT_USER\Software\Cygnus Solutions\Cygwin\mounts v2\/usr/bin]
"native"="D:\\TOOLS\\cygwin/bin"
"flags"=dword:00000002
[HKEY_CURRENT_USER\Software\Cygnus Solutions\Cygwin\mounts v2\/usr/lib]
"native"="D:\\TOOLS\\cygwin/lib"
"flags"=dword:00000002

23.06.2010  Метки: ,   Рубрики: Разработка  Комментариев нет

XUL Gear стал расширением Firefox

Визуальный редактор XUL Gear, за которым я слежу ещё с тех пор, когда он назывался XULPIX, выпущен в виде расширения к Firefox. Об этом мне сообщил Илья Харламов, который в настоящее время поддерживает этот проект. А я решил, что пора ознакомить с XUL Gear широкую хабраобщественность.

31.05.2010  Метки: , , , ,   Рубрики: Mozilla, Инструменты, Разработка  Комментариев нет

За что я люблю язык С

Пришлось тряхнуть стариной и написать несколько сотен строк кода на С. Лет десять уже этим не занимался, расслабился и огреб по полной программе:

static char* stralloc( const char* str ) {
    char* res = malloc( strlen( str + 1 ) );
    strcpy( res, str );
    return res;
}

Код выглядит как настоящий, замыленным взглядом ошибку увидеть сложно. А уж какие эффекты появляются! Эта функция вызывалась из двух мест:

static char* start() {
    return stralloc( "{'start':true}" );
}
 
static char* stop() {
    return stralloc( "{'stop':true}" );
}

Если вызывать только из первого места сколько угодно раз — всё работает. Если вызвать из второго места — падает при втором вызове. Если увеличить длину второй строки на один символ — опять же всё работает.

Рекомендую попробовать всем, кто использует языки с автоматическим управлением памятью. Незабываемые ощущения гарантированы!

27.05.2010  Метки:   Рубрики: Разработка, Языки  11 комментариев

Ошибка при загрузке JSON данных в Firefox

Пишу веб-сервис на С с использованием GNU libmicrohttpd. Firefox выдает сообщение об ошибке при попытке передать ему JSON: «not well-formed». При этом всё работает.

Выяснислось, что это он так обижается на то, что в ответе на запрос не указан

Content-type: application/json

26.05.2010  Метки: ,   Рубрики: Mozilla, Разработка  Комментариев нет

Трудности перевода

Несколько раз пришлось столкнуться с проблемами при чтении/записи кириллицы на Java. К примеру, есть файл в кодировке UTF-8, который читается с помощью java.io.FileInputStream. В результате русские буквы портятся. Бывает, что портятся не все, а только «И» и «ш». Проблема проявляется только на Windows, классический случай — разработчик сидит на Linux: «а у меня всё работает!».

Пришло время привести в порядок базовые знания.

04.02.2010  Метки:   Рубрики: Разработка, Языки  Один комментарий

Если не запускается Eclipse

Пару месяцев назад разбирался, почему у коллеги Eclipse отказывается стартовать, выдавая вот такое окошко:
eclipse-maxpermsize
Решение нашел и благополучно забыл. А сегодня эта напасть добралась и до моего ноутбука. Еле вспомнил решение: надо в файле eclipse.ini уменьшить значение параметра --launcher.XXMaxPermSize, экспериментально подобрать максимум, при котором Eclipse стартует. Смешно, в свое время боролись с другой ошибкой — во время работы Eclipse жаловалась, что PermGen space не хватает (точный текст уже не помню). А лечилось это увеличением значения того же параметра. Много хорошо — тоже плохо...

17.12.2009  Метки:   Рубрики: Инструменты, Разработка  Один комментарий

Google выкатил Simple

Google изобрел велосипед придумал BASIC Simple. Это диалект BASIC для разработки приложений на платформе Android. Исходные файлы на Simple описывает компоненты — формочки и код, причем формочки в текстовом виде описаны в файле с кодом. Предполагается, что среды разработки будут скрывать текстовое описание GUI, предоставляя визуальный редактор.

Начнем с названия. Люди из этой компании вообще думают, как это искать? :) Игрался я с языком, который называется Nice. Как вы считаете, сколько результатов Гугл выдаст по запросу Nice Programming Language? 2.5 миллиона! И это для малоизвестного языка. А для только что объявленного Simple Programming Language уже почти 19 миллионов!

Естественно, проект расположился на Google Code. Интересно стало посмотреть в исходники, тема трансляторов мне близка (TreeDL хоть и дает всего 1.5 тыщи ссылок, зато релевантность существенно выше). Транслятор Simple написан на Java 6. Парсер рукописный, дерево гетерогенное, рукописное. Классы для узлов дерева содержат методы для генерации байт-кода JVM (У Microsoft на .NET был Basic, теперь и на JVM есть :) ). Решение достаточно эффективное, но плохо расширяемое.

Прежде чем на Windows удалось скомпилировать пустую программу, пришлось исправить три критические ошибки. Забавно, первые четыре баг-репорта — мои. Для версии 0.1.0 это, конечно, простительно, но осадочек остался. Нехорошо это — выкладывать сборку для платформы и ни разу ее не запустить... Впрочем, у проекта, похоже, один участник — Herbert Czymontek, он же simplecompiler.

Но самое главное — пока, судя по всему, есть только язык и транслятор с библиотекой. Средств визуального проектирования GUI нет. А пока их не будет, Simple своё название не оправдает. Впрочем, даже если они будут, не понимаю, чем BASIC проще нормальных языков. Ладно, поживем — увидим, деньги могут многое.

30.07.2009  Метки:   Рубрики: Разработка, Языки  Один комментарий

Конфликт Venkman Debugger и Firebug в Firefox 3.5

После обновления Firefox до 3.5 и соответствующих обновлений расширений в Venkman Debugger перестали работать точки останова. Говорят, это конфликт с Firebug. Действительно, если выключить Firebug, точки останова начинают работать. Ну и что мне делать, если Firebug понадобится? Судя по отзывам, Firebug 1.4 сырой, можно попробовать откатиться на 1.3.3.

27.07.2009  Метки: , ,   Рубрики: Mozilla, Разработка  Комментариев нет


Страница 1 из 41234»