В этой заметке я опишу методы увеличения производительности линуксового маршрутизатора. Для меня эта тема стала актуальна, когда проходящий сетевой трафик через один линуксовый маршрутизатор стал достаточно высоким (>150 Мбит/с, > 50 Kpps). Маршрутизатор помимо роутинга еще занимается шейпированием и выступает в качестве файрволла.
Дмитрий @Gilberg
User
Автоматическая преднастроенная установка Ubuntu: isolinux и preseed
11 min
72K
В этой статье я расскажу, как создать на основе Ubuntu (а так же любых её модификаций, включая Ubuntu Sever) или Debian преднастроенную, автоматически устанавливающуюся систему. Разобравшись в описанном ниже весьма несложном материале вы сможете делать свои собственные сборки Ubuntu с необходимыми вам приложениями и настройками, которые будут способны устанавливаться в полностью автоматическом режиме как с диска, так и по сети. В итоге при желании вы сможете добиться того, что вам будет достаточно просто включить компьютер и пойти пить чай, чтобы вернувшись увидеть установленную и полностью настроенную под ваши запросы систему со всем необходимым вам для работы софтом.

+70
[Заметка] Кроссбраузерный text-overflow в 7 строках
2 min
2.3Kstyle.css
.habr span
{
display:block;
overflow:hidden;
white-space:nowrap;
width:100%;
-moz-binding:url("ellipsisxul.xml#ellipsis");
text-overflow:ellipsis;
-o-text-overflow:ellipsis;
}
+30
text-overflow в Firefox и все, все, все
9 min
15KМногие наверняка сталкивались с проблемой, когда какой-нибудь текст нужно выводить в одну строку. При этом текст может быть весьма длинным, а ширина блока, в котором этот текст находится, обычно ограничена, хотя бы тем же размером окна браузера. На эти случаи придумано свойство text-overflow, которое внесено в рекомендацию CSS3, а впервые было реализовано в IE6, очень давно. В случае использования этого свойства для блока, если его текст больше по ширине чем сам блок, то текст обрезается и в конце ставится многоточие. Хотя тут не все так просто, но вернемся к этому чуть позже.
С Internet Explorer'ом все понятно, что же относительно других браузеров? И хотя в настоящий момент из спецификации CSS3 свойство text-overflow исключено, Safari его поддерживает (по крайней мере, в 3-й версии), Opera тоже (с 9-й версии, правда называется свойство -o-overflow-text). А Firefox — нет, не поддерживает, и даже в 3-й версии не будет. Печально, но факт. Но может можно что-то сделать?
С Internet Explorer'ом все понятно, что же относительно других браузеров? И хотя в настоящий момент из спецификации CSS3 свойство text-overflow исключено, Safari его поддерживает (по крайней мере, в 3-й версии), Opera тоже (с 9-й версии, правда называется свойство -o-overflow-text). А Firefox — нет, не поддерживает, и даже в 3-й версии не будет. Печально, но факт. Но может можно что-то сделать?
+53
3D Console Renderer
6 min
14KНечем заняться? тогда может быть просто написать 3D Console Software Rendering?
Добро пожаловать под кат!

Добро пожаловать под кат!

+170
Linux HA на основе Pacemaker
5 min
126KВ своей предыдущей статье я вкратце коснулся темы создания High Availability решения на основе демона heartbeat. Однако, как выяснилось, что-то сложнее чем 2-х узловой кластер на нем делать не так уж удобно. Изучение проблемы вывело меня на след проекта Pacemaker. Его-то мы сейчас в кратце и рассмотрим.
+49
ICQ — платить за каждого пользователя альтернативного клиента?
2 min
1.8KСегодня в блоге Экслера появилась любопытная запись, откуда можно узнать об аппетитах нового владельца ICQ.
Как вы знаете, недавно компания DST (ныне — «Mail.ru Group») купила один из популярнейших сервисов — ICQ. Также под управлением компании находится ряд других популярных проектов, таких, как «Mail.ru» и «Одноклассники».
Так вот, данная контора продолжает давно начатую борьбу с альтернативными клиентами. Только если ранее AOL путем изменения протокола делала неработоспособными те или иные клиенты, то теперь владельцы службы начинают требовать с владельцев неофициальных клиентов денег за каждого пользователя.
Как вы знаете, недавно компания DST (ныне — «Mail.ru Group») купила один из популярнейших сервисов — ICQ. Также под управлением компании находится ряд других популярных проектов, таких, как «Mail.ru» и «Одноклассники».
Так вот, данная контора продолжает давно начатую борьбу с альтернативными клиентами. Только если ранее AOL путем изменения протокола делала неработоспособными те или иные клиенты, то теперь владельцы службы начинают требовать с владельцев неофициальных клиентов денег за каждого пользователя.
+132
Как создать вебсайт для мобильных устройств
3 min
65KСтили
User Agent
Один из способов включения стилей для мобильного устройства — это использование User Agent, которую получает сервер от клиента.
Этому может помочь набор скриптов: code.google.com/p/mobileesp, а также сервис от яндекса api.yandex.ru/detector
При работе с User Agent только одна проблема — это постоянно появляющиеся новые User Agent.
+123
Создание приложений на GTK+ с использованием среды Glade
10 min
47KДанный пост посвящен созданию приложений с использованием кроссплатформенной библиотеки GTK+. Ориентирован он в основном на новичков? поэтому какие-то вещи возможно для многих покажутся очень простыми и банальными, но я постарался максимально подробнее всё описать, чтобы было понятно для всех.
Немалым достоинством этой библиотеки является то, что она бесплатна для коммерческого использования. В интернете не так много документации и действительно качественных статей по работе с GTK+. В очень многих примерах интерфейс программы пишется «ручками», что порой очень неудобно. Я сам с этим столкнулся и довольно часто больше времени тратил на то, чтобы правильно расположить виджеты (объекты) на форме, в контейнеры, а не сосредоточиться на решении поставленной задачи.
Я продемонстрирую как можно очень быстро создать интерфейс для GTK+ с помощью приложения для визуального создания графических интерфейсов Glade и интегрировать его в вашу программу. Glade не является ни компилятором, ни отладчиком. Он позволяет лишь описать интерфейс и представить его в файлах XML-формата GladeXML.
Базовым интерфейсом для библиотеки GTK+ является язык C. Но я в данном примере буду ипользовать C++. Соответственно появятся небольшие особенности, о которых я обязательно расскажу. Дистрибутив Linux я использую Ubuntu 10.04.
Задача будет такая: написать небольшое приложение состоящее из холста, бокового меню (выбора того, что нарисовать на холсте), главного меню и строки состояния. При этом боковое меню и холст при изменении размера всего окна приложения должны оставаться постоянного размера. Но тот контейнер, в котором находится холст может изменять свой размер в зависмости от увеличения/уменьшения размеров главного окна. И при необходимости должны появляться полосы прокрутки.
Немалым достоинством этой библиотеки является то, что она бесплатна для коммерческого использования. В интернете не так много документации и действительно качественных статей по работе с GTK+. В очень многих примерах интерфейс программы пишется «ручками», что порой очень неудобно. Я сам с этим столкнулся и довольно часто больше времени тратил на то, чтобы правильно расположить виджеты (объекты) на форме, в контейнеры, а не сосредоточиться на решении поставленной задачи.
Я продемонстрирую как можно очень быстро создать интерфейс для GTK+ с помощью приложения для визуального создания графических интерфейсов Glade и интегрировать его в вашу программу. Glade не является ни компилятором, ни отладчиком. Он позволяет лишь описать интерфейс и представить его в файлах XML-формата GladeXML.
Базовым интерфейсом для библиотеки GTK+ является язык C. Но я в данном примере буду ипользовать C++. Соответственно появятся небольшие особенности, о которых я обязательно расскажу. Дистрибутив Linux я использую Ubuntu 10.04.
Задача будет такая: написать небольшое приложение состоящее из холста, бокового меню (выбора того, что нарисовать на холсте), главного меню и строки состояния. При этом боковое меню и холст при изменении размера всего окна приложения должны оставаться постоянного размера. Но тот контейнер, в котором находится холст может изменять свой размер в зависмости от увеличения/уменьшения размеров главного окна. И при необходимости должны появляться полосы прокрутки.
+50
Модерируемая коллекция кистей для GIMP
3 min
4.4KЗдравствуйте, хочу сегодня поведать вам об одном некоммерческом проекте.
Для тех, кто не в теме: существует опенсорсный графический редактор, который называется Gimp. Чтобы рассказать о нем, для простых людей был создан сайт, на котором были размещены уроки и описания этого редактора. Но речь пойдет не о самом сайте.
Редактор использует свой формат кистей. Пришла мысль о создании каталога, в котором можно было бы искать нужные кисти и быстро их скачивать.
В чем плюсы проекта для пользователей:
Для тех, кто не в теме: существует опенсорсный графический редактор, который называется Gimp. Чтобы рассказать о нем, для простых людей был создан сайт, на котором были размещены уроки и описания этого редактора. Но речь пойдет не о самом сайте.
Редактор использует свой формат кистей. Пришла мысль о создании каталога, в котором можно было бы искать нужные кисти и быстро их скачивать.
В чем плюсы проекта для пользователей:
- Отказ от системы «пакетов кистей». Человек будет скачивать только те кисти, которые ему интересны.
- Подбор кистей по фильтрам и ключевым словам. То, что будет реализовано в GIMP 2.8 мы попытались реализовать на страницах сайта.
- Удобный просмотр кистей. Пользователь видит кисть перед скачиванием. Может изменить цвет кисти и посмотреть ее в полном размере.
- Перед скачиванием пользователь может опробовать кисть в действии. Порисовать ей в специальном графическом редакторе.
- Скачивание со страниц сайта. Никаких тебе турбобитов, летитбитов и других файлообменников.
- Рейтинг кистей. Сортировка кистей по качеству. Мы видим сколько раз кисть просмотрели, сколько раз ее скачали (показатель отказов), сколько раз ей подняли (в будущем и опустили) рейтинг. И в зависимости от этого, сортировать кисти по их качеству, а не дате добавления.
+49
Перенаправление функций в разделяемых ELF-библиотеках
22 min
36K
Кстати, нетерпеливые могут все скачать и попробовать прямо сейчас.
+69
Build Your First PHP for Android Application
5 min
34KTranslation
Операционная система Android повергла рынок сматрфонов в шок :). В отличии от компании Apple, которая предъявляет достаточно строгие требования к разработчикам, которые хотят выставлять свои приложения в iPhone App Store, Google создал платформу Android открытой (в оригинале wide open). В настоящее время вы можете писать приложения PHP. Парни из Irontech создали необходимое, и используя Scripting Layer для Android (SL4A), вы можете создавать на PHP приложения для Android.
+50
Рабочий метод разрыва конкретного активного соединения из командной строки linux (drop/kill/cut/close ESTABLISHED connection)
1 min
42KИногда бывает необходимо принудительно разорвать активное соединение. Самый распространенный способ:
Проблема в том, что один воркер может одновременно обслуживать несколько соединений, поэтому правильнее будет убить соединение а не воркер. Для этого на многих форумах рекомендуют использовать tcpkilll, cutter или awk+hping3. Однако, хоть эти утилиты и находятся в официальных репозиториях, мне не удалось заставить их разрывать соединения.
После продолжительных поисков был обнаружен perl скрипт killcx, разрывающий соединение по удаленному хосту и порту.
netstat -na
kill PID
Проблема в том, что один воркер может одновременно обслуживать несколько соединений, поэтому правильнее будет убить соединение а не воркер. Для этого на многих форумах рекомендуют использовать tcpkilll, cutter или awk+hping3. Однако, хоть эти утилиты и находятся в официальных репозиториях, мне не удалось заставить их разрывать соединения.
После продолжительных поисков был обнаружен perl скрипт killcx, разрывающий соединение по удаленному хосту и порту.
killcx 94.133.119.242:4403
+31
+29
Xen Cloud Platform в условиях предприятия [1]
8 min
12KСреди всех энтерпрайзнутых систем виртуализации XCP единственная бесплатная и свободная. История XCP уходит в XenServer, который хоть и основывался на опенсорсном гипервизоре, но был вполне себе платным софтом. Цирикс опубликовала код XenServer под свободной лицензией и с этих пор XenServer начал плавно превращаться в Xen Cloud Platform.
В этом цикле статей я расскажу о том, как применять XCP в условиях единого административного центра, когда виртуальные машины и инфраструктура виртуализации управляется одной и той же организацией (т.е. о типичном сценарии с виртуализацией серверов предприятия). В этих статьях будет мало примеров и ключей командной строки (administration guide на сайте цирикса вполне опубликован), вместо этого я буду рассказывать про понятия, термины и взаимоотношения объектов.
С пользовательской точки зрения основным различием между обычным зеном (в составе большинства ОС) и XCP является процесс установки и количество добработок до запуска в продакт. XCP поставляется в виде ISO'шки с готовой ОС для dom0 (CentOS), адаптированной для обслуживания гипервизора и обеспечения работы хостов в облаке. Xen же обычно идёт в виде hypervisor + utils, подразумевается, что всё остальное человек создаст сам. Ещё некоторым бонусом для тех, кому приходится соприкасаться с продукцией Microsoft, являются подписанные драйвера для Windows (их с некоторыми ухищрениями можно установить и в зене, но в XCP они являются родными).
XCP — относительно своеобразная платформа. Она не «закрыта» в том смысле, как закрыт, например, hyper-v, но идёт в виде готовой ОС, многие аспекты конфигурации которой контролируются средствами платформы, а не ОС. Например, сеть: можно повесить ip-адрес на любой интерфейс ifconfig'ом, но последствия этого будут печальные — следует использовать инструментарий платформы для управления сетями и интерфейсами.
XCP состоит из нескольких компонент: xen, xapi, open vswitch, xe cli, stunnel, sqeezed обеспечивающих разные аспекты работы системы.
В начале о системных требованиях:
В этом цикле статей я расскажу о том, как применять XCP в условиях единого административного центра, когда виртуальные машины и инфраструктура виртуализации управляется одной и той же организацией (т.е. о типичном сценарии с виртуализацией серверов предприятия). В этих статьях будет мало примеров и ключей командной строки (administration guide на сайте цирикса вполне опубликован), вместо этого я буду рассказывать про понятия, термины и взаимоотношения объектов.
С пользовательской точки зрения основным различием между обычным зеном (в составе большинства ОС) и XCP является процесс установки и количество добработок до запуска в продакт. XCP поставляется в виде ISO'шки с готовой ОС для dom0 (CentOS), адаптированной для обслуживания гипервизора и обеспечения работы хостов в облаке. Xen же обычно идёт в виде hypervisor + utils, подразумевается, что всё остальное человек создаст сам. Ещё некоторым бонусом для тех, кому приходится соприкасаться с продукцией Microsoft, являются подписанные драйвера для Windows (их с некоторыми ухищрениями можно установить и в зене, но в XCP они являются родными).
XCP — относительно своеобразная платформа. Она не «закрыта» в том смысле, как закрыт, например, hyper-v, но идёт в виде готовой ОС, многие аспекты конфигурации которой контролируются средствами платформы, а не ОС. Например, сеть: можно повесить ip-адрес на любой интерфейс ifconfig'ом, но последствия этого будут печальные — следует использовать инструментарий платформы для управления сетями и интерфейсами.
XCP состоит из нескольких компонент: xen, xapi, open vswitch, xe cli, stunnel, sqeezed обеспечивающих разные аспекты работы системы.
В начале о системных требованиях:
+30
Балансировка нагрузки с LVS
6 min
103KИтак, у вас есть нагруженный сервер и вам вдруг захотелось его разгрузить. Вы поставили и залили такой же (такие же), но пользователи упорно ходят на первый. В этом случае конечно же нужно задуматься о балансировке нагрузки.
+77
Впечатляющие анимационные эффекты
2 min
115KTranslation
С появлением jQuery, у веб-программистов появилась возможность создавать впечатляющие визуальные эффекты, не прибегая к использованию технологии flash. В данной статье представлено несколько ярких примеров того, каких потрясающих результатов можно достичь, используя стандартные средства браузера и свое воображение.
+230
Мгновенная отправка ссылок, карт и телефонных номеров на Android с помощью расширения Chrome to Phone
2 min
13KTranslation
Дейв Бёрке (Dave Burke), менеджер по разработке программного обеспечения
Вам когда-нибудь хотелось быстро переслать ссылки или другую информацию с вашего компьютера или ноутбука на мобильный телефон? Теперь при установке расширения Chrome to Phone, в браузере Google Chrome появится специальная кнопка, с помощью которой вы сможете мгновенно переслать веб-страницу, фрагмент карты, видео с YouTube, телефонный номер или текст на ваш телефон, работающий на ОС Android 2.2 (aka Froyo).
Предположим, у вас важная встреча и вы не успеваете дочитать интересную статью на любимом новостном сайте. Просто нажмите кнопку Chrome to Phone в вашем браузере, чтобы отправить ссылку на телефон. Браузер телефона автоматически откроет ссылку, и вы сможете продолжить чтение.
Это расширение отлично работает с Картами Google. Например, вы нашли нужный дом на карте и проложили к нему маршрут. С помощью функции Chrome to Phone вы моментально получите доступ к этой информации уже на мобильной версии картографического сервиса Google. То же самое можно сделать и с видеороликами YouTube. Кроме того, если вы хотите позвонить по номеру телефона, найденному на веб-странице, просто выделите его и воспользуйтесь кнопкой Chrome to Phone в браузере Chrome – система сама отправит номер на ваш мобильный телефон, и вам останется только нажать кнопку вызова. Вы также можете автоматически скопировать любой текст из браузера компьютера в буфер обмена телефона на базе Android и просмотреть его уже на телефоне.
С сегодняшнего дня расширение Chrome to Phone доступно на русском языке. Более подробную информацию вы найдете в справочном центре.
Для начала работы с Chrome to Phone установите расширение в браузере Google Chrome на компьютере и специальное приложение на мобильном телефоне, работающем на OC Android 2.2. Теперь все готово!

Вам когда-нибудь хотелось быстро переслать ссылки или другую информацию с вашего компьютера или ноутбука на мобильный телефон? Теперь при установке расширения Chrome to Phone, в браузере Google Chrome появится специальная кнопка, с помощью которой вы сможете мгновенно переслать веб-страницу, фрагмент карты, видео с YouTube, телефонный номер или текст на ваш телефон, работающий на ОС Android 2.2 (aka Froyo).
Предположим, у вас важная встреча и вы не успеваете дочитать интересную статью на любимом новостном сайте. Просто нажмите кнопку Chrome to Phone в вашем браузере, чтобы отправить ссылку на телефон. Браузер телефона автоматически откроет ссылку, и вы сможете продолжить чтение.
Это расширение отлично работает с Картами Google. Например, вы нашли нужный дом на карте и проложили к нему маршрут. С помощью функции Chrome to Phone вы моментально получите доступ к этой информации уже на мобильной версии картографического сервиса Google. То же самое можно сделать и с видеороликами YouTube. Кроме того, если вы хотите позвонить по номеру телефона, найденному на веб-странице, просто выделите его и воспользуйтесь кнопкой Chrome to Phone в браузере Chrome – система сама отправит номер на ваш мобильный телефон, и вам останется только нажать кнопку вызова. Вы также можете автоматически скопировать любой текст из браузера компьютера в буфер обмена телефона на базе Android и просмотреть его уже на телефоне.
С сегодняшнего дня расширение Chrome to Phone доступно на русском языке. Более подробную информацию вы найдете в справочном центре.
Для начала работы с Chrome to Phone установите расширение в браузере Google Chrome на компьютере и специальное приложение на мобильном телефоне, работающем на OC Android 2.2. Теперь все готово!

+27
HTML5 для веб-дизайнеров. Часть 1: Краткая история языка разметки
7 min
14KTranslation
HTML5 для веб-дизайнеров
- Краткая история языка разметки
- Модель HTML5
- Мультимедиа
- Формы 2.0
- Семантика
- HTML5 и современные условия
HTML — язык, объединяющий всемирную сеть. Всего лишь посредством набора простых тегов, человечеству удалось создать несравнимую ни с чем по своим масштабам систему связанных между собой страниц и веб-узлов: от Amazon, eBay и Википедии, до личных блогов и сайтов, посвященных котам, похожим на Гитлера.
HTML5 — свежайшая версия этого языка. Но несмотря на то, что она собирается принести с собой значительные изменения и новые возможности, нельзя сказать, что подобное происходит впервые и до этого язык никак не развивался. Развивался и постоянно улучшался, причем с самого своего появления.
Как и всемирная сеть вообще, HTML — язык разметки гипертекста (HyperText Mark-up Language) — является детищем сэра Тима Берненс-Ли (Sir Tim Berners-Lee). В 1991 году он написал работу, озаглавленную «HTML Tags», в которой описал чуть меньше двух дюжин тегов, предложенных им для разметки веб-страниц.
Идея использовать для этого кодовые слова внутри треугольных скобок, впрочем, не принадлежит сэру Тиму. Такая система на тот момент уже существовала и использовалась в SGML (Standard Generalised Markup Language, стандартный обобщённый язык разметки), и вместо того, чтобы изобретать что-то с нуля, сэр Тим посчитал более рациональным взять за основу уже существующие решения. Аналогичный подход применялся и вообще на всем пути к HTML5 в процессах разработки.
+73
База изображений в любых форматах и разрешениях
3 min
4.5Kзаказчик: Пусть аватарки пользователей у нас будут в 50×50 и 100×100, в JPEG
разработчик: Готово
заказчик: Надо переделать, чтобы аватарки были в PNG
разработчик: Сделал
заказчик: Пусть аватарки будут в GIF, 25×25 и 40×40
разработчик: Ага, проверяй
заказчик: Уже? Как ты это так быстро делаешь???
разработчик: …
разработчик: Готово
заказчик: Надо переделать, чтобы аватарки были в PNG
разработчик: Сделал
заказчик: Пусть аватарки будут в GIF, 25×25 и 40×40
разработчик: Ага, проверяй
заказчик: Уже? Как ты это так быстро делаешь???
разработчик: …
+123
Information
- Rating
- Does not participate
- Location
- Воронеж, Воронежская обл., Россия
- Date of birth
- Registered
- Activity