Бывают приятные сюрпризы

Как-то давно я писал про хороший сервис статистики посещаемости сайта, который на раз делает Google AnalyticsGet Clicky. Давно хотел заплатить за ПРО версию, но лягушка меня душила :). Пол года назад Get Clicky решили сделать локализацию своего сервиса по типу Facebook, т.е. пользователям предлагалось самим локализовать сервис: выдаются строчки на английском языке и есть поля для ввода перевода на русский, также есть возможность голосовать за варианты других пользователей. Мне эта идея показалась забавной и я поигрался с этим с пол часа, позже мне надоело работать бесплатным переводчиком на коммерческом сервисе и благополучно забыл про этот «игру». Забавно, недавно получил письмо от Get Clicky со следующим содержанием:

Hi Gennady,

Thank you for helping translate Clicky into your native language, we really appreciate it.

We are rewarding the top 50 contributors with free «Pro» accounts for life, and you were one of them! Congratulations, and please enjoy :)

— The Clicky Team :)
http://getclicky.com

Мелочь, а приятно. Ну и конечно это случай изменил мои взгляды на «помощь коммерческим сервисам» :)

Далее

ХабраШвабр

Появилась недавно задача сляпать сайтик с функционалом как у habrhabr, то есть с кармой, друзьями, рейтингами, коллективными блогами, блэкджеком и шлюхами. Можно конечно и самому написать подобный движок, но не очень хотелось изобретать велосипед — я решил посмотреть готовые решения. Вот, что я нашел:

  • Explay — по функционалу есть все, что надо, ставится легко, но такой стиль кода мне не по душе:
  • PHP:
    1. include $_SERVER['DOCUMENT_ROOT'].'/'.«modules/articles/module.php»;</ul>
    2. if (isset($_GET['cat'])) $cat = addslashes($_GET['cat']);
    3. if (isset($_GET['id'])) $id = intval ($_GET['id']);
    4.  
    5. $order = «art_id»;
    6.  
    7. if (isset($_GET['id']) || isset($_GET['url'])) {
    8. $option = «art_id = '$id'»;
    9. if (!isset($_GET['id']) &amp;&amp; preg_match(«#^[a-z0-9_-]+$#», $_GET['url'])) {
    10. $url = htmlspecialchars ($_GET['url']);
    11. $option = «art_url_name = '$url'»;
    12. }
    •  BigStreet — код хороший, но проект к сожалению развивается слабо, к тому же отсутствует модуль коллективных блогов
    • ШвабраШвабр, если первые два варианта были cms собственнописные, то швабр — это проект со статьями и скринкастами обучающими как из CMS Drupal сделать аналог HabraHabr. И тут я должен снять шляпу перед разработчиками Drupal'а, конечно до то того как я добрался до Швабра, я использовал drupal, но только после того как я ознакомился с материалами этого сайта (автору спасибо!), я понял насколько drupal гибок и красив!

    Итак вердикт: однозначно я буду основоваться на материалах сайта ШвабрШвабр

    Далее

Гиковский способ постинга в twitter

Можно конечно юзать всякие twhirl или постить через jabber, но это как-то не по нашему :)
Итак постим через консоль используя Twitter API.

Вариант номер один (curl):

curl -u yourusername:yourpassword -d status="Bash! Bitches!" http://twitter.com/statuses/update.xml

Соответственно можно довить в .bashrc следующий alias:

alias twit='curl -u yourusername:yourpassword -d status="$1" http://twitter.com/statuses/update.xml'

Вариант номер два (wget):

wget -O — --user=USER --password=PASSWORD --post-data='status="Bash! Bitches!"' http://twitter.com/statuses/update.xml

И alias:

alias twit='-O — --user=USER --password=PASSWORD --post-data=\'status="$1"\' http://twitter.com/statuses/update.xml'

Постинг через vim: качаем этот архивчик и закидываем его содержимое в папку для плагинов. Дальше прописываем в конфиг (.vimrc) настройки и мапинги:

let g:twitterusername='username'
let g:twitterpassword='password'

map <unique> <eader>tw <Esc>:execute 'TwitterStatusUpdate ' . inputdialog ('Enter a Twitter status message:')<cr>

Еще есть несколько вариантов для emacs'a (twitter.el, twit.el)

Не забываем, что за мной можно следить здесь.

Далее

Регулярные выражения? AIR вам в помощь!

Если у вас не такой модный текстовый редактор как у меня (gvim) и вам нужно что-то вроде деббагера регулярных выражений или вы еще не уверенно себя чувствуете при работе с ними, то вам поможет RegExr приложение написанное на Adobe Flex и доступное в двух вариантах: онлайн и air-дистрибутив. Вещь я вам скажу просто суперская, рассмотрим ее поподронее:

screenshot-regexr2.png

  1. Судя мы вводим само выражение и при  наведении на каждый метасимвол или конструкцию появляется окошко с подсказкой — удобно
  2. Сдесь текст, на котором тестируется регулярка, синим цветом выделяются совпадения
  3. Тут выставляются флаги
  4. Это что-то вроде браузера по конструкциям, метасимволам и группам
  5. Здесь высвечиваются коротенькие подсказк, если вы забыли как что-то работает :)
  6. Тут небольшой итог: паттерн, флаги, и количество найденных групп
  7. Переключатель между поиском и заменой

Советую, особенно новичкам...

Далее

Видео для тех кто еще не понял зачем нужен twitter

Далее

Riffly WordPress Plugin: добавляем в блог возможность аудио и видео комментариев

Сегодня прицепил плагинчик riffly, позволяющий пользователям добавлять видео и аудио комментарии. Самая интересная фича плагина — это встраиваемый флеш компонент, который работает с микрофоном и вебкамерой напрямую,  благодаря чему пользователю не нужно записывать файл отдельно, чтобы потом залить вам на блог, единственное, что ему нужно: кликнуть по ссылке  для начала записи видео с вебкамеры Add Webcam Comment или Add Audio-only Comment для записи голоса с микрофона.

Проблема в том, что у меня сломался микрофон и я не могу протестить работу плагина.  Предлагаю своим читателям сделать это! Если нечего сказать, можете пропиарить свой ресурс или что-нибудь еще. Буду благодарен за каждый комментарий :)

Далее