Oct 31

Зарегился в Blogowar.ru. Нужно и поиграть иногда.

written by FX Poster \\ tags:

Oct 31

Хороший фильм, очень хороший.

written by FX Poster \\ tags:

Oct 30

Кто какими IDE и текстовыми редакторами пользуется?

Мой выбор:

  • Code::Blocks - для работы с C++.
  • Eclipse - для всего остального. Использую, когда нужно делать что-то долго, всякие большие проекты и прочее. Установленные плагины: PDT, Zend Debug, Pydev, DLTK.
  • Kate / Scite - когда просто нужно быстро что-то написать/исправить

Кстати, для поклонников Scite - собрал последнюю версию в пакет для Debian (на Ubuntu тоже должен работать, начиная с Feisty).

written by FX Poster

Oct 28

Я думаю, все русскоязычные люди, которые использовали Firefox под Linux столкнулись с тем, что у них не работают хоткеи, когда включена русская раскладка. Для этих дел было сделано расширение, которое эти проблемы убирало. Сегодня поставил Gran Paradiso (будущий Firefox 3.0) себе на Kubuntu и столкнулся с тем, что расширение упорно не хотело работать.

Сначала оно начало возмущаться, что оно не предназначено для 3-й версии Firefox. Это дело поправимое: находим в директории расширения (~/.mozilla/firefox/<тут будет одна директория>/extensions/<номер расширения>/, где номер расширения находится путем перебора всех директорий, в них есть readme-файлы, ищите тот, в котором будет упоминание о “Russian hot keys bugfix”) файл install.rdf и меняем блок под комментарием <!– Firefox –> на такой:

<em:targetApplication>
    <Description>
        <em:id>{<здесь будет номер, вставьте из вашего файла>}</em:id>
        <em:minVersion>1.5</em:minVersion>
        <em:maxVersion>3.0</em:maxVersion>
    </Description>
</em:targetApplication>

После чего ресширение перестает ругаться на несовместимость версий и начинает работать. Точнее, начинает “работать”, потому что толку от того, что расширение включено нет никакого - при русской раскладке никакие хоткеи работать не хотят. Полез в Google - нифига не нашел, никаких фиксов расширения для FF 3.0, ничего. Делать нечего - полез в коды. После 15-ти минут копания в кодах, бок был найден - автор передавал в функцию несуществующий параметр. После изменения одного слова и перезагрузки Gran Paradiso скрипт чудесным образом стал работать. Сейчас вот написал на мыло автору расширения, чтобы он поправил бок и выложил новую версию в паблик-доступ. А то собирать самому расширение сейчас ни времени ни желания нет. :)

Для тех, кто хочет все прямо сейчас:

  1. идем в директорию ~/.mozilla/firefox<возможно тут будет “-3.0″>/<тут будет одна директория>/extensions/<номер расширения>/ (см. выше, в общем)
  2. переходим в chrome/rhkbf.jar/content/rhkbf/ (да, да. jar - это обычный архив и почти все файлменеджеры могут использовать его как директорию)
  3. открываем файл overlay.js и ищем строку с “trevt.initKeyEvent(evt.type, evt.canBubble, evt.cancelable,”
  4. меняем “evt.canBubble” на “evt.bubbles”
  5. перезагружаем Gran Paradiso и убеждаемся, что все работает

Закросспостил на Хабрахабр. Просьба голосовать. :)

written by FX Poster \\ tags: , , ,

Oct 28

И glxgears вам это докажет!

written by FX Poster \\ tags:

Oct 27

Сегодня в аську стукнулся человек, предложивший зарегистрировать мой сайт в системе One Face. Система позволяет зарегистрироваться в ней однажды и получить возможность авторизовываться на множестве сайтов в Интернете с помощью этой единой учетной записи. Естественно, работать это будет только на тех сайтах, где эта система поддерживается.

Я и согласился, чего мне терять-то. :) Теперь вы можете видеть, например здесь, над формой с вводом комментария блок авторизации/регистрации от One Face.

Теперь о том, как, собственно, всем этим пользоваться:

Пользователям

Вы регистрируетесь на One Face, вводите свои данные (имя, ник и т.д., все поля необязательные). Потом заходите на сайт с поддержкой One Face (например, сюда), вы увидите блок авторизации с логотипом One Face. Нажимаете “авторизовать” (чтобы однократно персональные данные были переданы сайту, а при последующих посещениях этого сайта этим пользователем - так же задавался вопрос), а затем “добавить” (сайт добавляется пользователю в доверенный список, и при последующих посещениях персональные данные отдаются автоматом) . Вот и все - ваши данные, которые вы ввели на one-face.ru всегда будут загружаться при вашем заходе на мой (или любой другой :) ) сайт.

Владельцам сайтов

Вот так называемый Webmaster Reference по этой системе. Для тех, кому неохота ходить по ссылкам - вы встраиваете в свою страницу одну флешку, которая предоставляет JS API в виде одной функции:

function one_face_login( personals ) { //... }

В которую передается обьект со следующими полями:

  • “name” - имя
  • “name2″ - отчество
  • “surname” - фамилия
  • “nickname” - прозвище, ник
  • “email” - адрес e-mail
  • “site” - сайт
  • “avatar” - сайт
  • “icq” - номер ICQ
  • “country” - страна
  • “city” - город
  • “langs” - языки
  • “openid” - url openid

То есть те, поля, которые пользователь вводит в свою “анкету” при регистрации.

Для WP уже есть плагин, который использует это API следующим образом:

function one_face_login(personals) {
    var commentform = document.getElementById('commentform');
    commentform.author.value = personals.nickname;
    commentform.email.value = personals.email;
    commentform.url.value = personals.site;
}

Скачать плагин можно здесь.

Пока что система находится на стадии бета-версии и по словам автора (а стучался ко мне в ICQ именно он, насколько я понял) будет еще улучшаться (в частности, увеличиваться функционал). Ну что ж, поживем - увидим. Я только за подобные начинания.

written by FX Poster \\ tags:

Oct 27

Не знаю, может это только у меня такое, но последние 3-4 дня скорость работы с теми же Gmail и Google Reader упала до неприличия. Скинули мне на мыло файлик размером около 300кб. Качал со скоростью 3-5 кб/с. С Google Search проблем вроде как нет, или просто не сильно заметно. При этом все остальные сайты вроде как грузятся нормально, быстро.

Это у всех так? Или это у моего провайдера что-то бочит при работе с гугловскими серваками?

written by FX Poster \\ tags:

Oct 26

В свое время выбирал IDE для работы с C++, посоветовали попробовать Code::Blocks. Попробовал, понравилось. Симпатичная IDE, хороший автокомплит, неплохая настраиваемость, поддержка gcc - а мне другого и не нужно было. После того, как я заинтересовался Qt, я стал искать плагины для поддержки этой библиотеки к Code::Blocks. Нашел QtWorkbench. Вот только плагин к линукс-версии можно подключить, только заново скомпилировав саму программу. Чем я раньше и занимался - ведь вот есть хорошая инструкция. Вчера заметил странную директорию debian, которая находится в Code::Blocks’овом trunk’е. Там есть файлик rules, после его просмотра стало ясно, что здесь все уже сделано для построения пакетов для Debian-based дистрибутивов линукса. И вот решил я ночью пакет сделать, со встроенным QtWorkbench’ем.

Для конфигурирования и сборки пакетов:

sudo apt-get install libtool autoconf automake dh-make

Если у вас не Ubuntu/Gutsy - следуем этим инструкциям и добавляем в apt нужный репозиторий. Устанавливаем wxwidgets и g++:

sudo apt-get install g++ wx-common libwxgtk2.8-dev

Также мне в Kubuntu пришлось установить libgtk:

sudo apt-get install libgtk2.0-dev

Далее - следуем начальным инструкциям отсюда:

svn checkout svn://svn.berlios.de/codeblocks/trunk codeblocks
cd codeblocks/
wget http://qtworkbench.googlecode.com/files/QtWorkbench-src-0.5.1.tar.gz
tar zxf QtWorkbench-src-0.5.1.tar.gz
patch --unified --strip=0 --forward --input=qtworkbench.patch
./bootstrap

Конфигурируем для установки всех плагинов и указываем, что ставить нужно в /usr:

./configure --prefix=/usr --with-contrib-plugins=all

Теперь нужно указать, что мы хотим включить в пакеты и QtWorkbench (если этого не сделать - dh-make выдаст после линкования и компиляции всех файлов, что у вас есть лишние файлы и откажется создавать пакет):

sudo nano debian/codeblocks-contrib.install

И добавляем в конец файла эти строчки:

usr/share/codeblocks/QtWorkbench.zip*
usr/share/codeblocks/plugins/libQtWorkbench.*

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

sudo ./debian/rules binary-arch

На выходе получаем 7 пакетов и ставим Code::Blocks:

cd ..
sudo dpkg -i libcodeblocks0_1.0svn4561_i386.deb libwxsmithlib0_1.0svn4561_i386.deb codeblocks_1.0svn4561_i386.deb codeblocks-contrib_1.0svn4561_i386.deb

Я использовал svn4561-ревизию, так что у вас номер в deb-файлах скорее всего будет другой. Учитывайте это.

Собранные мной пакеты лежат здесь (ubuntu 7.10) и здесь (debian unstable).

written by FX Poster \\ tags: , , , , ,

Oct 26

Отличная статья про нежелание переходить с одной ОС на другую. Подпишусь под каждым словом (так как сам так красиво писать не умею :) )!

written by FX Poster

Oct 26

Ночь… Не спится, сцуко. Читаю вот Хабрахабр / New. Набрел на эту статейку. Серьезно задумался.

По программированию я на русскоязычных блогах читаю в основном про одно и то же. Взять хотя бы тот же JS - в сети целая куча материалов о том, как использовать “классы”, как делается “наследование”, как делать новомодный AJAX и прочее. Тем не менее чем дальше, тем больше я встречаю материалов на одни и те же темы. Иногда просто плагиат. Иногда переписывание какого-нибудь текста, исправление ошибок в нем, добавления мнения автора (таких, кстати, больше всего). А иногда просто попадаются тексты на одну и ту же тематику - слова в текстах разние, а суть, как ни крути, одна. Особенно впечатляет в этом плане Хабрахабр - в основном посты на нем можно разделить на 3 категори: переводы - против них я, в принципе, ничего не имею; новости - вот ради них я хабр в основном и читаю, хотя многие из новостей я узнаю задолго до того, как они на хабр попадут; и сами авторские статьи, которые в 95% случаев состоят из материала, который доступен в сети любому, остальные 5% - очень даже интересные статьи попадаются. Это я к чему - karaboz здесь (имеется ввиду не только сама статья, но и ссылки в ней :) ) ну ничего нового не сказал (возьмем хотя бы наследование в JS - гугл выдает кучу статей), но тем не менее, я уверен, что пост будет основательно заплюсован, а карма у автора будет после этого всего очень даже ничего.

Лично я вот не хочу писать о том, что уже написали до меня, причем, возможно, намного лучше. Например, можно сделать цикл статей “Изучение JS на основе анализа кода Prototype JS”, в котором я буду рассказывать о том, как то же самое наследование реализуется в Prototype (Class.extend) и т.д. Вместо таких вот циклов статей я лучше хорошенько погуглю и приведу список ссылок на такие статьи, возможно с моими комментариями. И информативнее, и, ИМХО, правильнее. А почитать там, почитать тут и написать то же самое, но свое - это не мой путь, мне он совсем не нравится.

Вот теперь скажите - я что, отстал от жизни? Потому что сейчас очень многие поголовно этим занимаются и, собственно, имеют рейтинг блогов на порядки выше чем у меня. :(

written by FX Poster