Архив

Ну вот и обновились

blog.rpsl.info

Мелочей еще конечно много, но буду править и постараюсь снова начать писать.


Чат для vbulletin

Главное что бы было желания, все остальное уже дело техники.

Снимок экрана 2010-03-05 в
11.37.50.png

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

Несколько выходных назад я решил вернуться к этому вопросу, скачал стандартный чат для форума, но он как и все остальные подобные реализации являлся унылым говном. Это глупое окошко которое предлагается разместить после навбара или перед футером... Решение было принято моментально, а бутылка ликера добавила мне решительности.

В итоге, просидев около 4 часов над сорцами чата и переделкой его стилей у нас получилась отличная консоль, которая открывается - закрывается по нажатию горячих клавиш и доступна всем зарегистрированным пользователям.
Единственная проблема с которой я столкнулся - это кривое отображение в ie6, но решать её, по своим внутренним убеждениям я не собираюсь.

Живой пример на http://forum.centrgroup.ru (для зарегистрированных)
Если кому интересна сама реализация - пишите в комменты, постараюсь рассказать.


Livejournal in google reader

livejournal
Давным давно, в одной далекой галактике, я сделал себе standalone блог и livejournal, потихоньку начал пропадать из списка сайтов которые я посещаю ежедневно. Учитывая, что я читаю около пары сотен человек, то вариант захождения раз в неделю и чтения всех записей начинал сильно утомлять, т.к. трудно осилить пару сотен постов. В то же время я начал активно пользоваться google reader'ом для чтения rss каналов сайтов которые мне интересны.

К сожалению и по не сильно понятным мне причинам, livejournal не даёт читать френделенту через rss, но зато он позволяет подписаться на rss конкретных пользователей которые вам интересны. В то же время, в Google reader есть возможность сортировать каналы по папкам, и если читать сразу всю папку, то получается как раз подобие френдленты. В целом всё хорошо, только этот вариант не подходит тем, у кого друзья пишут под замочные записи, но и тут тоже livejournal предусмотрел вариант аутентификации, для получения ленты с закрытыми записями.

В интернете есть различные серивисы, включая pipes.yahoo.com и freemyfeed.com, которые могут выступать в роли прокси, но меня не устраивает вариант, когда мои пароли будут храниться не понятно где. Поэтому я сделал маленький прокси, которые автоматически авторизует вас для google reader'а и на выходе вы получаете полный feed ваших друзей.

Читать далее

Twitter it для vBulletin

На днях, мне захотелось сделать наш форум еще более интегрированным в, не побоюсь этого слова, великую социальную сеть twitter.

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

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

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

twitterit

Читать далее

Фотоблоги / фотоблог / фото блог

Честно говоря, я очень удивлен, что у нас не очень популярны фотоблоги. У всех есть мобильные телефоны, почти у всех они с фото камерами, у большинства с камерами приемлемого качества. Многие используют твиттер, почту, icq на телефоне, но мало кто делает фотографии и выкладывает их в сеть.

photoblog

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

Фотоблог — вебсайт, содержащий в своей основе регулярно публикуемые фотографии, часто сопровождаемые названием снимка, датой/временем, текстовым описанием, сведениями Exif и др. Фотоблог часто содержит возможность добавления комментариев, выставления рейтинга и т. п. Фотоблог может поддерживать технологию RSS или Atom.

Фотоблог может быть авторским или коллективным. Встречаются мобильные фотоблоги (сделанные с помощью фотокамер, встроенные в мобильные телефоны). Как разновидность, появились текстовые фотоблоги (в которых фотография заменена авторским текстовым описанием).

wikipedia

Читать далее

Ubuntu 9.10 первые впечатления.

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

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

СнимокИзменений в софте много не заметно, обновился gnome, обновился grub, появился "Ubuntu Software Center"

Снимок-Ubuntu Software
Centerкоторый заменил привычный "Установка/Удаление программ".

В целом, я не рекомендую обноляться на бета версию, а лучше до декабря посидеть на том, что есть, ибо глюков и багов хватает.

З.ы. За время написания этого поста firefox упал два раза.


PHP Кэширование картинок.

Недавно была необходимость сделать функцию кэширования картинок на php ну я и накидался простой скрипт, который отлично справляется с этой задачей.

Логика работы скрипта очень простая. Он смотрит входящие параметры, проверяет есть ли картинка заданного размера и отдает её если она есть или создает в подпапке  такую картинку и отдает её.

Это спасает нас от необходимости делать кучу ресайзов при загрузке картинки + это универсальный способ, который можно использовать в любом проекте.

Листинг под катом.

Читать далее

SQL Joins Виды, типы, различия.

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

Для начала оговорим, что у нас есть две таблицы: Table A и Table B:

id name id name


1 Pirate 1 Rutabaga
2 Monkey 2 Pirate
3 Ninja 3 Darth Vader
4 Spaghetti 4 Ninja

Теперь можно рассмотреть, варианты и различия возможных JOIN запросов.

Inner join выведет записи, которые соответствуют  таблице A и таблице B.

join-inner

SELECT * FROM TableA
INNER JOIN TableB
ON TableA.name = TableB.name

id name id name


1 Pirate 2 Pirate
3 Ninja 4 Ninja

Читать далее

jQuery + label tag

Очередной, очень маленький, но ужасно удобный trick.

Суть очень простая, он автоматически делает  одинаковый width для всех элементов \<label>.

Изначально форма выглядит примерно вот так:

before

Добавляем стиль:

label, input[type="text"]{
    float:left;
    display:block;
}
label{
    margin-right: 5px;
}
.field{
    width:100%;
    overflow:auto;
    margin:5px 0px;
}

Добавляем javascript:

$(document).ready(function() {
    var max = 0;
    $("label").each(function(){
        if ($(this).width() > max)
            max = $(this).width();
    });
    $("label").width(max);
});

И вуаля:

after


Клеви навигация.

Забыл? Бросил? Нет, я всё ещё тут, просто в последнее время многое поменялось и на посты время не оставалось. Ведь мой блог это не очередной "манимэйкерский" высер, а так, для себя в первую очередь.

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

Началось всё с того, что некоторое время назад, я прикрутил к блогу hotkey (hotkeys для wordpress), но какой в них смысл, если об этом никто не знает. Вот мне и захотелось вынести их на передний план.

Для этого, я чуть - чуть поиграл с css стилями, и теперь .footer выглядит следующим образом:

#container_foot {
    border-top:thin dashed;
    bottom:0;
    height:32px;
    left:0;
    padding-bottom:0;
    padding-top:5px;
    position:fixed;
    width:100%;
    z-index:1000;
}

Это то, что касается расположения. Стиль он и так унаследует от вашей темы.