<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-6984562215857460011</atom:id><lastBuildDate>Tue, 29 Nov 2011 20:51:26 +0000</lastBuildDate><category>linux</category><category>microsoft</category><category>humour</category><category>windows</category><category>english</category><category>bugs</category><category>security</category><category>programming</category><title>Shirohida</title><description>My thoughts on software development and IT in general.</description><link>http://claymore-ws.blogspot.com/</link><managingEditor>noreply@blogger.com (Alexey Bobyakov)</managingEditor><generator>Blogger</generator><openSearch:totalResults>16</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/Shirohida" /><feedburner:info uri="shirohida" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId>Shirohida</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6984562215857460011.post-2136259932953762252</guid><pubDate>Wed, 26 Oct 2011 20:43:00 +0000</pubDate><atom:updated>2011-10-27T00:43:21.569+04:00</atom:updated><title>Hubot &amp; XMPP</title><description>Running Hubot on a Jabber server is fairly simple:
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Install node.js;&lt;/li&gt;
&lt;li&gt;Install &lt;a href="http://npmjs.org/"&gt;npm&lt;/a&gt;;&lt;/li&gt;
&lt;li&gt;Install redis;&lt;/li&gt;
&lt;li&gt;Set up environment variables:&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;export HUBOT_XMPP_USERNAME=[JID]&lt;/li&gt;
&lt;li&gt;export HUBOT_XMPP_PASSWORD=[Password]&lt;/li&gt;
&lt;li&gt;export HUBOT_XMPP_ROOMS=[Room]&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;Run Hubot: bin/hubot -a xmpp&lt;/li&gt;
&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6984562215857460011-2136259932953762252?l=claymore-ws.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/Shirohida/~3/5vmeYxs9Zn8/hubot-xmpp.html</link><author>noreply@blogger.com (Alexey Bobyakov)</author><thr:total>0</thr:total><feedburner:origLink>http://claymore-ws.blogspot.com/2011/10/hubot-xmpp.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6984562215857460011.post-2427390219279006950</guid><pubDate>Sat, 29 Nov 2008 11:19:00 +0000</pubDate><atom:updated>2009-03-14T23:25:53.502+03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">linux</category><category domain="http://www.blogger.com/atom/ns#">english</category><title>Thinkpad X60s, WiFi and Debian</title><description>You will need following packages:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;wireless-tools&lt;/li&gt;&lt;li&gt;wpasupplicant&lt;/li&gt;&lt;li&gt;firmware-iwlwifi&lt;/li&gt;&lt;li&gt;&amp;gt;=linux-image-2.6.23&lt;/li&gt;&lt;/ul&gt;After installing the packages create wpa_supplicant.conf (change 'your_ssid'  to your router SSID and 'your_password' to your real passphrase):&lt;br /&gt;# wpa_passphrase your_ssid your_password &amp;gt; /etc/wpa_supplicant/wpa_supplicant.conf&lt;br /&gt;&lt;br /&gt;Open /etc/wpa_supplicant/wpa_supplicant and make sure it looks like this:&lt;br /&gt;&lt;blockquote&gt;&lt;pre&gt;ctrl_interface=/var/run/wpa_supplicant&lt;br /&gt;&lt;br /&gt;eapol_version=1&lt;br /&gt;ap_scan=1&lt;br /&gt;fast_reauth=1&lt;br /&gt;&lt;br /&gt;# Only WPA-PSK is used. Any valid cipher combination is accepted.&lt;br /&gt;network={&lt;br /&gt;  ssid="your_ssid"&lt;br /&gt;  proto=WPA&lt;br /&gt;  key_mgmt=WPA-PSK&lt;br /&gt;  pairwise=CCMP TKIP&lt;br /&gt;  group=CCMP TKIP&lt;br /&gt;  priority=2&lt;br /&gt;  #psk="your_password"&lt;br /&gt;  psk=6d5324610d3627ab4f97b80cf22b742996d82c022b283a874e88d083a299734c&lt;br /&gt;}&lt;/pre&gt;&lt;/blockquote&gt;Open and add to /etc/network/interfaces following text:&lt;br /&gt;&lt;blockquote&gt;&lt;pre&gt;# Wireless&lt;br /&gt;allow-hotplug wlan0&lt;br /&gt;iface wlan0 inet manual&lt;br /&gt;       wpa-drive wexp&lt;br /&gt;       wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf&lt;br /&gt;iface default inet dhcp&lt;/pre&gt;&lt;/blockquote&gt;Run this command and you're done:&lt;br /&gt;# ifconfig wlan0 up&lt;br /&gt;&lt;br /&gt;More information can be found on &lt;a href="http://wiki.debian.org/WiFi"&gt;Debian Wiki&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6984562215857460011-2427390219279006950?l=claymore-ws.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/Shirohida/~3/jCvfcR4P8GE/thinkpad-x60s-wifi-and-debian.html</link><author>noreply@blogger.com (Alexey Bobyakov)</author><thr:total>0</thr:total><feedburner:origLink>http://claymore-ws.blogspot.com/2008/11/thinkpad-x60s-wifi-and-debian.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6984562215857460011.post-7730294221782104183</guid><pubDate>Mon, 14 Jul 2008 08:00:00 +0000</pubDate><atom:updated>2008-07-14T12:07:41.719+04:00</atom:updated><title>Как встречают новые идеи в информатике</title><description>Я наткнулся на &lt;a href='http://www.computer.org/portal/site/computer/menuitem.5d61c1d591162e4b0ef1bd108bcd45f3/index.jsp?&amp;pName=computer_level1_article&amp;TheCat=1015&amp;path=computer/homepage/1205&amp;file=profession.xml&amp;xsl=article.xsl'&gt;интересную подборку&lt;/a&gt; отзывов на первые публикации таких учёных как Дейкстра, Тюринг, Код, Хоар и т. д. Революционные идеи часто встречают скептические замечания о их практической пользе и простоте реализации.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6984562215857460011-7730294221782104183?l=claymore-ws.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/Shirohida/~3/_CRB0GiyBGM/blog-post.html</link><author>noreply@blogger.com (Alexey Bobyakov)</author><thr:total>0</thr:total><feedburner:origLink>http://claymore-ws.blogspot.com/2008/07/blog-post.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6984562215857460011.post-3739738323044444308</guid><pubDate>Sun, 13 Jul 2008 12:53:00 +0000</pubDate><atom:updated>2009-03-14T23:25:38.978+03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">programming</category><category domain="http://www.blogger.com/atom/ns#">english</category><title>Context menu for column headers of .NET ListView</title><description>ListView doesn't provide ColumnHeaderMouseClick event so I had to find a workaround to display context menu for column headers. There is a &lt;a href="http://www.codeproject.com/KB/list/HeaderRightClick.aspx"&gt;way&lt;/a&gt; to do this by resorting to Windows API but my solution is easier.&lt;br /&gt;
&lt;br /&gt;
Let's say we've got a ListView control called &lt;code&gt;contentsListView&lt;/code&gt; and two menus: &lt;code&gt;generalContextMenu&lt;/code&gt; and &lt;code&gt;headerContextMenu&lt;/code&gt;. &lt;code&gt;generalContextMenu&lt;/code&gt; should be displayed when user right-clicks on an item and &lt;code&gt;headerContextMenu&lt;/code&gt; should be displayed when he clicks on a column header.&lt;br /&gt;
&lt;br /&gt;
Set the list view's property 'ContextMenuStrip' to &lt;code&gt;generalContextMenu&lt;/code&gt;:&lt;br /&gt;
&lt;code&gt;contentListView.ContextMenuStrip = generalContextMenu;&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
Add handler for 'Opening' event of &lt;code&gt;generalContextMenu&lt;/code&gt;:&lt;br /&gt;
&lt;code&gt;generalContextMenuStrip.Opening += generalContextMenu_Opening;&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
I have played with debugger a bit and found out that &lt;code&gt;contentListView.GetItemAt&lt;/code&gt; returns first visible item of the list even when we actually click on a column header. So, when we get some value this means we either clicked on an item or on a column header. Any list item is located below the header, so if the item &lt;code&gt;Position.Y&lt;/code&gt; is less than &lt;code&gt;MousePosition.Y&lt;/code&gt; then user clicked on a column header.&lt;br /&gt;
&lt;br /&gt;
Here is the code for the handler:&lt;br /&gt;
&lt;pre&gt;&lt;code&gt;private void generalContextMenu_Opening(object sender,
    CancelEventArgs e)
{
    Point pt = contentListView.PointToClient(new Point(MousePosition.X,
        MousePosition.Y));
    ListViewItem item = contentListView.GetItemAt(pt.X, pt.Y);
    
    // Not an item or a column header
    if (item == null)
    {
        e.Cancel = true;
        return;
    }
    
    // Is it a column header?
    if (item.Position.Y &gt; pt.Y)
    {
        e.Cancel = true;
        headerContextMenu.Show(MousePosition);
    }
}&lt;/code&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6984562215857460011-3739738323044444308?l=claymore-ws.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/Shirohida/~3/QczBv_gdXJ8/context-menu-for-column-headers-of-net.html</link><author>noreply@blogger.com (Alexey Bobyakov)</author><thr:total>0</thr:total><feedburner:origLink>http://claymore-ws.blogspot.com/2008/07/context-menu-for-column-headers-of-net.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6984562215857460011.post-8783272944486144186</guid><pubDate>Tue, 17 Jun 2008 10:01:00 +0000</pubDate><atom:updated>2008-06-17T14:19:26.555+04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">windows</category><title>Русская типографика и Windows</title><description>Всегда приятно читать &lt;a href='http://ru.wikipedia.org/wiki/Типографика'&gt;красиво оформленный текст&lt;/a&gt;, но его не так просто набрать с помощью русской &lt;a href='http://ru.wikipedia.org/wiki/Раскладка_клавиатуры'&gt;раскладки&lt;/a&gt;, которая входит в поставку Windows. Свою типографическую раскладку можно создать с помощью утилиты &lt;a href='http://www.microsoft.com/globaldev/tools/msklc.mspx'&gt;Microsoft Keyboard Layout Creator&lt;/a&gt; или же можно взять готовую раскладку на &lt;a href='http://ilyabirman.ru/tools/typography-layout/'&gt;сайте Ильи Бирмана&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6984562215857460011-8783272944486144186?l=claymore-ws.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/Shirohida/~3/YVfrxsImX7k/windows.html</link><author>noreply@blogger.com (Alexey Bobyakov)</author><thr:total>0</thr:total><feedburner:origLink>http://claymore-ws.blogspot.com/2008/06/windows.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6984562215857460011.post-1696622411510569382</guid><pubDate>Mon, 17 Mar 2008 08:01:00 +0000</pubDate><atom:updated>2009-03-14T23:25:53.503+03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">linux</category><category domain="http://www.blogger.com/atom/ns#">english</category><title>Installing Debian Lenny</title><description>Two days ago I got my hands on Debian 4.0 testing DVDs. Debian installation was smooth on my previous PC but I ran into problems while installing it on the PC with ASUS P5K SE motherboard, IDE DVD-RW drive and IDE hard disk. Debian boots up from the install DVD but fails to find the DVD during the installation process. The solution is to boot with option 'expert generic.all_generic_ide=1'.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6984562215857460011-1696622411510569382?l=claymore-ws.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/Shirohida/~3/flk-rx8tdT8/installing-debian-lenny.html</link><author>noreply@blogger.com (Alexey Bobyakov)</author><thr:total>0</thr:total><feedburner:origLink>http://claymore-ws.blogspot.com/2008/03/installing-debian-lenny.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6984562215857460011.post-1926161267905112509</guid><pubDate>Fri, 01 Feb 2008 08:10:00 +0000</pubDate><atom:updated>2008-02-01T11:16:42.945+03:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">bugs</category><title>Gismeteo предрекает апокалипсис</title><description>&lt;a href="http://www.gismeteo.ru/towns/27612.htm"&gt;Согласно&lt;/a&gt; &lt;a href="http://www.gismeteo.ru/"&gt;Gismeteo.ru&lt;/a&gt;, 2 февраля мороз в Москве достигнет небывалых ранее размеров :-)&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_IpBOXbeuGR0/R6LU7VsFjfI/AAAAAAAACLc/KDl9aZfv4rw/s1600-h/GismetoErred.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_IpBOXbeuGR0/R6LU7VsFjfI/AAAAAAAACLc/KDl9aZfv4rw/s400/GismetoErred.JPG" alt="" id="BLOGGER_PHOTO_ID_5161922238819438066" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6984562215857460011-1926161267905112509?l=claymore-ws.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/Shirohida/~3/_vC-QNM04PM/gismeteo.html</link><author>noreply@blogger.com (Alexey Bobyakov)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_IpBOXbeuGR0/R6LU7VsFjfI/AAAAAAAACLc/KDl9aZfv4rw/s72-c/GismetoErred.JPG" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://claymore-ws.blogspot.com/2008/02/gismeteo.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6984562215857460011.post-5384319795861582754</guid><pubDate>Sat, 27 Oct 2007 08:00:00 +0000</pubDate><atom:updated>2007-10-27T13:49:57.594+04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">programming</category><title>Время разработчика vs. время процессора</title><description>Строго говоря, этой теме уже больше 50 лет, но в среде разработчиков по прежнему разгораются споры, чей же язык лучше. Конечно, идеального решения нет и всё зависит от поставленной задачи. Так, для &lt;a href="http://ru.wikipedia.org/wiki/%D0%A1%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%BD%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5"&gt;системного программирования&lt;/a&gt; и встроенных систем вам придётся выбрать C или &lt;a href="http://ru.wikipedia.org/wiki/%D0%90%D1%81%D1%81%D0%B5%D0%BC%D0%B1%D0%BB%D0%B5%D1%80"&gt;ассемблер&lt;/a&gt;. В случае же прикладных программ у нас есть &lt;a href="http://en.wikipedia.org/wiki/Categorical_list_of_programming_languages"&gt;огромный выбор&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Современные компьютеры стали общедоступными, они обладают гигантским быстродействием и большим объёмом оперативной памяти. Всё это делает возможным использование высоуровневых языков, которые позволяют переложить часть работы программиста на компьютер. Я считаю, в большинстве ситуаций время программиста дороже некоторой потери производительности программы.&lt;br /&gt;&lt;br /&gt;Почему не стоит писать прикладные программы, скажем, на &lt;a href="http://en.wikipedia.org/wiki/C_%28programming_language%29"&gt;С&lt;/a&gt;? Потому, что тогда программисту приходится сосредотачиваться на многих деталях, которые не имеют непосредственного отношения к тому, что должна делать программа. Большие программы на С сложно менять и сопровождать. Более подробно можно почитать &lt;a href="http://en.wikipedia.org/wiki/Criticism_of_the_C_programming_language"&gt;здесь&lt;/a&gt; и &lt;a href="http://freeshells.ch/%7Erevence/no-c.txt"&gt;здесь&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Хорошо, тогда может быть на &lt;a href="http://en.wikipedia.org/wiki/C%2B%2B"&gt;С++&lt;/a&gt;? Безусловно, объём кода существенно снижается, и С++ решает часть проблем C. Но какова цена? Язык значительно сложнее С (так, стандарт С занимает около 160 страниц, а стандарт С++ — уже 310), его компиляторы заметно медленнее, из-за обратной (неполной) совместимости с С он обладает всеми проблемами С плюс вносит &lt;a href="http://yosefk.com/c++fqa/"&gt;свои&lt;/a&gt;. Опять же, разработчику приходиться постоянно следить за множеством мелочей, чтобы не угодить в очередную ловушку. Мало кто из разработчиков знает или использует едва ли половину возможностей языка.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/Java_%28programming_language%29"&gt;Java&lt;/a&gt; или &lt;a href="http://en.wikipedia.org/wiki/C_Sharp"&gt;C#&lt;/a&gt;? Оба языка предоставляют все средства для быстрой и удобной разработки «безопасных» программ. Они решают многие проблемы С/C++ и существенно упрощают жизнь разработчику. Код ещё больше сокращается, благодаря рефликсии программы проще менять, сопровождать и тестировать. Конечно, за это приходиться расплачиваться (&lt;a href="http://en.wikipedia.org/wiki/C_Sharp#Criticism"&gt;C#&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/Criticism_of_Java"&gt;Java&lt;/a&gt;), но уже производительностью, а не безопасностью программ и не временем программиста.&lt;br /&gt;&lt;br /&gt;Но это далеко не потолок, ведь есть &lt;a href="http://ru.wikipedia.org/wiki/%D0%A4%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5"&gt;функциональные языки&lt;/a&gt;, на которых часть задач решается существенно проще, чем в императивных языках. Кроме того, есть &lt;a href="http://en.wikipedia.org/wiki/Lisp_%28programming_language%29"&gt;Lisp&lt;/a&gt; с его мощными макросами для метапрограммирования.&lt;br /&gt;&lt;br /&gt;Не стоит также забывать о том, что в любой абстракции может быть &lt;a href="http://www.joelonsoftware.com/articles/LeakyAbstractions.html"&gt;ловушка&lt;/a&gt;. Поэтому на практике для того, чтобы писать эффективные и надёжные программы, любому программисту желательно знать C и особенности реализации выбранного им языка.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6984562215857460011-5384319795861582754?l=claymore-ws.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/Shirohida/~3/UIac7YeHs10/vs.html</link><author>noreply@blogger.com (Alexey Bobyakov)</author><thr:total>0</thr:total><feedburner:origLink>http://claymore-ws.blogspot.com/2007/10/vs.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6984562215857460011.post-2680717613001240274</guid><pubDate>Mon, 22 Oct 2007 08:56:00 +0000</pubDate><atom:updated>2007-10-22T13:00:17.554+04:00</atom:updated><title>Трансляция в LiveJournal</title><description>Спасибо &lt;a href="http://users.livejournal.com/_lost__soul_"&gt;_lost__soul_&lt;/a&gt; за создание &lt;a href="http://syndicated.livejournal.com/shirohida/profile"&gt;ленты трансляции&lt;/a&gt; моего блога в LiveJournal.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6984562215857460011-2680717613001240274?l=claymore-ws.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/Shirohida/~3/CfOfT_WxikU/livejournal.html</link><author>noreply@blogger.com (Alexey Bobyakov)</author><thr:total>0</thr:total><feedburner:origLink>http://claymore-ws.blogspot.com/2007/10/livejournal.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6984562215857460011.post-5506559281487453515</guid><pubDate>Mon, 30 Jul 2007 06:34:00 +0000</pubDate><atom:updated>2007-07-30T17:20:47.191+04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">windows</category><category domain="http://www.blogger.com/atom/ns#">programming</category><category domain="http://www.blogger.com/atom/ns#">english</category><title>Windows Vista Credential Providers</title><description>In Windows Vista Microsoft has adopted so called credential providers as a way to log into the system. Your custom &lt;a href="http://en.wikipedia.org/wiki/Graphical_identification_and_authentication"&gt;GINA&lt;/a&gt; library &lt;a href="http://support.microsoft.com/kb/925520"&gt;won't work&lt;/a&gt; in Vista so you will have to write a &lt;a href="http://en.wikipedia.org/wiki/Component_object_model"&gt;COM&lt;/a&gt; component which implements ICredentialProvider and ICredentialProviderCredential interfaces. I found it pretty easy to write a custom credential provider (the one that works with electronic keys). There are a &lt;a href="http://msdn.microsoft.com/msdnmag/issues/07/01/CredentialProviders/default.aspx"&gt;good introduction&lt;/a&gt; into the new model, &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=b1b3cbd1-2d3a-4fac-982f-289f4f4b9300&amp;amp;displaylang=en"&gt;samples&lt;/a&gt; and &lt;a href="http://shellrevealed.com/files/folders/code_samples/entry1019.aspx"&gt;technical reference&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6984562215857460011-5506559281487453515?l=claymore-ws.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/Shirohida/~3/t6bzB5DYzs8/windows-vista-credential-providers.html</link><author>noreply@blogger.com (Alexey Bobyakov)</author><thr:total>0</thr:total><feedburner:origLink>http://claymore-ws.blogspot.com/2007/07/windows-vista-credential-providers.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6984562215857460011.post-4225400819956804914</guid><pubDate>Wed, 25 Jul 2007 10:22:00 +0000</pubDate><atom:updated>2007-07-30T10:34:14.098+04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">windows</category><category domain="http://www.blogger.com/atom/ns#">programming</category><title>Поставщики учётных данных для Windows Vista</title><description>До Windows Vista для &lt;a href="http://ru.wikipedia.org/wiki/Логин"&gt;входа в систему&lt;/a&gt; использовалась библиотека &lt;a href="http://en.wikipedia.org/wiki/Graphical_identification_and_authentication"&gt;GINA&lt;/a&gt; (Graphical identification and authentication). В Windows Vista отказались от этой модели и ввели понятие поставщиков учётных данных. Теперь для создания своей библиотеки для входа в систему нужно реализовать &lt;a href="http://ru.wikipedia.org/wiki/COM-интерфейс"&gt;COM-интерфейсы&lt;/a&gt; ICredentialProviderCredential и ICredentialProvider. Более подробно об этом можно почитать &lt;a href="http://msdn.microsoft.com/msdnmag/issues/07/01/CredentialProviders/default.aspx?loc=ru"&gt;здесь&lt;/a&gt; (или в &lt;a href="http://msdn.microsoft.com/msdnmag/issues/07/01/CredentialProviders/default.aspx"&gt;оригинале&lt;/a&gt; на английском). Последняя версия примеров поставщиков лежит &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=b1b3cbd1-2d3a-4fac-982f-289f4f4b9300&amp;amp;displaylang=en"&gt;здесь&lt;/a&gt;. Последняя версия технической документации по поставщикам учётных данных доступна &lt;a href="http://shellrevealed.com/files/folders/code_samples/entry1019.aspx"&gt;здесь&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6984562215857460011-4225400819956804914?l=claymore-ws.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/Shirohida/~3/CDhzngub6X4/windows-vista.html</link><author>noreply@blogger.com (Alexey Bobyakov)</author><thr:total>0</thr:total><feedburner:origLink>http://claymore-ws.blogspot.com/2007/07/windows-vista.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6984562215857460011.post-7419567209681100870</guid><pubDate>Tue, 26 Jun 2007 13:53:00 +0000</pubDate><atom:updated>2007-08-06T17:19:17.306+04:00</atom:updated><title>Last.fm Normalizer</title><description>Просматривая список популярных закладок на &lt;a href="http://del.icio.us/"&gt;del.icio.us&lt;/a&gt;, я наткнулся на интересный сервис: &lt;a href="http://www.associativetrails.com/stuff/normalisefm/index.cfm"&gt;Last.fm Normalizer&lt;/a&gt;. Он получает у &lt;a href="http://www.last.fm/"&gt;last.fm&lt;/a&gt; список ваших любимых групп, затем пробегается по прослушанным альбомам и трекам, находит их в &lt;a href="http://www.musicbrainz.org/"&gt;MusicBrainz&lt;/a&gt; и высчитывает среднюю длительность трека для каждого исполнителя. На основе этой длительности вычисляется время, которые вы потратили на прослушивание каждого исполнителя, затем полученные результаты сортируются по убыванию. Рейтинги могут отличаться довольно сильно, например у меня для &lt;a href="http://www.last.fm/music/Andrew+Lloyd+Webber"&gt;Andrew Lloyd Webber&lt;/a&gt; разница с last.fm составила 31 пункт.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6984562215857460011-7419567209681100870?l=claymore-ws.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/Shirohida/~3/6_cFEirKtPg/lastfm-normalizer.html</link><author>noreply@blogger.com (Alexey Bobyakov)</author><thr:total>0</thr:total><feedburner:origLink>http://claymore-ws.blogspot.com/2007/06/lastfm-normalizer.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6984562215857460011.post-7314467345003781019</guid><pubDate>Sat, 23 Jun 2007 09:15:00 +0000</pubDate><atom:updated>2007-06-23T13:33:51.895+04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">linux</category><category domain="http://www.blogger.com/atom/ns#">microsoft</category><title>Ubuntu как обновление для Windows</title><description>На groklaw.net опубликовали &lt;a href="http://www.groklaw.net/article.php?story=2007062209235346"&gt;курьёзный случай&lt;/a&gt;: на одном из сайтов Microsoft в разделе BIOS &amp; System Update Downloads &lt;a href="http://72.14.253.104/search?q=cache:D1ZIAHrGuGIJ:www.windowsmarketplace.com/details.aspx%3Fitemid%3D3411347+ubuntu+windowsmarketplace&amp;amp;hl=en&amp;amp;ct=clnk&amp;cd=1&amp;amp;gl=us"&gt;предлагалась &lt;/a&gt;для скачки Ubuntu Linux, «идеальная система для рабочих станций, ноутбуков и серверов». Более того, указывалось, что она совместима со всеми версиями Windows, начиная с Windows 3.x и заканчивая Windows 2003. Судя по статистике, её скачали не менее 10 923 раз.&lt;br /&gt;&lt;br /&gt;Увы, всё достаточно банально: попала она туда совершенного случайно, так как Windows Marketplace автоматически собирает информацию с нескольких сайтов, в частности с CNET, как правильно &lt;a href="http://linux.slashdot.org/comments.pl?sid=239997&amp;cid=19610081"&gt;заметили&lt;/a&gt; &lt;a href="http://linux.slashdot.org/comments.pl?sid=239997&amp;amp;cid=19610275"&gt;несколько&lt;/a&gt; человек на &lt;a href="http://linux.slashdot.org/article.pl?sid=07/06/22/151233&amp;amp;from=rss"&gt;/.&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6984562215857460011-7314467345003781019?l=claymore-ws.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/Shirohida/~3/XXXt05X2esY/ubuntu-windows.html</link><author>noreply@blogger.com (Alexey Bobyakov)</author><thr:total>0</thr:total><feedburner:origLink>http://claymore-ws.blogspot.com/2007/06/ubuntu-windows.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6984562215857460011.post-3733285267496388569</guid><pubDate>Sat, 23 Jun 2007 09:01:00 +0000</pubDate><atom:updated>2007-06-23T13:12:45.955+04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">windows</category><category domain="http://www.blogger.com/atom/ns#">security</category><title>Slashdot</title><description>Забавно видеть, как по-разному можно представить один и тот же материал. Так, на &lt;a href="http://it.slashdot.org/article.pl?sid=07/06/22/139247&amp;amp;from=rss"&gt;/.&lt;/a&gt; недавний &lt;a href="http://blogs.csoonline.com/windows_vista_6_month_vulnerability_report"&gt;отчёт&lt;/a&gt; Джефа Джонса о процессе выхода заплаток для Windows Vista, смогли показать как негативный, в то время как на &lt;a href="http://www.engadget.com/2007/06/22/report-vista-more-secure-than-os-x-and-linux/"&gt;этом&lt;/a&gt; сайте ему был дан гораздо более оптимистичный заголовок.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6984562215857460011-3733285267496388569?l=claymore-ws.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/Shirohida/~3/azXs5TcwEJc/slashdot.html</link><author>noreply@blogger.com (Alexey Bobyakov)</author><thr:total>0</thr:total><feedburner:origLink>http://claymore-ws.blogspot.com/2007/06/slashdot.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6984562215857460011.post-8735631647735095957</guid><pubDate>Wed, 17 Jan 2007 13:08:00 +0000</pubDate><atom:updated>2007-08-06T17:19:35.991+04:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">humour</category><title>Из жизни Википедии</title><description>Взято из &lt;a href="http://community.livejournal.com/ru_wikipedia/58675.html"&gt;ru_wikipedia&lt;/a&gt;:&lt;blockquote&gt;&lt;strong&gt;Диалог&lt;/strong&gt;&lt;br /&gt;— КБУ&lt;br /&gt;— RV&lt;br /&gt;— VFD, КУ&lt;br /&gt;— ...&lt;br /&gt;— ПДН&lt;br /&gt;— НДА!&lt;br /&gt;— НЦН&lt;br /&gt;— НО&lt;br /&gt;— ПБ&lt;br /&gt;— ЗАЯ!&lt;/blockquote&gt;И ведь действительно всё понятно!&lt;br /&gt;&lt;blockquote&gt;— К быстрому удалению&lt;br /&gt;— Запрос на проверку&lt;br /&gt;— К удалению&lt;br /&gt;— ...&lt;br /&gt;— Предполагайте добрые намерения&lt;br /&gt;—  Абсурдные правки недопустимы!&lt;br /&gt;— Не цепляйтесь к новичкам&lt;br /&gt;—  Оскорбления недопустимы&lt;br /&gt;—  Блокировать участника&lt;br /&gt;— Заявка на арбитраж&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6984562215857460011-8735631647735095957?l=claymore-ws.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/Shirohida/~3/-83_EiQ8VVM/blog-post_17.html</link><author>noreply@blogger.com (Alexey Bobyakov)</author><thr:total>0</thr:total><feedburner:origLink>http://claymore-ws.blogspot.com/2007/01/blog-post_17.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6984562215857460011.post-8605197558392680674</guid><pubDate>Sat, 13 Jan 2007 15:37:00 +0000</pubDate><atom:updated>2007-06-27T23:44:12.603+04:00</atom:updated><title>十二国記 или «Двенадцатицарствие»</title><description>Ещё когда я был подписчиком &lt;a href="http://groups.google.com/group/fido7.ru.anime/topics"&gt;ru.anime&lt;/a&gt;, я много слышал об &lt;a href="http://en.wikipedia.org/wiki/Juuni_Kokki"&gt;этом аниме&lt;/a&gt;. В эту пятницу, выбирая аниме на выходные, я вспомнил о нём и постарался скопировать хоть сколько-нибудь серий. Увы, поместилось всего 16 серий, которые я с огромным удовольствием посмотрел за два дня. «Двенадцатицарствие»  не воспринимается как сериал, а скорее как один длинный фильм; первые 12 серий смотрятся на одном дыхании. Вместе с главной героиней мы мало-помалу знакомимся с обычаями и устройством царств, следим за её взрослением... Сюжет действительно захватывает,  предлагаемая авторами мораль тоже симпатична мне, так что я буду с нетерпением ждать возможности продолжить просмотр =)&lt;br /&gt;&lt;style&gt;i{content: normal !important}&lt;/style&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6984562215857460011-8605197558392680674?l=claymore-ws.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/Shirohida/~3/e3dntvK2Ve0/blog-post.html</link><author>noreply@blogger.com (Alexey Bobyakov)</author><thr:total>0</thr:total><feedburner:origLink>http://claymore-ws.blogspot.com/2007/01/blog-post.html</feedburner:origLink></item></channel></rss>

