C++ → libral – слой абстракции доступа к библиотекам сжатия
Привет Хабр! Хочу представить свою С/С++ библиотеку libral, которая с недавних пор стала open source под лицензией GPL3. Возможно кому-то она будет полезна. Библиотека предоставляет единый интерфейс к различным алгоритмам сжатия данных без потерь.На данный момент поддерживаются библиотеки:
- libc — без сжатия
- zlib — www.zlib.net/
- lzo — www.oberhumer.com/opensource/lzo/
- snappy — code.google.com/p/snappy/
- bzip2 — www.bzip.org/
Delphi → Использование Crinkler с Delphi из песочницы
Введение
Существует масса способов уменьшить размер исполняемого файла. Когда кастрация системных RTL юнитов уже завершена, а размер по-прежнему режет простор для фантазии демосценера, работающего в направлении 4k intro или 64k demo, в ход вступают компрессоры. Один из самых известных среди них — UPX, т.к. существует под массой платформ и безразличен к содержимому исполняемого файла. Но существуют и компрессоры-линковщики, которые благодаря своей специфике способны производить более тонкие махинации с исполняемым файлом ещё на этапе сборки.
В этой статье пойдёт речь о широко известном в кругу демосценеров линковщике Crinkler и проблемах которые мне пришлось решить, чтобы приспособить это чудо для сборки Delphi проекта.
Zend Framework → Простая компрессия html-кода и стилей выдаваемых шаблонизатором
В современном мире веб-разработки использование шаблонизатора является хорошим тоном, как и паттерна MVC. Шаблоны позволяют отделить логику от представления данных, упрощают взаимодействие программиста и верстальщика – плюсы очевидны. Но в каждом инструменте есть свои тонкости. Одним из нюансов шаблонизатора является формирование html-разметки. В своем небольшом топике хочу поделится опытом компрессии html-кода и стилей, выдаваемых Dwoo
Веб-разработка → Как мы сжимали шарики
Вчера ночью мы выложили шарик, помогающий принимать решения, для участия в 10К Apart — конкурсе на лучшее веб-приложение объемом до 10 КБ, использующее только клиентские технологии.

И если некоторые для этого занимались сжатием кода при помощи PNG, то мы решали обратную задачу — сжимали PNG при помощи js кода.

И если некоторые для этого занимались сжатием кода при помощи PNG, то мы решали обратную задачу — сжимали PNG при помощи js кода.
PHP → PHP Compressor Beta
Решил развлечься на выходных и написать вот такой вот небольшой php compressor (и obfuscator).
Может переименовывать локальные переменные в функциях (включая аргументы), переименовывать функции и удалять лишние пробелы.
С нетерпением жду ваших отзывов!
Основные функции.
Может переименовывать локальные переменные в функциях (включая аргументы), переименовывать функции и удалять лишние пробелы.
Возможные проблемы:
- Некорректная работа с выражением вида $$a.
- Возможна неправильная работа с классами (уже исправляю).
С нетерпением жду ваших отзывов!
Персональные блоги → Новый механизм diff, в 9 раз меньше bsdiff
Chromium создал новую технологию компресии диффов под названием Courgette. Courgette занимает в 9 раз меньше места по сравнению с аналогами (diff, bsdiff), благодаря новому алгоритму хранения диффов.
Техническую часть можно найти здесь. Интересно то, что в Google Chrome используют молчаливые апдейты. Т.е. я уже не решаю для своего браузера когда же ему обновляться. Нехорошо. Хорошо, что новая технология будет открытая.
Ура open source!
via slashdot.org
Техническую часть можно найти здесь. Интересно то, что в Google Chrome используют молчаливые апдейты. Т.е. я уже не решаю для своего браузера когда же ему обновляться. Нехорошо. Хорошо, что новая технология будет открытая.
Ура open source!
via slashdot.org
Ajax → Уменьшение времени загрузки js и css файлов
Каждый разработчик javascript приложений рано или поздно сталкивается с проблемой большого (относительно конечно) времени загрузки подключаемых js и css файлов. Эта проблема, как известно, происходит из двух причин: большого количества подключаемых файлов (браузер имеет ограничение на количество одновременно скачиваемых файлов, поэтому пока не скачается один, браузер не приступит к скачиванию другого) и большого размера используемых библиотек (prototype, extjs и т.д.)