Буквально на днях встретил своего хорошего приятеля, которого я не видел довольно давно, разговорились. Оказалось, что я не просто так встретил его в центре Москвы. Он играет. В игре ему помогает его мобильник и ноутбук с выходом в сеть.
Mission Critical
Как сделать динамичный, переливающийся фон
1 min
11KНа сайте новаторского магазина thinkgeek.com столкнулся с любопытным эффектом — переливающимся фоном (чтобы увидеть конфетку нужно поработать колёсиком прокрутки). Сделан он очень просто, и все же подобная техника попалась мне впервые.


+93
История одного бага или как я ZIP паролил
4 min
7.4KЭто история личного опыта, опыта поиска бага в чужом, старом, неподдерживаемом коде.
Все начиналось как обычно, передо мной стояла простая на первый взгляд задача: сделать упаковку файлов в текущей папке в ZIP архив с определенным паролем на C++/Qt, казалось бы что может быть проще?
Естественно, первый помощник это Google, он и подсказал что существует две Qt библиотеки для работы с ZIP архивами:
QuaZIP и OSDab ZIP, помимо всего, сам Qt поддерживает методы qCompress и qDecompress для упаковки.
Мною было выяснено что методы мне мало подходят, потому что они умеют лишь жать поток, все заголовки и шифрование на совести разработчика. Этот путь был слишком долог и от него я отказался сразу и обратил свое внимание на библиотеки.
OSDaB ZIP пришлось отбросить сразу, не смотря на то, что это отличная библиотека, ее код распространяется только под лицензией GPL, мне же нужно было встроить функционал в проприетарное приложение. К счастью QuaZIP оказался с двумя лицензиями GPL и LGPL. На нем я и остановился. Особо не вникая в его устройство, я набросал простейший класс для работы ним и начал тестировать.
Все начиналось как обычно, передо мной стояла простая на первый взгляд задача: сделать упаковку файлов в текущей папке в ZIP архив с определенным паролем на C++/Qt, казалось бы что может быть проще?
Естественно, первый помощник это Google, он и подсказал что существует две Qt библиотеки для работы с ZIP архивами:
QuaZIP и OSDab ZIP, помимо всего, сам Qt поддерживает методы qCompress и qDecompress для упаковки.
Мною было выяснено что методы мне мало подходят, потому что они умеют лишь жать поток, все заголовки и шифрование на совести разработчика. Этот путь был слишком долог и от него я отказался сразу и обратил свое внимание на библиотеки.
OSDaB ZIP пришлось отбросить сразу, не смотря на то, что это отличная библиотека, ее код распространяется только под лицензией GPL, мне же нужно было встроить функционал в проприетарное приложение. К счастью QuaZIP оказался с двумя лицензиями GPL и LGPL. На нем я и остановился. Особо не вникая в его устройство, я набросал простейший класс для работы ним и начал тестировать.
+120
В vBulletin обнаружена серьёзная уязвимость
1 min
4K
В популярном движке для форумов vBulletin нашли интересную уязвимость — при вводе в поиске на странице FAQ слова «database» на экран выводится вся информация о подключения к MySQL серверу.
Проблему устранили в vBulletin версии 3.8.6-PL1.
Если верить разработчикам — данный баг был просто недосмотром, из движка забыли убрать часть дебаг-кода.
+5
Релиз форумного движка нового поколения Vanilla 2.0
2 min
11KВышел долгожданный релиз второй версии форумного движка vanilla. В блоге разработчиков появилось новость о релизе.

Vanilla forums — это минималистичный форумный движок. Цель проекта — создать простой инструмент для онлайн-конференций с простой возможностью наращивания функционала. Нет, это не второй phpbb, это действительно очень упрощённый форум.
Однако, в отличие от сотен других подобных проектов, этот прост лишь для пользователя, изнутри же он напичкан современными технологиями, а потому тут на полную катушку используется AJAX, и главная задача разработчиков — сделать форум максимально простым для начинающих пользователей, и кажется им это удалось. Легко и незатейливо из коробки работают такие функции, как автосохранение сообщений в черновики, отправка сообщений без перезагрузки страницы, загрузка новых сообщений и так далее.
Несмотря на свою кажущуюся простоту этот движок «из коробки» даёт почти всё, что нужно большинству пользователей, как-то: разграничение прав, подфорумы и категории, html/bbcode/markdown.
Те, кто использовали первую версию этого движка, помнят, что он был совсем неприглядным, и для того, чтобы сделать из него «конфетку», пришлось бы очень сильно потрудиться. Со второй версией это уже в прошлом. Из коробки Vanilla имеет простой, но аккуратный дизнайн, которым вполне можно пользоваться. Более того, на официальном сайте в разделе дополнений есть ряд тем, подготовленных профессиональными дизайнерами. Так что, первое, что заметят те, кто пробовал первую версию — это безусловно то, что система стала привлекательнее, и ей даже можно пользоваться «из коробки».
Что такое Vanilla?

Vanilla forums — это минималистичный форумный движок. Цель проекта — создать простой инструмент для онлайн-конференций с простой возможностью наращивания функционала. Нет, это не второй phpbb, это действительно очень упрощённый форум.
Однако, в отличие от сотен других подобных проектов, этот прост лишь для пользователя, изнутри же он напичкан современными технологиями, а потому тут на полную катушку используется AJAX, и главная задача разработчиков — сделать форум максимально простым для начинающих пользователей, и кажется им это удалось. Легко и незатейливо из коробки работают такие функции, как автосохранение сообщений в черновики, отправка сообщений без перезагрузки страницы, загрузка новых сообщений и так далее.
Несмотря на свою кажущуюся простоту этот движок «из коробки» даёт почти всё, что нужно большинству пользователей, как-то: разграничение прав, подфорумы и категории, html/bbcode/markdown.
Что нового?
Те, кто использовали первую версию этого движка, помнят, что он был совсем неприглядным, и для того, чтобы сделать из него «конфетку», пришлось бы очень сильно потрудиться. Со второй версией это уже в прошлом. Из коробки Vanilla имеет простой, но аккуратный дизнайн, которым вполне можно пользоваться. Более того, на официальном сайте в разделе дополнений есть ряд тем, подготовленных профессиональными дизайнерами. Так что, первое, что заметят те, кто пробовал первую версию — это безусловно то, что система стала привлекательнее, и ей даже можно пользоваться «из коробки».
+54
Type Folly — изумительно простой онлайн редактор CSS3
2 min
2.7K
По собственной инициативе выкладываю на суд сообщества проект моего друга, со сложно выговариваемым именем Mircea Piturca.
Встречайте: Type Folly — очень простой и удобный онлайн редактор CSS. Для новичков самое оно.
UPD: Автор внес изменения и поправил баги. Спасибо Хабрасообщству.
+87
Почему Jabber свободен от спама?
2 min
2.1KПост написан как ответный к мифическим постам типа этого, о невозможности(а точнее а неймоверной сложности спама в джаббере). Ниже будет описана несложно реализованная программа для спама.
-7
Bubble Engine — плагин для jQuery. Машина по созданию мыльных пузырей
1 min
3.7KTranslation
Хочу представить читателям интересный jQuery плагин, который будет интересен тем, кто хочет использовать на сайте какую-то интересную анимацию без использования Adobe Flash.


+30
Делаем ссылки во flash-баннере, не имея исходников
2 min
3.4KЗачем?
Вам никогда не приходила верстка с flash-элементами, которые должны быть ссылками на внешние или внутренние ресурсы, но на деле таковыми не являющимися? При этом, когда вы не flash-разработчик и Flash IDE под рукой нет (а то и операционная система, в которой вы работаете, эту самую Flash IDE не поддерживает) — это становится небольшим затруднением. Можно, конечно, пнуть верстальщика, чтобы он все поправил, но это требует времени, а значит денег. Кроме того, пинать его каждый раз когда URL поменяется не самая лучшая идея.
На помощь приходят swftools
На сайте разработчика можно узнать, что это набор консольных утилит для работы с .swf файлами. Утилиты эти хорошие и разные (например, компилятор ActionScript не умеет компилировать Box2D, то есть не всякий синтаксис ActionScript понимает), но с нашей задачей они справятся.
Утилиты, к слову говоря, умеют:
- конвертировать в swf из pdf (PDF2SWF)
- вытаскивать из swf-роликов контент (SWFDump, SWFStrings, SWFBBox, SWFExtract )
- конвертировать в swf некоторые графические/аудио/видео форматы файлов (JPEG2SWF, PNG2SWF, GIF2SWF, WAV2SWF, AVI2SWF)
- импортировать в swf-ролик шрифты TTF, Type1 (Font2SWF)
- компилировать код ActionScript3 с определенными ограничениями
Хорошо, а ссылки в баннерах как сделать?
+11
+174
Pubcookie: единая точка аутентификации для веб-приложений
8 min
7KСуществует множество решений, позволяющих в том или ином виде реализовать технологию единого входа (Single Sign On). Под единым входом понимается ситуация, когда авторизовавшись один раз на некотором выделенном сервере авторизации (или просто на своей машине), вы получаете доступ ко всем доступным сетевым ресурсам без дополнительной авторизации.
Мы сейчас постепенно занимаемся рефакторингом наших внутренних интранет-служб, развивавшихся зачастую стихийно, и рассматриваем различные технологии, использование которых может сделать нашу внутреннюю инфраструктуру удобнее и безопаснее.
Технологии SSO, как правило, достаточно непростые, однако если ограничиться задачей единого входа только для набора веб-приложений, существует относительно несложное решение, позволяющее реализовать такую возможность, не меняя, или незначительно меняя код приложения. Это решение называется Pubcookie, о нем и пойдет речь.
Мы сейчас постепенно занимаемся рефакторингом наших внутренних интранет-служб, развивавшихся зачастую стихийно, и рассматриваем различные технологии, использование которых может сделать нашу внутреннюю инфраструктуру удобнее и безопаснее.
Технологии SSO, как правило, достаточно непростые, однако если ограничиться задачей единого входа только для набора веб-приложений, существует относительно несложное решение, позволяющее реализовать такую возможность, не меняя, или незначительно меняя код приложения. Это решение называется Pubcookie, о нем и пойдет речь.
+13
OpenSource Система электронных дневников: год спустя
3 min
3.8KГод назад на Хабре начался путь моей системы, призванной обеспечить лёгкий старт информатизации в школах. Для тех кому лень переходить по ссылке и читать: написанная на Django, аскетичная OpenSource система электронных дневников для школ. С момента этой публикации многое изменилось.
Я попытался разделить кучу приятных и не очень произошедших за это время событий, на категории.
Я попытался разделить кучу приятных и не очень произошедших за это время событий, на категории.
+45
Подмена фона в видеочате
2 min
46K![[Under Siege 2: Dark Territory]](https://habrastorage.org/getpro/habr/post_images/87a/be8/027/87abe80279e62ce63431fe9e57f13c26.jpg)
Прошло пятнадцать лет.
Сегодня не нужно быть компьютерным гением, чтобы подменить фон в своём видеочате. И в Chatroulette, и в Skype, и в видеокомнатах Smotri.com многие делают это. Однако, чем больше я вижу таких трюков, тем чаще вижу поверх них название программы WebcamMax.
Обращаюсь тотчас же через Хабрахабр, чтобы открытым текстом всем рекомендовать
+53
Как я стал нодой
3 min
7.2K
О Фидонете я знал давно. Ещё в далеком 2003 году, получив в своё распоряжение модем на 14400, первым делом я попытался подключиться к Сети Друзей. Но… Не сложилось. Потом появилось подключение к интернету, подписка в режиме read-only через NNTP, но мысль не только читать, но и писать всё равно осталась где-то в подсознании…
Год 2010. Пойнт.
И вот на дворе 2010 год. А если точнее — апрель-месяц. Появляется статья История одного пойнта, что выводит писательскую мысль из коматоза и отправляет на поиски пойнтового адреса у Сергея (2:5020/2140). И вот оно — первое сообщение и первый нетмейл!
Я сразу понял, что радость только начинается…
+76
Генерация web-шрифтов
1 min
5.3K
Пожалуй, это самый удобный сервис такого рода, создающий на выходе html-страницу с подключенными шрифтами в разных форматах, готовыми font-face в css и демо-текстом.
При этом есть масса настроек по кастомизации шрифтов во время конвертирования.
В частности, можно уменьшить их вес, убрав часть символов или оптимизировав кривые. Так же он умеет хинтовать шрифты и кодировать их в base64. В общем, есть всевозможные плюшки.
+39
I2P — Проект Невидимый Интернет
2 min
274KTutorial
Всем доброго времени суток!
С недавних пор организации по защите авторских прав и «отделы К» многих стран начали вести весьма агрессивную политику против анонимности в сети и пиратства. Особо показательны истории с torrents.ru и ifolder.ru.
Подробнее об интернет-цензуре можно почитать в Википедии.
Чтобы оградить пользователя и хостера от «вредного» влияния государства и частных компаний была создана сеть I2P. Что же это такое и как подключиться к I2P — читаем под катом.
С недавних пор организации по защите авторских прав и «отделы К» многих стран начали вести весьма агрессивную политику против анонимности в сети и пиратства. Особо показательны истории с torrents.ru и ifolder.ru.
Подробнее об интернет-цензуре можно почитать в Википедии.
Чтобы оградить пользователя и хостера от «вредного» влияния государства и частных компаний была создана сеть I2P. Что же это такое и как подключиться к I2P — читаем под катом.
+120
Делаем твёрдый переплёт для любимых книжек
6 min
552KНебольшое вступление
В последнее время на Хабре появилось несколько статей о том, как можно удобно читать техническую и художественную литературу. Разгорались горячие споры об электронных читалках и способах печати нужного материала.
В своей статье мне хотелось бы поподробнее остановиться на вопросах собственно печати (как сделать этот процесс быстрым и удобным) и изготовления книги из доступных материалов.
Большое вступление
Некоторое время назад мне захотелось прочитать цикл Дугласа Адамса «Автостопом по галактике». Я попробовал почитать несколько переводов и не один меня не устроил. Поэтому было принято решение — читать на английском! Найти эти книги в оригинале в наших книжных магазинах довольно сложно. А если и есть, то только первая часть цикла. В электронном виде найти несколько проще. Но я предпочитаю читать с бумаги (читалку на E-ink куплю обязательно — очень нравятся), поэтому книги я распечатываю.
Первые две книги выглядели так:

Я их прочитал с огромным удовольствием, но выглядели они не очень хорошо. И я решил, что «Life, the Universe, and Everything» нужно делать книжкой.
Процесс с картинками и комментариями под катом. Осторожно, действительно много картинок.
+326
Обзор и установка почтового сервера iRedMail
4 min
246KДоброго времени суток!
Представляю вашему вниманию обзор, установку и настройку замечательного пакета iRedMail на базе Debian Lenny.
Представляю вашему вниманию обзор, установку и настройку замечательного пакета iRedMail на базе Debian Lenny.
+48
Умная раскладка через ComposeKey
3 min
3.1KЭтот топик — продолжение моего предыдущего, где я описывал проблему с переключениями раскладок, если их три и больше. В этом топике я расскажу о решении этой проблемы через ComposeKey. Помимо того, ComposeKey отлично подойдет и для других целей.
+27
Делаем качественный переплет книги, своими руками
4 min
138KКак известно специализированная литература, а в особенности литература связанная с IT стоит на порядок выше обычных книг, конечно, можно просто качать с интернета книжки и читать на всяческих устройствах, но не всегда есть эти устройства или не всегда они заряжены в нужный момент, а лично я практически не воспринимаю учебную литературу с дисплея, бумажная книга со всеми своими недостатками все еще лучше, как по мне. Поэтому, при отсутствии денег (распространенная проблема среди студентов), приглядев хорошую книгу я стараюсь распечатать ее и изучать уже в печатном виде.
Поначалу печатал просто на листах А4 и сшивал сбоку обычными нитками, книги получались неуклюжими и не очень удобными, но как то мне на глаза попалась брошюра 1989 года выпуска, под названием «Вторая жизнь книги», в брошюре были описаны множества методов реставрации и починки книг, а также описаны виды переплетов, вот именно это меня заинтересовало больше всего. В это время мне как раз нужна была книга Дэвида Флэнагана «JavaScript. Подробное руководство». Вот как раз о том как я делал переплет и твердую обложку для этой книги и расскажу.
Поначалу печатал просто на листах А4 и сшивал сбоку обычными нитками, книги получались неуклюжими и не очень удобными, но как то мне на глаза попалась брошюра 1989 года выпуска, под названием «Вторая жизнь книги», в брошюре были описаны множества методов реставрации и починки книг, а также описаны виды переплетов, вот именно это меня заинтересовало больше всего. В это время мне как раз нужна была книга Дэвида Флэнагана «JavaScript. Подробное руководство». Вот как раз о том как я делал переплет и твердую обложку для этой книги и расскажу.
+170
Information
- Rating
- 4,735-th
- Registered
- Activity