В этой статье я расскажу о компоновке элементов интерфейса в PyGTK. Мы будем использовать дизайнер интерфейсов Glade и сделаем первое кросплатформенное приложение на PyGTK.
Никита @Softer
Linux admin, Web
Аудио микшер из двух и более звуковых карт на realtime Linux и Reaper
9 min
12KКогда играешь в группе, надо где-то репетировать. Попробуем дома собрать свой микшер с эффектами из того, что есть под рукой. А под рукой у меня есть 2-х ядерный компьютер с встроенной и 2-мя дополнительными аудиокартами, ESI Juli@ и C-Media CM8738. Итого 6 каналов на запись.
Если достаточно 2-х каналов, то можно дальше не читать, потому как 2 канала можно смикшировать через Reaper под Windows с asio4all (или родными драйверами), будет играть без проблем. Вся сложность начинается, когда хочется из 3-х карточек сделать одну виртуальную и многоканальную. Через asio4all запись одновременно 6-ти каналов на приемлемом уровне качества (даже для репетиций) не получилась (из-за разного clock source на карточках, а также из-за редких подтормаживаний), поэтому и пришлось идти таким нелёгким путём.
Если достаточно 2-х каналов, то можно дальше не читать, потому как 2 канала можно смикшировать через Reaper под Windows с asio4all (или родными драйверами), будет играть без проблем. Вся сложность начинается, когда хочется из 3-х карточек сделать одну виртуальную и многоканальную. Через asio4all запись одновременно 6-ти каналов на приемлемом уровне качества (даже для репетиций) не получилась (из-за разного clock source на карточках, а также из-за редких подтормаживаний), поэтому и пришлось идти таким нелёгким путём.
+32
Играем в Крестики-Нолики с Python и GTK
2 min
25KПредисловие
Новый блог GTK+ порадовал статьёй для начинающих и я решил попробовать что-то более простое, чем C++/C. Python оказался как нельзя кстати. Объём кода на Python для работы с GTK значительно меньше чем на C++, что не может не радовать.
PyGTK
PyGTK — биндинг библиотеки GTK для языка Python, PyGTK используется во многих открытых программах (например IM Gajim). Библиотека может быть очень интересна для Python программистов, поскольку проста в обращении и полностью скрывает реализацию GTK.
Под катом пример приложения.
+33
Fog computing
3 min
14K
Если вам кажется, что на картинке ничего не видно, то я отвечу, на картинке отчетливейшим образом изображен туман! ;) В связи с выходом из вынужденного захабренного молчания публикую свой небольшой футурологический очерк.
Ура! То, о чем так давно боялись спросить большевики, случилось! В след за облачными вычислениями сегодня мы открываем эпоху туманных (fog) вычислений!
Туманные вычисления — и звучит как-то туманно. Попробую в двух словах донести эту парадигму до читателя, невооруженного википедией и гуглом. Для вооруженных же придется сказать, что сие словосочетание уже было испохаблено одним из видов облачных вычислений, которые принципиально ни чем от них не отличаются.
+38
Могу ли я увидеть код?
2 min
5.7KTranslation

+168
IPv6 шлюз для локальной сети
10 min
58KДля проверки готовности локальной офисной сети к возможности перехода на протокол IPv6 мною был организован испытательный стенд на основе сервера с FreeBSD, являющийся шлюзом для доступа в IPv6 интернет и сервером популярных сетевых ресурсов (WEB, eMail, FTP). Выбор FreeBSD обусловлен наличием уже существующей виртуальной машины с этой системой. Далее я немного расскажу как всё было настроено (не в даваясь в теоретические подробности построения и адресации IPv6) и попытаюсь обрисовать ситуацию о готовности существующих систем и программ к использованию с IPv6 на примере тех сервисов, которые мне удалось протестировать, как со стороны клиента, так и со стороны сервера. Эксперименты активно проводились в период месяц «до» и месяц «после» «Дня IPv6» 8 июня 2011, поэтому сейчас ситуация с поддержкой в некоторых программах может измениться в лучшую сторону.
+43
NAT не firewall, повторим еще разок
2 min
70K
Посмотрите на рисунок. Вот так конфигурируется классический NAT на маршрутизаторе Cisco, допустим там больше ничего не сконфигурировано. А теперь ответьте сами себе на вопрос. Может ли при определенных условиях кто-либо обратиться извне на RDP порт (TCP 3389) супер секретного сервера 192.168.0.250 и попытаться подобать пароль к нему. Уточним, что сервер стоит одиноко в сети и никуда сам не обращается (имеется в виду, что на нем нет никаких троянов, автоматических обновлений и прочих прелестей).
Считаете — нет? Вспомним анекдот.
Лекция по филологии. Старый профессор рассказывает:
— В некоторых языках мира двойное отрицание означает согласие. В других, двойное отрицание так и остается отрицанием. Но, нет ни одного языка в мире, в котором двойное согласие означает отрицание. Голос с задней парты:
+136
Совместное владение и управление доменом
2 min
2.3KВ любом веб-проекте, домен играет ключевую роль и является одной из самых ценных вещей.
Если у стартапа больше одного владельца, то всегда поднимается неприятный вопрос на кого оформить домен, т.к. регистраторы доменов не предоставляют возможность заведения нескольких владельцев нормальным способом.
И сегодня, в информационную эру, даже большинство юристов не имеют представления о том, что есть домен, как его правильно оформить на предприятие, кто им должен управлять, и «где у него кнопка».
А еще этот вопрос стоит более остро на начальном этапе стартапа, где лишние расходы на предприятие ни к чему, что же в таком случае можно предпринять?
Как вариант, можно писать расписки, заключать договора и после, в случае необходимости, пытаться с этими документами отстаивать свои права в суде.
Но намного лучше изначально не терять контроль, собственно об этом я и расскажу далее.
В этой статье я хочу поделиться с вами личным опытом необычного решения данного вопроса, кому интересно — прошу под кат.
Если у стартапа больше одного владельца, то всегда поднимается неприятный вопрос на кого оформить домен, т.к. регистраторы доменов не предоставляют возможность заведения нескольких владельцев нормальным способом.
И сегодня, в информационную эру, даже большинство юристов не имеют представления о том, что есть домен, как его правильно оформить на предприятие, кто им должен управлять, и «где у него кнопка».
А еще этот вопрос стоит более остро на начальном этапе стартапа, где лишние расходы на предприятие ни к чему, что же в таком случае можно предпринять?
Как вариант, можно писать расписки, заключать договора и после, в случае необходимости, пытаться с этими документами отстаивать свои права в суде.
Но намного лучше изначально не терять контроль, собственно об этом я и расскажу далее.
В этой статье я хочу поделиться с вами личным опытом необычного решения данного вопроса, кому интересно — прошу под кат.
-10
qtpanel — ещё одна десктопная панель для Linux
2 min
11KДля начала, некоторые факты из мира десктопного линукса:
Не выдержав несовершенства мира,закрыл я очи написал я свою панель. Употреблять можно вместе с чем угодно, минздрав рекомендует Openbox.
Итак, скриншот:

- GNOME подхватил «планшетную болезнь». Количество фич стремительно уменьшается с каждым релизом, юзеры бегут в панике.
- KDE — толсто, медленно, глючно, некрасиво. За 2 года, что я слежу, просветления не наступило.
- Unity — мы хотели сделать, как у Apple, только не получилось.
- Xfce — состоит из уныния и говна мамонта. Разработчики слоупоки.
- LXDE — уныние и отчаяние.
Не выдержав несовершенства мира,
Итак, скриншот:

+53
Практический эпизод борьбы с DDoS
4 min
9.2KОдин юноша очень любил ругаться на тематическом ресурсе. И за это его регулярно банили. А один раз взяли, да и не разбанили.
Обиделся юноша, и решил отомстить. Поднакопил денег, взял да и заказал DDoS ресурса. Благо это в РФ не уголовно, к сожалению, наказуемое деяние.
DDoS, на который юноше удалось накопить, заключался в отсылке армией ботов одинаковых HTTP-запросов.
Как водится, для придирчивых админов не нашлось удовлетворительно выглядящих решений, которые бы просто читали HTTP-лог и выдавали наружу те адреса, которые надо банить.
Поэтому пришлось построить свой лунапарк, с этим самым и этими самыми. Камрад metakey справился написать собственно логику отнесения айпи в бан, а ваш покорный слуга — настроить всю оставшуюся обвязку.
Тем, кто (предпо)читает Хемингуэя в подлиннике, можно сразу отправляться сюда. Там и код тоже можно найти.
Обиделся юноша, и решил отомстить. Поднакопил денег, взял да и заказал DDoS ресурса. Благо это в РФ не уголовно, к сожалению, наказуемое деяние.
DDoS, на который юноше удалось накопить, заключался в отсылке армией ботов одинаковых HTTP-запросов.
Как водится, для придирчивых админов не нашлось удовлетворительно выглядящих решений, которые бы просто читали HTTP-лог и выдавали наружу те адреса, которые надо банить.
Поэтому пришлось построить свой лунапарк, с этим самым и этими самыми. Камрад metakey справился написать собственно логику отнесения айпи в бан, а ваш покорный слуга — настроить всю оставшуюся обвязку.
Тем, кто (предпо)читает Хемингуэя в подлиннике, можно сразу отправляться сюда. Там и код тоже можно найти.
+46
Трудности администрирования гостевых хотспотов (часть 1)
4 min
7KВ этой небольшой статье я расскажу как снять с себя головную боль по администрированию больших подсетей завязанных на раздачу интернета приходящим пользователям.
Основные инструменты:
Желающие узнать про всё написанное под кат, остальным хорошего просмотра остальных топиков.
Ссылка на вторую часть
Основные инструменты:
- Голова
- Еще раз голова
- Руки
- FreeBSD
- PF
- isc-dhcpd
- memcached
- perl
Желающие узнать про всё написанное под кат, остальным хорошего просмотра остальных топиков.
Ссылка на вторую часть
+21
Советы по сетевой оптимизации веб-сайта
5 min
37K
Оптимизация современного сайта состоит из многих различных аспектов. Все они носят ключевые значения для Вашего бизнеса. Что бы назвать сайт оптимизированным, он должен отвечать следующим требованиям:
– отвечать клиентским запросам как можно быстрее
– быть правильно сконструированным и простым в использовании
– иметь возможность быть использованным людьми с различными физическими недостатками
– иметь возможность быть использованным независимо от потребительского браузера
– быть легко находимым современными поисковыми машинами
Первый пункт из этих аспектов «отвечать клиентским запросам как можно быстрее», пожалуй, наиболее комплексный и трудно достижимый. Это означает, что если пользователь хочет загрузить данную страницу, или отправить некую форму, запрашиваемая страница должна быть как можно быстрее загружена в его браузер.
Быстрая загрузка страницы зависит как от оптимизации клиентского кода HTML / CSS / JavaScript, так и от работы сервера.
-3
Kendo UI — новейший UI-фреймворк от Telerik
2 min
84K
Предлагаю краткий обзор свежего UI-фреймворка от Telerik под названием Kendo UI.
Предыстория
Совсем недавно я размещал тикет в поддержке Telerik и спрашивал у них, можно ли использовать компоненты (в частности MVC) в приложении, написанном на Classic ASP.
Конечно, ответ огорчил.
+48
База GeoIP – страны и города, январь 2011
2 min
12KВышла в свет новая версия русскоязычной базы данных стран и городов. Основные изменения:
— для перевода названий городов использован API Карт Google (идея chernikov)
— для поиска по странам СНГ подключена база geobaza.ru (идея derketzer)
Результат этой работы доступен для свободного скачивания.
— для перевода названий городов использован API Карт Google (идея chernikov)
— для поиска по странам СНГ подключена база geobaza.ru (идея derketzer)
Результат этой работы доступен для свободного скачивания.
+85
Делаем приватный монитор из старого LCD монитора
2 min
983KTranslation

Вы наконец-то можете сделать кое-что со своим старым LCD монитором, который завалялся у Вас в гараже. Превратите его в шпионский монитор! Для всех вокруг он будет выглядеть просто белым экраном, но не для Вас, потому что у Вас будут специальные «волшебные» очки.
Всё что Вам нужно – это пара старых очков, нож для бумаги и растворитель для краски.
+1449
Долго ли умеючи, или массовый запуск серверов с минимумом трудозатрат
6 min
21K
Как развернуть несколько сотен серверов в географически удаленном дата-центре при отсутствии физического доступа к оборудованию? Как компания Badoo решает такую задачу?
Мы расскажем вам об этом на следующем примере.
Ниже пойдет речь о самом первом этапе конфигурирования серверного оборудования; о том, как быстро и в срок мы выполнили конкретную задачу, а не о написании оптимальных скриптов. В случае, если данная тема покажется вам интересной, мы с удовольствием расскажем и об установке ОС на сервера и настройке рабочего окружения, в чём тоже имеются свои тонкости.
+45
Резервное копирование для standalone *NIX-серверов. Эмулируем TimeMachine
7 min
7.2KДумаю никому из присутствующих не нужно объяснять важность резервного копирования.
Проблема в том, что из десятков готовых решений ни одно толком не удовлетворяет моим требованиям standalone *NIX-сервера на колокейшене.
Чего же хотелось от резервного копирования?
1) ежедневного полного бакапа всех данных. Никаких incremental-бакапов.
2) максимально быстрого восстановления отдельно взятого файла. Архиваторы (tar/gzip/bzip2/rar) отпадают
3) быстрого мониторинга «кто именно залил вчера на сервер 156Гб?!!!»
4) резервные копии хочется хранить максимально долго, насколько хватает свободного места на дисках.
5) хочется не заботиться об ручном удалении старых копий если место на диске всё-таки уже кончилось
Если в двух словах — то мне захотелось реализовать функционал MAC OS TimeMachine на Linux-сервере.
И я начал писать скрипт.
Проблема в том, что из десятков готовых решений ни одно толком не удовлетворяет моим требованиям standalone *NIX-сервера на колокейшене.
Чего же хотелось от резервного копирования?
1) ежедневного полного бакапа всех данных. Никаких incremental-бакапов.
2) максимально быстрого восстановления отдельно взятого файла. Архиваторы (tar/gzip/bzip2/rar) отпадают
3) быстрого мониторинга «кто именно залил вчера на сервер 156Гб?!!!»
4) резервные копии хочется хранить максимально долго, насколько хватает свободного места на дисках.
5) хочется не заботиться об ручном удалении старых копий если место на диске всё-таки уже кончилось
Если в двух словах — то мне захотелось реализовать функционал MAC OS TimeMachine на Linux-сервере.
И я начал писать скрипт.
+34
DOM-shim для всех браузеров включая IE < 8
4 min
12KДоброе время суток уважаемые хабражители.
Многие javascript-программисты сталкивались с не поддерживанием некоторых функций DOM JS API в некоторых браузерах (не будем показывать пальцем). Наверняка, многие знакомы с замечательными библиотеками es5-shim и DOM-shim для решения проблем совместимости между разными браузерами, а DOM-shim к тому же, «подтягивает» браузер до уровня DOM4.
В данной же статье я расскажу, как сделать DOM-shim в IE6 и IE7, чтобы навсегда забыть о существовании этих браузеров.
Многие javascript-программисты сталкивались с не поддерживанием некоторых функций DOM JS API в некоторых браузерах (не будем показывать пальцем). Наверняка, многие знакомы с замечательными библиотеками es5-shim и DOM-shim для решения проблем совместимости между разными браузерами, а DOM-shim к тому же, «подтягивает» браузер до уровня DOM4.
В данной же статье я расскажу, как сделать DOM-shim в IE6 и IE7, чтобы навсегда забыть о существовании этих браузеров.
+39
31 метод эффективного программирования под Android
5 min
24KДанная статья является переводом очень хорошего топика с форума Stack Overflow. Так как английский язык не является для меня родным, то какие-либо непонятные мне места я просто пропускал, что бы не разгневать тех, кто его действительно знает. Статья содержит список советов и рекомендаций для начинающих разработчиков под Android.
+115
Реалистичные тени при помощи CSS3 без использования изображений
7 min
143KПривет, Хабр!
Хочу поделиться замечательным мастер-классом по созданию реалистичных теней для блоков на чистом CSS, найденном на просторах рунета по адресу http://mainview.ru/css/realistichnye-teni-pri-pomoshhi-css3-bez-ispolzovaniya-izobrazhenij. Естественно, для того, чтобы примеры работали как надо, необходим браузер с поддержкой CSS3.

Хочу поделиться замечательным мастер-классом по созданию реалистичных теней для блоков на чистом CSS, найденном на просторах рунета по адресу http://mainview.ru/css/realistichnye-teni-pri-pomoshhi-css3-bez-ispolzovaniya-izobrazhenij. Естественно, для того, чтобы примеры работали как надо, необходим браузер с поддержкой CSS3.

+243
Information
- Rating
- Does not participate
- Location
- Украина
- Registered
- Activity