Posts Tagged ‘блог’

Блоги и боты мирового господства

Понедельник, Апрель 20th, 2009

Посмотрите на картинку ниже. Это – карта посещаемости за первые часы после публикации блога. (Текущая карта посещаемости – http://neurocod.net/blog/карта-посетителей/ )


Если смотреть в статистику запросов (я использую плагин StatPress), то на текущий момент, почти каждого посетителя из Евразии я идентифицировал по никам – это люди. Кроме Москвы – там приходил и Яндекс. Все отметки, что вы видите на карте США – это боты. Нужно учитывать, что по логам, почти все они начали приходить сразу после развертывания wordpress, до публикации ссылки на этот блог в ЖЖ – wordpress сам регистрируется где-то. Вот значения приходящих от ботов заголовков user-agent:

  • YandexBlog/0.99.101 (compatible; DOS3.30; Mozilla/5.0; B; robot) 0 readers
  • Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)
  • Snapbot/1.0 (Snap Shots, +http://www.snap.com)
  • BlogSearch/2 +http://www.icerocket.com/
  • HTMLParser/1.6
  • SurveyBot/2.3 (Whois Source)
  • Rome Client (http://tinyurl.com/64t5n) Ver: 0.9
  • TechrigyBot – www.techrigy.com support@techrigy.com
  • PEAR HTTP_Request class ( http://pear.php.net/ )
  • BlogShares.com Spiders (Zipping Along V1.54)
  • Jakarta Commons-HttpClient/3.0
  • BlogPulseLive (support@blogpulse.com)
  • Java/1.6.0_11
  • Microsoft-WebDAV-MiniRedir/5.1.2600
  • и еще куча без идентификаторов.

Молодцы! Хорошо работают! Сразу видно, кто хочет контролировать всю Землю, но пока еще не очень получается.
(Конечно, контроль за блогосферой во многом непрямой – см. мои комментарии на счет США и «Большой Волны» к сообщению «№55 После попадания технологии ИИ в цепкие руки» ( http://neurocod.net/blog/tag/2008/12/№55-после-попадания-технологии-ии-в-цеп )). А вот еще цитата с «Под «облаками»» ( http://ko-online.com.ua/node/41850 )

Инфраструктурные изменения

В недалеком будущем ЦОД из десятков тысяч серверов придут на смену центры из миллионов устройств. Наиболее радикальное отличие современных ЦОД от вычислительных центров прошлых лет состоит в использовании транспортировочных контейнеров.
Быстрыми темпами происходит наращивание игроками рынка сloud computing своих вычислительных ресурсов. Эти действия ведут к тому, что главными потребителями серверов выступают интернет-гиганты. Уже сейчас, по сведениям главы подразделения Microsoft Research Рика Рашида (Rick Rashid), около 20% серверов приобретается группой компаний, среди которых Microsoft, Google, Yahoo и Amazon.com. Любопытно, что указанные предприятия облюбовали тихую сельскую местность поблизости от р. Колумбия на северо-западе США – здесь у них сосредоточены наибольшие в мире вычислительные мощности. Причиной выбора данного участка стали низкие цены на землю, развитая оптоволоконная инфраструктура, обилие водных ресурсов и, что самое главное, сравнительно дешевая электроэнергия. Например, ЦОД корпорации Microsoft в г. Куинси (штат Вашингтон) занимает 43,6 тыс. м², т. е. площадь, равную десяти полям для американского футбола. Количество серверов не называется, зато известно, что здесь применяются охладительные трубы протяженностью 4,8 км, 965 км электропроводки, 92,9 тыс. м² стен из сухой каменной кладки и 1,5 т батарей для резервного питания. Сооружение потребляет 48 МВт – такой мощности достаточно для обеспечения 40 тыс. домохозяйств. Этот ЦОД используется в том числе и для нужд начальной версии Windows Azure, впрочем, Microsoft уже приступила к строительству дополнительных мощностей в Чикаго, Сан-Антонио и Дублине. Каждый из проектов оценивается приблизительно в 500 млн долл. Есть данные, что компания рассматривает возможность размещения одной из площадок на территории Сибири.

Формат гиперссылок внутри блога

Воскресенье, Апрель 19th, 2009

Используется сокращение вида [neurolnk title=»необязательное описание» href=»url абсолютный или относительный»]. Преимущества перед обычными гиперссылками:

  • в исходном тексте можно сохранять относительные пути, что поможет при переносе блога на другой домен. Относительный путь остается и в url гиперссылки, так сайт будет нормально работать и при оффлайновом просмотре
  • вместе с описанием гиперссылки, в результирующий вывод подается и ее обработанный абсолютный путь, с декодированным (без процентов) адресом; адрес легче читать, кроме того, это полезно при утрате форматирования (например, при печати на бумагу или посылке по icq)
  • в коде url прописывается только один раз, в то время как в результирующем html появляется два раза, также унифицируется формат – к описанию добавляются кавычки, а гиперссылка с текстом в виде url заключается в скобки
  • Описание (title) гиперссылки внутри разметки позволяет восстановить смысл и ее адрес (при переносе – новый адрес) при невозможности применения форматирования wordpress

Исходный текст плагина:

  1. <?php
  2. /**
  3.  * @package neurocod
  4.  * @author neurocod
  5.  * @version 0.1
  6.  */
  7. /*
  8. Plugin Name: neuroLnk
  9. Plugin URI: http://neurocod.net/blog/
  10. Description: Inserts formatted localized link via shortcode &#91;neurolnk title="optional title" href="url absolute or relative"&#93;
  11. Author: neurocod
  12. Version: 0.1
  13. Author URI: http://neurocod.net/blog/
  14. */
  15.  
  16. //this function is from http://www.web-max.ca/PHP/misc_24.php
  17. function InternetCombineUrl($absolute, $relative) {
  18.         $p = parse_url($relative);
  19.         if($p["scheme"])return $relative;
  20.        
  21.         extract(parse_url($absolute));
  22.        
  23.         $path = dirname($path);
  24.  
  25.         if($relative{0} == ‘/’) {
  26.                 $cparts = array_filter(explode("/", $relative));
  27.         }
  28.         else {
  29.                 $aparts = array_filter(explode("/", $path));
  30.                 $rparts = array_filter(explode("/", $relative));
  31.                 $cparts = array_merge($aparts, $rparts);
  32.                 foreach($cparts as $i => $part) {
  33.                         if($part == ‘.’) {
  34.                                 $cparts[$i] = null;
  35.                         }
  36.                         if($part == ‘..’) {
  37.                                 $cparts[$i1] = null;
  38.                                 $cparts[$i] = null;
  39.                         }
  40.                 }
  41.                 $cparts = array_filter($cparts);
  42.         }
  43.         $path = implode("/", $cparts);
  44.         $url = "";
  45.         if($scheme) {
  46.                 $url = "$scheme://";
  47.         }
  48.         if($user) {
  49.                 $url .= "$user";
  50.                 if($pass) {
  51.                         $url .= ":$pass";
  52.                 }
  53.                 $url .= "@";
  54.         }
  55.         if($host) {
  56.                 $url .= "$host/";
  57.         }
  58.         $url .= $path;
  59.         return $url;
  60. }
  61.  
  62. function neurolnk_shortcode_func($atts) {
  63.         extract(shortcode_atts(array(
  64.                 ‘title’ => »,
  65.                 ‘href’ => ‘http://’,
  66.         ), $atts));
  67.  
  68.         $title = $atts["title"];
  69.         $href = $atts["href"];
  70.         $curUrl = "http://".$_SERVER[‘SERVER_NAME’].$_SERVER[‘REQUEST_URI’];
  71.         $hrefTitle = InternetCombineUrl($curUrl, $href);
  72.         if(""!=$title){
  73.                 $str = "&#171;$title&#187; ( ";
  74.         }
  75.         $str .= "<a href=\"$href\" title=\"$title\" rel=\"bookmark\">".urldecode($hrefTitle)."</a>";
  76.         if(""!=$title){
  77.                 $str .= " )";
  78.         }
  79.         return $str;
  80. }
  81. add_shortcode(‘neurolnk’, ‘neurolnk_shortcode_func’);
  82. ?>

Размещение картинок в этом блоге

Вторник, Апрель 14th, 2009

Размещение картинок в этом блоге предпочтительно производить при помощи shortcode «neuroimg». Код соответствующего плагина для wordpress представлен ниже. Изображения, размещенные при помощи этого сокращения, не будут вылазить за пределы экрана, и будут находиться внутри ссылки на само изображение для полноэкранного просмотра.

  1. <?php
  2. /**
  3.  * @package neurocod
  4.  * @author neurocod
  5.  * @version 0.1
  6.  */
  7. /*
  8. Plugin Name: neuroImg
  9. Plugin URI: http://neurocod.net/#
  10. Description: Adds shortcode &#91;neuroimg src="image source" desc="optional description"&#93; and converts it into image with style "max-width:100%", placed into hyperlink to itself, and adds description
  11. Author: neurocod
  12. Version: 0.1
  13. Author URI: http://neurocod.net/me
  14. */
  15. function neuroimg_shortcode_func($atts) {
  16.         extract(shortcode_atts(array(
  17.                 ‘src’ => »,
  18.                 ‘desc’ => »,
  19.         ), $atts));
  20.  
  21.         $src = $atts["src"];
  22.         $desc = $atts["desc"];
  23.         //if(!isset($desc))
  24.         //      $desc = $src;
  25.         $ret = <<< EOR
  26. <p style="text-align:center"><a href="$src"><img style="max-width:100%" title="$desc" src="$src"/></a><br/><i>$desc</i></p>
  27. EOR;
  28.         return $ret;
  29. }
  30. add_shortcode(‘neuroimg’, ‘neuroimg_shortcode_func’);
  31. ?>
  32.  

Кустарные изменения в wordpress

Суббота, Апрель 11th, 2009

Чтобы не потерять внесенные вручную изменения, их можно занести в БД в виде этой записи (далее…)