Архив Декабрь 13, Воскресенье, 2009

Linux для всех / Как собрать бинарный deb пакет: подробное HowTo

Нет комментариев »

Сегодня я расскажу на абстрактном примере как правильно создать *.deb пакет для Ubuntu/Debian. Пакет мы будем делать бинарный. Пакеты, компилирующие бинарники из исходников здесь не рассматриваются: осилив изложенные ниже знания, в дальнейшем по готовым примерам можно понять суть и действовать по аналогии :)



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



В качестве бонуса в конце статьи будет пример быстрого создания собственного локального репозитория: установка пакетов из репозитория позволяет автоматически отслеживать зависимости, и конечно же! — устанавливать всё одной консольной командой на нескольких машинах :)



Для тех, кто не хочет вдаваться в мощную систему установки софта в Linux, рекомендую посетить сайт проги CheckInstall: она автоматически создаёт deb-пакет из команды «make install» ;) А мы вместе с любопытными —


DIY или Сделай Сам / Устанавливаем 2,5» HDD внутрь Openbox S7

Нет комментариев »

Введение



В данном спутниковом ресивере предусмотрено подключение накопителей по USB или средствами eSATA. Накопители используются как для записи телепрограмм, так и для работы функции Time-Shift

При просмотре HDTV каналов и активированном Time-shift лучшие результаты были получены только с винчестером, который подключен к порту eSATA.

image


Клиентская оптимизация / «За бугром» все больше интересуются техникой Data:URI CSS Sprites

Нет комментариев »



Многим уже известна техника оптимизации сайтов на основе data:uri технологии. Последнее время все больше и больше к относительно новой технологии проявляется интерес мирового сообщества разработчиков. В интернете можно найти уже достаточно много статей на эту тему. Радует, что одним из первых, кто задумался серьезно о разработке кросс-браузерного data:uri это «наш человек» — Евгений Степанищев aka bolk. Ну так вот, речь не об этом, это так для истории…



Наткнулся мне «забугорный» блог www.ravelrumba.com, автор которого последнее время активно занимается исследованием эффективности data:uri css sprites. О чем свидетельствует ряд интересных статей о его работе.

CSS Images and Data URIs

Data URIs for CSS Images: More Tests, More Questions



Я решил поддержать его и провел анализ скорости загрузки разработанных им тестовых страниц.


Peer-to-Peer / Demonoid возобновляет работу?

Нет комментариев »

Похоже, один из самых известных торрент-порталов наконец-то ожил. Последняя новость на сайте сообщает:

We are currently testing the newly written code. More downtime is hopefully not necessary, but might be a possibility. Welcome back, we missed you!



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

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


Skype / Skype более не будет присутствовать в репозитории Medibuntu

Нет комментариев »

На протяжении нескольких лет Skype в Ubuntu и её родственниках можно было установить традиционным способом, с помощью репозитория и двух кликов.



Этим репозиторием являлся Medibuntu, содержащий «развлекательное» ПО и кодеки, не включённые в основные репозитории по лицензионно-патентным причинам.



И вот 9 декабря Lionel Le Folgoc, разработчик из Ubuntu Core Development Team и один из мэинтэйнеров Medibuntu, анонсировал удаление Skype из Medibuntu. Вот как это объясняется:


Является несколько проблематичным поддерживать наши пакеты Skype (skype, skype-common, skype-static и skype-static-oss), поскольку [наш] skype-common конфликтует с пакетами на skype.com и избежать этого непросто (разве что вновь включить skype-common в skype и skype-static, что само по себе непросто). После некоторого обсуждения по irc с разработчиками Skype я считаю, что лучшим решением будет перестать предоставлять эти пакеты. Skype, несомненно, будет выкладывать пакеты i386, amd64 и skype-static на skype.com.



В данный момент пакеты будут перемещены в репозитории *-staging, а после того как они будут опубликованы на skype.com, мы удалим их совсем.





Таким образом, тем, кто хочет установить Skype, отныне рекомендуется загружать его напрямую с сайта. Что, конечно же, немного печалит, поскольку можно как минимум забыть про стандартный механизм обновления пакетов.


Язык программирования Python / Twisted в действии — memcache на python

Нет комментариев »

Преамбула



В связи с выходными потратил немного времени на реализацию сервера Memcache с использованием python-фреймворка Twisted. В итоге я получил быстродействие в два раза более низкое, что я не считаю очень критичным, а также возможность реализовать парочку расширений оригинального протокола. Также возможны оптимизации, которые еще улучшат быстродействие.

Протокол не был реализован полностью — есть еще моменты над которыми можно поработать, но стандартные set/get вполне работоспособны и готовы к использованию.


Средства



Для хранения кеша используем базовый класс dict. Как вы догадываетесь, реализация dict в python быстра, этот базовый тип используется в python настолько активно, что его не оставили без детальной оптимизации. Таким образом, мы автоматом имеем структуру для хранения кеша в памяти. Осталось реализовать протокол memcache, для предоставления доступа к dict другим программам.



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



Информационная безопасность / Не хочу рекламировать шарлатанов

Нет комментариев »

Осознаю, что мои действия являются атакой надувного плота на авианосец, однако отправил следующее письмо в техподдержку партнеров «Бегуна»:



Free Software / Предложение по выходу GNOME из числа проектов GNU

Нет комментариев »

Филипп Ван Хуф один из разработчиков проекта GNOME, предложил выставить на голосование среди участников проекта вопрос о выходе GNOME из состава GNU Project. Главный мотив — попытки Ричарда Столлмана навязать проекту свое видение развития, при котором GNOME должен как минимум подчиняться жестким требованиям Фонда свободного ПО и пропагандировать недопустимость проприетарного ПО, как явления. В частности, были отмечены попытки введения цензуры для публикаций, отражаемых в Planet GNOME.


Я безумный / Эзотерический язык программирования под названием «… твою мать»

Нет комментариев »

Забавный эзотерический язык программирования создали наши китайские коллеги.



Проект расположен на code.google.com и его название звучит примерно как «ё* твою мать».



Почему такое название? Один из дико популярных интернет-мемов в китайском интернете — выражение ??? (цао ни ма, буквально «лошадка травяной грязи», см. словарь китайского сленга).



Юмор в том, что «цао ни ма» звучит в точности как китайское выражение «ё* твою мать», главное китайское ругательство, которое произносится точно так же, но записывается по-другому. По популярности этот мем сравнится, пожалуй, разве что с нашим «преведом», который в свое время знали практически все люди, общающиеся в интернете.



В языке программирования «Цао ни ма» допустимы лишь четыре лексемы, а все остальные символы рассматриваются как комментарии:



— ? (цао; «трава», звучит как «е***ь»);

— ? (ни; «грязь», звучит как «твою»);

— ? (ма; «лошадь», звучит как «мать»);

?? (хэсе; «речной краб», звучит как «гармонизировать», что на сленге означает «подвергнуть цензуре»). Означает конец программы.



Пример программы, выполняющей цикл от 1 до 10:


Текст программы Как звучит Что выполняет
?-? ??? ё* — ё* ё* твою мать Записать в стек единицу
?-?? ????????? мать — ё* ё* ё* твою ё* ё* ё* ё* твою твою мать Установить метку в этой точке
?-?? ё* — мать ё* Дублировать верхний элемент стека
??-?? твою мать — ё* твою Вывести текущее значение
?? ?????? ё* ё* ё* твою ё* твою ё* мать Поместить в стек 10 и символ перевода строки)
??-?? твою мать — ё* ё* Вывести новую строку
Продолжение примера программы на code.google.com.