Robot Operating System это фреймворк который позволяет эффективно программировать современных роботов.
User
Советский центр управления полетами времен «Востоков» и «Восходов»
8 min
39KНаписать эту статью меня побудила вот эта фраза Филиппа Терехова из его обзора фильма «Время Первых»:
«Отдельная интересная история с Центром управления полетами, как он показан в фильме. Увы, но красивая картинка выше представляет собой копию американского ЦУПа…Внутренняя организация помещений была настолько секретной, что на фото и видео сейчас можно найти разве что имитацию для фильмов».
Замечание было верным, лично мне тоже очень хотелось узнать, как выглядел наш ЦУП времен первых пилотируемых полетов.И мне это все-таки удалось.
+138
Написание сообщений в Google Buzz из Jabber
1 min
546Данный Python-скрипт представляет собой простенького jabber-бота, пересылающего присланные ему сообщения в Google Buzz. Для тех, кому интересна эта возможность, подробности под катом.
+6
Уведомление о новых письмах в jabber
2 min
623В gtalk есть приятная опция оповещения пользователся о новых письмах, но поскольку я пользуюсь другим jabber-сервером, подумалось, что было бы удобно замутить такую фичу и себе. Может я конечно плохо смотрел, и в gmail есть такая возможность, но я её не нашел и написал небольшой скриптик, который повесил в cron. И теперь он радостно меня оповещает о новых письмах каждые 15 минут, если конечно таковые письма имеются.
Для работы с jabber использовал библиотеку XMPPHP.
Для работы с jabber использовал библиотеку XMPPHP.
+9
Собеседуем руководителя проектов
6 min
67KСразу хотелось бы определиться с некоторыми понятиям, дабы никого не провоцировать на полемику из-за недопонимания ключевых моментов. Так же хочу предупредить, что это не руководство к действию и не пособие, а всего лишь рассказ в стиле «как это делают другие».
Для меня руководитель проекта (проектов) – это человек, прежде всего имеющий глубокое понимание предметной области, в нашем случае интернет разработки, имеющий опыт самостоятельной разработки, находящийся в курсе технологических и бизнес тенденций на рынке. Равноценно вышеупомянутым качествам – умение общаться и находить общий язык с совершенно разного типа людьми. Знания РП должны лежать не только в плоскости разработки, но так же и в прототипировании интерфейсов, и в дизайне, и в интернет-маркетинге.
Для меня руководитель проекта (проектов) – это человек, прежде всего имеющий глубокое понимание предметной области, в нашем случае интернет разработки, имеющий опыт самостоятельной разработки, находящийся в курсе технологических и бизнес тенденций на рынке. Равноценно вышеупомянутым качествам – умение общаться и находить общий язык с совершенно разного типа людьми. Знания РП должны лежать не только в плоскости разработки, но так же и в прототипировании интерфейсов, и в дизайне, и в интернет-маркетинге.
+65
Курс молодого бойца cisco: защищаем периметр маршрутизатором
4 min
61KНе претендуя на полноту изложения, попробую описать технологии, которыми можно воспользоваться для защиты периметра.
Рассматривать будем IOS с firewall feature set. Этот набор возможностей, как правило, есть во всех IOSах (в которых есть шифрование), кроме самого базового.
Итак, пусть на границе нашей сети стоит машрутизатор cisco, который и призван обеспечивать безопасность наших внутренних ресурсов.
Защищаем трафик.
Рассматривать будем IOS с firewall feature set. Этот набор возможностей, как правило, есть во всех IOSах (в которых есть шифрование), кроме самого базового.
Итак, пусть на границе нашей сети стоит машрутизатор cisco, который и призван обеспечивать безопасность наших внутренних ресурсов.
Защищаем трафик.
+20
Курс молодого бойца: защищаемся маршрутизатором. Продолжение: IPS
5 min
31KСистема предотвращения вторжений (Intrusion Prevention System, IPS).
Вообще линейка продуктов по системе предотвращения вторжений у компании cisco довольно широкая. Туда входят отдельно стоящие сенсоры IPS серии 42ХХ, модуль в 6500 — IDSM2, модуль в ASA — AIP-SSM, модуль в маршрутизатор (ISR) — NME-IPS, «карточка» в ISR — AIM-IPS. Ту же идеологию циска старается привнести и в софтовые решения на базе ISR, добавляя в IOS соответсвующий функционал.
Вся идеология обнаружения и предотвращения вторжений основана на понятии сигнатуры. Сигнатура по сути шаблон «неправильности» в одном пакете или потоке.
«Неправильности» бывают разные, начиная от типичных методов разведки и заканчивая сетевыми червями. Эти шаблоны старательно пишутся программистами циски и доходят до пользователя в виде обновлений. Т.е. система реактивна по своей сути и основана на постоянных обновлениях, что стоит денег. Лицензии на обновления привязываются к каждой железке непосредственно. Без лицензии можно менять ОС, но нельзя накатить обновления сигнатур.
Немного истории систем обнаружения и предотвращения вторжений на базе маршрутизаторов.
Вообще линейка продуктов по системе предотвращения вторжений у компании cisco довольно широкая. Туда входят отдельно стоящие сенсоры IPS серии 42ХХ, модуль в 6500 — IDSM2, модуль в ASA — AIP-SSM, модуль в маршрутизатор (ISR) — NME-IPS, «карточка» в ISR — AIM-IPS. Ту же идеологию циска старается привнести и в софтовые решения на базе ISR, добавляя в IOS соответсвующий функционал.
Вся идеология обнаружения и предотвращения вторжений основана на понятии сигнатуры. Сигнатура по сути шаблон «неправильности» в одном пакете или потоке.
«Неправильности» бывают разные, начиная от типичных методов разведки и заканчивая сетевыми червями. Эти шаблоны старательно пишутся программистами циски и доходят до пользователя в виде обновлений. Т.е. система реактивна по своей сути и основана на постоянных обновлениях, что стоит денег. Лицензии на обновления привязываются к каждой железке непосредственно. Без лицензии можно менять ОС, но нельзя накатить обновления сигнатур.
Немного истории систем обнаружения и предотвращения вторжений на базе маршрутизаторов.
+5
Курс молодого бойца: защищаемся маршрутизатором. Продолжение: NBAR
2 min
23KНа многих маршрутизаторах, даже в базовом IOS есть довольно удобная и наглядная цискина технология: Network-Based Application Recognition (NBAR). При помощи неё маршрутизатор может распознать различные протоколы и приложения и при необходимости использовать эти знания для реализации качества обслуживания (QoS)
Каким же образом маршрутизатор может выделить из трафика различные протоколы?
Каким же образом маршрутизатор может выделить из трафика различные протоколы?
+4
Защищаемся маршрутизатором: QoS
11 min
187KQoS — тема большая. Прежде чем рассказывать про тонкости настроек и различные подходы в применении правил обработки трафика, имеет смысл напомнить, что такое вообще QoS.
Quality of Service (QoS) — технология предоставления различным классам трафика различных приоритетов в обслуживании.
Во-первых, легко понять, что любая приоритезация имеет смысл только в том случае, когда возникает очередь на обслуживание. Именно там, в очереди, можно «проскользнуть» первым, используя своё право.
Очередь же образуется там, где узко (обычно такие места называются «бутылочным горлышком», bottle-neck). Типичное «горлышко» — выход в Интернет офиса, где компьютеры, подключенные к сети как минимум на скорости 100 Мбит/сек, все используют канал к провайдеру, который редко превышает 100 МБит/сек, а часто составляет мизерные 1-2-10МБит/сек. На всех.
Во-вторых, QoS не панацея: если «горлышко» уж слишком узкое, то часто переполняется физический буфер интерфейса, куда помещаются все пакеты, собирающиеся выйти через этот интерфейс. И тогда новопришедшие пакеты будут уничтожены, даже если они сверхнужные. Поэтому, если очередь на интерфейсе в среднем превышает 20% от максимального своего размера (на маршрутизаторах cisco максимальный размер очереди составляет как правило 128-256 пакетов), есть повод крепко задуматься над дизайном своей сети, проложить дополнительные маршруты или расширить полосу до провайдера.
Разберемся с составными элементами технологии
(дальше под катом, много)
Quality of Service (QoS) — технология предоставления различным классам трафика различных приоритетов в обслуживании.
Во-первых, легко понять, что любая приоритезация имеет смысл только в том случае, когда возникает очередь на обслуживание. Именно там, в очереди, можно «проскользнуть» первым, используя своё право.
Очередь же образуется там, где узко (обычно такие места называются «бутылочным горлышком», bottle-neck). Типичное «горлышко» — выход в Интернет офиса, где компьютеры, подключенные к сети как минимум на скорости 100 Мбит/сек, все используют канал к провайдеру, который редко превышает 100 МБит/сек, а часто составляет мизерные 1-2-10МБит/сек. На всех.
Во-вторых, QoS не панацея: если «горлышко» уж слишком узкое, то часто переполняется физический буфер интерфейса, куда помещаются все пакеты, собирающиеся выйти через этот интерфейс. И тогда новопришедшие пакеты будут уничтожены, даже если они сверхнужные. Поэтому, если очередь на интерфейсе в среднем превышает 20% от максимального своего размера (на маршрутизаторах cisco максимальный размер очереди составляет как правило 128-256 пакетов), есть повод крепко задуматься над дизайном своей сети, проложить дополнительные маршруты или расширить полосу до провайдера.
Разберемся с составными элементами технологии
(дальше под катом, много)
+28
Кто занял канал?
2 min
36KПо мотивам хитростей.
Часто бывает, что канал загружен, а кем — неизвестно. В этом случае помогает команда
Часто бывает, что канал загружен, а кем — неизвестно. В этом случае помогает команда
sh ip cache flow
+5
Инфраструктура современного офиса — 2
8 min
18KDisclaimer: я не претендую на всю глубину изложения. Я принципиально опускаю моменты, требующие глубокого погружения в предмет, поскольку этот цикл статей не является энциклопедией инфраструктурщика. Кому надо больше — задавайте вопросы или ходите в ваш любимый поисковик :) Да, я лично готов ответить на все вопросы по существу. :)
Да, эта статья — продолжение цикла про организацию инфраструктуры современного офиса. Начало — здесь. Подоспело продолжение про телефонию, wi-fi и планирование провайдерских вводов
Как и в прошлый раз, при написании этой статьи я осознаю, что планка по объему материала взята слишком высоко — поэтому, в этот раз остановимся на вопросах организации СКС и общих аспектах организации сети (ЛВС). В следующий раз, стало быть, дойдем до беспроводных решений, телефонии и организации внешних вводов. В качестве необъявленного ранее бонус-трека последует отдельная статья о типовых решениях построения сети на оборудовании Allied Telesis.
Для специалиста по ИТ структурированная кабельная система является, по сути, базисом для всех систем, обеспечивающих функционирование офиса с точки зрения информационных технологий. Сама по себе СКС — совокупность пассивного коммутационного оборудования, обеспечивающего физическую взаимосвязь между геометрически распределенными элементами офиса. В состав СКС входит, в общем случае, следующее:
В настоящее время, СКС регламентируется рядом стандартов:
В общем случае, проект вашей СКС должен соответствовать как минимум одному из указанных стандартов. К слову, наиболее употребимые формулировки категорий СКС — «5», «5e», «6» определены в американском стандарте. Если вы не подключены к интернет по WiFi, посмотрите на маркировку кабеля, который соединяет ваш компьютер с сетевой розеткой на стене — скорее всего, там будет присутствовать либо «5e», либо «6». По большому счету, от категории СКС зависит только теоретическая скорость передачи данных по кабелям, но об этом — чуть ниже.
Да, эта статья — продолжение цикла про организацию инфраструктуры современного офиса. Начало — здесь. Подоспело продолжение про телефонию, wi-fi и планирование провайдерских вводов
Как и в прошлый раз, при написании этой статьи я осознаю, что планка по объему материала взята слишком высоко — поэтому, в этот раз остановимся на вопросах организации СКС и общих аспектах организации сети (ЛВС). В следующий раз, стало быть, дойдем до беспроводных решений, телефонии и организации внешних вводов. В качестве необъявленного ранее бонус-трека последует отдельная статья о типовых решениях построения сети на оборудовании Allied Telesis.
СКС
Для специалиста по ИТ структурированная кабельная система является, по сути, базисом для всех систем, обеспечивающих функционирование офиса с точки зрения информационных технологий. Сама по себе СКС — совокупность пассивного коммутационного оборудования, обеспечивающего физическую взаимосвязь между геометрически распределенными элементами офиса. В состав СКС входит, в общем случае, следующее:
- Кабельная продукция (витая пара, оптические кабели, коаксиальные кабели)
- Коммутационные и кроссовые панели (патч-панели, плинты, муфты)
- Оконечные (со стороны пользователя) устройства — всевозможные розетки и разъемы. Сюда же, кстати, стоит отнести и патч-корды, соединяющие вышеуказанные розетки непосредственно с клиентским оборудованием.
В настоящее время, СКС регламентируется рядом стандартов:
- EIA/TIA-568В Commercial Building Telecommunications Wiring Standard (американский стандарт)
- ISO/IEC IS 11801 Information Technology. Generic cabling for customer premises (международный стандарт)
- CENELEC EN 50173 Information Technology. Generic cabling systems (европейский стандарт)
В общем случае, проект вашей СКС должен соответствовать как минимум одному из указанных стандартов. К слову, наиболее употребимые формулировки категорий СКС — «5», «5e», «6» определены в американском стандарте. Если вы не подключены к интернет по WiFi, посмотрите на маркировку кабеля, который соединяет ваш компьютер с сетевой розеткой на стене — скорее всего, там будет присутствовать либо «5e», либо «6». По большому счету, от категории СКС зависит только теоретическая скорость передачи данных по кабелям, но об этом — чуть ниже.
А почему, кстати, сразу не воткнуть кабели в свитч — спросит въедливый читатель..
+67
Визуальный PHP-рефлектор
1 min
1.3KПредставляю вниманию общественности визуальный PHP-рефлектор.
Скрипт индексирует все .php-файлы в указанной директории, кэширует информацию о найденных классах. Разбор .php файлов осуществляется с помощью Tokenizer. Кэшируются имена найденных классов, кэшируется сопоставление имя файла — класс для последующего использования в автолоадере.
Список классов представляется в виде дерева. Для каждого класса доступен список методов, свойств. Доступен просмотре базового класса и имплементированных интерфейсов. Данные о «составе» классов получаются на ходу через PHP reflection API. Данные подгружаются через AJAX.
Интерфейс выполнен на ExtJS. Этим обусловлена поддержка браузеров — работает в IE6+, FF1.5+, Safari 3+, Opera 9+ (PC, Mac)
Посмотреть PHPReflector в действии.
UPD: Исходники
Теперь Ext с минимальным набором компонентов подгружается из внешних источников через CDN (CacheFly)
Планы на будущее:
- Причесать исходники;
- Сделать поиск;
- Сделать отображение не только базовых классов, но и классов, наследованных от данного;
- Отображение DocBlock'ов для классов, методов, свойств
- UPD: Добавить отображение штатных классов PHP
+36
GoogleTalk, part III (calls, VoIP & SIP)
5 min
3.1KПродолжаем экзекуцию нашего подопечного. Часть III.
(см. также часть I и часть II)
Сегодня мы поговорим о голосовых функциях GoogleTalk. Сразу после установки софтины и добавления контактов либо автоматически из гмэйловского ящика, либо вручную с помощью меню Add... мы имеем следующие возможности:
По умолчанию, первые три пункта работают только в том случае, если у нашего корреспондента также установлен GTalk либо (в случае отправки голосовых сообщений) он является пользователем Gmail. Таким образом мы имеем прекрасные, но несколько ограниченные возможности. Рассмотрим поподробнее именно голосовые функции.
(см. также часть I и часть II)
Сегодня мы поговорим о голосовых функциях GoogleTalk. Сразу после установки софтины и добавления контактов либо автоматически из гмэйловского ящика, либо вручную с помощью меню Add... мы имеем следующие возможности:
- посылать нашим контактом голосовые сообщения (голосовая почта)
- звонить таким же, как мы сами, пользователям GTalk
- отправлять им файлы
- отправлять им письма
- отправлять сообщения
По умолчанию, первые три пункта работают только в том случае, если у нашего корреспондента также установлен GTalk либо (в случае отправки голосовых сообщений) он является пользователем Gmail. Таким образом мы имеем прекрасные, но несколько ограниченные возможности. Рассмотрим поподробнее именно голосовые функции.
+39
GoogleTalk, part II (ICQ transports & some tips)
3 min
994В предыдущей части я начал рассказывать про попытку миграции с одного IM-клиента на другой, а именно с Pidgin на GoogleTalk (написание происходило одновременно с изучением предмета).
Что ж, принимаю поздравления, миграция успешно удалась!
Если помните, оставались нерешёнными всего несколько проблем:
Приступим:
Вчера прикрутить аську в десктопной версии GTalk'а простым каким-нибудь способом не удалось и я решил пойти на эксперимент. Общаться в асе прямо через вебморду гмэйла. Эксперимент закончился практически так и не успев начаться — юзеры мои сообщения получали нормально, а вот я, в основном, видел их ответы в форме некрасивых кракозяблов. Т.е. то ли что-то не срослось, то ли еще чего, но с такими кодировками особенно не поживёшь.
Но отступать не хотелось и решено было заюзать упоминаемые вчера костыли в виде Psi и jabber-транспортов. Всё оказалось не так страшно, хоть и немного муторно.
Что ж, принимаю поздравления, миграция успешно удалась!
Если помните, оставались нерешёнными всего несколько проблем:
- ICQ/AIM интеграция, т.е. как научить GTalk общаться с ICQ-контактами
- создание «несколькострочных» сообщений, т.е. как выполнить возврат каретки не отправляя сообщение.
- раздельно изменять размеры шрифта в ростере и в окне беседы
Приступим:
ICQ/AIM
Вчера прикрутить аську в десктопной версии GTalk'а простым каким-нибудь способом не удалось и я решил пойти на эксперимент. Общаться в асе прямо через вебморду гмэйла. Эксперимент закончился практически так и не успев начаться — юзеры мои сообщения получали нормально, а вот я, в основном, видел их ответы в форме некрасивых кракозяблов. Т.е. то ли что-то не срослось, то ли еще чего, но с такими кодировками особенно не поживёшь.
Но отступать не хотелось и решено было заюзать упоминаемые вчера костыли в виде Psi и jabber-транспортов. Всё оказалось не так страшно, хоть и немного муторно.
+27
GoogleTalk, part I (first steps, general setup)
3 min
749Несколько лет подряд в качестве IM-клиента я использовал мультипротокольный и мультиплатформенный Pidgin и особо горя не знал. Софтина постоянно развивалась, исправлялись баги, добавлялись новые фичи, все меньше надо было плясать с бубном при настройке под себя.
Но последние несколько релизов приносят сплошные разочарования, накапливаются мелкие глючки, не устраивают некоторые фичи и т.п. Я раздражаюсь. Тем не менее, для себя альтернативы до сих пор не видел (миранды и прочие qip'ы отметаются как класс — ну не нравятся они мне!). Да и полная миграция на Linux/MacOS отложилась на неопределенно долгий срок. Так что надо было волевым решением сделать себе жизнь под Windows поприятнее.
Года полтора-два назад я уже смотрел в сторону GTalk'a, но тогда он показался мне уж слишком убогим. На сегодняшний день ситуация внешне особо не изменилась, но, тем не менее, выглядит он теперь более «доработанным напильником».
Этот пост писался в процессе изучения софтины, потому первая часть вышла несколько сумбурной. Все проблемы, которые не были решены/рассмотрены в этой части — рассмотрены в двух последующих.
Итак,
Проблема частично решилась. Случайно обнаружил, что можно имитировать вертикальные табы: один раз кликаем по заголовку окна беседы, окошко сворачивается, подводим под него окошко другой беседы и оно прилипает к свёрнутому. Учитывая, что GTalk очень хорошо запоминает расположение и размеры окон, выстроил для себя «столбик» из четырёх бесед — обычно именно столько у меня открыто.
Но последние несколько релизов приносят сплошные разочарования, накапливаются мелкие глючки, не устраивают некоторые фичи и т.п. Я раздражаюсь. Тем не менее, для себя альтернативы до сих пор не видел (миранды и прочие qip'ы отметаются как класс — ну не нравятся они мне!). Да и полная миграция на Linux/MacOS отложилась на неопределенно долгий срок. Так что надо было волевым решением сделать себе жизнь под Windows поприятнее.
Года полтора-два назад я уже смотрел в сторону GTalk'a, но тогда он показался мне уж слишком убогим. На сегодняшний день ситуация внешне особо не изменилась, но, тем не менее, выглядит он теперь более «доработанным напильником».
Этот пост писался в процессе изучения софтины, потому первая часть вышла несколько сумбурной. Все проблемы, которые не были решены/рассмотрены в этой части — рассмотрены в двух последующих.
Итак,
Что на первый взгляд нравится/не нравится и что с этим делать:
Отсутствие табов
Проблема частично решилась. Случайно обнаружил, что можно имитировать вертикальные табы: один раз кликаем по заголовку окна беседы, окошко сворачивается, подводим под него окошко другой беседы и оно прилипает к свёрнутому. Учитывая, что GTalk очень хорошо запоминает расположение и размеры окон, выстроил для себя «столбик» из четырёх бесед — обычно именно столько у меня открыто.
+13
Выкатываем в бой
6 min
3.5K Внедрение конечного веб-продукта является не самой приятной процедурой для создателя и часто сопровождается жутким стрессом. Нелюбовь разработчика к релизам связана не только с чувствами ответственности и страха перед эксплуатацией новой версии, но и с ощущениями неопределенности: а что будет после того, как внедримся?
Приложения могут разрабатываться большим коллективом программистов, инженеров по качеству, графическим интерфейсам, но в конце проектного пути ответственность на себя берет последний из могикан. Недостаток теоретических знаний заставляет нервничать нашего героя, ведь опыта, приобретенного вследствие проб и ошибок, под час не достаточно для систематически успешного внедрения. Чтобы разобраться, как правильно выкатывать веб-проекты в бой, начнем, пожалуй, с основ.
Приложения могут разрабатываться большим коллективом программистов, инженеров по качеству, графическим интерфейсам, но в конце проектного пути ответственность на себя берет последний из могикан. Недостаток теоретических знаний заставляет нервничать нашего героя, ведь опыта, приобретенного вследствие проб и ошибок, под час не достаточно для систематически успешного внедрения. Чтобы разобраться, как правильно выкатывать веб-проекты в бой, начнем, пожалуй, с основ.
+70
Советы по фиксациям в SVN
4 min
2.9KTranslation
Предлагаю перевод хорошей статьи с советами по выполнению фиксаций в хранилище. Оригинал написан для проекта T2, но практически все советы универсальны и легко применимы для любого другого проекта. А самое главное — они действительно полезны.
Upd: В названии статьи хоть и фигурирует SVN, но советы, изложенные в ней, подходят ко всем известным мне системам кондроля версий. Стоит так же заметить, что советы направлены в основном на командную разработку.
Upd: В названии статьи хоть и фигурирует SVN, но советы, изложенные в ней, подходят ко всем известным мне системам кондроля версий. Стоит так же заметить, что советы направлены в основном на командную разработку.
+33
SVN merge for dummies
7 min
29KПростыми словами и с большим количеством картинок на примере Eclipse рассказывается, как сделать svn merge. Статья будет полезна тем, у кого выполнение слияния веток еще не стало повседневной частью работы.
+16
tip: цветной hg diff
1 min
2.2Kfeat. habrahabr.ru/blogs/development/53736 :)
Основной инструмент — тот же colordiff.
В ~/.hgrc домашнего каталога или в .hg/hgrc проекта вписываем:
И опаньки. Наряду с привычным «hg diff» получаем команду «hg cdiff», которая и выдаёт красивый и наглядный список изменений.
Основной инструмент — тот же colordiff.
В ~/.hgrc домашнего каталога или в .hg/hgrc проекта вписываем:
[defaults] cdiff = -q [extdiff] cmd.cdiff = colordiff opts.cdiff = -uprN
И опаньки. Наряду с привычным «hg diff» получаем команду «hg cdiff», которая и выдаёт красивый и наглядный список изменений.
+2
Information
- Rating
- Does not participate
- Location
- Москва, Москва и Московская обл., Россия
- Date of birth
- Registered
- Activity