Ne v kontakte Antisocial programmer's blog

Rogue Ninja support in CLion

Rogue Ninja support in CLion

    c++     clion     cmake     ninja     projects     dev

In a past few years I’ve been using C++ as my main programming language and during this time I’ve been in constant search for better IDE for it which would run on Linux. I was very happy when Jetbrains released CLion IDE and immediately gave it a try. Though there is a lot to improve yet, I’d say that it has best autocompletion and modern C++ support among C++ IDEs on Linux. The only problem I had with it was a build toolchain which it uses.

Currently CLion supports only CMake projects (with is totally fine for me) with GNU Make generator (which is sad). When using CMake, I always preferred Ninja build system, especially for large projects like one I work on as my main job. For some reason Make does not a very good job at incremental builds. For example, even if there is nothing to rebuild, it spends 5 seconds to only verify this fact, which is pretty annoying. On other hand, Ninja does this in like 200 ms.

Unfortunately, CLion developers currently have no plans on supporting Ninja (I realize that they have many things to do way more important than Ninja support), so I decided to solve this problem by myself.

CMake-Ninja wrapper for CLion

Read more →

Google Cache Browser 3.0: Late Announcement

Google Cache Browser 3.0: Late Announcement

    projects     google cache     gcb

Today I’m going to announce a pet project, which I’ve been working on for a last few month. It happened so that it’s live for more than two years and it’s the third major release, but I never announced it on my blog. Now I have to fix this.

Meet: Google Cache Browser.

The idea behind this project is pretty simple: when viewing Google’s search cache, click on any link on the cached page is going to send you back to live site, not to cache, and there are many situations when this is not what you want. For example, when you site of interest is under maintenance and you need to find something there, all internal links would be broken, leading you to “Temporary unavailable” page.

This is where Google Cache Browser comes in. It would inject himself into cached page, catch all click on links and redirect you to cached versions of paged they point to. The most beautiful thing is that you don’t have to install any kind of browser extensions: GCB is a pure JavaScript running is your browser.

Read more →

MODX Library - в Open Source!

MODX Library - в Open Source!

    dev     soft     projects     phpbb     modx

Как я и планировал, я начинаю по-тихоньку публиковать полезные наработки, использованные мною в phpBB Constructor. Сегодня черед, пожалуй, наиболее важной из них — это MODX Library.

MODX Library — это библиотека, обеспечивающая автоматическую обработку инструкций по установке модов в формате MODX. Идейно этот формат является развитием патчей со значительно расширенным набором операций, удобных при установке модов. В настоящее время подавляющее большинство модов для phpBB3 распространяется именно в этом формате. MODX Library практически полностью реализует поддержку последней версии стандарта MODX 1.2.5, отличия от стандарта описаны в README файле.

Замечу, что именно с этой библиотеки началась работа над phpBB Constructor в начале февраля 2010 года. Впрочем, история разработки конструктора — это отдельная и местами поучительная тема, которой я коснусь как-нибудь в другой раз.

Идеологическим предшественником этой библиотеки была другая моя, гораздо более ранняя разработка под названием Lite MOD Parser, занимавшегося теми же задачами, но только для более раннего формата MOD, популярного в эпоху phpBB2. Сейчас эта штука может быть полезна разве что в исторических целях, а тогда планировалось ее использование в претензиозном проекте Web Update, призванном накорню автоматизировать обновление сайтовых движков. И, вероятно, будь у меня тогда больше настырности и опыта, из этого чего-нибудь бы и вышло :-)

Read more →

phpBB Constructor

    projects     phpbb     constructor     modx

Пришло время представить широкой публике проект, над которым я работал все последнее время. Знакомьтесь,

None

Вводная

phpBB — один из самых лучших open source движков для создания форумов. На нем работают сотни тысяч конференций, многие из которых обладают впечатляющей функциональностью. И несмотря на то, что в базовой комплектации phpBB3 предоставляет практически все, что может понадобиться для создания форума, его истинная сила в модах, написанных сообществом. В настоящий момент только в его официальном каталоге модификаций зарегистрирован 431 мод разной сложности. И еще больше можно найти на форуме, в разделе бета-версий.

Read more →

Pastemark: перестаем печатать одно и то же!

Pastemark: перестаем печатать одно и то же!

    soft     projects     dev     bookmarklets     pastemark

Вот и пришло время анонсировать мини-проект, над которым я работал последнее время.

Предыстория

Отправной точкой для мысли послужил тот факт, что в процессе модерирования на phpBB Guru мне довольно часто приходилось писать служебные посты и личные сообщения примерно одинакового содержания. В какой-то момент мне это окончательно надоело и я занялся поиском расширения для браузера, которое позволило бы хранить и быстро вставлять сниппеты с шаблонами этих сообщений. Каково же было мое удивление, когда я не нашел ничего вменяемого.

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

Read more →

Nevkontakte.me — introducing Qby CMS

Nevkontakte.me — introducing Qby CMS

    projects     qby

Пришло время опубликовать первый из проектов, которые я упомянал в позапрошлом посте. Позвольте представить вам мой новый сайт-визитку: Nevkontakte.ME.

Мысль о том, что неплохо было бы сделать небольшой сайт-визитку проскальзывала у меня уже довольно давно, однако делать еще один тупой трехстраничник в духе “Главная, обо мне, контакты” было неинтересно. И тут я вспомнил об одном из старых постов Тормоза, в котором он предлагал концепт Cuby CMS — движка для микросайтов в виде, как это ни странно, куба. Однако у Тормоза дело не пошло дальше концепта, а у меня как раз была нужда в чем-то оригинальном и в добавок желание поупражняться в JavaScript-fu.

Взяв за основу идею Тормоза, я добавил анимацию перехода между сторонами с помощью CSS3 2D Transforms (по началу хотел для большей реалистичности юзать 3D Transforms, однако его пока поддерживают только nightly-билы вебкита), немного плюшек для более прозрачной навигации и удобную AJAX-админку.

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

Read more →

RoboMap: привет из прошлого.

RoboMap: привет из прошлого.

    projects     robomap     notes

Чуть больше двух лет назад я запустил один небольшой эксперимент с кодовым названием RoboMap.txt. Суть его заключалась в том, чтобы на практике выяснить какие ссылки способны опознать поисковики. Спустя три недели после начала эксперимента я подвел итоги и забыл о нем. До сегодняшнего дня.

В прошлое воскресенье мне пришло уведомление от хостера о том, что я выбрал 80% квоты трафика. Я слегка удивился, поскольку все мои сайты, размещенные на этом аккаунте (включая этот блог =) особой популярностью не пользуются, глянув на календарь, решил не дергаться, ведь месяц подходил к концу и квота скоро должна была возобновиться. Я оказался почти прав, квота таки кончилась, но в самый последний день месяца. Именно поэтому вчера весь день мой блог был недоступен. Поскольку целый день я бегал вдали от компа, обнаружил я проблему только к вечеру и решил не дергаться и просто подождать конца суток.

Сегодня утром я первым делом убедился, что сайт снова онлайн, и стал разбираться, в чем причина. Каково же было мое удивление, когда я увидел, что 70% квоты трафика пришлось на robomap.nevkontakte.org.ru - тот самый проект двухлетней давности! Я тут же полез смотреть его собственную статистику и увидел, что лог посещений поисковиками за два года раздулся до полутора сотен тысяч записей, при чем последние записи датировались сегодняшним днем!

Вот тут-то на мнея и снизошло озарение. Изначально я запретил поисковикам индексировать лог посещений, но в результате небольшой ошибки в robots.txt Яндекс таки проиндексировал эти страницы. Мне стало интересно, будут ли остальные поисковики их индексировать, и я убрал запрет вообще.

Read more →

Simple AJAX Long Request

    dev     web     projects     ajax

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

Simple AJAX Long Request (SALR) 1.0

Возможности:

  1. Отправка GET запросов с произвольными данными, переданными в виде хеша.
  2. Отправка форм POST и GET запросами.
  3. Автоматическая конвертация PHP-типов в соответствующие типы объектов JS.
  4. Глобальный доступ к PHP API благодаря реализации в виде статического класса.
  5. Перехват многих фатальных ошибок (см. http://dklab.ru/chicken/nablas/45.html)

Read more →

Свободная цена на RegSubmitter: итоги

    regsubmitter     free     projects     name your price

С 26 декабря по 1 января я раздавал новогодние подарки - все желающие имели возможность приобрести одну из версий RegSubmitter по свободной цене. Только что я ответил на последние письма и начинаю подводить итоги.

Для начала немного чисел:

  • Общая выручка: 18,39 (WMZ) + 458,1 (WMR) + 549,50 (руб, ЯД) ≈ 1552.98 (руб)$51.4231
  • Минимальная сумма: 1 коп.
  • Максимальная сумма: 350 руб.
  • Самая популярная сумма: $1.
  • Переводов ≤$1 было 15 штук — примерно 60%.
  • Популярность версий: RSB - 15 шт, ESB - 8 шт, UMSB - 1 шт.
  • Свой ключ уже активировали 16 пользователей из 24 поучаствовавших в акции.
  • Лишь трое запросили доступ в скрытый раздел форума поддержки.
  • В период акции посещаемость сайта regsubmitter.ru выросла более, чем в 4 раза. При этом, основной вклад был у серча, за ним с небольшим отрывом шел маулнет.

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

Read more →

RegSubmitter по свободной цене и обновления блога.

    projects     regsubmitter

Зачетная сессия позади, на носу новый год и хочется делать подарки :)

Поэтому я объявляю о новогодней акции RegSubmitter по свободной цене!

Что такое свободная цена? Это когда покупатель платит продавцу ровно столько, сколько ему велит совесть. Это утопия денежных отношений, которая, на мой взгляд, непременно придет к людям, но далеко не при нашей жизни - сейчас люди слишком глупые и жадные, чтобы такая модель жила и была взаимовыгодна. Тем не менее, под Новый Год случаются и не такие чудеса, поэтому я вслед за Тормозом объявляю, что RegSubmitter до 1 января 2010 года будет продаваться по свободной цене!

Как это будет работать? А вот так:

Read more →