<?xml version="1.0" encoding="UTF-8"?> <rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" ><channel><title>Rpsl &#187; Статьи</title> <atom:link href="http://blog.rpsl.info/category/zametki/stati/feed" rel="self" type="application/rss+xml" /><link>http://blog.rpsl.info</link> <description>Очень остроумная надпись</description> <lastBuildDate>Sat, 31 Jul 2010 19:41:55 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.0</generator> <item><title>Фотоблоги / фотоблог / фото блог</title><link>http://blog.rpsl.info/2009/10/fotoblogi-fotoblog-foto-blog.html</link> <comments>http://blog.rpsl.info/2009/10/fotoblogi-fotoblog-foto-blog.html#comments</comments> <pubDate>Wed, 07 Oct 2009 17:44:15 +0000</pubDate> <dc:creator>Rpsl</dc:creator> <category><![CDATA[Полезное]]></category> <category><![CDATA[Статьи]]></category> <category><![CDATA[blog]]></category> <category><![CDATA[blogger]]></category> <category><![CDATA[Google]]></category> <category><![CDATA[picasa]]></category> <category><![CDATA[sony]]></category> <category><![CDATA[Фото]]></category><guid isPermaLink="false">http://blog.rpsl.info/?p=414</guid> <description><![CDATA[Честно говоря, я очень удивлен, что у нас не очень популярны фотоблоги. У всех есть мобильные телефоны, почти у всех они с фото камерами, у большинства с камерами приемлемого качества. Многие используют твиттер, почту, icq на телефоне, но мало кто делает фотографии и выкладывает их в сеть. Сейчас я расскажу о нескольких способах организации этого [...]]]></description> <content:encoded><![CDATA[<p>Честно говоря, я очень удивлен, что у нас не очень популярны фотоблоги. У всех есть мобильные телефоны, почти у всех они с фото камерами, у большинства с камерами приемлемого качества. Многие используют твиттер, почту, icq на телефоне, но мало кто делает фотографии и выкладывает их в сеть.<br /> <a href="http://blog.rpsl.info/wp-content/uploads/2009/10/photoblog.png" class="highslide-image" onclick="return hs.expand(this);"><img class="aligncenter size-thumbnail wp-image-418" title="photoblog" src="http://blog.rpsl.info/wp-content/uploads/2009/10/photoblog-150x150.png" alt="photoblog 150x150 Фотоблоги / фотоблог / фото блог" width="150" height="150" /></a><br /> Сейчас я расскажу о нескольких способах организации этого дела.</p><blockquote><p style="margin-top: 0,4em; margin-right: 0px; margin-bottom: 0,5em; margin-left: 0px; line-height: 1,5em;">Фотоблог — вебсайт, содержащий в своей основе регулярно публикуемые фотографии, часто сопровождаемые названием снимка, датой/временем, текстовым описанием, сведениями Exif и др. Фотоблог часто содержит возможность добавления комментариев, выставления рейтинга и т. п. Фотоблог может поддерживать технологию RSS или Atom.</p><p style="margin-top: 0,4em; margin-right: 0px; margin-bottom: 0,5em; margin-left: 0px; line-height: 1,5em;">Фотоблог может быть авторским или коллективным. Встречаются мобильные фотоблоги (сделанные с помощью фотокамер, встроенные в мобильные телефоны). Как разновидность, появились текстовые фотоблоги (в которых фотография заменена авторским текстовым описанием).</p><p style="margin-right: 0px; margin-left: 0px; text-align: right; ">wikipedia</p><p style="margin-right: 0px; margin-left: 0px; text-align: right; "></blockquote><p><center><a href="http://firstvds.ru/ru/home/index.html?from=2604" target="_blank"><img src="http://centrgroup.ru//uploads/2008/03/first-468x60-11.gif" title="Фотоблоги / фотоблог / фото блог" alt="first 468x60 11 Фотоблоги / фотоблог / фото блог" /></a></center><br /> <span id="more-414"></span></p><p style="margin-right: 0px; margin-left: 0px; ">Что нам потребуется:</p><ol><li><span style="background-color: #ffffff; ">Телефон с фотокамерой и доступом в интернет.</span></li><li><span style="background-color: #ffffff; ">Аккаунт в гугле</span></li></ol><p>Для чего нам нужен телефон думаю и так понятно, теперь вопрос про гугл. Суть в том, что для первичной публикации мы будем использовать <strong><a href="http://blogger.com">blogger.com</a>. </strong>Он обладает всеми необходимыми ф-ми для организации блога и онлайн публикации, т.к. блоггер это один из сервисов гугла, то авторизоваться можно с помощью гугл аккаунта + все фотографии будут автоматически заливаться в галерею на <strong><a href="http://picasaweb.google.com">picasaweb.google.com</a>.</strong></p><p>Теперь два способа ведения блога:</p><p><strong>1. Простой (для пользователей Sony Erricsson)</strong></p><p style="padding-left: 30px; ">Когда вы сделали очередную фотографию, вы можете выбрать в контекстном меню пункт отправить, затем выбрать пункт &laquo;В блог&raquo;. После чего фотографиия автоматически зальётся в ваш блог.</p><p style="padding-left: 30px; ">Когда вы отправите первую фотографию, вам в ответ придет смс с кодом активации и адресом блога. В последующем вы сможете его поменять, на более приличный.</p><p style="padding-left: 30px; ">Всё. Теперь вам осталось только фотографировать и отправлять.</p><p><strong>2. Более сложный (для пользователей любых телефонов)</strong></p><p style="padding-left: 30px; ">Блоггер в свою очередь поддерживает не только встроенное приложение, но так же получение фотографий по средствам MMS и E-mail.</p><p style="padding-left: 30px; ">Отправлять каждый раз MMS как то не выгодно, поэтому я пропущу данный этап, но если вас это интересует, то все инструкции можно найти в самом блоггере&nbsp;&mdash; http://www.<a href="http://blog.rpsl.info/tag/blogger" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with blogger">blogger</a>.com/mobile-start.g</p><p style="padding-left: 30px; ">Рассмотрим более подробно отправку почтовых сообщений.</p><p style="padding-left: 30px; ">Первое, что необходимо сделать, это настроить электропочту в вашем телефоне.</p><p style="padding-left: 30px; ">Затем идем в <a href="http://www.blogger.com/home">блоггер</a>, около вашего блога выбираем <strong>&laquo;настройки&raquo;</strong> и редактируем пункт &laquo;Адрес отправки электронной почты (Mail2blogger)&raquo;.</p><p style="padding-left: 30px; ">Указав нужные нам параметры, сохраняемся и создаем в записной книге нашего телефона запись &laquo;<a href="http://blog.rpsl.info/tag/blogger" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with blogger">Blogger</a>&raquo;, указав ей введенный выше email.</p><p style="padding-left: 30px; ">Всё. Готово. Теперь открыв фотографию на телефоне, выбираем пункт отправить&nbsp;&mdash; email&nbsp;&mdash; выбираем нужного нам пользователя (<a href="http://blog.rpsl.info/tag/blogger" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with blogger">blogger</a>) и отправляем.</p><p>В ближайшее время, я так же постараюсь привести в порядок свой сервис, который читает фотоблог и делает трансляцию фотографий в другие сети.</p><p>Удачных фотосетов.</p>Тэги: <a href="http://blog.rpsl.info/tag/blog" title="blog" rel="tag nofollow">blog</a>, <a href="http://blog.rpsl.info/tag/blogger" title="blogger" rel="tag nofollow">blogger</a>, <a href="http://blog.rpsl.info/tag/google" title="Google" rel="tag nofollow">Google</a>, <a href="http://blog.rpsl.info/tag/picasa" title="picasa" rel="tag nofollow">picasa</a>, <a href="http://blog.rpsl.info/tag/sony" title="sony" rel="tag nofollow">sony</a>, <a href="http://blog.rpsl.info/tag/foto" title="Фото" rel="tag nofollow">Фото</a><br /><h4>Похожие записи</h4><ul class="st-related-posts"><li><a href="http://blog.rpsl.info/2009/02/blog.html" title="Блог (23 Февраль  2009)">Блог</a> (0)</li><li><a href="http://blog.rpsl.info/2009/01/cvetovaya-identifikaciya.html" title="Цветовая идентификация (13 Январь  2009)">Цветовая идентификация</a> (1)</li><li><a href="http://blog.rpsl.info/2009/01/sizhu-na-rabote.html" title="Сижу на работе... (11 Январь  2009)">Сижу на работе...</a> (0)</li><li><a href="http://blog.rpsl.info/2009/02/proverka-poziciy-sayta.html" title="Проверка позиций сайта (23 Февраль  2009)">Проверка позиций сайта</a> (0)</li><li><a href="http://blog.rpsl.info/2010/06/nu-vot-i-obnovilis.html" title="Ну вот и обновились (11 Июнь  2010)">Ну вот и обновились</a> (0)</li></ul>]]></content:encoded> <wfw:commentRss>http://blog.rpsl.info/2009/10/fotoblogi-fotoblog-foto-blog.html/feed</wfw:commentRss> <slash:comments>4</slash:comments> </item> <item><title>imap to imap или переезд почты</title><link>http://blog.rpsl.info/2009/09/imap-2-imap-ili-pereezd-pochty.html</link> <comments>http://blog.rpsl.info/2009/09/imap-2-imap-ili-pereezd-pochty.html#comments</comments> <pubDate>Wed, 09 Sep 2009 09:21:22 +0000</pubDate> <dc:creator>Rpsl</dc:creator> <category><![CDATA[Полезное]]></category> <category><![CDATA[Статьи]]></category> <category><![CDATA[gmail]]></category> <category><![CDATA[Google]]></category> <category><![CDATA[imap]]></category> <category><![CDATA[ruby on rails]]></category><guid isPermaLink="false">http://blog.rpsl.info/?p=8</guid> <description><![CDATA[Прелюдия: Эту статью я написал еще в январе месяце, но как то забил на её публикацию. Сейчас нашел, чуть поправил и решил опубликовать. Если кто то помнит, то около года назад я рассказывал о том как круто дружить с google apps, а точнее иметь гугло почту на своем домене. Все это безусловно хорошо, но давно [...]]]></description> <content:encoded><![CDATA[<h2>Прелюдия:</h2><p style="text-align: right;"><em>Эту статью я написал еще в январе месяце, но как то забил на её публикацию. Сейчас нашел, чуть поправил и решил опубликовать.</em></p><p>Если кто то помнит, то около года назад я рассказывал о том как круто дружить с <strong>google apps</strong>, а точнее иметь гугло почту на  своем домене.</p><p><a href="http://blog.rpsl.info/wp-content/uploads/2009/01/gmail11.jpg" class="highslide-image" onclick="return hs.expand(this);"><img class="aligncenter size-full wp-image-395" title="gmail1" src="http://blog.rpsl.info/wp-content/uploads/2009/01/gmail11.jpg" alt="gmail11 imap to imap или переезд почты." width="540" height="293" /></a></p><p>Все это безусловно хорошо, но давно меня уже терзала та мысль, что надо все таки переезжать на обычный gmail вариант. Вызвано это несколькими причинами:</p><ol><li>До <strong>google apps</strong> все новинки докатываются с опозданием.</li><li>Удобнее держать один аккаунт на все сервисы.</li></ol><h2>План:</h2><p>Составив в голове небольшой план переезда, я начал по пунктам разбирать варианты решения проблем.</p><h3 style="padding-left: 30px;">1.Контакты.</h3><p style="padding-left: 60px;">С переносом контактов проблем не возникло вовсе, т.к. гугл умеет сам их экспортировать в opml файл и импортировать его обратно.</p><h3 style="padding-left: 30px;">2.Письма.</h3><p style="padding-left: 60px;">Основной задачей являлся перенос писем, причем простое выгребание по pop3 тут не как не подходит, т.к. мне нужно что бы у писем осталась та же дата, которая была и в оригинале.</p><p><center><a href="http://firstvds.ru/ru/home/index.html?from=2604" target="_blank"><img src="http://centrgroup.ru//uploads/2008/03/first-468x60-11.gif" title="imap to imap или переезд почты." alt="first 468x60 11 imap to imap или переезд почты." /></a></center></p><h2><span id="more-8"></span></h2><h2>Программа imapsync.</h2><p>Сразу хочу рассказать о подводных камнях, на которые я наткнулся. Данная утилита работает весьма не хитрым способом. Указываете ей &laquo;source&raquo; и &laquo;destination&raquo; сервера, после чего она проверяет есть ли данное письмо на &laquo;destination&raquo; сервере, если нету то скачивает его на ваш компьютер и заливает на сервер, если есть то приступает к следующему письму. Когда письма в папке заканчиваются, то переходим к следующей папке соответственно. Скорость работы не очень большая, у меня на одно письмо, без вложений, тратилось примерно секунда, так что я очень настоятельно рекомендую перед запуском удалить все письма из корзины, из спама и прочую архивную макулатуру, которая вам не нужна.</p><p>Второй подводный камень, это то, что при простом запуске из командной строки, письма начали переносить не совсем корректно, а точнее не совсем правильно начали присваиваться Лэйблы, возможно это не косяк, а просто я  не дождался пока программа отработает свой цикл полностью, но как бы там не было, я нажал ctrl+c и запустил другой вариант.</p><h2>Скрипт на <strong>Ruby</strong>.</h2><p><a href="http://blog.rpsl.info/wp-content/uploads/2009/01/ruby-logo.png" class="highslide-image" onclick="return hs.expand(this);"><img class="aligncenter size-thumbnail wp-image-390" title="ruby-logo" src="http://blog.rpsl.info/wp-content/uploads/2009/01/ruby-logo-150x150.png" alt="ruby logo 150x150 imap to imap или переезд почты." width="150" height="150" /></a></p><pre class="prettyprint lang-ruby">#!/usr/bin/env ruby
require 'net/imap'

# Source server connection info.
SOURCE_NAME = 'username@example.com'
SOURCE_HOST = 'mail.example.com'
SOURCE_PORT = 993
SOURCE_SSL  = true
SOURCE_USER = 'username'
SOURCE_PASS = 'password'

# Destination server connection info.
DEST_NAME = 'username@gmail.com'
DEST_HOST = 'imap.gmail.com'
DEST_PORT = 993
DEST_SSL  = true
DEST_USER = 'username@gmail.com'
DEST_PASS = 'password'

# Mapping of source folders to destination folders. The key is the name of the
# folder on the source server, the value is the name on the destination server.
# Any folder not specified here will be ignored. If a destination folder does
# not exist, it will be created.
FOLDERS = {
  'INBOX' =&gt; 'INBOX',
  'sourcefolder' =&gt; 'gmailfolder'
}

# Maximum number of messages to select at once.
UID_BLOCK_SIZE = 1024

# Utility methods.
def dd(message)
   puts "[#{DEST_NAME}] #{message}"
end

def ds(message)
   puts "[#{SOURCE_NAME}] #{message}"
end

def uid_fetch_block(server, uids, *args)
  pos = 0

  while pos &lt; uids.size     server.uid_fetch(uids[pos, UID_BLOCK_SIZE], *args).each {|data| yield data }     pos += UID_BLOCK_SIZE   end end @failures = 0 @existing = 0 @synced   = 0 # Connect and log into both servers. ds 'Connecting...' source = Net::IMAP.new(SOURCE_HOST, SOURCE_PORT, SOURCE_SSL) ds 'Logging in...' source.login(SOURCE_USER, SOURCE_PASS) dd 'Connecting...' dest = Net::IMAP.new(DEST_HOST, DEST_PORT, DEST_SSL) dd 'Logging in...' dest.login(DEST_USER, DEST_PASS) # Loop through folders and copy messages. FOLDERS.each do |source_folder, dest_folder|   # Open source folder in read-only mode.   begin     ds "Selecting folder '#{source_folder}'..."     source.examine(source_folder)   rescue =&gt; e
    ds "Error: select failed: #{e}"
    next
  end

  # Open (or create) destination folder in read-write mode.
  begin
    dd "Selecting folder '#{dest_folder}'..."
    dest.select(dest_folder)
  rescue =&gt; e
    begin
      dd "Folder not found; creating..."
      dest.create(dest_folder)
      dest.select(dest_folder)
    rescue =&gt; ee
      dd "Error: could not create folder: #{e}"
      next
    end
  end

  # Build a lookup hash of all message ids present in the destination folder.
  dest_info = {}

  dd 'Analyzing existing messages...'
  uids = dest.uid_search(['ALL'])

  if uids.length &gt; 0
    uid_fetch_block(dest, uids, ['ENVELOPE']) do |data|
      dest_info[data.attr['ENVELOPE'].message_id] = true
    end
  end

  dd "Found #{uids.length} messages"

  # Loop through all messages in the source folder.
  uids = source.uid_search(['ALL'])

  ds "Found #{uids.length} messages"

  if uids.length &gt; 0
    uid_fetch_block(source, uids, ['ENVELOPE']) do |data|
      mid = data.attr['ENVELOPE'].message_id

      # If this message is already in the destination folder, skip it.
      if dest_info[mid]
        @existing += 1
        next
      end

      # Download the full message body from the source folder.
      ds "Downloading message #{mid}..."
      msg = source.uid_fetch(data.attr['UID'], ['RFC822', 'FLAGS',
          'INTERNALDATE']).first

      # Append the message to the destination folder, preserving flags and
      # internal timestamp.
      dd "Storing message #{mid}..."

      tries = 0

      begin
        tries += 1
        dest.append(dest_folder, msg.attr['RFC822'], msg.attr['FLAGS'],
            msg.attr['INTERNALDATE'])

        @synced += 1
      rescue Net::IMAP::NoResponseError =&gt; ex
        if tries &lt; 10
          dd "Error: #{ex.message}. Retrying..."
          sleep 1 * tries
          retry
        else
          @failures += 1
          dd "Error: #{ex.message}. Tried and failed #{tries} times; giving up on this message."
        end
      end
    end
  end

  source.close
  dest.close
end
puts "Finished. Message counts: #{@existing} untouched, #{@synced} transferred, #{@failures} failures."</pre><p>Скорость работы примерно такая же, но мне он показался более удобным, его можно оставить в screen&#39;e на сервере и ложиться спать.</p><p>В общем, удачных переездов.</p>Тэги: <a href="http://blog.rpsl.info/tag/gmail" title="gmail" rel="tag nofollow">gmail</a>, <a href="http://blog.rpsl.info/tag/google" title="Google" rel="tag nofollow">Google</a>, <a href="http://blog.rpsl.info/tag/imap" title="imap" rel="tag nofollow">imap</a>, <a href="http://blog.rpsl.info/tag/ruby-on-rails" title="ruby on rails" rel="tag nofollow">ruby on rails</a><br /><h4>Похожие записи</h4><ul class="st-related-posts"><li><a href="http://blog.rpsl.info/2009/01/php-uvedomlenie-o-novoy-pochte-v-icq.html" title="PHP Уведомление о новой почте в icq (13 Январь  2009)">PHP Уведомление о новой почте в icq</a> (5)</li><li><a href="http://blog.rpsl.info/2009/10/fotoblogi-fotoblog-foto-blog.html" title="Фотоблоги / фотоблог / фото блог (7 Октябрь  2009)">Фотоблоги / фотоблог / фото блог</a> (4)</li><li><a href="http://blog.rpsl.info/2009/02/proverka-poziciy-sayta.html" title="Проверка позиций сайта (23 Февраль  2009)">Проверка позиций сайта</a> (0)</li><li><a href="http://blog.rpsl.info/2009/08/vse-bankomaty-moskvy-baknkomator.html" title="Все банкоматы Москвы&nbsp;&mdash; Банкоматор (8 Август  2009)">Все банкоматы Москвы&nbsp;&mdash; Банкоматор</a> (1)</li><li><a href="http://blog.rpsl.info/2009/02/blog.html" title="Блог (23 Февраль  2009)">Блог</a> (0)</li></ul>]]></content:encoded> <wfw:commentRss>http://blog.rpsl.info/2009/09/imap-2-imap-ili-pereezd-pochty.html/feed</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>PHP Кэширование картинок</title><link>http://blog.rpsl.info/2009/08/php-images-cache.html</link> <comments>http://blog.rpsl.info/2009/08/php-images-cache.html#comments</comments> <pubDate>Thu, 27 Aug 2009 11:05:07 +0000</pubDate> <dc:creator>Rpsl</dc:creator> <category><![CDATA[Полезное]]></category> <category><![CDATA[Статьи]]></category> <category><![CDATA[bash]]></category> <category><![CDATA[images]]></category> <category><![CDATA[optimize]]></category> <category><![CDATA[php]]></category><guid isPermaLink="false">http://blog.rpsl.info/?p=346</guid> <description><![CDATA[Недавно была необходимость сделать функцию кэширования картинок на php ну я и накидался простой скрипт, который отлично справляется с этой задачей. Логика работы скрипта очень простая. Он смотрит входящие параметры, проверяет есть ли картинка заданного размера и отдает её если она есть или создает в подпапке&#160; такую картинку и отдает её. Это спасает нас от [...]]]></description> <content:encoded><![CDATA[<p>Недавно была необходимость сделать функцию <strong>кэширования картинок на php</strong> ну я и накида<span style="text-decoration: line-through;">лся</span> простой скрипт, который отлично справляется с этой задачей.</p><p>Логика работы скрипта очень простая. Он смотрит входящие параметры, проверяет есть ли картинка заданного размера и отдает её если она есть или создает в подпапке&nbsp; такую картинку и отдает её.</p><p>Это спасает нас от необходимости делать кучу ресайзов при загрузке картинки + это универсальный способ, который можно использовать в любом проекте.</p><p>Листинг под катом.</p><p><span id="more-346"></span><br /> <strong>images_cache.php</strong></p><pre class="prettyprint lang-php">// ------ Define's --------------

$file_folder = $_SERVER['DOCUMENT_ROOT']."/images";
$file_image  = $_GET['image'];
$file_size   = $_GET['size'];

// ------------------------------

if(empty($file_size)){
    $file_size = 50;
}

function img_resize($src, $dest, $width, $height, $rgb = 0xFFFFFF, $quality = 100) {
    $size = getimagesize($src);

    if ($size === false) {
        return false;
    }

    $format = strtolower(substr($size['mime'], strpos($size['mime'], '/') + 1));
    $icfunc = 'imagecreatefrom'.$format;

    if (!function_exists($icfunc)) {
        return false;
    }

    $x_ratio = $width  / $size[0];
    $y_ratio = $height / $size[1];

    if ($height == 0) {

        $y_ratio = $x_ratio;
        $height  = $y_ratio * $size[1];

    } elseif ($width == 0) {

        $x_ratio = $y_ratio;
        $width   = $x_ratio * $size[0];

    }

    $ratio       = min($x_ratio, $y_ratio);
    $use_x_ratio = ($x_ratio == $ratio);

    $new_width   = $use_x_ratio  ? $width  : floor($size[0] * $ratio);
    $new_height  = !$use_x_ratio ? $height : floor($size[1] * $ratio);
    $new_left    = $use_x_ratio  ? 0 : floor(($width - $new_width)   / 2);
    $new_top     = !$use_x_ratio ? 0 : floor(($height - $new_height) / 2);

    $isrc  = $icfunc($src);
    $idest = imagecreatetruecolor($width, $height);

    imagefill($idest, 0, 0, $rgb);
    imagecopyresampled($idest, $isrc, $new_left, $new_top, 0, 0, $new_width, $new_height, $size[0], $size[1]);

    imagejpeg($idest, $dest, $quality);

    imagedestroy($isrc);
    imagedestroy($idest);

    return true;
}

$file_destination_folder = $file_folder.'/'.$file_size.'/';
$file_destination        = $file_folder.'/'.$file_size.'/'.$file_image;

if(!file_exists($file_destination)){

    if (!is_dir($file_destination_folder)) {
        if(!mkdir($file_destination_folder, 0777)){
            exit();
        }
    }

    img_resize($file_folder.'/'.$file_image, $file_destination, $file_size, 0);
}

$file_final_size = getimagesize($file_destination);
header("Content-type: ".$file_final_size['mime']);
header('Content-Length: ' . filesize($file_destination));
readfile($file_destination);
</pre><p>Далее, что бы всё было красиво, нам нужно добавить запись в .htaccess, что бы наши картинки имели нормальные адреса</p><p><strong>.htaccess</strong></p><pre class="prettyprint">RewriteRule   ^image/([0-9]+)/(.*)$  images_cache.php?size=$1&#038;image=$2 [L,QSA]
</pre><p>Плюс, для оптимизации картинок, можно повесить в крон <a href="http://habrahabr.ru/blogs/wordpress/42192/">shell скрипт от Александра Улизько</a>.<p><strong>images_optimize.sh</strong></p><pre class="prettyprint lang-bash">
for file in `find . -iname "*.jpg" -or -iname "*.png" -or -iname "*.jpeg"`;do
  ext=${file##*.}
  if [ -n "$ext" ]; then
    if [ "$ext" = "jpg" ]; then
      echo "optimizing ${file} as jpeg file with jpegtran"
      jpegtran -copy none -optimize -perfect -outfile temp_abracadabra_filename.jpg $file
      mv -f temp_abracadabra_filename.jpg $file;
    fi
    if [ "$ext" = "jpeg" ]; then
      echo "optimizing ${file} as jpeg file with jpegtran"
      jpegtran -copy none -optimize -perfect -outfile temp_abracadabra_filename.jpeg $file
      mv -f temp_abracadabra_filename.jpeg $file;
    fi
    if [ "$ext" = "png" ]; then
      echo "optimizing ${file} as png file with pngcrush"
      pngcrush -rem alla -reduce -brute "$file" temp_abracadabra_filename.png;
      mv -f temp_abracadabra_filename.png $file;
    fi
  fi
done;
</pre>Тэги: <a href="http://blog.rpsl.info/tag/bash" title="bash" rel="tag nofollow">bash</a>, <a href="http://blog.rpsl.info/tag/images" title="images" rel="tag nofollow">images</a>, <a href="http://blog.rpsl.info/tag/optimize" title="optimize" rel="tag nofollow">optimize</a>, <a href="http://blog.rpsl.info/tag/php" title="php" rel="tag nofollow">php</a><br /><h4>Похожие записи</h4><ul class="st-related-posts"><li><a href="http://blog.rpsl.info/2010/03/chat-dlya-vbulletin.html" title="Чат для vbulletin (5 Март  2010)">Чат для vbulletin</a> (3)</li><li><a href="http://blog.rpsl.info/2009/01/cvetovaya-identifikaciya.html" title="Цветовая идентификация (13 Январь  2009)">Цветовая идентификация</a> (1)</li><li><a href="http://blog.rpsl.info/2010/07/kehshirovanie-mysql-mysimplecache.html" title="Кэширование MySQL&nbsp;&mdash; MySimpleCache (6 Июль  2010)">Кэширование MySQL&nbsp;&mdash; MySimpleCache</a> (0)</li><li><a href="http://blog.rpsl.info/2009/04/integraciya-phpbb3-s-lyubym-sajtom.html" title="Интеграция phpbb3 с любым сайтом (24 Апрель  2009)">Интеграция phpbb3 с любым сайтом</a> (19)</li><li><a href="http://blog.rpsl.info/2009/02/govnokoding-ili-ne-xochu.html" title="Говнокодинг или &laquo;не хочу!&raquo; (2 Февраль  2009)">Говнокодинг или &laquo;не хочу!&raquo;</a> (1)</li></ul>]]></content:encoded> <wfw:commentRss>http://blog.rpsl.info/2009/08/php-images-cache.html/feed</wfw:commentRss> <slash:comments>7</slash:comments> </item> <item><title>SQL Joins Виды, типы, различия</title><link>http://blog.rpsl.info/2009/07/sql-joins-vidy-tipy-razlichiya.html</link> <comments>http://blog.rpsl.info/2009/07/sql-joins-vidy-tipy-razlichiya.html#comments</comments> <pubDate>Mon, 27 Jul 2009 18:56:43 +0000</pubDate> <dc:creator>Rpsl</dc:creator> <category><![CDATA[Полезное]]></category> <category><![CDATA[Статьи]]></category> <category><![CDATA[join]]></category> <category><![CDATA[mysql]]></category> <category><![CDATA[sql]]></category><guid isPermaLink="false">http://blog.rpsl.info/?p=307</guid> <description><![CDATA[В первую очередь шпаргалка для себя, но надеюсь кому нибудь окажется полезным. Для начала оговорим, что у нас есть две таблицы: Table A и Table B: id name id name &#8212; ----&#160;&#8212; ---- 1 Pirate 1 Rutabaga 2 Monkey 2 Pirate 3 Ninja 3 Darth Vader 4 Spaghetti 4 Ninja Теперь можно рассмотреть, варианты и [...]]]></description> <content:encoded><![CDATA[<p>В первую очередь шпаргалка для себя, но надеюсь кому нибудь окажется полезным.</p><p>Для начала оговорим, что у нас есть две таблицы: <strong>Table A</strong> и <strong>Table B</strong>:</p><blockquote><p>id name       id  name<br /> &mdash; ----&nbsp;&mdash;  ----<br /> 1 <span style="color: red;">Pirate</span> 1   Rutabaga<br /> 2  Monkey     2 <span style="color: red;">Pirate</span><br /> 3 <span style="color: red;">Ninja</span> 3   Darth Vader<br /> 4  Spaghetti  4 <span style="color: red;">Ninja<br /> </span></p></blockquote><p>Теперь можно рассмотреть, варианты и различия возможных JOIN запросов.</p><p><strong>Inner join</strong> выведет записи, которые соответствуют  таблице A и таблице B.</p><blockquote><p><a href="http://blog.rpsl.info/wp-content/uploads/2009/07/join-inner.png" class="highslide-image" onclick="return hs.expand(this);"><img class="alignright size-thumbnail wp-image-308" title="join-inner" src="http://blog.rpsl.info/wp-content/uploads/2009/07/join-inner-150x150.png" alt="join inner 150x150 SQL Joins Виды, типы, различия." width="150" height="150" /></a></p><p>SELECT * FROM TableA<br /> <strong>INNER JOIN</strong> TableB<br /> ON TableA.name = TableB.name</p><p>id  name       id   name<br /> &mdash;  ----&nbsp;&mdash;   ----<br /> 1   Pirate     2    Pirate<br /> 3   Ninja      4    Ninja</p></blockquote><p><span id="more-307"></span></p><p><strong>Full outer join</strong> выведет все записи из Таблицы A и Таблицы B,  сопоставив данные из обеих таблиц, если в одной из таблиц данные отсутсвуют, то результатом для данной ячейки будет &laquo;NULL&raquo;</p><blockquote><p><a href="http://blog.rpsl.info/wp-content/uploads/2009/07/join-cartesian.png" class="highslide-image" onclick="return hs.expand(this);"><img class="alignright size-thumbnail wp-image-314" title="join-cartesian" src="http://blog.rpsl.info/wp-content/uploads/2009/07/join-cartesian-150x150.png" alt="join cartesian 150x150 SQL Joins Виды, типы, различия." width="150" height="150" /></a>SELECT * FROM TableA<br /> <strong>FULL OUTER JOIN</strong> TableB<br /> ON TableA.name = TableB.name</p><p>id    name       id    name<br /> &mdash;    ----&nbsp;&mdash;    ----<br /> 1     Pirate     2     Pirate<br /> 2     Monkey <span style="color: gray;">null</span> <span style="color: gray;">null</span><br /> 3     Ninja      4     Ninja<br /> 4     Spaghetti <span style="color: gray;">null</span> <span style="color: gray;">null</span><br /> <span style="color: gray;">null</span> <span style="color: gray;">null</span> 1     Rutabaga<br /> <span style="color: gray;">null</span> <span style="color: gray;">null</span> 3     Darth Vader</p></blockquote><p><strong>Left outer join</strong> выведет данные из Таблицы A, с сопутсвующими данными из Таблицы B. Если подходящих данных в Таблице B нету, то будет выбран &laquo;NULL&raquo;</p><blockquote><p><a href="http://blog.rpsl.info/wp-content/uploads/2009/07/join-left.png" class="highslide-image" onclick="return hs.expand(this);"><img class="alignright size-thumbnail wp-image-316" title="join-left" src="http://blog.rpsl.info/wp-content/uploads/2009/07/join-left-150x150.png" alt="join left 150x150 SQL Joins Виды, типы, различия." width="150" height="150" /></a>SELECT * FROM TableA<br /> <strong>LEFT OUTER JOIN</strong> TableB<br /> ON TableA.name = TableB.name</p><p>id  name       id    name<br /> &mdash;  ----&nbsp;&mdash;    ----<br /> 1   Pirate     2     Pirate<br /> 2   Monkey <span style="color: gray;">null</span> <span style="color: gray;">null</span><br /> 3   Ninja      4     Ninja<br /> 4   Spaghetti <span style="color: gray;">null</span> <span style="color: gray;">null</span></p></blockquote><p>Оперируя прошлым примером, нам не составит труда достать только те данные, которые есть в Таблице A, для этого нужно использовть <strong> left outer join</strong>, с исключением пустых записей из Таблицы B</p><blockquote><p><a href="http://blog.rpsl.info/wp-content/uploads/2009/07/join-left-outer.png" class="highslide-image" onclick="return hs.expand(this);"><img class="alignright size-thumbnail wp-image-318" title="join-left-outer" src="http://blog.rpsl.info/wp-content/uploads/2009/07/join-left-outer-150x150.png" alt="join left outer 150x150 SQL Joins Виды, типы, различия." width="150" height="150" /></a>SELECT * FROM TableA<br /> LEFT OUTER JOIN TableB<br /> ON TableA.name = TableB.name<br /> <strong>WHERE TableB.id IS null</strong></p><p>id  name       id     name<br /> &mdash;  ----&nbsp;&mdash;     ----<br /> 2   Monkey <span style="color: gray;">null</span> <span style="color: gray;">null</span><br /> 4   Spaghetti <span style="color: gray;">null</span> <span style="color: gray;">null</span></p></blockquote><p>А если, чуть чуть усложнить задачу, то мы лего достанем данные, которые не имеют ничего общего. Для этого нужно использовать <strong>full outer join</strong>.</p><blockquote><p><a href="http://blog.rpsl.info/wp-content/uploads/2009/07/join-outer.png" class="highslide-image" onclick="return hs.expand(this);"><img class="alignright size-thumbnail wp-image-320" title="join-outer" src="http://blog.rpsl.info/wp-content/uploads/2009/07/join-outer-150x150.png" alt="join outer 150x150 SQL Joins Виды, типы, различия." width="150" height="150" /></a>SELECT * FROM TableA<br /> FULL OUTER JOIN TableB<br /> ON TableA.name = TableB.name<br /> <strong>WHERE TableA.id IS null<br /> OR TableB.id IS null<br /> </strong><br /> id    name       id    name<br /> &mdash;    ----&nbsp;&mdash;    ----<br /> 2     Monkey <span style="color: gray;">null</span> <span style="color: gray;">null</span><br /> 4     Spaghetti <span style="color: gray;">null</span> <span style="color: gray;">null</span><br /> <span style="color: gray;">null</span> <span style="color: gray;">null</span> 1     Rutabaga<br /> <span style="color: gray;">null</span> <span style="color: gray;">null</span> 3     Darth Vader</p></blockquote><p>Вот собственно и всё. Всё просто.</p><p>P.s. Данная статья является вольным переводом некой статьи, авторство которой мне не известно.</p>Тэги: <a href="http://blog.rpsl.info/tag/join" title="join" rel="tag nofollow">join</a>, <a href="http://blog.rpsl.info/tag/mysql" title="mysql" rel="tag nofollow">mysql</a>, <a href="http://blog.rpsl.info/tag/sql" title="sql" rel="tag nofollow">sql</a><br /><h4>Похожие записи</h4><ul class="st-related-posts"><li><a href="http://blog.rpsl.info/2010/07/kehshirovanie-mysql-mysimplecache.html" title="Кэширование MySQL&nbsp;&mdash; MySimpleCache (6 Июль  2010)">Кэширование MySQL&nbsp;&mdash; MySimpleCache</a> (0)</li><li><a href="http://blog.rpsl.info/2010/06/php-keshirovanie-mysql.html" title="PHP Кеширование Mysql (27 Июнь  2010)">PHP Кеширование Mysql</a> (1)</li></ul>]]></content:encoded> <wfw:commentRss>http://blog.rpsl.info/2009/07/sql-joins-vidy-tipy-razlichiya.html/feed</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Грамотный backup</title><link>http://blog.rpsl.info/2009/05/true-backup.html</link> <comments>http://blog.rpsl.info/2009/05/true-backup.html#comments</comments> <pubDate>Sat, 23 May 2009 10:28:04 +0000</pubDate> <dc:creator>Rpsl</dc:creator> <category><![CDATA[Статьи]]></category> <category><![CDATA[backup]]></category> <category><![CDATA[device]]></category> <category><![CDATA[hdd]]></category> <category><![CDATA[internet]]></category> <category><![CDATA[Linux]]></category><guid isPermaLink="false">http://blog.rpsl.info/?p=226</guid> <description><![CDATA[В последнее время, всё больше и больше озадачиваюсь вопросами организации &#171;резервного хранилища&#187;. Пока еще не делал никаких подвижек в эту сторону, а просто думаю над возможными вариантами. Сильно в эту тему тоже не углублялся, так что пост больше походит на &#171;мысли в слух&#187;. Для начала нужно определиться, что нужно бэкапить: Необходимо: сайты рабочие папки (home [...]]]></description> <content:encoded><![CDATA[<p>В последнее время, всё больше и больше озадачиваюсь вопросами организации &laquo;резервного хранилища&raquo;. Пока еще не делал никаких подвижек в эту сторону, а просто думаю над возможными вариантами. Сильно в эту тему тоже не углублялся, так что пост больше походит на &laquo;мысли в слух&raquo;.</p><p>Для начала нужно определиться, что нужно бэкапить:</p><p style="padding-left: 30px;">Необходимо:</p><blockquote><ul><li>сайты</li><li>рабочие папки (home folder) cо всех машин за которыми работаю.</li></ul></blockquote><p style="padding-left: 30px;">Желательно:</p><blockquote><ul><li>Музыкальное хранилище.</li><li>Видео хранилище. Причем под видео, я воспринимаю не только папку &laquo;Downloads&raquo;, а в первую очередь накопленный почти за год архив с Creative VADO.</li></ul></blockquote><p>Из возможных решений проблемы, рассматривал несколько вариантов:<br /> <span id="more-226"></span></p><blockquote><ul><li>Локальный компьютер</li><li>Удаленный сервер</li><li>Отдельный, домашний компьютер</li></ul></blockquote><p>К сожалению, не один из этих вариантов мне не подходит.</p><p>Локальный компьютер у мне работает не 24/7.</p><p>Удаленный сервер, именно потому, что он &laquo;удаленный&raquo;, а я хочу, что бы все важные мне вещи всегда были под рукой.</p><p>Отдельный компьютер собирать тоже не хочется, т.к. для него нужно место, он будет шуметь, да и вообще, зачем стрелять дробью в мух.</p><p>Удачно вспомнил, что около года назад, мой коллега, приобрел себе отличный кейс для <a href="http://blog.rpsl.info/tag/hdd" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with hdd">hdd</a> &laquo;Vantec NexStar LX&raquo;</p><p><a href="http://blog.rpsl.info/wp-content/uploads/2009/05/46101.jpg" class="highslide-image" onclick="return hs.expand(this);"><img class="aligncenter size-full wp-image-227" title="46101" src="http://blog.rpsl.info/wp-content/uploads/2009/05/46101.jpg" alt="46101 Грамотный backup." width="300" height="175" /></a></p><p>Вот его отзывы об устройстве:</p><blockquote><p>Задолбал меня системник тарахтящий под столом, решил прикупить вот такую хрень.<br /> Стоит коробка размером с МАС mini и не жужжит. Через 10 минут засыпает, при вызове по ссылке включается и велком. Простой интерфейс, удаленное управление, сменный <a href="http://blog.rpsl.info/tag/hdd" class="st_tag internal_tag" rel="tag nofollow" title="Posts tagged with hdd">HDD</a> на любой желаемый объём, делает проверку ежедневно диска. Надо чего залить, удалить или подкорректировать, подрубаю к компу через USB или удаленно Суперюзером захожу и вуаля. При подключение к компу напрямую по Ethernet, умеет выдавать IP по DHCP. Всего 2000руб. Я доволен!</p></blockquote><p>Решил прикупить себе такой же. Благо с &laquo;реальными ip&raquo; уже дано проблем нету, и воткнуть его для доступа в интернет не проблема. Или как вариант, в целях повышения безопасности, через роутер повесить его на &laquo;нестандартный&raquo; порт.</p><p>Если у вас есть опыт создания подобных, домашних, систем, то отпишитесь пожалуйста.</p>Тэги: <a href="http://blog.rpsl.info/tag/backup" title="backup" rel="tag nofollow">backup</a>, <a href="http://blog.rpsl.info/tag/device" title="device" rel="tag nofollow">device</a>, <a href="http://blog.rpsl.info/tag/hdd" title="hdd" rel="tag nofollow">hdd</a>, <a href="http://blog.rpsl.info/tag/internet" title="internet" rel="tag nofollow">internet</a>, <a href="http://blog.rpsl.info/tag/linux" title="Linux" rel="tag nofollow">Linux</a><br /><h4>Похожие записи</h4><ul class="st-related-posts"><li><a href="http://blog.rpsl.info/2010/06/testiruem-verstku-adobe-browselab.html" title="Тестируем верстку Adobe BrowserLab (14 Июнь  2010)">Тестируем верстку Adobe BrowserLab</a> (0)</li><li><a href="http://blog.rpsl.info/2009/09/opera-i-megafon.html" title="Опера и Мегафон... (7 Сентябрь  2009)">Опера и Мегафон...</a> (2)</li><li><a href="http://blog.rpsl.info/2009/02/nayti-avto-instruktora.html" title="Найти авто инструктора (13 Февраль  2009)">Найти авто инструктора</a> (2)</li><li><a href="http://blog.rpsl.info/2009/02/luchshee-vrag-xoroshego.html" title="Лучшее враг хорошего (25 Февраль  2009)">Лучшее враг хорошего</a> (5)</li><li><a href="http://blog.rpsl.info/2009/03/ideya-beslatnogo-wifi.html" title="Идея беслатного wifi (3 Март  2009)">Идея беслатного wifi</a> (2)</li></ul>]]></content:encoded> <wfw:commentRss>http://blog.rpsl.info/2009/05/true-backup.html/feed</wfw:commentRss> <slash:comments>4</slash:comments> </item> <item><title>Иммигрируем? Ведь все мы мечтали жить в Голландии</title><link>http://blog.rpsl.info/2009/05/immigriruem-ved-vse-my-mechtali-zhit-v-gollandii.html</link> <comments>http://blog.rpsl.info/2009/05/immigriruem-ved-vse-my-mechtali-zhit-v-gollandii.html#comments</comments> <pubDate>Sun, 17 May 2009 11:09:17 +0000</pubDate> <dc:creator>Rpsl</dc:creator> <category><![CDATA[Статьи]]></category> <category><![CDATA[амстердам]]></category> <category><![CDATA[голландия]]></category> <category><![CDATA[иммиграция]]></category><guid isPermaLink="false">http://blog.rpsl.info/?p=220</guid> <description><![CDATA[Хуйе нах, Голландия! Веселая чистенькая обкуренная страна, где парады нарядных трансвеститов маршируют мимо каналов и ветряных мельниц, а местное население приветливо машет им тюльпанами, — такова репутация Голландии в глазах иностранцев. Клоака Европы, оккупированная наркоманами, наркодилерами и выходцами из государств третьего мира, — такой видят свою страну голландцы. Подняв на щит &#171;демократические ценности&#187;, они воплотили [...]]]></description> <content:encoded><![CDATA[<blockquote><p><strong>Хуйе нах, Голландия!</strong></p><p>Веселая чистенькая обкуренная страна, где парады нарядных трансвеститов<br /> маршируют мимо каналов и ветряных мельниц, а местное население<br /> приветливо машет им тюльпанами, — такова репутация Голландии в глазах<br /> иностранцев.</p><p>Клоака Европы, оккупированная наркоманами, наркодилерами и выходцами из<br /> государств третьего мира, — такой видят свою страну голландцы. Подняв на<br /> щит &laquo;демократические ценности&raquo;, они воплотили их в жизнь, напоролись на<br /> все, за что боролись, и теперь пакуют вещи для эмиграции.</p><p><strong>Головой об косяк</strong></p><p>Я свободно говорю по-голландски. Я похож на голландца. Если не стригусь<br /> коротко. Если коротко — во мне сразу угадывают русского. Я приехал в<br /> Голландию почти десять лет назад, когда мигрантов было еще мало,<br /> голландцы были приветливы и общительны, а в обращении ходили гульдены —<br /> самая красивая бумажная валюта в Европе.</p></blockquote><p><span id="more-220"></span></p><blockquote><p>Уже тогда я испытал в Амстердаме шок от разлитого повсюду сладковатого<br /> запаха марихуаны и гашиша. Им здесь пропитано все. Люди, улицы, парки,<br /> даже собаки. Для местных он столь же привычен, как для нас —<br /> загазованный запах улиц. Но вот туриста с непривычки может и повести.<br /> Уже в те времена число памятников в Амстердаме проигрывало числу<br /> кафе-шопов, где официанты ошарашивали посетителей дежурным вопросом:<br /> &laquo;Какой сорт травы в это время суток вы предпочитаете — Amstel Gold,<br /> Sativa, Indica?&raquo;.</p><p>Впрочем, меня эта тема интересовала мало — я собирался завоевывать мир<br /> спорта: сначала сам выступал в борцовских клубах, как профессионал, а<br /> потом начал пробовать себя в промоутерстве, продвигал перспективных<br /> спортсменов. В свободное время зубрил добросовестно &laquo;хуйе морген&raquo;<br /> (доброе утро") и &laquo;хуйе нах&raquo; (&laquo;доброй ночи&raquo;) и изучал город. В те годы я<br /> еще находил смешной шутку: &laquo;Голландские дети вырастают на голландских<br /> сказках, в которых добро всегда курит зло&raquo;...</p><p>За годы моего пребывания в Амстердаме &laquo;косяк&raquo; становился все дешевле, а<br /> цены на алкоголь все дороже. Параллельно росли и штрафы за распитие<br /> спиртного в общественном месте, которые в итоге достигли сегодняшних 18<br /> евро — если прихлебывать из бутылки пиво. Ну а если у тебя в руках<br /> бутылка крепкого алкоголя — ты вообще, брат, попал. Заплати за такое<br /> безобразие 90 евро. Зато с &laquo;косяком&raquo; ты всегда мог разгуливать по<br /> Амстердаму свободно. Не возбранялось даже подойти за огоньком к<br /> полицейским. А чего бояться — они сами могут в этот момент<br /> раскумариваттся: коротать время на посту, передавая друг другу косяк с<br /> планом. Хотя за потребление каннабиса на дежурстве по закону и положен<br /> небольшой штраф, на это закрывают глаза. По утрам я добросовестно изучал<br /> прессу — лучший способ для освоения языка. Но и там муссировалась<br /> излюбленная голландская тема. Институт изучения марихуаны провел порцию<br /> новых исследований! Ученые сделали вывод, что конопля отлично снимает<br /> посттравматический синдром у психопатов и приступы удушья — у<br /> астматиков. Кто б сомневался. Институт изучения марихуаны — то корыто,<br /> что исправно кормит коноплеведов который год. Понятно, что они из кожи<br /> вон вылезут, доказывая: полезней этой штуки для здоровья нет.</p><p>Разделы международных событий пестрили восторженными отзывами о<br /> &laquo;голландском эксперименте&raquo; сторонников легализации мягких наркотиков из<br /> других стран. Все они пели гимны &laquo;демократическим ценностям&raquo; и строили<br /> оптимистические прогнозы: мол, кривая употребления жестких наркотиков в<br /> такой лояльной стране, как Голландия, вот-вот пойдет вниз. Не пора ли и<br /> другим странам к замечательному эксперименту присоединиться?</p><p>А однажды у меня появилась возможность увидеть действие<br /> чудо-эксперимента на отдельном конкретном человеке. Мой знакомый,<br /> гражданин Голландии, угнал машину и попал в тюрьму. В России ему за<br /> такое дело дали бы несколько лет, надели бы ватник, вручили пилу — и<br /> пошел бы он валить лес на свежем воздухе где-нибудь на бескрайних<br /> просторах Колымы. В Голландии же знакомый загремел за решетку на 2<br /> месяца.</p><p>Голландская тюрьма мало отличается от санатория: тихо, чисто, сытно. Вот<br /> только скучно. Телевизор есть, но по нему, неясно из каких соображений,<br /> показывают только два порноканала. Приятель потом рассказал мне: все<br /> началось с того, что во время полицейского обхода дежурный<br /> поинтересовался у новичка, не наркоман ли он. И хотя мой знакомый<br /> никогда наркоманом был, он взял да из любопытства и брякнул: да.<br /> Полицейский тут же принес ему одноразовый шприц с метадоном и жгут.<br /> Приятель засадил себе пробную дозу. День прошел незаметно. На следующий<br /> день он опять заказал себе укол. Через неделю потребовал увеличить дозу.<br /> В общем, когда знакомый через два месяца из тюрьмы вышел, то был уже<br /> законченным нариком.</p><p>Сейчас он сидит на героине и вместе с другими наркоманами ходит ночами<br /> на железнодорожную станцию — там всем страждущим бесплатно выдают уже<br /> заправленные шприцы с метадоном, чтобы джанки могли дотянуть до утра,<br /> пока не затарятся чистым наркотиком. Метадон — заменитель героина<br /> раздают также из специально курсирующих по городу автобусов скорой<br /> наркотической помощи. Все для блага человека, все во имя человека! Ван<br /> Гог ухом не отделался</p><p>Неудивительно, что на &laquo;дым свободы&raquo; — визитную карточку Голландии — сюда<br /> потянулись мигранты из стран третьего мира. Ведь он так похож на дым их<br /> отечеств. Опять-таки на моих глазах во всех крупных городах Нидерландов<br /> появились этнические кварталы, которые заполонили люди с красной,<br /> черной, желтой кожей. Я никогда в жизни не был расистом, да и сейчас<br /> себя таковым не считаю. Мне все равно, какого цвета кожа, был бы человек<br /> приличный. Но разноцветные мигранты притащили с собой привычки,<br /> превратившие чистые открыточные голландские города в разросшиеся свалки.</p><p>Выходцы из Африки и Азии идут по улице, поедая на ходу шиш-кебаб с рисом<br /> и майонезом, а остатки еды кидают прохожим под ноги. Наверное, так они<br /> ходят по джунглям. В целых районах Амстердама лучше предусмотрительно<br /> шествовать посреди дороги, иначе мусор вывалят тебе из окон прямо на<br /> голову. Деньги цветные мигранты добывают либо воровством, либо торговлей<br /> жесткими наркотиками. Амфетамин, кокаин, экстази, крэк, ЛСД, героин, —<br /> всю эту дурь тебе предлагают на каждом углу, хоть и шепотом, но не шибко<br /> таясь. Выходцы из стран третьего мира используют цвет своей кожи, как<br /> охранную грамоту, и чуть что — сразу вопят о дискриминации.</p><p>Однажды еду в трамвае. На заднем сиденье развалился грязный обдолбанный<br /> негр. Он курил здоровенный косяк, хотя в транспорте курить запрещено,<br /> плевал другим под ноги и громко ругался. Однако все пассажиры трамвая<br /> делали вид, что его не замечают. Естественно, моя русская кровь<br /> вскипела. Я подошел и попросил его затушить косяк и перестать<br /> материться, потому что в трамвае дети. Негр открыл рот еще шире и оттуда<br /> еще громче понеслось &laquo;фак&raquo; вперемешку с &laquo;факинг&raquo;. Я схватил его за<br /> шиворот и потащил к дверям.</p><p>Боже, что тут началось. &laquo;Расизм! — вопил грамотный мигрант. — Вызовите<br /> полицию! Меня убивают из-за цвета моей кожи!&raquo; Очень быстро появилась<br /> полиция. И ... я оказался кругом виноватым. Негра почти сразу отпустили<br /> с извинениями, я же еще два часа объяснялся в участке, доказывая, что не<br /> верблюд и не расист.</p><p>Любой голландец уже давно при виде агрессивного черного предпочитает<br /> свернуть в сторону. Слишком велики шансы нарваться на нож или пулю.<br /> Показалось ему с обкурки, что ты расистски настроенный розовый слон — и<br /> привет. Тебя на кладбище, а его в тюрьму со всеми удобствами — смотреть<br /> порно под метадон.</p><p>У Европарламента, прорубившего окно в Европу для волны мигрантов,<br /> вначале еще были иллюзии, что приезжие из стран Ближнего Востока и<br /> Африки поднимут своими мозолистыми руками экономику, а потом в один<br /> прекрасный день станут цивилизованными законопослушными европейцами.<br /> Оказалось — блеф! Никакой ассимиляции. Алжирец, живущий в своем гетто в<br /> Амстердаме или Харлеме уже лет десять, может и поныне знать на<br /> голландском два слова и те неприличные. При этом детей у него —<br /> трое-четверо, живет он на пособие и в штыки воспринимает любые попытки<br /> европейских либералов заставить его считаться с местными порядками. У<br /> него своя культура! Свои традиции! Свои законы!</p><p>За пять последних лет популяция голландских мусульман выросла на<br /> полмиллиона. Режиссер Тео ван Гог, либерал, демократ и добрейшей души<br /> человек снял фильм &laquo;Смирение&raquo; — о нарушаемых правах европейских<br /> мусульманок. Хотел добиться для арабских фрау лучшей участи. И что? Был<br /> убит в самом центре Амстердама арабом, который застрелил его, ритуально<br /> перерезал горло и воткнул в сердце нож. Мол, не лезь... Мы со своими<br /> бабами сами разберемся.</p><p>И даже после таких выкидонов стать голландцем поразительно просто.<br /> Достаточно с помощью адвоката запросить у властей вид на жительство.<br /> Если и откажут — случится это не раньше, чем через год. А пока 12<br /> месяцев можешь жить вполне законно. Потом надо всего лишь из года в год<br /> повторять запросы &laquo;в связи с изменившимися обстоятельствами&raquo;. Все это<br /> время муниципальные власти будут оплачивать аренду твоей квартиры. А<br /> можно просто занять пустующий дом и жить коммуной в этом сквоте. Власти<br /> и в этом случае либеральны. Ну а если у приезжего появляются дети — его<br /> семью не депортируют из страны уже никогда.</p><p>Именно так и осело в Голландии два с лишним миллиона мигрантов.</p><p><strong>Але, полиция! </strong></p><p>Полиция в Голландии работает отлично. Но не потому, что граждане<br /> либерального общества не склонны к антиобщественным поступкам, а<br /> благодаря традиции тотального доносительства. Голландцы считают своим<br /> гражданским долгом позвонить в полицию и сообщить, если что заметят.<br /> Превысил скорость — и через несколько перекрестков тебя остановит<br /> патрульная машина. Кто-то из свидетелей успел запомнить номера твой<br /> машины и дать сигнал. Остановился там, где парковка запрещена — будь<br /> уверен, найдется с десяток добрых людей, которые не оставят это без<br /> внимания и сообщат об этом куда надо.</p><p>Или вот идет драка на улице — никого вроде кругом. Но из-за занавесок,<br /> из всех окон и щелей за ней наблюдают десятки внимательных глаз, которые<br /> потом расскажут, что они видели и кто первым начал. Свидетельствовать в<br /> суде для голландцев почетно. Стучать — не западло.</p><p>Самые страшные преступления — проявления агрессии. Хуже только уклонение<br /> от уплаты налогов. А вот воровство считается мелочью. Ворам, пойманным<br /> за руку в третий, а то и в четвертый раз, могут присудить штраф в<br /> размере 30 евро. Правда, на седьмой раз скажут: ну все, парень, у тебя<br /> теперь крупные проблемы. И ... приговорят к 60 часам<br /> общественно-полезных<br /> работ на кухне дома престарелых.</p><p>Посему логично, что под Амстердамом находится самый крупный черный рынок<br /> в Европе — Бевервайг. В ангарах продают ворованную парфюмерию, одежду,<br /> технику, оружие. За аренду места торговцы платят около 300 евро в месяц<br /> — и торгуют без ограничений.</p><p>Оружие в Голландии — такой же доступный товар, как и марихуана. Уплатив<br /> 250 евро в год, можно стать членом стрелкового клуба и собрать неплохой<br /> арсенал. У моего знакомого есть снайперские винтовки, штурмовые<br /> автоматы, пулемет. Еще он купил противотанковое ружье Дегтярева —<br /> длинное такое, на сошках. Его патрон пробивает лобовую броню танка и<br /> армированные по всем классам защиты лимузины. Зачем знакомому такая<br /> &laquo;дура&raquo;? Полиция демократического государства не задает столь бестактные<br /> вопросы.</p><p>Полицейского такта также хватает на то, чтобы не лезть на дискотеки, где<br /> у железных дверей рядом с окошком-бойницей красуется объявление:<br /> &laquo;Сегодня в нашем клубе — вечеринка с тяжелыми наркотиками&raquo;. Да,<br /> софт-драгс запрещены. Но частная территория — дело святое.</p><p>Благодаря таким логическим кульбитам международная наркомафия чувствует<br /> себя в Голландии превосходно. Страна победившего цивилизованного<br /> потребления анаши постепенно превратилась в главный мировой перевалочный<br /> пункт героина. В последнее время тут набрала силу югославская мафия —<br /> албанские косовары взяли под свой контроль почти весь наркобизнес в<br /> Амстердаме.</p><p>А что полиция? Полиция, напоминаю, поглощена погоней за нарушителями<br /> парковки. А что власти? Власти помогают полиции не отвлекаться от этого<br /> архиважного занятия. Недавно, например, они приняли закон о том, что<br /> курьеры, провозящие меньше 3 килограммов кокаина, не должны подвергаться<br /> аресту! Теперь все везут 2 кг 990 гр...</p><p><strong>Сладенькие мои </strong></p><p>Стою в очереди в супермаркет, чтобы купить продуктов на ужин. Передо<br /> мной два парня хватают друг друга за гульфики на джинсах и нежно<br /> целуются. Очередь движется медленно, парни целуются все томней и<br /> слюнявей, меня уже тошнит. Но не дай бог показать, что мне это не<br /> нравится. Начнется та же история, что с расизмом.</p><p>Мужчины с подведенными глазами, в женских платьях и босоножках на<br /> мускулистую ногу — обычная картина в Амстердаме. Секс-предложения,<br /> которые бормочут в спину туристам цветные сутенеры на каждом углу, не<br /> так просто укладываются в голове: &laquo;Девочка? Мальчик? Лошадка?&raquo;</p><p>Обитатели кварталов красных фонарей — проститутки и их сутенеры —<br /> настолько чувствуют себя хозяевами жизни, что разбивают видеоаппаратуру<br /> туристов и даже сталкивают фотографов в каналы. Полиция не препятствует.<br /> Пол живого товара в витринах не определить порой даже по справочнику —<br /> на одной особи могут присутствовать и мужские, и женские признаки.</p><p>Проститутки в Голландии, как и наркоторговцы — всех цветов радуги.<br /> Правда, китайские девицы легкого поведения предпочитают продаваться<br /> только китайцам, африканки — африканцам, турчанки — турками. И только<br /> девушки из бывшего СССР готовы лечь с любым.</p><p>Музеев эротики и секса в Амстердаме тьма-тьмущая. Посетителей могут тут<br /> ждать любые неожиданности, например, им навстречу выедет манекен-маньяк<br /> на колесиках. и со словами &laquo;Хей! Упс!&raquo; распахнет на себе одежду,<br /> демонстрируя гигантский детородный орган. Вариант для мужчин:<br /> пластиковая нимфоманка, лезущая в штаны каждому. Но это все<br /> туристическая ботва. В городе греха бывает и круче.</p><p>Гуляем как-то с другом по городу. Смотрим — в Большой церкви, она так и<br /> называется, звучит музыка. Видим, девчонки полуголые туда заходят.<br /> Симпатичные. Мы удивились — и за ними. На входе охранник стоит,<br /> улыбается.</p><p>&mdash; Ребята, вам туда нельзя!</p><p>Мы обиделись. А в чем, спрашиваем, проблема? Охранник как заржет: &laquo;Вы на<br /> афишу посмотрите. Читать умеете? Сегодня, в субботу, в Большой церкви —<br /> дискотека для лесбиянок&raquo;.</p><p>И я понял — голландские священники за бабки сдадут церковь в аренду хоть<br /> зоофилам.</p><p>Недавно я прочем любопытную цифру: за последние 2 года население<br /> Нидерландов уменьшилось на 20 тысяч человек. И это при бешеной, просто<br /> сумасшедшей имиграции! Натурализоваться тут элементарно: достаточно<br /> прожить в стране 5 лет, иметь работу и ответить перед комиссией на<br /> несколько шаблонных вопросов: типа что является столицей Голландии и<br /> &laquo;сколько стоит буханка хлеба&raquo;.</p><p>Кто же покидает Голландию? Отвечаю — коренные голландцы, те, кто еще не<br /> утерял мозги, скурившись или подсев на софт-наркоту. Как правило, это<br /> сельские жители, фермеры, близкие к земле. Они не хотят больше жить в<br /> той помойке, в которую превратилась их родная страна. Пепел Клааса<br /> стучит в их сердца. И потому сегодня простые голландские крестьяне<br /> увязывают свой скарб и прямо вместе с коровами и овцами по приглашению и<br /> за счет правительства Австралии массово эмигрируют в страну кенгуру.</p></blockquote><p>Просто не мог пройти мимо. Взял на <a href="http://anekdot.ru/an/an0605/o060517.html#45">анекдот.ру</a></p>Тэги: <a href="http://blog.rpsl.info/tag/amsterdam" title="амстердам" rel="tag nofollow">амстердам</a>, <a href="http://blog.rpsl.info/tag/gollandiya" title="голландия" rel="tag nofollow">голландия</a>, <a href="http://blog.rpsl.info/tag/immigraciya" title="иммиграция" rel="tag nofollow">иммиграция</a><br /> ]]></content:encoded> <wfw:commentRss>http://blog.rpsl.info/2009/05/immigriruem-ved-vse-my-mechtali-zhit-v-gollandii.html/feed</wfw:commentRss> <slash:comments>8</slash:comments> </item> <item><title>Интеграция phpbb3 с любым сайтом</title><link>http://blog.rpsl.info/2009/04/integraciya-phpbb3-s-lyubym-sajtom.html</link> <comments>http://blog.rpsl.info/2009/04/integraciya-phpbb3-s-lyubym-sajtom.html#comments</comments> <pubDate>Fri, 24 Apr 2009 10:00:26 +0000</pubDate> <dc:creator>Rpsl</dc:creator> <category><![CDATA[Статьи]]></category> <category><![CDATA[php]]></category> <category><![CDATA[phpbb]]></category> <category><![CDATA[форум]]></category><guid isPermaLink="false">http://blog.rpsl.info/?p=134</guid> <description><![CDATA[Не очень давно, по работе, пришлось делать интеграцию уже имеющегося сайта, с форумом на системе phpBB 3-ей версии. После разбора полетов и курения мануалов по работе форума, организовалась очень интересная и простая система. Если говорить о её плюсах, то она полностью независима от форума, таким образом, при обнолении движка, мы уверены что не потерям правленные [...]]]></description> <content:encoded><![CDATA[<p>Не очень давно, по работе, пришлось делать <strong>интеграцию</strong> уже имеющегося сайта, <strong>с форумом на системе phpBB</strong> 3-ей версии.</p><p>После разбора полетов и курения мануалов по работе форума, организовалась очень интересная и простая система. Если говорить о её плюсах, то она полностью независима от форума, таким образом, при обнолении движка, мы уверены что не потерям правленные нами ранее файлы и что ничего не поломается.</p><p>Для того, что бы понимать зачем и как это делать, сначала я постараюсь объяснить логику работы. Из уже готовых изменений, нам нужно добавить в БД сайта, дополнительное поле, например&nbsp;&mdash; &#39;user_f_id&#39;, в которое мы будем записывать информацию о сопоставлении профилей пользователей сайта, с профилями пользовталей форума (предполагается числовой идентификатор, user_id из БД форума&nbsp;&mdash; таблицы %prefix%_users).</p><p><span id="more-134"></span></p><blockquote><ol><li>Пользователь заполняет на сайте поля login и password</li><li>Проверяем, заполненно ли у предпологаемого пользователя поле user_f_id</li></ol><ul><li><strong>Если заполненно, то:</strong></li></ul><ol><li>Запускаем функцию авторизации пользователя через форумную БД (листинг ниже)</li><li>Если пароль не подходит, то выходим. Если подходит, то ставим авторизию на сайте + авторизацию на форуме</li><li>Авторизация на форуме делается путем установки кук + добавлением записи в таблицу %prefix%_sessions БД форума (листинг ниже)</li></ol><ul><li><strong>Если не заполнено, то:</strong></li></ul><ol><li>Скрипт производит стандартные функции валидации пароля</li><li>Если пароль не подходит, то выходим, если подходит, то запускаем функции установки сопоставления</li><li>Создаем запись в БД форума о пользователе (таблица %prefix%_users)</li><li>Созадем запись в БД форума о правах пользователя (таблица %prefix%_user_group)</li><li>Заполняем в БД нашего сайта поле user_f_id</li></ol></blockquote><p>Собственно всё. Теперь мы имеем систему, благодаря которой уже зарегистрированные пользователи, при первом входе заведут себе новый аккаунт на форуме. По какому критерию их сравнивать (логин, почта) это уже решайте сами.</p><p>Естественно нужно еще дописать функии, которые при  регистрации пользователей будут создавать учетную запись на форуме. И чтобы при авторизации несуществующего пользователя на сайте, при правильном форумном логине и пароле, ему автоматически создавалась учетная запись на сайте.</p><p><span style="text-decoration: underline;"><em>Листинг ф-ций, которые проверяют пароль из форумной базы:</em></span></p><pre class="prettyprint lang-php">// phpbb_hash($password) - Создание пароля
// phpbb_check_hash($password, $hash) - Верификация пароля

function unique_id()
{
    return substr(md5(rand().'_'.microtime().'_'.rand()), rand(0, 15), 16);
}

function _hash_gensalt_private($input, &amp;$itoa64, $iteration_count_log2 = 6)
{
    if ($iteration_count_log2 &lt; 4 || $iteration_count_log2 &gt; 31)
    {
        $iteration_count_log2 = 8;
    }
    $output = '$H$';
    $output .= $itoa64[min($iteration_count_log2 + ((PHP_VERSION &gt;= 5) ? 5 : 3), 30)];
    $output .= $_hash_encode64($input, 6, $itoa64); return $output;
}

function _hash_encode64($input, $count, &amp;$itoa64)
{
    $output = '';
     $i = 0;

    do
    {
        $value = ord($input[$i++]);
         $output .= $itoa64[$value &amp; 0x3f];

        if ($i &lt; $count)
        {
            $value |= ord($input[$i]) &lt;&lt; 8;
        }

        $output .= $itoa64[($value &gt;&gt; 6) &amp; 0x3f];

        if ($i++ &gt;= $count)
        {
            break;
        }

        if ($i &lt; $count)
        {
            $value |= ord($input[$i]) &lt;&lt; 16;
        }

        $output .= $itoa64[($value &gt;&gt; 12) &amp; 0x3f];

        if ($i++ &gt;= $count)
        {
            break;
        }

        $output .= $itoa64[($value &gt;&gt; 18) &amp; 0x3f];
    }
     while ($i &lt; $count);

    return $output;
}

function _hash_crypt_private($password, $setting, &amp;$itoa64)
{
    $output = '*';
    // Check for correct hash
    if (substr($setting, 0, 3) != '$H$')
    {
        return $output;
    }
    $count_log2 = strpos($itoa64, $setting[3]);
    if ($count_log2 &lt; 7 || $count_log2 &gt; 30)
    {
        return $output;
    }
    $count = 1 &lt;&lt; $count_log2;
    $salt = substr($setting, 4, 8);
    if (strlen($salt)
    != 8)
    {
        return $output;
    }
    if (PHP_VERSION &gt;= 5)
    {
        $hash = md5($salt . $password, true);
        do
        {
            $hash = md5($hash . $password, true);
        }
         while (--$count);
    }
    else
    {
        $hash = pack('H*', md5($salt . $password));
        do
        {
            $hash = pack('H*', md5($hash . $password));
        }
         while (--$count);
    }
    $output = substr($setting, 0, 12);
    $output .= $_hash_encode64($hash, 16, $itoa64);
    return $output;
}

public function phpbb_hash($password)
{
    $itoa64 = './0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
    $random_state = $unique_id();
    $random = '';
    $count = 6;
    if (($fh = @fopen('/dev/urandom', 'rb')))
    {
        $random = fread($fh, $count);
         fclose($fh);
    }
    if (strlen($random) &lt; $count)
    {
        $random = '';
        for ($i = 0; $i &lt; $count; $i += 16)
        {
            $random_state = md5($unique_id() . $random_state);
            $random .= pack('H*', md5($random_state));
        }
         $random = substr($random, 0, $count);
    }
    $hash = $_hash_crypt_private($password, $_hash_gensalt_private($random, $itoa64), $itoa64);
    if (strlen($hash) == 34)
    {
        return $hash;
    }
    return md5($password);
}

function phpbb_check_hash($password, $hash)
{
    $itoa64 = './0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
    if (strlen($hash) == 34)
    {
        return ($_hash_crypt_private($password, $hash, $itoa64) === $hash) ? true : false;
    }
    return (md5($password) === $hash) ? true : false;
}</pre><p><span style="text-decoration: underline;"><em>Массив для добавления записи о сессии в БД форума.</em></span></p><pre class="prettyprint lang-php">$browser = get_browser(null, true);
$ss = array(
            'sid'          =&gt; md5(date('U').rand(0,20)),
            'user_id'      =&gt; $forum['user_id'],
            'forum_id'     =&gt; '0',
            'last_visit'   =&gt; date('U'),
            'start_time'   =&gt; date('U'),
            'session_time' =&gt; date('U')+86400,
            'session_page' =&gt; 'index.php',
            'remote_ip'    =&gt; getenv('REMOTE_ADDR'),
            'browser'      =&gt; htmlspecialchars($browser['browser_name_pattern']),
            'autologin'    =&gt; '1'
            );</pre>Тэги: <a href="http://blog.rpsl.info/tag/php" title="php" rel="tag nofollow">php</a>, <a href="http://blog.rpsl.info/tag/phpbb" title="phpbb" rel="tag nofollow">phpbb</a>, <a href="http://blog.rpsl.info/tag/forum" title="форум" rel="tag nofollow">форум</a><br /><h4>Похожие записи</h4><ul class="st-related-posts"><li><a href="http://blog.rpsl.info/2010/03/chat-dlya-vbulletin.html" title="Чат для vbulletin (5 Март  2010)">Чат для vbulletin</a> (3)</li><li><a href="http://blog.rpsl.info/2009/11/twitter-it-dlya-vbulletin.html" title="Twitter it для vBulletin (4 Ноябрь  2009)">Twitter it для vBulletin</a> (15)</li><li><a href="http://blog.rpsl.info/2009/01/cvetovaya-identifikaciya.html" title="Цветовая идентификация (13 Январь  2009)">Цветовая идентификация</a> (1)</li><li><a href="http://blog.rpsl.info/2010/07/kehshirovanie-mysql-mysimplecache.html" title="Кэширование MySQL&nbsp;&mdash; MySimpleCache (6 Июль  2010)">Кэширование MySQL&nbsp;&mdash; MySimpleCache</a> (0)</li><li><a href="http://blog.rpsl.info/2009/02/govnokoding-ili-ne-xochu.html" title="Говнокодинг или &laquo;не хочу!&raquo; (2 Февраль  2009)">Говнокодинг или &laquo;не хочу!&raquo;</a> (1)</li></ul>]]></content:encoded> <wfw:commentRss>http://blog.rpsl.info/2009/04/integraciya-phpbb3-s-lyubym-sajtom.html/feed</wfw:commentRss> <slash:comments>19</slash:comments> </item> <item><title>New York глазами русского рэппера</title><link>http://blog.rpsl.info/2009/04/new-york-glazami-russkogo-reppera.html</link> <comments>http://blog.rpsl.info/2009/04/new-york-glazami-russkogo-reppera.html#comments</comments> <pubDate>Sun, 12 Apr 2009 21:11:12 +0000</pubDate> <dc:creator>Rpsl</dc:creator> <category><![CDATA[Статьи]]></category> <category><![CDATA[Music]]></category> <category><![CDATA[New York]]></category> <category><![CDATA[rap]]></category><guid isPermaLink="false">http://blog.rpsl.info/?p=106</guid> <description><![CDATA[Отличный рассказ опубликовал Eyal в своём блоге. Как минимум просто интересно. Настоятельно рекомендую к ознакомлению. Общался сегодня с русским парнем, рэппером, который живет в Нью-Йорке, переписывались о том, о сём, пришла идея замутить статью о жизни в штатах, глазами русского рэппера... Итак, поехали... Ожидания Сначала думал что там будет очень круто, ведь это Америка, все [...]]]></description> <content:encoded><![CDATA[<p>Отличный рассказ опубликовал <a href="http://eyal.blog.ru/60812115.html" target="_blank">Eyal в своём блоге</a>. Как минимум просто интересно. Настоятельно рекомендую к ознакомлению.</p><blockquote><p><span style="font-style: italic">Общался сегодня с русским парнем, рэппером, который живет в Нью-Йорке, переписывались о том, о сём, пришла идея замутить статью о жизни в штатах, глазами русского рэппера...</span></p><p>Итак, поехали...</p><p><strong>Ожидания<br /> </strong>Сначала думал что там будет очень круто, ведь это Америка, все стремятся туда ради лучшей жизни в погоне за мечтой, люди слетаются со всего мира. Когда был в самолете, ещё не осозновал до конца что лечу так далеко от России на другой континент, в другую часть света, в Штаты, в NY. Я не знал чего ожидать, но был уверен что буду восхищен и что по-другому быть не может, ведь это Америка мать её!) Полет был долгим, около 10 часов.</p><p><strong>Первое впечатление</strong><br /> По прилету первой реакцией конечно был легкий шок, я все ещё не осозновал где нахожусь. Первое что запомнилось&nbsp;&mdash; это ощущение живого мегаполиса, будто город дышит и в нем кипит жизнь, потому что вокруг было очень busy, везде происходила какая-то своя канитель, огромные паркинги возле аэропорта, сирены, бешеные люди куда-то бегут, вообщем все типично для обычного большого современного города. По пути на навое жильё я видел все эти американские тачки, много джипов, все машины разные, тачки в основном крутые, у многих поставлены классные диски, это что-то вроде традиции здесь, типа если хочешь чтобы твою тачку замечали, нужна классная одежка на твои колеса, и в последующем я видел очень много тачек с крутыми дисками почти на каждом шагу и вижу по сей день. Было очень непривычно.</p></blockquote><p><a href="http://eyal.blog.ru/60812115.html" target="_blank">Читать далее <span style="font-size: small"><strong>→</strong></span></a><p>Сюда приходят по следующим фразам</p><ul><li><a href="http://blog.rpsl.info/2009/07/slim-albom-xolodno-2009.html">альбом слима</a></li><li><a href="http://blog.rpsl.info/2009/07/jquery-label-tag.html">jquery label</a></li><li><a href="http://blog.rpsl.info/2010/06/slim-otvet-gufu-slim-spice-bape.html">slim spice baby</a></li><li><a href="http://blog.rpsl.info/2008/04/dinamicheskiy-faviconico.html">динамичный favicon</a></li><li><a href="http://blog.rpsl.info/2009/07/sql-joins-vidy-tipy-razlichiya.html">различия inner outer join</a></li><li><a href="http://blog.rpsl.info/2010/03/burger-king-na-kievskoj.html">собрать бургер</a></li></ul>Тэги: <a href="http://blog.rpsl.info/tag/music" title="Music" rel="tag nofollow">Music</a>, <a href="http://blog.rpsl.info/tag/new-york" title="New York" rel="tag nofollow">New York</a>, <a href="http://blog.rpsl.info/tag/rap" title="rap" rel="tag nofollow">rap</a><br /><h4>Похожие записи</h4><ul class="st-related-posts"><li><a href="http://blog.rpsl.info/2009/07/slim-albom-xolodno-2009.html" title="Slim&nbsp;&mdash; Альбом &laquo;Холодно&raquo; 2009 (29 Июль  2009)">Slim&nbsp;&mdash; Альбом &laquo;Холодно&raquo; 2009</a> (10)</li><li><a href="http://blog.rpsl.info/2009/07/jagafest-17-iyulya-den-unichtozheniya-rossijskoj-molodezhi.html" title="JagaFest / 17 июля&nbsp;&mdash; День уничтожения Российской молодежи (15 Июль  2009)">JagaFest / 17 июля&nbsp;&mdash; День уничтожения Российской молодежи</a> (2)</li><li><a href="http://blog.rpsl.info/2009/07/jagafest-noize-mc-geroin-fest.html" title="JagaFest&nbsp;&mdash; Noize MC&nbsp;&mdash; Героин Fest (18 Июль  2009)">JagaFest&nbsp;&mdash; Noize MC&nbsp;&mdash; Героин Fest</a> (1)</li><li><a href="http://blog.rpsl.info/2009/03/cao-klub-kak-eto-bylo.html" title="ЦАО Клуб&nbsp;&mdash; Как это было (8 Март  2009)">ЦАО Клуб&nbsp;&mdash; Как это было</a> (1)</li><li><a href="http://blog.rpsl.info/2009/04/film-klass.html" title="Фильм&nbsp;&mdash; &laquo;Класс&raquo; (30 Апрель  2009)">Фильм&nbsp;&mdash; &laquo;Класс&raquo;</a> (38)</li></ul>]]></content:encoded> <wfw:commentRss>http://blog.rpsl.info/2009/04/new-york-glazami-russkogo-reppera.html/feed</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>PlayStation 3&#160;&#8212; мысли вслух</title><link>http://blog.rpsl.info/2009/04/playstation-3-misli-v-slux-ili-luchi-v-storonu-ps3.html</link> <comments>http://blog.rpsl.info/2009/04/playstation-3-misli-v-slux-ili-luchi-v-storonu-ps3.html#comments</comments> <pubDate>Sun, 05 Apr 2009 10:34:22 +0000</pubDate> <dc:creator>Rpsl</dc:creator> <category><![CDATA[Статьи]]></category> <category><![CDATA[Linux]]></category> <category><![CDATA[PlayStation 3]]></category> <category><![CDATA[PS3]]></category> <category><![CDATA[sony]]></category><guid isPermaLink="false">http://blog.rpsl.info/?p=103</guid> <description><![CDATA[Я не сомневаюсь, что ребята из Sony гораздо лучше меня знаю как делать деньги, что нужно пользователям и т.д., но мне все таки хочется выразить свои мысли об этой игровой системе. &#160; Начать хочется с цены, средняя по Мск ~16000 за приставку на 80гб, два джойстика sixaxis dualshock 3 и какую либо игру в подарок. [...]]]></description> <content:encoded><![CDATA[<blockquote><p>Я не сомневаюсь, что ребята из Sony гораздо лучше меня знаю как делать деньги, что нужно пользователям и т.д., но мне все таки хочется выразить свои мысли об этой игровой системе.</p></blockquote><p>&nbsp;</p><p><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><a href="http://blog.rpsl.info/2009/04/05/2477189721_57e2f2ba25.jpg" class="highslide-image" onclick="return hs.expand(this);"><img class="mt-image-center" style="margin: 0pt auto 20px; text-align: center; display: block;" src="http://blog.rpsl.info/assets_c/2009/04/2477189721_57e2f2ba25-thumb-250x187-93.jpg" alt="2477189721_57e2f2ba25.jpg" height="187" width="250" title="PlayStation 3   мысли вслух." /></a></span></p><p>Начать хочется с цены, средняя по Мск ~16000 за приставку на 80гб, два джойстика <strong>sixaxis dualshock 3</strong> и какую либо игру в подарок. Согласитесь, не маленькая. Есть более дешевые варианты, с меньшим жестким диском и отсутствием одного джойстика, но как показывает практика, если покупать <strong>ps3</strong> не &laquo;просто что бы было&raquo;, то лучше раскошелиться на нормальный вариант, чем потом докупать составляющие.</p><p><span id="more-103"></span></p><p>Интересно также то, что её пытаются продвигать и как домашний медиа центр. Ну а чем плохо? Blu-ray есть, видео, музыку и фото может искать по сети.</p><p>Вот только, мне это кажется такой же полудохлой функцией, как и всё что в ней есть, кроме игр. Есть великолепный <strong>playstation store</strong>, в котором можно купить игры, скачать обновления и который принимает кредитки. Странно только, что продажа фильмов доступна только под EN аккаунтом. Я честно с удовольствием покупал бы лицензионные фильмы, если бы они появлялись в их магазине. Я не думаю что у sony есть проблемы и они не могут договориться, с локальными производителями, что бы распространять кино новинки через свой сервис.</p><p>Довольно печально, что они, так и не предусмотрели совместную работу с другими популярными устройствами. Я например являюсь обладателем ipod и скажу, что послушать музыку с него через ps3 является большой проблемой. Дело в том, что ps3 не умеет читать iTunesDB, а все файлы в на ipod хранятся с поломанными именами, в абсолютном рандоме и найти тот, который хочется, является большой проблемой.</p><p>Было бы здорово слушать подкасты. Не лезть для этого на сайт подкаста, просто увидеть &laquo;нотифи&raquo;, о том что новый подкаст загружен.</p><p>Очень расстраивает отсутствие виджетов, или системы расширений. Потому что, я бы хотел иметь нормальную читалку rss через встроенную а систему, а не через google reader.</p><p>Хорошо, что хоть научили дефолтный броузер отображать flash. Теперь осталось научить его рендерить страницы хотя бы на уровне ie6 =). Может толк из него и выйдет.</p><p>Радует, что они предусмотрели систему загрузки другой ОС, и говорят, что умельцы сумели запустить fedora linux на ps3. В целом использую другую систему можно смело собрать отличный медиа сервер, но это еще тот геморрой, да и за такую цену, хочется иметь это из коробки.</p><p style="text-align: center;"> <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" height="344" width="425"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/NnAn3h7kTM4&amp;hl=ru&amp;fs=1" /><embed type="application/x-shockwave-flash" src="http://www.youtube.com/v/NnAn3h7kTM4&amp;hl=ru&amp;fs=1" allowscriptaccess="always" allowfullscreen="true" height="344" width="425"></embed></object></p><p>Очень интересует мнение людей, которые являются обладателями ps3, не поленитесь, отпишите.</p>Тэги: <a href="http://blog.rpsl.info/tag/linux" title="Linux" rel="tag nofollow">Linux</a>, <a href="http://blog.rpsl.info/tag/playstation-3" title="PlayStation 3" rel="tag nofollow">PlayStation 3</a>, <a href="http://blog.rpsl.info/tag/ps3" title="PS3" rel="tag nofollow">PS3</a>, <a href="http://blog.rpsl.info/tag/sony" title="sony" rel="tag nofollow">sony</a><br /><h4>Похожие записи</h4><ul class="st-related-posts"><li><a href="http://blog.rpsl.info/2009/10/fotoblogi-fotoblog-foto-blog.html" title="Фотоблоги / фотоблог / фото блог (7 Октябрь  2009)">Фотоблоги / фотоблог / фото блог</a> (4)</li><li><a href="http://blog.rpsl.info/2009/02/luchshee-vrag-xoroshego.html" title="Лучшее враг хорошего (25 Февраль  2009)">Лучшее враг хорошего</a> (5)</li><li><a href="http://blog.rpsl.info/2009/05/true-backup.html" title="Грамотный backup (23 Май  2009)">Грамотный backup</a> (4)</li><li><a href="http://blog.rpsl.info/2009/10/ubuntu-9-10-pervye-vpechatleniya.html" title="Ubuntu 9.10 первые впечатления (4 Октябрь  2009)">Ubuntu 9.10 первые впечатления</a> (0)</li><li><a href="http://blog.rpsl.info/2009/03/ubuntu-904-pervye-oschuscheniya.html" title="Ubuntu 9.04&nbsp;&mdash; Первые ощущения (17 Март  2009)">Ubuntu 9.04&nbsp;&mdash; Первые ощущения</a> (1)</li></ul>]]></content:encoded> <wfw:commentRss>http://blog.rpsl.info/2009/04/playstation-3-misli-v-slux-ili-luchi-v-storonu-ps3.html/feed</wfw:commentRss> <slash:comments>10</slash:comments> </item> <item><title>Ubuntu 9.04&#160;&#8212; Первые ощущения</title><link>http://blog.rpsl.info/2009/03/ubuntu-904-pervye-oschuscheniya.html</link> <comments>http://blog.rpsl.info/2009/03/ubuntu-904-pervye-oschuscheniya.html#comments</comments> <pubDate>Tue, 17 Mar 2009 13:47:56 +0000</pubDate> <dc:creator>Rpsl</dc:creator> <category><![CDATA[Статьи]]></category> <category><![CDATA[Linux]]></category> <category><![CDATA[screenshot]]></category> <category><![CDATA[Ubuntu]]></category> <category><![CDATA[update]]></category><guid isPermaLink="false">http://blog.rpsl.info/?p=99</guid> <description><![CDATA[Так как релиз уже почти на носу, решил что ждать смысла нету и пора обновляться, ведь как говорится: &#171;Кто не рискует, тот не **ётся с настройками&#187;. =) Не сильно долго размышляя, я нажал ALT+F2 и вызвал менеджер обновлений с параметром -d, что означает обновление дистрибутива. sudo update-manager -d Далее согласился со всем что мне предлагают [...]]]></description> <content:encoded><![CDATA[<p>Так как релиз уже почти на носу, решил что ждать смысла нету и пора обновляться, ведь как говорится: &laquo;Кто не рискует, тот не **ётся с настройками&raquo;. =)</p><p>Не сильно долго размышляя, я нажал ALT+F2 и вызвал менеджер обновлений с параметром -d, что означает обновление дистрибутива.</p><blockquote><p>sudo update-manager -d</p></blockquote><p>Далее согласился со всем что мне предлагают и пошло&nbsp;&mdash; поехало. Обновление заняло около 30 минут, включая выкачивание из интернета ~400мб файлов.</p><p>Теперь про первые ощущения и скриншоты того, что сразу бросилось в глаза:</p><p>1. Система работает быстрее и стала есть меньше оперативки. Не знаю каким образом это связанно, но сейчас у меня <strong>firefox</strong> с ~10 плагинами и 10 открытыми табами занимает не более 500 мб и очень шустро работает. Возможно это последствия того, что недавно он тоже обновил свою версию. Мне приятнее думать, что это вызвано обновлением системы.</p><p>2. Новое приложение в дистрибутиве&nbsp;&mdash; <strong>Computer-Janitor</strong></p><p>&nbsp;</p><p><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><a href="http://blog.rpsl.info/2009/03/17/Computer-Janitor.png" class="highslide-image" onclick="return hs.expand(this);"><img class="mt-image-center" style="margin: 0pt auto 20px; text-align: center; display: block;" src="http://blog.rpsl.info/assets_c/2009/03/Computer-Janitor-thumb-250x300-74.png" alt="Computer-Janitor.png" width="250" height="300" title="Ubuntu 9.04   Первые ощущения." /></a></span></p><p><span id="more-99"></span></p><p>Призвано чистить систему и находить лишние пакеты. Я так понял, что это <span class="caps">GUI </span>для</p><blockquote><p>sudo apt-get autoremove &amp;&amp; sudo apt-get autoclean</p></blockquote><p>2. Скриншоты в <strong>Synaptic</strong></p><p>Теперь для любого приложения, можно запросить скриншот. Очень удобно, когда собираешься устанавливать незнакомое приложение, выбирая из результатов. Раньше приходилось либо отправляться в гугл, либо устанавливать несколько.</p><p>&nbsp;</p><p><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><a href="http://blog.rpsl.info/2009/03/17/Synaptic.png" class="highslide-image" onclick="return hs.expand(this);"><img class="mt-image-center" style="margin: 0pt auto 20px; text-align: center; display: block;" src="http://blog.rpsl.info/assets_c/2009/03/Synaptic-thumb-250x171-76.png" alt="Synaptic.png" width="250" height="171" title="Ubuntu 9.04   Первые ощущения." /></a></span></p><p>Сначала нажимаете на кнопку <strong>&laquo;Получить снимок экрана&raquo;</strong>, появляется маленький скриншот, кликая на который получаете крупное изображение.</p><p>3. Самое вкусное, новая система уведомлений.</p><p>&nbsp;</p><p><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><a href="http://blog.rpsl.info/2009/03/17/not1.png" class="highslide-image" onclick="return hs.expand(this);"><img class="mt-image-center" style="margin: 0pt auto 20px; text-align: center; display: block;" src="http://blog.rpsl.info/assets_c/2009/03/not1-thumb-250x89-78.png" alt="not1.png" width="250" height="89" title="Ubuntu 9.04   Первые ощущения." /></a></span><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><a href="http://blog.rpsl.info/2009/03/17/not2.png" class="highslide-image" onclick="return hs.expand(this);"><img class="mt-image-center" style="margin: 0pt auto 20px; text-align: center; display: block;" src="http://blog.rpsl.info/assets_c/2009/03/not2-thumb-250x81-80.png" alt="not2.png" width="250" height="81" title="Ubuntu 9.04   Первые ощущения." /></a></span></p><p>Автоматически выводит уведомления из im клиентов, о отчетах в системе, причем делает это довольно красиво и не отвлекая.</p><p>4. Новая, дефолтная тема для экрана приветствия.</p><p>&nbsp;</p><p><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><a href="http://blog.rpsl.info/2009/03/17/login.png" class="highslide-image" onclick="return hs.expand(this);"><img class="mt-image-center" style="margin: 0pt auto 20px; text-align: center; display: block;" src="http://blog.rpsl.info/assets_c/2009/03/login-thumb-250x250-84.png" alt="login.png" width="250" height="250" title="Ubuntu 9.04   Первые ощущения." /></a></span></p><p>Проблемы после обновления тоже появились. Некоторые приложения начали вываливаться с ошибками, но это и не мудрено. Самое печальное отвалилась консоль. Не знаю как это поточнее выразить, но суть в том что дочерние окна открываться отказываются.</p><p>&nbsp;</p><p><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><a href="http://blog.rpsl.info/2009/03/17/console.png" class="highslide-image" onclick="return hs.expand(this);"><img class="mt-image-center" style="margin: 0pt auto 20px; text-align: center; display: block;" src="http://blog.rpsl.info/assets_c/2009/03/console-thumb-250x166-82.png" alt="console.png" width="250" height="166" title="Ubuntu 9.04   Первые ощущения." /></a></span></p><p>Проблему эту еще не победил, но собственно я и не искал ещё её решения.</p><p>&nbsp;</p>Тэги: <a href="http://blog.rpsl.info/tag/linux" title="Linux" rel="tag nofollow">Linux</a>, <a href="http://blog.rpsl.info/tag/screenshot" title="screenshot" rel="tag nofollow">screenshot</a>, <a href="http://blog.rpsl.info/tag/ubuntu" title="Ubuntu" rel="tag nofollow">Ubuntu</a>, <a href="http://blog.rpsl.info/tag/update" title="update" rel="tag nofollow">update</a><br /><h4>Похожие записи</h4><ul class="st-related-posts"><li><a href="http://blog.rpsl.info/2009/10/ubuntu-9-10-pervye-vpechatleniya.html" title="Ubuntu 9.10 первые впечатления (4 Октябрь  2009)">Ubuntu 9.10 первые впечатления</a> (0)</li><li><a href="http://blog.rpsl.info/2009/02/luchshee-vrag-xoroshego.html" title="Лучшее враг хорошего (25 Февраль  2009)">Лучшее враг хорошего</a> (5)</li><li><a href="http://blog.rpsl.info/2009/05/true-backup.html" title="Грамотный backup (23 Май  2009)">Грамотный backup</a> (4)</li><li><a href="http://blog.rpsl.info/2009/05/automatic-upgrade-wordpress.html" title="Автоматическое обновление wordpress (14 Май  2009)">Автоматическое обновление wordpress</a> (4)</li><li><a href="http://blog.rpsl.info/2009/04/playstation-3-misli-v-slux-ili-luchi-v-storonu-ps3.html" title="PlayStation 3&nbsp;&mdash; мысли вслух (5 Апрель  2009)">PlayStation 3&nbsp;&mdash; мысли вслух</a> (10)</li></ul>]]></content:encoded> <wfw:commentRss>http://blog.rpsl.info/2009/03/ubuntu-904-pervye-oschuscheniya.html/feed</wfw:commentRss> <slash:comments>1</slash:comments> </item> </channel> </rss>
<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using memcached
Page Caching using memcached (user agent is rejected)
Database Caching 45/84 queries in 0.160 seconds using memcached

Served from: blog.rpsl.info @ 2010-07-31 21:04:13 -->