<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-37344667</id><updated>2011-04-22T02:04:20.494+03:00</updated><category term='Atom'/><category term='articles'/><category term='статьи'/><category term='rdf'/><category term='RSS'/><category term='ичат'/><category term='Bot'/><category term='IRC'/><category term='Spoiler iRCha PircBot'/><category term='IChatAPI'/><category term='Intranet Chat'/><category term='forum'/><category term='ichat'/><title type='text'>Блог проектов для домашних сетей</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://homenets.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37344667/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://homenets.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Complete</name><uri>http://www.blogger.com/profile/15159175941542211114</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>13</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-37344667.post-4772709597710878977</id><published>2007-04-02T10:28:00.000+03:00</published><updated>2007-04-02T10:42:18.551+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='forum'/><title type='text'>Форум ожил</title><content type='html'>&lt;div align='justify'&gt;Итак, форум снова жив. Новый хостинг меня пока радует, как скоростью работы, так и стабильностью. Заодно, в очередной раз вычистив форум от кучи спама, не поленился и нашёл какую-то зверскую капчу. Тесты показали, правда, что я сам далеко не всегда могу разобрать, что за код на ней написан. Но уж извините &amp;mdash; от спама просто взвыть можно. После установки капчи спам загадочным образом прекратился. Дело в том что в phpBB есть такой &lt;strike&gt;глюк&lt;/strike&gt; особенность &amp;mdash; даже не прошедшие до конца регистрацию пользователи отображаются в списках. То есть даже если бот не смог оставить рекламное сообщение, он будет болтаться в пользовательских списках и &amp;laquo;светить&amp;raquo; ссылкой, прописанной в профиле. Мелочь, а неприятно. Сейчас же нет ни спама, ни этих &amp;laquo;обрубков&amp;raquo;. Толи боты стали черезчур умными, толи баг этот был наконец пофикшен в последнем апдейте phpBB.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-6379600728399836";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text";
//2006-11-08: rss-blog
google_ad_channel = "4915257931";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37344667-4772709597710878977?l=homenets.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://homenets.blogspot.com/feeds/4772709597710878977/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=37344667&amp;postID=4772709597710878977' title='Комментарии: 2'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37344667/posts/default/4772709597710878977'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37344667/posts/default/4772709597710878977'/><link rel='alternate' type='text/html' href='http://homenets.blogspot.com/2007/04/blog-post.html' title='Форум ожил'/><author><name>Complete</name><uri>http://www.blogger.com/profile/15159175941542211114</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-37344667.post-7794822064723986569</id><published>2007-03-17T16:35:00.000+02:00</published><updated>2007-03-17T16:43:47.650+02:00</updated><title type='text'>Смена хостинга</title><content type='html'>&lt;div align='justify'&gt;Сайт &amp;laquo;проектов&amp;raquo; сменил хостинг. В связи с этим временно недоступен форум &amp;mdash; его работа будет восстановлена в ближайшее время. Других новостей пока нет, в вялотекущем режиме ведётся разработка scepsis'а, в данный момент рефакторится механизм обработки соединений и принцип обработки сообщений. Цель &amp;mdash; создать более общий механизм обработки событий в сервере, что позволит создавать более мощные дополнения и (по идее) подвести базу для разработки линковки серверов. Как водится, о сроках релиза гарантий никаких нет &amp;mdash; времени на разработку очень немного.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-6379600728399836";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text";
//2006-11-08: rss-blog
google_ad_channel = "4915257931";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37344667-7794822064723986569?l=homenets.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://homenets.blogspot.com/feeds/7794822064723986569/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=37344667&amp;postID=7794822064723986569' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37344667/posts/default/7794822064723986569'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37344667/posts/default/7794822064723986569'/><link rel='alternate' type='text/html' href='http://homenets.blogspot.com/2007/03/blog-post.html' title='Смена хостинга'/><author><name>Complete</name><uri>http://www.blogger.com/profile/15159175941542211114</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-37344667.post-1727317280657127503</id><published>2007-01-09T18:00:00.000+02:00</published><updated>2007-01-09T18:13:09.473+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Spoiler iRCha PircBot'/><title type='text'>Продолжаем чистить TODO-list</title><content type='html'>&lt;div align='justify'&gt;&lt;br /&gt;Сделал давно запланированную вещь - переделал немного PircBot'а, чтобы тот немного равномернее распределял сообщения. Потому как в оригинале все сообщения для всех адресатов были расположены в одной очереди, и если для какого-то адресата сообщений очень много, все остальные пользователи были вынуждены ожидать свои сообщения до тех пор, пока все сообщения для данного адресата не будут обработаны. Вместо этого бот теперь использует очередь с некоторым подобием реализации "честности", то есть более менее равномерно распределяет сообщения для всех адресатов. Приоритеты у адресатов пока что одинаковые и повлиять на них нельзя. Возможно, это будет изменено в будущем.&lt;br /&gt;&lt;br /&gt;Что же эти изменения дают простым пользователям? Гейт &lt;a href='http://jedi.web-visage.com/ircha/'&gt;iRCha&lt;/a&gt; теперь не будет "подвисать" , когда кто-то воспользуется командой !users (а с включенной антифлудной задержкой эта пауза была очень заметна). &lt;a href='http://jedi.web-visage.com/spoiler/'&gt;Spoiler&lt;/a&gt; же будет более равномерно распределять новости по каналам (ранее он выводил новости для каждого канала поочерёдно, весь список на канал).&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-6379600728399836";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text";
//2006-11-08: rss-blog
google_ad_channel = "4915257931";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37344667-1727317280657127503?l=homenets.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://homenets.blogspot.com/feeds/1727317280657127503/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=37344667&amp;postID=1727317280657127503' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37344667/posts/default/1727317280657127503'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37344667/posts/default/1727317280657127503'/><link rel='alternate' type='text/html' href='http://homenets.blogspot.com/2007/01/todo-list.html' title='Продолжаем чистить TODO-list'/><author><name>Complete</name><uri>http://www.blogger.com/profile/15159175941542211114</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-37344667.post-3131088056180520131</id><published>2007-01-06T15:33:00.000+02:00</published><updated>2007-01-06T15:36:27.750+02:00</updated><title type='text'>Восстановлена работа сайтов</title><content type='html'>&lt;div align='justify'&gt;Кажется, работа сайта и форума наконец (после продолжительного перерыва), всё же восстановлена. По всей видимости несколько позже придётся менять хостинг - слишком много возникает ненужных проблем и слишком часто, к сожалению, сайты просто-напросто недоступны.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-6379600728399836";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text";
//2006-11-08: rss-blog
google_ad_channel = "4915257931";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37344667-3131088056180520131?l=homenets.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://homenets.blogspot.com/feeds/3131088056180520131/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=37344667&amp;postID=3131088056180520131' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37344667/posts/default/3131088056180520131'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37344667/posts/default/3131088056180520131'/><link rel='alternate' type='text/html' href='http://homenets.blogspot.com/2007/01/blog-post.html' title='Восстановлена работа сайтов'/><author><name>Complete</name><uri>http://www.blogger.com/profile/15159175941542211114</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-37344667.post-103650302441304772</id><published>2006-12-30T02:01:00.000+02:00</published><updated>2006-12-30T02:06:40.201+02:00</updated><title type='text'>Небольшое объявление</title><content type='html'>&lt;div align='justify'&gt;&lt;br /&gt;В связи с временными сложностями у хостинга сайт проектов и форум пока недоступны. Обещают исправить как можно скорее - ждём. Исходные тексты и дистрибутивы по-прежнему доступны для скачивания с sourceforge.&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;&lt;a href='http://sourceforge.net/projects/scepsis/'&gt;Scepsis&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href='http://sourceforge.net/projects/ircha/'&gt;iRCha, IChatBot, IChatAPI&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href='http://sourceforge.net/projects/spoiler/'&gt;Spoiler&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-6379600728399836";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text";
//2006-11-08: rss-blog
google_ad_channel = "4915257931";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37344667-103650302441304772?l=homenets.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://homenets.blogspot.com/feeds/103650302441304772/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=37344667&amp;postID=103650302441304772' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37344667/posts/default/103650302441304772'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37344667/posts/default/103650302441304772'/><link rel='alternate' type='text/html' href='http://homenets.blogspot.com/2006/12/blog-post.html' title='Небольшое объявление'/><author><name>Complete</name><uri>http://www.blogger.com/profile/15159175941542211114</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-37344667.post-2482804657712007986</id><published>2006-12-18T21:42:00.000+02:00</published><updated>2006-12-18T21:45:48.143+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ичат'/><category scheme='http://www.blogger.com/atom/ns#' term='ichat'/><category scheme='http://www.blogger.com/atom/ns#' term='статьи'/><category scheme='http://www.blogger.com/atom/ns#' term='Intranet Chat'/><category scheme='http://www.blogger.com/atom/ns#' term='IChatAPI'/><category scheme='http://www.blogger.com/atom/ns#' term='articles'/><title type='text'>Очищаем TODO-list</title><content type='html'>&lt;div align='justify'&gt;&lt;br /&gt;Только что с горем пополам закончил ещё одно давно запланированное масштабное мероприятие - написание статьи об устройстве протокола ичата. Заняло это, надо сказать, порядком времени. Если под конец написано не слишком разборчиво - прошу меня извинить, с трудом попадал пальцами в нужные кнопки. Возможно, статья ещё претерпит некоторые изменения. Пока же представляю, так сказать, на суд широкой общественности: &lt;a href='http://jedi.web-visage.com/articles/intranet_chat_(ichat)_protocol.html'&gt;Intranet Chat - Описание протокола&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-6379600728399836";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text";
//2006-11-08: rss-blog
google_ad_channel = "4915257931";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37344667-2482804657712007986?l=homenets.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://homenets.blogspot.com/feeds/2482804657712007986/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=37344667&amp;postID=2482804657712007986' title='Комментарии: 2'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37344667/posts/default/2482804657712007986'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37344667/posts/default/2482804657712007986'/><link rel='alternate' type='text/html' href='http://homenets.blogspot.com/2006/12/todo-list.html' title='Очищаем TODO-list'/><author><name>Complete</name><uri>http://www.blogger.com/profile/15159175941542211114</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-37344667.post-7321438634748701778</id><published>2006-12-18T13:55:00.000+02:00</published><updated>2006-12-18T14:15:38.127+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IRC'/><category scheme='http://www.blogger.com/atom/ns#' term='Bot'/><category scheme='http://www.blogger.com/atom/ns#' term='Atom'/><category scheme='http://www.blogger.com/atom/ns#' term='RSS'/><category scheme='http://www.blogger.com/atom/ns#' term='rdf'/><title type='text'>Spoiler - второе рождение</title><content type='html'>&lt;div align='justify'&gt;&lt;br /&gt;На днях сделал полезное и давно запланированное дело - переписал-таки заново Спойлера. Спойлер - это мой первый IRC бот, изначально предназначавшийся для того чтобы сбрасывать новости с локального сетевого форума в IRC-каналы. Написан он был жутко коряво, узко-специализирован на phpBB, зато в рекордные сроки. Разумеется, со временем я собирался довести его до ума.&lt;br /&gt;&lt;br /&gt;И вот, не прошло и года, задуманное воплощено в жизнь. Новый спойлер стартовал сразу с версии 2.0, что помимо указания на его тёмное прошлое означает ещё и то, что функций в нём несколько прибавилось. Теперь это полноценный feed-reader, умеющий читать как RSS, Atom, так и RDF ленты новостей. Как уже у нас повелось, бот конфигурируется с помощью yan-framework и его xml-подмножества Nuts, что позволяет пересобрать / видоизменить приложение избегая перекомпиляции.&lt;br /&gt;&lt;br /&gt;Новый спойлер умеет читать неограниченное (теоретически) число лент, сохраняя в памяти последний "снимок" из определённого количества новостей. Также поддерживается возможность вывода новостей сразу на большое число каналов, причём каждый канал может быть подписан на своё подмножество новостей, а также указать формат их вывода (эта возможность может пригодиться для каналов, на которых запрещено использование цветов или же какого-либо другого специфического выделения, а также для использования специфических расширений).&lt;br /&gt;&lt;br /&gt;Пока что не все функции бота доступны пользователям (ещё не реализована выдача новостей по запросу, а также выдача содержимого конкретного поста по запросу), так что ожидайте новостей! &lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-6379600728399836";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text";
//2006-11-08: rss-blog
google_ad_channel = "4915257931";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37344667-7321438634748701778?l=homenets.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://homenets.blogspot.com/feeds/7321438634748701778/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=37344667&amp;postID=7321438634748701778' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37344667/posts/default/7321438634748701778'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37344667/posts/default/7321438634748701778'/><link rel='alternate' type='text/html' href='http://homenets.blogspot.com/2006/12/spoiler.html' title='Spoiler - второе рождение'/><author><name>Complete</name><uri>http://www.blogger.com/profile/15159175941542211114</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-37344667.post-4885360690967932152</id><published>2006-11-26T17:43:00.000+02:00</published><updated>2006-11-26T18:04:47.360+02:00</updated><title type='text'>Новое обновление</title><content type='html'>&lt;div align='right'&gt;&lt;i&gt;Дятел оборудован клювом. Им он долбит.&lt;/i&gt;&lt;/div&gt;&lt;br /&gt;&lt;div align='justify'&gt;&lt;br /&gt;В одной из сетей, в которых установлен &lt;a href='http://jedi.web-visage.com/scepsis/'&gt;Scepsis&lt;/a&gt;, была замечена странная аномалия - сервер потреблял порядка 90% процессорного времени. Проведённое на скорую руку расследование выявило одну из возможных причин: арп-флуд. Однако флуд пошёл на спад, загрузка же осталась прежней. Проведённый анализ трафика сервера показал наличие огромного количества запросов на обновление списка контактов.&lt;br /&gt;&lt;br /&gt;Поясню, в чём заключается проблема. Процесс обновления списка контактов в ичате выглядит следующим образом: клиент отправляет запрос на обновление, адресуемый всем клиентам (себе в том числе). Каждый клиент (!), получивший этот запрос, отправляет запрашиваемому клиенту refresh-ответ для каждой линии, на которой он присутствует.&lt;br /&gt;&lt;br /&gt;Что же происходило в нашем случае. При арп-флуде часть соединений неизбежно обрывается, список довольно быстро устаревает, поэтому пользователи начинают активно пользоваться кнопкой "обновить список". Поскольку процесс обновления требует некоторого времени, а при флуде это время несколько больше чем обычно, пользователю начинает казаться, что нажатие кнопки не возымело нужного действия, и он нажимает её ещё раз. И ещё раз. И ещё много-много раз. Ограничения на количество нажатий в клиенте нет. Таким образом вследствие этой недоработки провоцируется огромное количество ненужных сообщений, которые обрабатываются сервером, и соответственно ресурсы сервера расходуются впустую.&lt;br /&gt;&lt;br /&gt;Подумав и проведя ряд экспериментов, я пришёл к выводу, что можно совершенно безболезненно ограничить хождение рефреш-запросов, а точнее их частоту для каждого клиента. Введение ограничения на частоту рефреш-запросов равное одному запросу в пятнадцать секунд показало просто поразительные результаты! Загрузка сервера снизилась с 90 процентов до близкой к нулю, с волнообразными всплесками, характерными для "естественного" цикла обновлений списков контактов.&lt;br /&gt;&lt;br /&gt;Вследствие таких результатов мною было принято решение включить данный обработчик в базовую поставку сервера в качестве обработчика по умолчанию. Если же найдутся люди, которых данный обработчик по каким-либо причинам не устраивает, всегда можно использовать прежний.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-6379600728399836";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text";
//2006-11-08: rss-blog
google_ad_channel = "4915257931";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37344667-4885360690967932152?l=homenets.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://homenets.blogspot.com/feeds/4885360690967932152/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=37344667&amp;postID=4885360690967932152' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37344667/posts/default/4885360690967932152'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37344667/posts/default/4885360690967932152'/><link rel='alternate' type='text/html' href='http://homenets.blogspot.com/2006/11/blog-post_26.html' title='Новое обновление'/><author><name>Complete</name><uri>http://www.blogger.com/profile/15159175941542211114</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-37344667.post-6763536442468738315</id><published>2006-11-24T20:19:00.000+02:00</published><updated>2006-11-24T20:24:55.926+02:00</updated><title type='text'>NAT-обработчики исправлены</title><content type='html'>&lt;div align='justify'&gt;Свершилось! NAT-обработчики наконец-то исправлены и выложены на сорсфорж. До чего же я не люблю мистику. Загадочное поведение было вызвано, похоже, несколько некорректным взаимодействием с файрволом. В остальном после исправления несомненно досадных ошибок, обрабочтики стали работать нормально. С чем я и поздравляю всех, кому не безразличен проект &lt;a href='http://jedi.web-visage.com/scepsis/'&gt;Scepsis&lt;/a&gt;. У меня же стало на одну головну ю боль меньше.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-6379600728399836";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text";
//2006-11-08: rss-blog
google_ad_channel = "4915257931";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37344667-6763536442468738315?l=homenets.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://homenets.blogspot.com/feeds/6763536442468738315/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=37344667&amp;postID=6763536442468738315' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37344667/posts/default/6763536442468738315'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37344667/posts/default/6763536442468738315'/><link rel='alternate' type='text/html' href='http://homenets.blogspot.com/2006/11/nat_24.html' title='NAT-обработчики исправлены'/><author><name>Complete</name><uri>http://www.blogger.com/profile/15159175941542211114</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-37344667.post-116369526932561898</id><published>2006-11-16T18:35:00.000+02:00</published><updated>2006-11-16T18:41:17.566+02:00</updated><title type='text'>Ошибки в NAT-обработчиках</title><content type='html'>&lt;div align='justify'&gt;Усталость делает своё дело. Обнаружил несколько довольно глупых ошибок в NAT-обработчиках. При более тщательном тестировании выяснилось, что они не работоспособны. Более того, даже после исправления ошибок при использовании реального NAT, а не синтетических тестов, возникли некоторые проблемы. Осталось выяснить, чьи это ошибки - обработчиков или же nat-provider'a.&lt;br /&gt;&lt;br /&gt;Необходимо провести еще несколько тестов прежде чем будут выпущены обновления.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-6379600728399836";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text";
//2006-11-08: rss-blog
google_ad_channel = "4915257931";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37344667-116369526932561898?l=homenets.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://homenets.blogspot.com/feeds/116369526932561898/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=37344667&amp;postID=116369526932561898' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37344667/posts/default/116369526932561898'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37344667/posts/default/116369526932561898'/><link rel='alternate' type='text/html' href='http://homenets.blogspot.com/2006/11/nat.html' title='Ошибки в NAT-обработчиках'/><author><name>Complete</name><uri>http://www.blogger.com/profile/15159175941542211114</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-37344667.post-116308675575035615</id><published>2006-11-09T17:33:00.000+02:00</published><updated>2006-12-18T14:21:17.886+02:00</updated><title type='text'>Текущие проблемы</title><content type='html'>&lt;div align='justify'&gt;&lt;br /&gt;Обнаружилась (точнее даже не то чтобы обнаружилась, просто всплыла) проблема с iRCha. При использовании !users все остальные сообщения вынуждены стоять в очереди. Поправить в общем-то не сложно, нужно взять на заметку. Скорее всего сделаю что-нибудь вроде priority queue, по-простому дав !list приоритет поменьше.&lt;br /&gt;&lt;br /&gt;Также стала очевидной необходимость усложнения системы банов. Даже со вспомогательными средствами баны довольно легко обходятся, не в последнюю очередь из-за несовершенной структуры сети.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-6379600728399836";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text";
//2006-11-08: rss-blog
google_ad_channel = "4915257931";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37344667-116308675575035615?l=homenets.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://homenets.blogspot.com/feeds/116308675575035615/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=37344667&amp;postID=116308675575035615' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37344667/posts/default/116308675575035615'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37344667/posts/default/116308675575035615'/><link rel='alternate' type='text/html' href='http://homenets.blogspot.com/2006/11/blog-post_09.html' title='Текущие проблемы'/><author><name>Complete</name><uri>http://www.blogger.com/profile/15159175941542211114</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-37344667.post-116300050303930801</id><published>2006-11-08T16:26:00.000+02:00</published><updated>2006-11-08T19:19:32.896+02:00</updated><title type='text'>Краткая история "Проектов"</title><content type='html'>&lt;div align='justify'&gt;&lt;br /&gt;Чат является неотъемлемой частью любой домашней сети, наравне с Counter Strike, фильмами и дешёвым интернетом. В нашей сети, так уж вышло, прижился Intranet Chat с выделенным сервером. Судьба у этого чата, прямо скажем, непростая.  Простой, дружелюбный интерфейс и отсутствие необходимости сложной настройки обеспечили этому чату в своё время большую популярность. Популярность эта, однако, пошла на спад с появлением так называемых "убийц" ичата. "Убийца" в среднем представлял собой нехитрое приложение, либо создающее огромное количество соединений с сервером и отправляющее кучу флуда, либо же использующее недочёты механизмов безопасности чата (а точнее их полное отсутствие) и позволяющее таким образом изменять имена других пользователей (чаще всего на обидные, а как же иначе?), отправлять сообщения от имени другого пользователя и совершать прочие бесчинства. Пресечь, или хотя бы даже отловить такие нарушения средствами стандартного сервера невозможно. Честь и хвала нашему администратору, он не пошёл по бесхитростному пути сноса сервера с последующей его заменой на какой-либо аналог. Он модифицировал исходники сервера таким образом, что атаки прекратились. Как выяснилось позже, изменения эти не гарантировали полной безопасности, но большинство scriptkiddies, как известно, отличаются полным отсутствием мозга, поэтому разобраться в причине неудачи и перенастроить или (о боже!) пере-собрать киллер им просто не хватило фантазии. Атаки прекратились.&lt;br /&gt;&lt;br /&gt;Тем временем в нашей сети разворачивалась другая драма. Параллельно с Intranet Chat у нас также существовал и собственный IRC сервер, слинкованный с сетью IRC.BY. В тот момент в сети что-то не ладилось, и один из наших админов решает переводить пользователей из IRC.BY в "другую" сеть :-) Естественно, нашлись люди, которых это не устроило. В результате в сети появилось два сервера, слинкованные с различными сетями. Отношения между сетями тоже не были гладкими, не являются они гладкими и по сей день. Между сторонниками сетей завязалась конфронтация. Одним из аргументов в пользу "другой" сети было наличие двух сервисных ботов: бота, сообщающего о последних новостях с форума и бота, являющегося гейтом из IRC в Intranet Chat.&lt;br /&gt;&lt;br /&gt;Первоначально автор не включался в активное противостояние. Ну есть выход в ещё одну сеть - ну и ладно. То, что пользователей в неё буквально тащили, возмущало конечно, но до определённого предела. Со временем наличие двух серверов стало данностью и автором была предпринята попытка эти сети "подружить". В рамках эксперимента по туннелированию был создан бот, ретранслировавший сообщения новостного бота из одной сети в другую. Можно себе представить, отзывы какого плана были получены. Красный от негодования, автор удалился для создания "патентно чистого" образца. Через пару дней был готов Spoiler, а еще через несколько - первый прототип iRCha, а также добрая часть IChatAPI и IChatBot. Причиной того, что боты были реализованы на Java была в первую очередь профессиональная специализация, и не в последнюю очередь нелюбовь к скриптовым языкам, наподобие TCL.&lt;br /&gt;&lt;br /&gt;Но мало создать гейт - его нужно было сделать "лучше". Так гейт, получивший название iRCha, стал обрастать дополнительными функциями, и всё чаще звучали вопросы пользователей о том, почему же в списках пользователей канала не виден список пользователей ичата. Автор задумался над идеей создания полностью "прозрачного" гейта. Подумав, он пришел к выводу, что ничего принципиально невозможного здесь нет, необходимо лишь создание контролируемых ичат и ирк серверов и прослойки между ними. &lt;br /&gt;&lt;br /&gt;Таким образом начал оформляться проект Scepsis. С развитием Scepsis выделились в отдельную ветку проекты IChatAPI и IChatBot. Проект стал жить и развиваться. Выяснилось, что большинство уязвимостей Intranet Chat легко устраняются. Те же проблемы, устранить которые не удаётся, присущи в большей или меньшей степени всем серверным приложениям. Появилась версия, поддерживающая фильтры, спецификации и действия. Реализован мат-фильтр (одно из наиболее спорных и обсуждаемых нововведений в сети). На данный момент сервер очередной раз близок к завершению, реализуется request пользователей о линковке серверов. После чего можно, наконец, приступать к созданию IRC сервера на Java. Потому что существующие автора не устраивают :-)&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-6379600728399836";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text";
//2006-11-08: rss-blog
google_ad_channel = "4915257931";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37344667-116300050303930801?l=homenets.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://homenets.blogspot.com/feeds/116300050303930801/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=37344667&amp;postID=116300050303930801' title='Комментарии: 2'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37344667/posts/default/116300050303930801'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37344667/posts/default/116300050303930801'/><link rel='alternate' type='text/html' href='http://homenets.blogspot.com/2006/11/blog-post_08.html' title='Краткая история &quot;Проектов&quot;'/><author><name>Complete</name><uri>http://www.blogger.com/profile/15159175941542211114</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-37344667.post-116298831880958786</id><published>2006-11-08T13:11:00.000+02:00</published><updated>2006-11-08T14:18:40.640+02:00</updated><title type='text'>Добро пожаловать в блог</title><content type='html'>&lt;div align='justify'&gt;&lt;br /&gt;Итак, что же из себя представляет этот блог? А представляет он из себя авторский журнал сайта &lt;a href="http://jedi.web-visage.com"&gt;"Проекты для домашней сети"&lt;/a&gt; и по идее призван освещать вопросы, возникающие при разработке проектов. Что получится в результате - мне пока неизвестно. Надеюсь, что блог не выродится в банальный changelog или releaselog. В жизни любого проекта есть масса интересного, чем по возможности автор и собирается делиться с общественностью в этом блоге. Также имеют место события, непременно требующие комментария. Вопросы вопиющей несправедливости, неграмотности (как автора, так и оппонентов) наряду с размышлениями над общечеловеческими вопросами вида "куда катится этот мир?" применительно к миру программирования - всё это не должно, по задумке, миновать этот блог.&lt;br /&gt;&lt;br /&gt;Что, собственно говоря, за "Проекты для домашней сети"? Проекты для домашней сети - это сайт (авторский, опять же) по созданию програм для локальных сетей. На данный момент разработчик и автор статей на сайте всего один, так что это в некотором смысле &lt;br /&gt;домашняя страничка разработчика. Пока что автору интересно возиться с данными проектами в свободное от основной работы время, не исключено что ситация со временем может измениться, тогда судьба сайта и проектов будет под вопросом.&lt;br /&gt;&lt;br /&gt;А что, собственно говоря, за "Проекты"? "Проекты" - это громкое слово для обозначения программ, призваных облегчить или разнообразить (тут уж как получится) жизнь пользователям и администраторам домашних сетей. На данный момент это: защищённый сервер Intranet Chat (в народе известный как "ichat", не в обиду не к ночи помянутой Apple), гейт из IRC в этот самый Intranet Chat, фреймворк для разработки ботов для этого самого Intranet Chat, API для разработки приложений под этот самый Intranet Chat, несколько неопубликованных пока ботов, я думаю вы уже догадались под что.&lt;br /&gt;&lt;br /&gt;А зачем? Честно говоря - не знаю. Интересно. Пока. Есть с чем повозиться, над чем поэксперементировать. Работа на больших и серьёзных проектах зачастую не даёт возможности для манёвров, там нет места для творческого эксперимента. Здесь же подобных ограничений нет, можно принимать решение и смотреть, что из этого получится. Когда надоедает - всё поменять. Так, в "Scepsis" обкатаны некоторые паттерны асинхронной обработки подключений, контроля нагрузки, IOC паттерны, применены новинки пятой джавы, black-box расширения... Если угодно, это своего рода песочница разработчика. Если вам интересно покопаться или же у вас есть новая лопатка - милости просим. Только чур не портить мои "куличики" :-)&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-6379600728399836";
google_ad_width = 728;
google_ad_height = 90;
google_ad_format = "728x90_as";
google_ad_type = "text";
//2006-11-08: rss-blog
google_ad_channel = "4915257931";
//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37344667-116298831880958786?l=homenets.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://homenets.blogspot.com/feeds/116298831880958786/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=37344667&amp;postID=116298831880958786' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/37344667/posts/default/116298831880958786'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/37344667/posts/default/116298831880958786'/><link rel='alternate' type='text/html' href='http://homenets.blogspot.com/2006/11/blog-post.html' title='Добро пожаловать в блог'/><author><name>Complete</name><uri>http://www.blogger.com/profile/15159175941542211114</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
