<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><atom:link rel="hub" href="http://tumblr.superfeedr.com/" xmlns:atom="http://www.w3.org/2005/Atom"/><description>notes about stuff</description><title>IT Runs</title><generator>Tumblr (3.0; @itruns)</generator><link>http://itruns.ru/</link><item><title>"25 Aug 91 20:57:08 GMT
Hello everybody out there using minix -    
I’m doing a  (free)..."</title><description>“25 Aug 91 20:57:08 GMT&lt;br/&gt;
Hello everybody out there using minix -    &lt;br/&gt;
I’m doing a  (free) operating system (just a hobby, won’t be big and professional  like gnu) for 386(486) AT clones. This has been brewing since april, and  is starting to get ready. I’d like any feedback on things people  like/dislike in minix, as my OS resembles it somewhat (same physical  layout of the file-system (due to practical reasons) among other  things).    I’ve currently ported bash(1.08) and gcc(1.40), and  things seem to work. This implies that I’ll get something practical  within a few months, and I’d like to know what features most people  would want. Any suggestions are welcome, but I won’t promise I’ll  implement them :-)    &lt;br/&gt;
Linus (torvalds@kruuna.helsinki.fi)     &lt;br/&gt;
PS. Yes - it’s free of any minix code, and it has a multi-threaded  fs. It is NOT portable (uses 386 task switching etc), and it probably  never will support anything other than AT-harddisks, as that’s all I  have :-(”&lt;br/&gt;&lt;br/&gt; - &lt;em&gt;Ядру 19 лет.&lt;/em&gt;</description><link>http://itruns.ru/post/1008006252</link><guid>http://itruns.ru/post/1008006252</guid><pubDate>Wed, 25 Aug 2010 12:46:44 +0400</pubDate><category>linux</category><category>цитата</category><category>Linus Torvalds</category></item><item><title>Шпоры по регулярным выражениям, HTML, CSS, MySQL и т. п.</title><description>&lt;a href="http://www.addedbytes.com/cheat-sheets/"&gt;Шпоры по регулярным выражениям, HTML, CSS, MySQL и т. п.&lt;/a&gt;: &lt;p&gt;Да и вообще сайт полезный. В прошлом он &lt;a target="_blank" href="http://www.addedbytes.com/blog/what-happened-to-ilovejackdaniels-dot-com/"&gt;был&lt;/a&gt; &lt;a href="http://ILoveJackDaniels.com" target="_blank"&gt;ILoveJackDaniels.com&lt;/a&gt;&lt;/p&gt;</description><link>http://itruns.ru/post/742845447</link><guid>http://itruns.ru/post/742845447</guid><pubDate>Sun, 27 Jun 2010 23:28:39 +0400</pubDate><category>ILoveJackDaniels.com</category><category>AddedBytes.com</category><category>webdev</category></item><item><title>Символические ссылки. Ограничения «жестких» ссылок</title><description>&lt;p&gt;Здесь мы вынуждены столкнуться с очень распространенным заблуждением (даже среди пользователей UNIX), которое является в основном следствием того, что ссылки, как мы видели ранее (незаслуженно называемые «жесткими» ссылками), ассоциируются только с обычными файлами (и мы видели, что это не повод —— так как даже символические ссылки являются «связанными»). Но для этого требуется, чтобы мы сначала разъяснили, что же представляют собой символические ссылки (часто называемые «мягкими» ссылками или даже еще чаще «симлинками»).&lt;/p&gt;
&lt;p&gt;Символические ссылки — это файлы особого типа, единственным содержанием которых является произвольная строка, которая может указывать (а может и не указывать) на существующий файл. Когда вы обращаетесь к символической ссылке в командной строке или в программе, на самом деле вы обращаетесь к файлу, на который она указывает, если он существует. Например:&lt;/p&gt;
&lt;blockquote&gt;$ echo Hello &amp;gt; myfile&lt;br/&gt;$ ln -s myfile mylink&lt;br/&gt;$ ls -il&lt;br/&gt;total 4&lt;br/&gt;169 -rw-rw-r&amp;#8212;        1 queen     queen            6 Dec 10&amp;#160;21:30 myfile&lt;br/&gt;416 lrwxrwxrwx    1 queen     queen            6 Dec 10&amp;#160;21:30 mylink -&amp;gt; myfile&lt;br/&gt;$ cat myfile&lt;br/&gt;Hello&lt;br/&gt;$ cat mylink&lt;br/&gt;Hello&lt;/blockquote&gt;
&lt;p&gt;Как видите, тип файла mylink — «l» (от слова Link), т. е. он является символической ссылкой. Права доступа для символической ссылки значения не имеют: они всегда будут rwxrwxrwx. Вы также можете видеть, что она и файл myfile — это два разных файла, т. к. ее номер inode отличается. Но она ссылается на него символически, поэтому, когда вы вводите команду&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;cat mylink&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;на самом деле вы выводите содержимое файла myfile. Чтобы продемонстрировать, что символическая ссылка содержит произвольную строку, мы можем сделать следующее:&lt;/p&gt;
&lt;blockquote&gt;$ ln -s &amp;#8220;I&amp;#8217;m no existing file&amp;#8221; anotherlink&lt;br/&gt;$ ls -il anotherlink&lt;br/&gt;418 lrwxrwxrwx    1 queen     queen           20 Dec 10&amp;#160;21:43 anotherlink -&amp;gt; I&amp;#8217;m no existing file&lt;br/&gt;$ cat anotherlink&lt;br/&gt;cat: anotherlink: No such file or directory&lt;/blockquote&gt;
&lt;p&gt;Но символические ссылки существуют благодаря тому, что они преодолевают несколько ограничений, присущих («жестким») ссылкам:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;
&lt;p&gt;Вы не можете создать ссылку на inode в каталоге, который находится в другой файловой системе. Причина проста: счетчик ссылки хранится в самом inode’е, а последние 	не могут совместно использоваться в разных файловых системах. А симлинки позволяют сделать это.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Вы не можете создать ссылки на каталоги, во избежание создания циклов в файловой системе. Но вы можете создать симлинк, указывающий на каталог и использовать его так, как если бы это на самом деле был каталог.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Поэтому символические ссылки очень полезны в различных ситуациях, и очень часто люди стремятся их использовать для связывания файлов даже тогда, когда могла бы быть использована обычная ссылка. Одно из преимуществ обычного связывания состоит в том, что вы не потеряете файл, если удалите «оригинальный».&lt;/p&gt;
&lt;p&gt;И напоследок, если вы были внимательны, то могли заметить, что размер симлинка — это просто размер строки.&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="http://rus-linux.net/MyLDP/BOOKS/MDK-10/ext2fs-ln-s.html"&gt;via&lt;/a&gt;&lt;/p&gt;</description><link>http://itruns.ru/post/702737529</link><guid>http://itruns.ru/post/702737529</guid><pubDate>Wed, 16 Jun 2010 04:55:00 +0400</pubDate><category>ссылки</category><category>linux</category><category>ln</category></item><item><title>Новая команда</title><description>&lt;p&gt;Я поставил матлаб в /usr/local. Но почему-то вот такая ерунда происходит: матлаб не хочет запускаться без консоли, т. е. вызвать его можно только командой, выполненной в эмуляторе термнала. При этом, автодополнение имени команды тоже не оказалось после установки. Эту проблему раньше я решал с помощью добавления такой строки в ~/.bashrc:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;alias matlab=’/usr/local/matlab/bin/matlab &amp;amp;’&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Теперь автодополнение есть. Амперсант стоит для того, чтобы дальше можно было пользоваться консолью, в которой вводится команда, т. к. дальнейший вывод матлаба в ней я не наблюдал.&lt;/p&gt;
&lt;p&gt;Сегодня же ко мне пришло озарение. Я как-то из водуха догадался, что автодополнение можно сделать путем создания ссылки в /usr/bin на исполняемый матлабовский файл:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;ln -s /usr/local/matlab2008b/bin/matlab /usr/bin/matlab&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Теперь можно вызывать матлаб без ввода полного пути, причем от любого пользователя, чего нельзя было так просто добиться первым способом.&lt;/p&gt;</description><link>http://itruns.ru/post/702704199</link><guid>http://itruns.ru/post/702704199</guid><pubDate>Wed, 16 Jun 2010 04:44:00 +0400</pubDate><category>ln</category><category>linux</category><category>автодополнение</category></item><item><title>Slackware vs Archlinux: выбор дистрибутива для опытного пользователя</title><description>&lt;p&gt;Статья (перевод) &lt;a target="_blank" href="http://distrland.blogspot.com/2010/01/slackware-vs-archlinux.html"&gt;отсюда&lt;/a&gt;, оригинал — &lt;a id="zw.s" title="здесь" href="http://beej.us/blog/2009/12/arch-vs-slackware/" target="_blank"&gt;здесь&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Как вам должно быть уже известно, в мире существует огромное количество дистрибутивов Linux (для тех, кто не в курсе — «Linux» — это ядро операционной системы, вокруг которого создают коллекцию утилит и приложений, все это вместе называется «дистрибутив»).&lt;/p&gt;
&lt;p&gt;Какой дистрибутив выбрать — зависит от того, что вы собираетесь с ним делать, и хотите ли вы настраивать все сами, чтобы дистрибутив находился по вашим полным контролем. Может быть вы хотите, чтобы все просто работало «из коробки» (в таком случае я рекомендую Ubuntu). Некоторым нужно запустить сервер. Их выбор — Red Hat (или CentOS). Разумеется, существует масса альтернатив, например BSD.&lt;/p&gt;
&lt;p&gt;Если вы пользователь, который любит копаться во внутренностях системы и настраивать все своими руками, вам необходимо рассмотреть два нижеописанных дистрибутива. Оба поддерживают 32 и 64-битные платформы и придерживаются правила &lt;a title="KISS principle" target="_blank" href="http://ru.wikipedia.org/wiki/KISS"&gt;KISS&lt;/a&gt;. Это относительный новичек &lt;a target="_blank" href="http://www.archlinux.org/"&gt;Arch Linux&lt;/a&gt; (создан в 2002 году) и почтенный, проверенный в битвах &lt;a target="_blank" href="http://slackware.com/"&gt;Slackware Linux&lt;/a&gt; (создан в 1993 году и сегодня является старейшим активно поддерживающимся дистрибутивом — дети, которые родились в один год со Slackware, сейчас уже водят машины). Оба дистрибутива подразумевают настройку путем ручной правки конфигурационных файлов, мало графических утилит настройки, много работы в консоли. В итоге вы получите систему с прекрасным графическим интерфейсом: оба дистрибутива официально поддерживают KDE, Arch также официально поддерживает GNOME, который несложно установить и в Slackware. Зачем вам все это? Ответ — для того, чтобы больше узнать о работе системы и научиться самостоятельно администрировать ее.&lt;/p&gt;
&lt;p&gt;Ирония дружественных к пользователю систем заключается в том, что повышение дружелюбности к пользователю сопровождается соответствующим усложнением системы. Процесс управления системой от сравнительно умного и сверхмощного человеческого мозга передается относительно тупой части сложного и хрупкого софта для управления системой (я считаю, что именно по причине сложности и хрупкости этих систем администрирование Unix всегда осуществлялось людьми, и они никогда не строились по принципу «выстрелил и забыл»).&lt;/p&gt;
&lt;p&gt;Итак, мы избавимся от лишних уровней сложности и вернем людей назад, в итоге мы получим более простую систему в обмен на необходимость больше знать о том как настраивать и поддерживать ее (если вы действительно хотите узнать все о том, как работает Linux, можете собрать свой собственный дистрибутив, используя &lt;a target="_blank" href="http://www.linuxfromscratch.org/"&gt;Linux From Scratch&lt;/a&gt;, но не думаю, что вы сегодня так далеко зайдете).&lt;/p&gt;
&lt;p&gt;Итак, вернемся к двум нашим дистрибутивам — Arch и Slackware. Оба устанавливаются в текстовом режиме и не запускают  &lt;a target="_blank" href="http://en.wikipedia.org/wiki/X_Window_System"&gt;X&lt;/a&gt;, пока вы им об этом не скажете. Инсталлятор Slackware ведет вас за руку через весь процесс установки, в то время как у Arch он фактически предлагает вам вручную редактировать /etc/rc.conf (который на самом деле очень простой и симпатичный файл).&lt;/p&gt;
&lt;p&gt;Установка Арча чуть-чуть отличается вследствие того, что она не включает X — его необходимо загрузить и установить с помощью менеджера пакетов, только тогда можно будет работать в графическом режиме.&lt;/p&gt;
&lt;p&gt;В обоих дистрибутивах после установки попадаешь в консоль, графическая сессия по умолчанию не стартует. Оба дистрибутива имеют софт для пакетного менеджмента и оба используют пакеты формата tarball. Менеджер пакетов Арча — «pacman» быстрее, чем у Slackware, но вряд ли это будет заметно на практике. Самое существенное отличие — использование в Arch системы контроля зависимостей пакетов в отличие от Slackware, где она до сих пор не используется. Пользователи Slackware не застрахованы от конфликтов, которые часто называют «адом зависимостей». Может ли система быть стабильной без автоматического контроля зависимостей? Да, может, и Slackware подтвердил это на практике. Пользователи просто обновляют пакеты, когда это необходимо. С другой стороны, работу с Arch можно назвать раем зависимостей, где все просто работает и все нужные зависимости скачиваются и устанавливаются автоматически.&lt;/p&gt;
&lt;p&gt;Стабильность Slackware общеизвестна. В дистрибутив включают только проверенные версии пакетов, обновление которых, за исключением обновлений безопасности, происходит достаточно редко. Вы устанавливаете систему и она просто работает.&lt;/p&gt;
&lt;p&gt;Arch не ставит во главу угла стабильность, в основном система включает самые последние версии приложений (хотя девелоперские версии как правило отсутствуют). Как только выходит новый релиз программы, значит она очень скоро появится в Arch (часто задержка связана с тем, что новые пакеты сначала попадают в «тестовый» репозиторий, к которому обычные пользователи не подключены, однако вы можете к нему подключиться, если хотите помочь в тестировании программы. Пользователи Арча обновляют свою систему чаще всего с помощью команды «pacman -Syu», чтобы обновить все пакеты. Обычно несколько пакетов обновляются каждый день после выхода новых версий.&lt;/p&gt;
&lt;p&gt;Хотя это звучит как кошмар в плане стабильности, который должен постоянно приводить к нарушениям, обычно обновление работает без сучка и задоринки. У меня была одна проблема, когда майнтайнер Арча забыл включить один из пакетов KDE, являвшийся частью общего обновления, но ошибка была очень быстро исправлена. Другая проблема появилась, когда nVidia переместила драйвер для моей видеокарты в другой пакет, а старый оказался несовместим с последней версией Xorg — установка собственного пакета драйвера от Arch решила и эту проблему. Эти две неприятности случились за восемь месяцев практически ежедневных обновлений.&lt;/p&gt;
&lt;p&gt;Если вы хотите придать Slackware немного больше свежести, можно использовать репозиторий «-current». Эти пакеты не очень хорошо протестированы (так как их пользователи являются тестерами), но в итоге они станут частью следующего релиза и будут нерушимы как скала.&lt;/p&gt;
&lt;p&gt;Если говорить об обновлениях безопасности, Slackware предоставляет обновления безопасности как для текущего, так и для нескольких более старых релизов. Вы можете быть уверены, что поддержка обновлений безопасности будет доступна длительное время, и я нигкогда не видел, чтобы обновления безопасности каким-либо образом повредили систему. Что касается Арча, он не предлагает отдельных обновлений безопасности, они просто являются частью политики, направленной на обновление всех пакетов до последних версий. Arch не обеспечивает отдельного отслеживания обновлений безопасности.&lt;/p&gt;
&lt;p&gt;Один из примеров, где действительно видна разница между этими двумя концепциями обновлений — это серверы. Со Slackware вы можете быть уверены, что обновления обеспечивают только повышение безопасности, и все. Но вам вряд ли понравится, если обновление postfix до последней версии «просто, чтобы было» нарушит работу пользователей. Поэтому я не рекомендую использовать Arch в качестве сервера, хотя некоторые используют его в таком качестве (единственное послабление в этом вопросе сос стороны разработчиков дистрибутива — версия ядра с долгосрочной поддержкой, которая обновляется не часто и поэтому больше подходит для машин, работающих в течение долгого времени без перезагрузки.&lt;/p&gt;
&lt;p&gt;Вы можете подумать: «Если Арч постоянно обновляет все пакеты до последних версий, почему я каждый раз должен скачивать DVD с последним релизом?» Вы не должны! После установки вам никогда не нужно будет переустанавливать его или устраивать большое обновление каждые шесть месяцев. Вы просто всегда будете получать из сети последние версии пакетов. Такая модель называется «инкрементный релиз». Slackware использует обычную модель разработки с нумерованными релизами.&lt;/p&gt;
&lt;p&gt;акой из дистрибутивов имеет больше пакетов? Ответ однозначный — Arch. Slackware 13.0 включает около 1000 пакетов, в то время как Arch более 4000. Это например, означает, что Inkscape есть в Archlinux, но отсутствует в Slackware. Не поймите меня неправильно — 1000 это много, однако вы можете не найти в этом списке что-что из того, что вам нужно (конечно вы всегда можете самостоятельно собрать для себя нужный пакет).&lt;/p&gt;
&lt;p&gt;Если вам нужен пакет, которого нет в официальных репозиториях, можно поискать его в сторонних репозиториях. Для Slackware наиболее популярный — &lt;a target="_blank" href="http://slackbuilds.org/"&gt;slackbuilds.org&lt;/a&gt; (SBo), где представлены около 1700 созданных пользователями шелл-скриптов для сборки пакетов Slackware, которые затем можно установить. Например, здесь есть скрипт Inkscape Slackbuild, так что вы можете просто установить его, не изучая, как собрать пакет самому. Кроме того, обычно имеется файл README, где описываются зависимости, которые необходимо установить. В духе легендарной стабильности Slackware все скрипты SBo рассматриваются и проверяются администраторами сайта.&lt;/p&gt;
&lt;p&gt;Для сравнения, Arch имеет «&lt;a target="_blank" href="http://aur.archlinux.org/"&gt; Arch User Repository&lt;/a&gt;» (AUR), который содержит около 18000 загруженных пользователями скриптов для сборки. Арч не предоставляет никаких гарантий для этих скриптов и предупреждает, что пользователь использует их на свой страх и риск. При обновлении программ сценарии устаревают и пользователь, поддерживающий скрипт сборки, должен обновить его. Для скриптов, оставшихся «бесхозными» может найтись другой майнтайнер. Система работает сама и администраторы AUR не склонны вмешиваться в этот процесс. Хотя теоретически скрипты сборки могут быть опасными, на практике я не встречал такого ни разу, к тому же такие пакеты будут быстро удалены администраторами.&lt;/p&gt;
&lt;p&gt;По сравнению со скриптами Slackware, сборочные скрипты Арча базируются на bash и запускаются с помощью программы makepkg. Эти скрипты проще, чем слаковские, так как большую часть черновой работы берет на себя makepkg, кроме того они могут использовать преимущества bash, такие как массивы. Недостаток — зависимость от bash и от makepkg, тогда как скрипты Slackware зависят только от sh. Для пользователя работа с обеими типами скриптов выглядит практически одинаково: запуск скрипта и затем установка собранного пакета.&lt;/p&gt;
&lt;p&gt;Суммируя все вышесказанное выделим основные черты сходства и различия дистрибутивов.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;И Slack и Arch:&lt;/strong&gt; базирование на принципе KISS, поддержка 32 и 64-битных архитектур, пакетная система, основанная на тарболлах, текстовая установка, администрирование с помощью редактирования конфигурационных файлов, KDE в качестве рабочего стола по умолчанию.&lt;/p&gt;
&lt;p&gt;Основные особенности дистрибутивов.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Slackware:&lt;/strong&gt; полная стабильность, хорош для серверов, относительно небольшое (но достаточное) количество отлично протестированных стабильных программ, обновления безопасности, GNOME официально не поддерживается, стандартная модель релизов.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Archlinux:&lt;/strong&gt; хорошая (но не гарантированная) стабильность, большое количество передового софта, хорош для десктопов, все пакеты обновляются постоянно, GNOME поддерживается официально, модель инкрементных релизов.&lt;/p&gt;
&lt;p&gt;Какой из них лучше? Решать вам!&lt;/p&gt;</description><link>http://itruns.ru/post/698145418</link><guid>http://itruns.ru/post/698145418</guid><pubDate>Mon, 14 Jun 2010 22:17:12 +0400</pubDate><category>Slackware</category><category>Archlinux</category><category>linux</category><category>versus</category></item><item><title>Сразу после открытия smokespots.ru, мы столкнулись с одной &amp;#8220;очень серьезной проблемой&amp;#8221;....</title><description>&lt;p&gt;Сразу после открытия smokespots.ru, мы столкнулись с одной &amp;#8220;очень серьезной проблемой&amp;#8221;. Я получил следующий е-мэйл:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Уважаемый администратор сайта &lt;a target="_blank" href="http://www.smokespots.ru/"&gt;&lt;a href="http://www.smokespots.ru" target="_blank"&gt;www.smokespots.ru&lt;/a&gt;&lt;/a&gt;&lt;br/&gt;Я, почетный член арбитражной комиссии, электронной платежной системы WebMoney, login - FrichX, заявляю Вам, как представителю Интернет-ресурса &lt;a target="_blank" href="http://smokespots.ru/"&gt;smokespots.ru&lt;/a&gt;, о том, что располагаю компрометирующими материалами, относительно Вашей деятельности в сети Интернет, которые нам любезно предоставил Ваш хостинг-провайдер ****.com.&lt;br/&gt;Мною, на сайте WebMoney, уже была создана персональная страница претензий &lt;a target="_blank" href="http://arbitrage.webmoney.ru/asp/claimsurl.asp?procurl=http://smokespots.ru/"&gt;&lt;a href="http://arbitrage.webmoney.ru/asp/claimsurl.asp?procurl=http://smokespots.ru/" target="_blank"&gt;http://arbitrage.webmoney.ru/asp/claimsurl.asp?procurl=http://smokespots.ru/&lt;/a&gt;&lt;/a&gt; , предназначенная для публикации жалоб на Ваш ресурс, и я предлагаю Вам, добровольно внести пожертвование, направленное на развитие платежной системы WebMoney, для приостановления этого негативного процесса.&lt;br/&gt;Деньги от Вас, должны быть переданы лично мне на мыло FRICHX@meta.ua (удалите все пробелы), в виде реквизитов Паймер-чеков, на общую сумму 900 WMZ, не познее 8 июня 2010 года, в противном случае, помимо публикации на вышеуказанной странице претензий, всех поданных нам претензий на Ваш сайт, я опубликую этот компромат также и в своих личных, многочисленных блогах, таким образом помимо блокирования вашего WM ID, вместе со всеми Вашими электронными деньгами, я могу Вам гарантировать существенный отток Ваших клиентов, а может быть и вовсе полное блокирование домена &lt;a target="_blank" href="http://smokespots.ru/"&gt;smokespots.ru&lt;/a&gt;, его регистратором.&lt;br/&gt;Вот ссылка на всего одну из многочисленных моих работ (множество аналогичных документов найдете через поиск ключевых слов &amp;#8220;FrichX&amp;#8221; и например &amp;#8220;gullon&amp;#8221;):&lt;br/&gt;&lt;a target="_blank" href="http://cripo.com.ua/?sect_id=7&amp;amp;aid=89293&amp;amp;nv=gullon&amp;amp;fe=eu"&gt;&lt;a href="http://cripo.com.ua/?sect_id=7&amp;amp;aid=89293&amp;amp;nv=gullon&amp;amp;fe=eu" target="_blank"&gt;http://cripo.com.ua/?sect_id=7&amp;amp;aid=89293&amp;amp;nv=gullon&amp;amp;fe=eu&lt;/a&gt;&lt;/a&gt;&lt;br/&gt;Здесь, как видите, фигурирует ставший вдруг скандальным сайт &lt;a target="_blank" href="http://gullon.eu/"&gt;gullon.eu&lt;/a&gt;, раньше безупречной и процветающей испанской кондитерской фирмы Gullon, который был полностью блокирован арбитражным сервисом WebMoney и лично мною, теперь его место вполне может занять &lt;a target="_blank" href="http://smokespots.ru/"&gt;SMOKESPOTS.RU&lt;/a&gt;!&lt;br/&gt;Так что не тяните, потому что потом это будет гораздо дороже, а может быть и вовсе станет уже не возможно остановить негативный процесс, инициированный мною.&lt;br/&gt;Также хочу Вас предупредить о том, что я не намерен вступать с Вами в переговоры, и в виде ответа на данное предупредительное сообщение, Вы можете отправить мне только реквизиты Paymer-чеков в выше оговоренной сумме, на выше указанный адрес, и ничего больше!&lt;br/&gt;&lt;br/&gt;FrichX&lt;br/&gt;&lt;br/&gt;P.S. Любителям пошуметь, и тем, кто желает обвинить меня в мошенничестве или вымогательстве, советую объективно взвешивать аргументы и свои возможности, с учетом того, что у меня хорошие связи не только в WebMoney, электронных СМИ, доменных регистраторов и хостерах, но и в силовых структурах Украины!&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Я читал и катался по полу. &amp;#8220;компрометирующими материалами, относительно Вашей деятельности в сети Интернет, которые нам любезно предоставил Ваш хостинг-провайдер ****.com&amp;#8221; - этож просто ппц! ****.com - это вообще не провайдер, тем более, это сайт, принадлежащий ITRuns. И если бы товарищ додумался хотя бы на него зайти, то все что он бы увидел - огромную обоину с огромными сиськами :-D&lt;/p&gt;
&lt;p&gt;На фоне этого тааак ржачно читать все остальное :-D Однако, создается впечатления, что многих это действительно может напугать. Люди! Не ведитесь на всякую хуйню и шантаж!&lt;/p&gt;
&lt;p&gt;Конец.&lt;/p&gt;
&lt;blockquote&gt;&lt;/blockquote&gt;</description><link>http://itruns.ru/post/684145815</link><guid>http://itruns.ru/post/684145815</guid><pubDate>Thu, 10 Jun 2010 21:10:06 +0400</pubDate><category>мошенничество</category><category>деньги</category><category>wmz</category><category>webmoney</category><category>wmr</category><category>smokespots</category><category>шантаж</category><category>FrichX</category></item><item><title>Настройка Wifi Atheros AR242x (AR5007EG) в Debian Lenny (5.0)</title><description>&lt;p&gt;Поставил на ноут (Lenovo B450-4TK-B) Debian Lenny. Первая проблема - обе сетевухи не заработали. Лановская вообще не определилась, а вайфайная не захотела находить беспроводные сети. Помогла статья, которую привожу далее.&lt;/p&gt;
&lt;p&gt;У обладателей таких ноутбуков, как: Asus X51RL, Fujitsu-Siemens s6420, Toshiba a201, Samsung NC10, Amilo Mini 3520, Acer Aspire 5315 и еще многих других, есть одна общая проблема - Wifi карточка Atheros AR5007EG / AR242x, работоспособность которой после установки Linux-системы, как правило, оставляет желать лучшего. Благодаря проекту &lt;a title="Проект по разработки драйверов для Wifi карт на основе Atheros чипсетов" href="http://debianworld.ru/go/?gourl=http://madwifi-project.org/" target="_blank"&gt;madwifi&lt;/a&gt;, установка драйверов Atheros не доставляет много проблем.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Диагностика оборудования: наличие Atheros AR5007EG /AR242x&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;В первую очередь необходимо убедиться, что в системе действительно установлена Wifi карта Atheros AR5007EG /AR242x:&lt;/p&gt;
&lt;blockquote&gt;
&lt;pre&gt;&lt;code class="bash"&gt;$ lspci | grep Atheros&lt;br/&gt;&lt;span class="number"&gt;18&lt;/span&gt;:&lt;span class="number"&gt;00.0&lt;/span&gt; Ethernet controller: Atheros Communications Inc. AR242x &lt;span class="number"&gt;802.11&lt;/span&gt;abg Wireless PCI Express Adapter (rev &lt;span class="number"&gt;01&lt;/span&gt;)&lt;br/&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;Установка пакетов для сборки драйверов для Atheros AR5007EG /AR242x&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Следующим шагом, необходимо установить пакеты для успешной компиляции драйвера:&lt;/p&gt;
&lt;blockquote&gt;
&lt;pre&gt;&lt;code class="bash"&gt;$ &lt;span class="keyword"&gt;sudo&lt;/span&gt; &lt;span class="keyword"&gt;aptitude&lt;/span&gt; update &lt;br/&gt;$ &lt;span class="keyword"&gt;sudo&lt;/span&gt; &lt;span class="keyword"&gt;aptitude&lt;/span&gt; &lt;span class="keyword"&gt;install&lt;/span&gt; build-essential linux-headers-$(uname -r)&lt;br/&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;Установка MadWifi драйверов для для Atheros AR5007EG /AR242x&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Далее, необходимо скачать драйвер для Atheros AR5007EG /AR242x:&lt;/p&gt;
&lt;blockquote&gt;
&lt;pre&gt;&lt;code class="bash"&gt;$ mkdir ./mad-wifi&lt;br/&gt;$ cd ./mad-wifi&lt;br/&gt;$ wget &lt;a href="http://snapshots.madwifi-project.org/madwifi-hal-0.10.5.6/madwifi-hal-0.10.5.6-r4103-20100110.tar.gz" target="_blank"&gt;http://snapshots.madwifi-project.org/madwifi-hal-0.10.5.6/madwifi-hal-0.10.5.6-r4103-20100110.tar.gz&lt;/a&gt;&lt;br/&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;p&gt;После того, как драйвер скачан, его необходимо разархивировать и скомпилировать:&lt;/p&gt;
&lt;blockquote&gt;
&lt;pre&gt;&lt;code class="bash"&gt;&lt;span class="comment"&gt;# Разархивируем драйвер&lt;/span&gt;&lt;br/&gt;$ tar zxvf madwifi-hal-&lt;span class="number"&gt;0.10&lt;/span&gt;.&lt;span class="number"&gt;5.6&lt;/span&gt;-r4103-&lt;span class="number"&gt;20100110&lt;/span&gt;.tar.gz&lt;br/&gt;$ cd madwifi-hal-&lt;span class="number"&gt;0.10&lt;/span&gt;.&lt;span class="number"&gt;5.6&lt;/span&gt;-r4103-&lt;span class="number"&gt;20100110&lt;/span&gt;&lt;br/&gt;&lt;br/&gt;&lt;span class="comment"&gt;# Компилируем драйвер&lt;/span&gt;&lt;br/&gt;$ make&lt;br/&gt;$ &lt;span class="keyword"&gt;sudo&lt;/span&gt; make &lt;span class="keyword"&gt;install&lt;/span&gt;&lt;br/&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;p&gt;Теперь драйвер скомпилирован. Необходимо проверить работу wifi-карты с новым драйвером:&lt;/p&gt;
&lt;blockquote&gt;
&lt;pre&gt;&lt;code class="bash"&gt;&lt;span class="comment"&gt;# включаем модуль ядра&lt;/span&gt;&lt;br/&gt;$ &lt;span class="keyword"&gt;sudo&lt;/span&gt; modprobe ath_pci&lt;br/&gt;&lt;br/&gt;&lt;span class="comment"&gt;# включаем wifi-интерфейс&lt;/span&gt;&lt;br/&gt;$ &lt;span class="keyword"&gt;sudo&lt;/span&gt; ifconfig ath0 up&lt;br/&gt;&lt;br/&gt;&lt;span class="comment"&gt;# проверяем настройки wifi&lt;/span&gt;&lt;br/&gt;$ iwconfig&lt;br/&gt;lo        no wireless extensions.&lt;br/&gt;&lt;br/&gt;eth0      no wireless extensions.&lt;br/&gt;&lt;br/&gt;wifi0     no wireless extensions.&lt;br/&gt;&lt;br/&gt;ath0      IEEE &lt;span class="number"&gt;802.11&lt;/span&gt;g  ESSID:&lt;span class="string"&gt;"XXXXXXXXXXXXX"&lt;/span&gt;  Nickname:&lt;span class="string"&gt;""&lt;/span&gt;&lt;br/&gt;          Mode:Managed  Frequency:&lt;span class="number"&gt;2.437&lt;/span&gt; GHz  Access Point: XX:XX:XX:XX:XX:XX&lt;br/&gt;          Bit Rate:&lt;span class="number"&gt;6&lt;/span&gt; Mb/s   Tx-Power:&lt;span class="number"&gt;17&lt;/span&gt; dBm   Sensitivity=&lt;span class="number"&gt;1&lt;/span&gt;/&lt;span class="number"&gt;1&lt;/span&gt;&lt;br/&gt;          Retry:off   RTS thr:off   Fragment thr:off&lt;br/&gt;          Power Management:off&lt;br/&gt;          Link Quality=&lt;span class="number"&gt;21&lt;/span&gt;/&lt;span class="number"&gt;70&lt;/span&gt;  Signal level=-&lt;span class="number"&gt;74&lt;/span&gt; dBm  Noise level=-&lt;span class="number"&gt;95&lt;/span&gt; dBm&lt;br/&gt;          Rx invalid nwid:&lt;span class="number"&gt;848&lt;/span&gt;  Rx invalid crypt:&lt;span class="number"&gt;0&lt;/span&gt;  Rx invalid frag:&lt;span class="number"&gt;0&lt;/span&gt;&lt;br/&gt;          Tx excessive retries:&lt;span class="number"&gt;0&lt;/span&gt;  Invalid misc:&lt;span class="number"&gt;0&lt;/span&gt;   Missed beacon:&lt;span class="number"&gt;0&lt;/span&gt;&lt;br/&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;p&gt;Если вывод последней команды похож на приведенный, то можно констатировать, что wifi карта работает. Остается лишь включить модуль ядра в загрузку и перезагрузиться:&lt;/p&gt;
&lt;blockquote&gt;
&lt;pre&gt;&lt;code class="bash"&gt;$ &lt;span class="keyword"&gt;sudo&lt;/span&gt; su&lt;br/&gt;$ &lt;span class="keyword"&gt;echo&lt;/span&gt; &lt;span class="string"&gt;"ath_pci"&lt;/span&gt; &amp;gt;&amp;gt; /etc/modules&lt;br/&gt;&lt;br/&gt;&lt;span class="comment"&gt;# блокируем загрузку альтернативного драйвера&lt;/span&gt;&lt;br/&gt;$ &lt;span class="keyword"&gt;echo&lt;/span&gt; &lt;span class="string"&gt;"blacklist ath5k"&lt;/span&gt; &amp;gt;&amp;gt; /etc/modprobe.d/blacklist&lt;br/&gt;&lt;br/&gt;&lt;span class="comment"&gt;# перезагрузка&lt;/span&gt;&lt;br/&gt;$ reboot&lt;br/&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;p&gt;Единственным недостатком такого метода является необходимость пересобирать драйвер после каждого обновления ядра. Благо, теперь это просто.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Удаление MadWifi драйверов для для Atheros AR5007EG /AR242x&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;В случае, если что-либо не получилось, либо появилось желание установить более свежий драйвер, то текущую установку можно без труда удалить:&lt;/p&gt;
&lt;blockquote&gt;
&lt;pre&gt;&lt;code class="bash"&gt;$ cd ./mad-wifi/madwifi-hal-&lt;span class="number"&gt;0.10&lt;/span&gt;.&lt;span class="number"&gt;5.6&lt;/span&gt;-r4103-&lt;span class="number"&gt;20100110&lt;/span&gt;&lt;br/&gt;$ &lt;span class="keyword"&gt;sudo&lt;/span&gt; make uninstall&lt;/code&gt;&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a target="_blank" href="http://debianworld.ru/articles/nastrojka-wifi-atheros-ar242xar5007eg-v-debian-lenny-50-ubuntu-intrepid-810-jaunty-904/"&gt; via&lt;/a&gt;&lt;/p&gt;</description><link>http://itruns.ru/post/673366499</link><guid>http://itruns.ru/post/673366499</guid><pubDate>Mon, 07 Jun 2010 19:39:17 +0400</pubDate><category>Wi-Fi</category><category>Atheros</category><category>Debian</category><category>Lenny</category><category>AR242x</category><category>linux</category><category>MadWifi</category><category>AR5007EG</category><category>ath5k</category><category>ath_pci</category><category>ath0</category></item><item><title>Wordpress + twitter = fucking hell please work!!!</title><description>&lt;p&gt;Нужно заставить Wordpress автоматически постить ссылку в твиттер каждый раз когда добавляется новый или редактируется старый пост. Казалось бы, очень простая функция! Надо всего лишь найти плагин, который это делает и дать ему свой логин-пароль от твиттера! Но нет, 7 плагинов из 8 которые я попробовал не могли справиться с этим элементарным заданием!! Названий всех уже не помню. Но хочется отметить тот самый восьмой, который работал:&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="http://wordpress.org/extend/plugins/tweetly-updater/"&gt;Tweetly Updater&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Хочется обнять и расцеловать &lt;a target="_blank" href="http://www.zepan.org/"&gt;автора этого замечательного плагина&lt;/a&gt; (кстати, он забавный :-D). Вот полный список его настроек:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;данные аккаунта твиттера (вводятся обязательно)&lt;/li&gt;
&lt;li&gt;данные аккаунта на bit.ly (прекрасно работает и без них)&lt;/li&gt;
&lt;li&gt;твиттить когда постится новый пост (плюс шаблон твитта)&lt;/li&gt;
&lt;li&gt;твиттить когда редактируется старый пост (плюс шаблон твитта)&lt;/li&gt;
&lt;li&gt;генерировать хэштэги из названий категорий&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;все. Идеально просто и идеально работает. Почему остальные, более популярные и навороченные аналоги не могут осилить такой простой процесс - загадка.&lt;/p&gt;</description><link>http://itruns.ru/post/657552652</link><guid>http://itruns.ru/post/657552652</guid><pubDate>Thu, 03 Jun 2010 00:31:00 +0400</pubDate><category>wordpress</category><category>Twitter</category></item><item><title>DPI Calculator / PPI Calculator</title><description>&lt;a href="http://members.ping.de/~sven/dpi.html"&gt;DPI Calculator / PPI Calculator&lt;/a&gt;: &lt;p&gt;Вот эта считалка количества точек (пикселей) на дюйм важна, к примеру, для того, чтобы этот параметр правильно выставить в иксах и ожидать более внятного и чудесного отображения шрифтов.&lt;/p&gt;</description><link>http://itruns.ru/post/654808504</link><guid>http://itruns.ru/post/654808504</guid><pubDate>Wed, 02 Jun 2010 04:21:32 +0400</pubDate><category>dpi</category><category>ppi</category><category>calculator</category><category>шрифты</category></item><item><title>Восстановление удаленных файлов ext2, ext3, ufs1, ufs2, ntfs, fat</title><description>&lt;p&gt;Часто возникает необходимость восстановить удаленный файл в Linux. Многие «эксперты» говорят о том, что это невозможно для ext2/ext3. Не верьте — в этом может помочь программа &lt;a href="http://www.sleuthkit.org" target="_blank"&gt;Sleuth Kit&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Программа умеет работать с сырыми (raw) данными; поддерживает файловые системы NTFS, FAT, UFS 1, UFS 2, EXT2FS, EXT3FS, ISO9660; работает под операционными системами Linux, Mac OS X, Windows, CYGWIN, OpenBSD, FreeBSD, Solaris.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://sourceforge.net/project/showfiles.php?group_id=55685&amp;amp;package_id=78997&amp;amp;release_id=634511" target="_blank"&gt;Загрузить Sleuth Kit&lt;/a&gt; | &lt;a href="http://wiki.sleuthkit.org/index.php?title=Help_Documents" target="_blank"&gt;Документация по Sleuth Kit&lt;/a&gt; | &lt;a target="_blank" href="http://www.sleuthkit.org/"&gt;&lt;a href="http://www.sleuthkit.org/" target="_blank"&gt;http://www.sleuthkit.org/&lt;/a&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="http://liberatum.ru/exclusive/vosstanovlenie-udalennykh-failov-ext2-ext3-ufs1-ufs2-ntfs-fat"&gt;via&lt;/a&gt; &amp;amp; &lt;a target="_blank" href="http://juick.com/720385"&gt;via&lt;/a&gt;(!)&lt;/p&gt;</description><link>http://itruns.ru/post/624616145</link><guid>http://itruns.ru/post/624616145</guid><pubDate>Sun, 23 May 2010 14:11:00 +0400</pubDate><category>linux</category><category>sleuth kit</category><category>ntfs</category><category>fat</category><category>ufs</category><category>ext2</category><category>ext3</category><category>iso9660</category><category>Mac</category><category>Windows</category><category>FreeBSD</category><category>Solaris</category><category>файлы</category><category>восстановление</category><category>файловая система</category></item><item><title>Amazon.com</title><description>&lt;p&gt;Если покупка товара на &lt;a target="_blank" href="http://amazon.com"&gt;amazon.com&lt;/a&gt; вызывает у Вас затруднения с доставкой товара (а некоторые товары доставляются только по США), то предлагаю Вам воспользоваться немецким отделом Амазона - &lt;a target="_blank" href="http://amazon.de"&gt;amazon.de&lt;/a&gt;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;У них не такие дикие ограничения, как на английском или американском,  где не каждую книгу или двд шлют в Россию.&lt;br/&gt;Плюс на .de - доставка  почтой (с предоставлением трекинга!) и стоит всего 6 евро на заказ любой  величины. при доставке почтой таможенный лимит - 10 тыщ рублей (а  пошлина будет всего 30% от суммы, превышающей 10000). А еще немцы  благородно вычитают величину НДС (19%!) из стоимости товара для граждан  стран, не входящих в Евросоюз (т.е. для россиян, например (: ).&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Но что делать, если вы не нашли товар на немецком аналоге amazon.com?&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;на amazon.com можно покупать, используя посредников. например,  &lt;a target="_blank" href="http://shipito.com"&gt;shipito.com&lt;/a&gt;. таким образом можно брать вещи, которые продаются только в  сша или у которых доставка только по сша.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Сам не пробовал, но юзерам с &lt;a target="_blank" href="http://respectfamily.com/forum/index.php?showtopic=4340"&gt;форума respectfamily.com доверяю.&lt;/a&gt;&lt;/p&gt;</description><link>http://itruns.ru/post/618154756</link><guid>http://itruns.ru/post/618154756</guid><pubDate>Fri, 21 May 2010 08:06:18 +0400</pubDate><category>amazon.com</category><category>shipito.com</category><category>amazon.de</category></item><item><title>OpenID</title><description>&lt;p&gt;Последние два дня прошли за авторизацией через OpenID. Задача традиционная: позволить юзеру регистрироваться и авторизоваться как парой логин-пароль, так и идентификатором OpenID. &lt;/p&gt;
&lt;p&gt;В первую очередь, хочется сказать пару слов о том, зачем вообще это нужно. Все мы, будучи юзерами привыкли к парам логин-пароль, которые создаем на каждом новом сайте. OpenID заменяет их все всего-лишь одним. Стоит девелоперу сайта добавить эту опцию, и тебе не надо придумывать новый логин-пароль - вместо него ты просто используешь уже существующий, например, от Яндекса, или от ЖЖ. Это упрощает жизнь пользователя в сотни раз, т.к. ему не надо придумывать ничего нового, в 50й раз подтверждать свой e-mail, заходить в почту и т.д. Он просто вводит свой идентификатор, и все готово! Умники утверждают, что большинство пользователей рунета зарегистрированы на Яндексе. У остальных, наверное, есть почта на mail.ru или на гугле. Проблема только в том, что большинство юзеров живут в неведении, и не догадываются, что могут авторизоваться с помощью этих аккаунтов на других сайтах, а тупая надпись &amp;#8220;OpenID&amp;#8221; им совсем ни о чем не говорит. Поэтому задача немного расширяется: сообщить юзерам, что они могут не регистрироваться, а использовать уже имеющиеся у них аккаунты.&lt;/p&gt;
&lt;p&gt;Сразу скажу, что если самим заниматься этим неблагодарным делом лень, то есть замечательный сервис, который предоставляет виджет для этого дела: http://loginza.ru/index&lt;/p&gt;
&lt;p&gt;Но я выбрал путь посложнее. Итак, для начала мы качаем библиотеку OpenID: &lt;a href="http://www.oneid.ru/info/openid-php/" target="_blank"&gt;http://www.oneid.ru/info/openid-php/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;кладем все, что скачалось в вебрут, и запускаем файл examples/detect.php, который нам кратко описывает совместимость нашей системы с библиотекой. Далее нужно подогнуть систему так, чтобы на этой странице все было хорошо.&lt;/p&gt;
&lt;p&gt;Все, все должно работать. Заходим запускаем в браузере examples/consumer/ и наблюдаем вполне живой пример.&lt;/p&gt;
&lt;p&gt;Возможно, вы захотите убрать все файлы, кроме папочки examples/consumer куда-нибудь назад, чтобы они не болтались в вебруте. В скрипте examples/consumer/common.php видно, как реализован импорт этой библиотеки в использующие ее скрипты - с помощью ini_set. Редактируйте эти строчки, и кладите файлы куда хотите. Хотя я просто положил их в один из include_path&amp;#8217;ов.&lt;/p&gt;
&lt;p&gt;Итак, мы имеем самую элементарную авторизацию с помощью OpenID. Теперь задача усложняется: сделать так, чтобы юзеру не надо было перенаправляться с вашей страницы, т.е. чтобы сайт провайдера открывался в поп-апе. Схема такая: пользователь вводит свой OpenID у нас на странице(1), шлется AJAX-запрос к нашему серверу. Сервер обрабатывает идентификатор так же, как страница try_auth.php из примера, и либо возвращает URL провайдера, либо ошибку. Далее ызывается поп-ап, в котором грузится тот самый URL провайдера, где юзер подтверждает доверие к ресурсу, и отправляется обратно к нам, на некую промежуточную страницу(2), цель которой вызвать функцию на странице, ее породившей (странице номер 1). Функция на странице 1 шлет AJAX-запрос к нашему серверу, который обрабатывает данные аналогично странице finish_auth.php из примера, и либо возвращает ошибку, либо регистрирует юзера, либо просто его логинит.&lt;/p&gt;
&lt;p&gt;Вот и все. На всякий случай, приведу код промежуточной страницы (номер 2):&lt;/p&gt;
&lt;blockquote&gt;&amp;lt;html&amp;gt;&amp;lt;head&amp;gt;&amp;lt;/head&amp;gt;&lt;br/&gt; &amp;lt;body onload=&amp;#8221;window.opener.handleOpenIDResponse((window.location+&amp;#8221;).split(&amp;#8216;?&amp;#8217;)[1]);window.close();&amp;#8221;&amp;gt;&lt;br/&gt; &amp;lt;/body&amp;gt;&lt;br/&gt; &amp;lt;/html&amp;gt;&lt;br/&gt;&lt;/blockquote&gt;
&lt;p&gt;просто вызывает функцию handleOpenIDResponse, передает ей в качестве аргументов присланную ей строку запроса, после чего закрывает само себя.&lt;/p&gt;
&lt;p&gt;Дальше дело за тем, под каким соусом это подать. На большинстве сайтов, само собой, сделано просто отдельное небольшое поле, рядом с которым надпись OpenID, которая почти никому ничего не говорит. Более-менее светлую идею нашел на одном форуме:&lt;/p&gt;
&lt;p&gt;&lt;img height="696" width="1001" src="http://xekc.com/auth-openid-xekc.png" align="left"/&gt;&lt;/p&gt;



&lt;p&gt;Идеей обязан вот этому: &lt;a href="http://xekc.com/auth-openid-xekc.png" target="_blank"&gt;&lt;a href="http://xekc.com/" target="_blank"&gt;http://xekc.com/&lt;/a&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Конец.&lt;/p&gt;</description><link>http://itruns.ru/post/576643333</link><guid>http://itruns.ru/post/576643333</guid><pubDate>Thu, 06 May 2010 22:09:34 +0400</pubDate><category>openid</category><category>авторизация</category></item><item><title>События paste, cut, copy в javasctipt и их отношения с браузерами</title><description>&lt;p&gt;Вчера возникла необходимость обрабатывать событие paste. Т.е. пользователь скопировал что-то в буфер и вставляет это что-то в &amp;lt;input&amp;gt; при помощи одной только мышки. События keyup, keydown не возникает, ибо они срабатывают только на клавиатуру. Событие click не подходит, ибо оно не срабатывает по правому щелчку мышки, да и вообще это не то, что нужно. Событие change - вообще сакс, ибо оно срабатывает только после того как с текущего объекта будет перенесен фокус на другой объект (т.е. пользователь нажимает &amp;#8220;вставить&amp;#8221;, переключается на другое поле, и только тогда срабатывает change), а нам необходимо проверять ввод пользователя &amp;#8220;на лету&amp;#8221;, т.е. сразу после того, как он нажал кнопку &amp;#8220;вставить&amp;#8221;.&lt;/p&gt;
&lt;p&gt;Что же делать? Оказывается в некоторых браузерах существуют события paste, cut и copy. Поскольку jQuery вся из себя такая кроссбраузерная, в ней нет стандартных функций для слушания этих событий. Тем не менее, их можно слушать с помощью bind.&lt;/p&gt;
&lt;p&gt;Создаем &amp;lt;input&amp;gt;:&lt;/p&gt;
&lt;blockquote&gt;&amp;lt;input id=&amp;#8221;someinput&amp;#8221; type=&amp;#8221;text&amp;#8221; /&amp;gt;&lt;/blockquote&gt;
&lt;p&gt;Создаем обработчик:&lt;/p&gt;
&lt;blockquote&gt;$(&amp;#8220;#someinput&amp;#8221;).bind(&amp;#8216;paste cut copy&amp;#8217;, function(event){&lt;br/&gt;     &lt;span&gt; &lt;/span&gt;alert(event.type);&lt;br/&gt; });&lt;/blockquote&gt;
&lt;p&gt;Надо только учесть, что события срабатывают непосредственно перед тем, как производится соответствующее действие. Т.е. если пользователь нажимает &amp;#8220;вставить&amp;#8221;, сначала срабатывает событие, а потом текст вставляется в форму. Чтобы проверить текст, который пользователь вставляет в форму, нужно добавить несколько миллисекунд задержки (достаточно даже одной, но лучше добавить 100, ибо это почти незаметно для пользователя, но убережет от багов на медленных машинах)&amp;#160;:&lt;/p&gt;
&lt;blockquote&gt;$(&amp;#8220;#someinput&amp;#8221;).bind(&amp;#8216;paste&amp;#8217;, function(event){&lt;br/&gt;     &lt;span&gt; &lt;/span&gt;setTimeout(function(){&lt;br/&gt;         &lt;span&gt; &lt;/span&gt;alert($(&amp;#8220;#someinput&amp;#8221;).val());&lt;br/&gt;     &lt;span&gt; &lt;/span&gt;&lt;span&gt; &lt;/span&gt;}, 100);&lt;br/&gt; });&lt;br/&gt;&lt;/blockquote&gt;
&lt;p&gt;Остался один ньюанс: оно не рабоает в Opera. Opera просто не создает эти события, и все. Там пришлось прибегать к использованию события change, что не очень красиво, но меньшинства сами виноваты. Также, обещают какие-то баги в Firefox 3.0-3.1. Я тестил в Chrome, Firefox 3.6 и IE - paste везде работает отлично. Собственно, вот подробности, поддержка этих событий в браузерах:&lt;/p&gt;
&lt;blockquote&gt;&lt;a href="http://www.quirksmode.org/dom/events/cutcopypaste.html" target="_blank"&gt;&lt;a href="http://www.quirksmode.org/dom/events/cutcopypaste.html" target="_blank"&gt;http://www.quirksmode.org/dom/events/cutcopypaste.html&lt;/a&gt;&lt;/a&gt;&lt;/blockquote&gt;
&lt;p&gt;и тестер для этих событий:&lt;/p&gt;
&lt;blockquote&gt;&lt;a href="http://www.quirksmode.org/dom/events/tests/cutcopypaste.html" target="_blank"&gt;&lt;a href="http://www.quirksmode.org/dom/events/tests/cutcopypaste.html" target="_blank"&gt;http://www.quirksmode.org/dom/events/tests/cutcopypaste.html&lt;/a&gt;&lt;/a&gt;&lt;/blockquote&gt;</description><link>http://itruns.ru/post/532969490</link><guid>http://itruns.ru/post/532969490</guid><pubDate>Mon, 19 Apr 2010 14:29:44 +0400</pubDate><category>jquery</category><category>javascript</category><category>events</category><category>paste</category><category>cut</category><category>copy</category><category>bind</category></item><item><title>Ура, товарищи! Теперь помогать маме можно без...</title><description>&lt;iframe width="400" height="320" src="http://www.youtube.com/embed/Cj17m7dpdnc?wmode=transparent&amp;autohide=1&amp;egm=0&amp;hd=1&amp;iv_load_policy=3&amp;modestbranding=1&amp;rel=0&amp;showinfo=0&amp;showsearch=0" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;Ура, товарищи! Теперь помогать маме можно без виндопосредников!&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="http://teamviewer.com/download/index.aspx"&gt;Тимвьювер&lt;/a&gt; теперь есть под линуксом, спасибо &lt;a target="_blank" href="http://habrahabr.ru/blogs/linux/91351/#habracut"&gt;хабру&lt;/a&gt; за инфу.&lt;/p&gt;</description><link>http://itruns.ru/post/532387589</link><guid>http://itruns.ru/post/532387589</guid><pubDate>Mon, 19 Apr 2010 08:11:44 +0400</pubDate><category>Teamviewer</category><category>linux</category><category>VNC</category><category>поддержка</category></item><item><title>Fn-кнопки в XFCE</title><description>&lt;p&gt;Уже второй раз приходится делать такую штуку. Я пользуюсь XFCE. Но схватываются &amp;#8220;из коробки&amp;#8221; не все комбинации клавишь Fn+key, как минимум изменение громкости добавлять приходится вручную. Для этого нужно открыть настройки клавиатуры. переключится во вкладку &amp;#8220;Горячие клавиши&amp;#8221;, и там уже добавлять комбинации одну за другой. Вообще, возможно кто-то уже решил эту проблему, написав скрипт, но пока я довольствуюсь самым малым. В будущем планирую дополнять и автоматизировать изменение комбинаций.&lt;/p&gt;
&lt;p&gt;Итак, для клавиш изменений громкости можно на нужные биндинги посадить команды&lt;/p&gt;
&lt;blockquote&gt;aumix -v -3&lt;br/&gt;aumix -v +3&lt;/blockquote&gt;
&lt;p&gt;или&lt;/p&gt;
&lt;blockquote&gt;amixer set Master 3%-&lt;br/&gt;amixer set Master 3%-&lt;br/&gt;&lt;/blockquote&gt;
&lt;p&gt;для уменьшения и увеличения уровня громкости соответственно (вместо тройки можно поставить нечто свое в пределах очевидного разумного). Так как я пользуюсь exaile (даже когда он не входит в набор штатных приложений), настроил под него мультимедийные клавиши. Стоило просто набрать в терминале&lt;/p&gt;
&lt;blockquote&gt;exaile -h&lt;br/&gt;&lt;/blockquote&gt;
&lt;p&gt;Получится что-то такое:&lt;/p&gt;
&lt;p&gt;&lt;img src="http://media.tumblr.com/tumblr_l12pr5PIfQ1qzmtk0.png"/&gt;&lt;/p&gt;</description><link>http://itruns.ru/post/530519691</link><guid>http://itruns.ru/post/530519691</guid><pubDate>Sun, 18 Apr 2010 16:23:00 +0400</pubDate><category>XFCE</category><category>linux</category><category>Fn</category><category>клавиатура</category></item><item><title>Он вернулся. Тормоз IPv6</title><description>&lt;p&gt;Надо убить IPv6, сильно тормозящий инет. В убунтах и федорах этот вопрос решался пользователями почти год назад (&lt;a target="_blank" href="http://gerfix.blogspot.com/search/label/IPv6"&gt;пруф&lt;/a&gt;), сейчас он давно решен разработчиками. Однако, в Salix пришлось с ним столкнуться опять. Решение простое — блокируем загрузку модуля IPv6.&lt;/p&gt;
&lt;blockquote&gt;# echo &amp;#8220;blacklist ipv6&amp;#8221;&amp;#160;&amp;#187; /etc/modprobe.d/blacklist.conf&lt;/blockquote&gt;
&lt;p&gt;По понятным причинам это решение работает и в Slackware (у Zenwalk 6.2, кстати, такой «фичи» не помню).&lt;/p&gt;</description><link>http://itruns.ru/post/530369409</link><guid>http://itruns.ru/post/530369409</guid><pubDate>Sun, 18 Apr 2010 14:33:00 +0400</pubDate><category>linux</category><category>Salix</category><category>Slackware</category><category>IPv6</category></item><item><title>Apache virtualhosts - let it work!</title><description>&lt;p&gt;В прошлый раз когда я настраивал виртуальные хосты в Apache, получилось заставить несколько доменов работать через один порт :80. Но хотелось большего. Хотелось, вместо того чтобы создавать новый поддомен для каждого каталога, просто заставить апач слушать какой-то порт и при обращении к этому порту, выдавать определенный каталог. Т.е., что-то вроде:&lt;/p&gt;
&lt;blockquote&gt;111.111.111.111:2222 - указывает на одну директорию,&lt;br/&gt; 111.111.111.111:3333 - указывает на другую директорию&lt;/blockquote&gt;
&lt;p&gt;и так далее.&lt;/p&gt;
&lt;p&gt;В прошлый раз этого сделать почему-то не удалось. В этот раз все прошло более гладко. Вот все, что я добавил:&lt;/p&gt;
&lt;blockquote&gt;Listen 2222&lt;br/&gt; Listen 3333&lt;/blockquote&gt;
&lt;p&gt;и в разделе виртуальных хостов:&lt;/p&gt;
&lt;blockquote&gt;#first directory&lt;br/&gt; &amp;lt;VirtualHost *:2222&amp;gt;&lt;br/&gt;    DocumentRoot &amp;#8220;/path_to_first_dir&amp;#8221;&lt;br/&gt;    &amp;lt;Directory &amp;#8220;/path_to_first_dir&amp;#8221;&amp;gt;        &lt;br/&gt;        Options Indexes FollowSymLinks&lt;br/&gt;        AllowOverride All&lt;br/&gt;        Order allow,deny&lt;br/&gt;        Allow from all&lt;br/&gt;    &amp;lt;/Directory&amp;gt;&lt;br/&gt; &amp;lt;/VirtualHost&amp;gt;&lt;br/&gt;&lt;br/&gt; #second directory&lt;br/&gt; &amp;lt;VirtualHost *:3333&amp;gt;&lt;br/&gt;    DocumentRoot &amp;#8220;/path_to_second_dir&amp;#8221;&lt;br/&gt;    &amp;lt;Directory &amp;#8220;/path_to_second_dir&amp;#8221;&amp;gt;&lt;br/&gt;        Options Indexes FollowSymLinks&lt;br/&gt;        AllowOverride All&lt;br/&gt;        Order allow,deny&lt;br/&gt;        Allow from all&lt;br/&gt;    &amp;lt;/Directory&amp;gt;&lt;br/&gt; &amp;lt;/VirtualHost&amp;gt;&lt;br/&gt;&lt;/blockquote&gt;
&lt;p&gt;И все. Не забыть перезапустить сервис, и все работает!&lt;/p&gt;</description><link>http://itruns.ru/post/521075213</link><guid>http://itruns.ru/post/521075213</guid><pubDate>Wed, 14 Apr 2010 20:05:57 +0400</pubDate><category>apache</category><category>virtualhost</category></item><item><title>VirtualBox и USB-принтер</title><description>&lt;p&gt;У hplip в репозиториях арклинукса серьезные проблемы. Для того, чтобы он работал, пользователи откатываются обычно до предыдущей версии, и, говорят, принтеры hp в этом случае работают исправно. С текущей версией серьезные неполадки. В этой ситуации есть как минимум плюс в том, что известно, где собака зарыта.&lt;/p&gt;
&lt;p&gt;Сегодня ночью мне нужна была печать. У сестры нет смысла брать каждый раз нетбук, тем более уж больно он нетороплив. Но зато под виндами принтер работает вполне успешно. На десктопе тоже стоит арк, соответственно там проблема та же. И там же я откатом ее решать не пытался.&lt;/p&gt;
&lt;p&gt;Дабы не терять ночью слишком много времени на установку старой версии hplip, я пошел другим путем. Решил поставить драйвер для принтера на винду, которая стояла на виртуалке: а именно на virtualbox-ose — опенсорсном варианте VirtualBox от Sun (ныне часть Oracle). Но тут оказался один подводный камень — нет связи с USB-устройствами. Куда уж без нее!?&lt;/p&gt;
&lt;p&gt;Решение оказалось мягким для совести и нервов. У Sun есть версия VirtualBox с закрытым исходным кодом, причем бесплатная для некоммерческого использования (&lt;a target="_blank" href="http://wiki.archlinux.org/index.php/VirtualBox#VirtualBox_.28PUEL.29"&gt;жмк!&lt;/a&gt;). Собственно, она включает поддержку USB-устройств. Поэтому получилось поставить дровишки моего лазерджета, тыкнуть в подключение принтера к виртуалке, распечатать, наконец, документ. Главное — не забывать подключать принтер к гостевой ОС. Я минут 15 мучился, не понимая, почему же принтер отказывается печатать.&lt;/p&gt;</description><link>http://itruns.ru/post/510674217</link><guid>http://itruns.ru/post/510674217</guid><pubDate>Sat, 10 Apr 2010 18:07:00 +0400</pubDate><category>linux</category><category>archlinux</category><category>hplip</category><category>hp</category><category>laserjet 1018</category><category>VirtualBox</category><category>Windows</category></item><item><title>Распаковка нескольких тарболлов сразу</title><description>&lt;p&gt;Есть такая задача, распаковать кучу тарболлов сразу. Например, если накачать каких-то пакетов, тем оформления и проч. Приведенное решение вытекает из знания синтаксиса bash&lt;/p&gt;
&lt;blockquote&gt;for i in *.tar.gz; do tar xzvf $i; done&lt;/blockquote&gt;
&lt;p&gt;В целом, такие вещи можно делать много с чем, далеко не только с распаковкой.&lt;/p&gt;</description><link>http://itruns.ru/post/503039475</link><guid>http://itruns.ru/post/503039475</guid><pubDate>Wed, 07 Apr 2010 16:01:31 +0400</pubDate><category>bash</category><category>тарболл</category><category>linux</category></item><item><title>Imagick и аватарки</title><description>&lt;p&gt;Последние несколько дней посвящены изучению загрузки и обработки аватарок. Умнее я себя не чувствую, но я определенно накопал несколько интересных вещей. Конечно же, для обработки используется горячо любимая ImageMagick и ее объектный API для php. Проблема этого API только одна - оно практически не документировано. В таком количестве функций черт ногу сломит, а к большинству из них нет даже элементарного описания того, что они делают. Ну, да не об этом речь.&lt;/p&gt;
&lt;p&gt;Вот целый блог гражданина, который, по всей видимости, серьезно занимается этой библиотекой:&lt;/p&gt;
&lt;blockquote&gt;&lt;a href="http://valokuva.org/" target="_blank"&gt;&lt;a href="http://valokuva.org/" target="_blank"&gt;http://valokuva.org/&lt;/a&gt;&lt;/a&gt;&lt;/blockquote&gt;
&lt;p&gt;Вот небольшая заметка о том, как делать симпатичные превьюшки (thumbnail) для картинок:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;lt;?php &lt;br/&gt; $thumb = new Imagick();&lt;/p&gt;
&lt;p&gt;//читаем картинку по полному пути&lt;br/&gt; $thumb-&amp;gt;readImage($fullpath)&lt;/p&gt;
&lt;p&gt;//создаем белый фон &lt;br/&gt; $canvas = new Imagick(); &lt;br/&gt; $canvas-&amp;gt;newImage($width, $height, new ImagickPixel(&amp;#8220;white&amp;#8221;));&lt;/p&gt;
&lt;p&gt;//делаем превью, размер меньше, чем у фона, чтобы было куда впихнуть тень &lt;br/&gt; $thumb-&amp;gt;thumbnailImage($width-10, $height-10);&lt;/p&gt;
&lt;p&gt;//наводим резкость, если превью мелкое &lt;br/&gt; if ($width &amp;lt; 300) $thumb-&amp;gt;sharpenImage(4, 1);&lt;/p&gt;
&lt;p&gt;//делаем копию превьюхи, чтобы сделать тень &lt;br/&gt; $shadow = $thumb-&amp;gt;clone();&lt;/p&gt;
&lt;p&gt;//цвет тени &lt;br/&gt; $shadow-&amp;gt;setImageBackgroundColor(new ImagickPixel(&amp;#8216;black&amp;#8217;));&lt;/p&gt;
&lt;p&gt;//собственно, делаем тень &lt;br/&gt; $shadow-&amp;gt;shadowImage(80, 2.5, 5, 5);&lt;/p&gt;
&lt;p&gt;//накладываем тень на фон &lt;br/&gt; $canvas-&amp;gt;compositeImage($shadow, $shadow-&amp;gt;getImageCompose(), 0, 0);&lt;/p&gt;
&lt;p&gt;//накладываем превью на фон &lt;br/&gt; $canvas-&amp;gt;compositeImage($thumb, $thumb-&amp;gt;getImageCompose(), 0, 0);&lt;/p&gt;
&lt;p&gt;//убираем комменты и т.п. из картинки &lt;br/&gt; $canvas-&amp;gt;stripImage();&lt;/p&gt;
&lt;p&gt;//записываем картинку &lt;br/&gt; $canvas-&amp;gt;writeImage($writeTo);&lt;/p&gt;
&lt;p&gt;//подчищаем за собой &lt;br/&gt; $canvas-&amp;gt;destroy(); &lt;br/&gt; $shadow-&amp;gt;destroy(); &lt;br/&gt; $thumb-&amp;gt;destroy();&lt;/p&gt;
&lt;p&gt;?&amp;gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;via &lt;a href="http://habrahabr.ru/blogs/php/43511/" target="_blank"&gt;&lt;a href="http://habrahabr.ru/blogs/php/43511/" target="_blank"&gt;http://habrahabr.ru/blogs/php/43511/&lt;/a&gt;&lt;/a&gt;&lt;/blockquote&gt;
&lt;p&gt;Надо только отметить, что этот метод плохо работает с GIF&amp;#8217;ами (видимо, с PNG тоже), у которых есть прозрачный цвет. Ибо тень в таком случае получается очень коряво. Я потратил еще несколько часов на попытки адаптировать его под работу с GIF&amp;#8217;ами, но так ничего и не получилось. В другой раз, видимо.&lt;/p&gt;</description><link>http://itruns.ru/post/494051779</link><guid>http://itruns.ru/post/494051779</guid><pubDate>Sun, 04 Apr 2010 00:56:42 +0400</pubDate><category>imagick</category><category>php</category><category>картинки</category><category>thumbnail</category></item></channel></rss>

