<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Konstantin's</title>
	<atom:link href="http://nix0.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://nix0.wordpress.com</link>
	<description>Just another WordPress.com weblog</description>
	<lastBuildDate>Sat, 19 Nov 2011 14:56:51 +0000</lastBuildDate>
	<language>ru</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='nix0.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Konstantin's</title>
		<link>http://nix0.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://nix0.wordpress.com/osd.xml" title="Konstantin&#039;s" />
	<atom:link rel='hub' href='http://nix0.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Еще одна причина любить PEP8 (One more reason to like PEP8)</title>
		<link>http://nix0.wordpress.com/2011/02/07/%d0%b5%d1%89%d0%b5-%d0%be%d0%b4%d0%bd%d0%b0-%d0%bf%d1%80%d0%b8%d1%87%d0%b8%d0%bd%d0%b0-%d0%bb%d1%8e%d0%b1%d0%b8%d1%82%d1%8c-pep8-one-more-reason-to-like-pep8/</link>
		<comments>http://nix0.wordpress.com/2011/02/07/%d0%b5%d1%89%d0%b5-%d0%be%d0%b4%d0%bd%d0%b0-%d0%bf%d1%80%d0%b8%d1%87%d0%b8%d0%bd%d0%b0-%d0%bb%d1%8e%d0%b1%d0%b8%d1%82%d1%8c-pep8-one-more-reason-to-like-pep8/#comments</comments>
		<pubDate>Mon, 07 Feb 2011 11:42:03 +0000</pubDate>
		<dc:creator>nix0</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[pep 0008]]></category>
		<category><![CDATA[pep-8]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://nix0.wordpress.com/?p=396</guid>
		<description><![CDATA[Исходники удобно печатать! Напечатанные, они выглядят так же, как и на экране. Sources are printable! Being printed, they are the same like on screen.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nix0.wordpress.com&amp;blog=2424171&amp;post=396&amp;subd=nix0&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Исходники удобно печатать! Напечатанные, они выглядят так же, как и на экране.</p>
<p>Sources are printable! Being printed, they are the same like on screen.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/nix0.wordpress.com/396/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/nix0.wordpress.com/396/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/nix0.wordpress.com/396/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/nix0.wordpress.com/396/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/nix0.wordpress.com/396/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/nix0.wordpress.com/396/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/nix0.wordpress.com/396/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/nix0.wordpress.com/396/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/nix0.wordpress.com/396/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/nix0.wordpress.com/396/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/nix0.wordpress.com/396/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/nix0.wordpress.com/396/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/nix0.wordpress.com/396/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/nix0.wordpress.com/396/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nix0.wordpress.com&amp;blog=2424171&amp;post=396&amp;subd=nix0&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://nix0.wordpress.com/2011/02/07/%d0%b5%d1%89%d0%b5-%d0%be%d0%b4%d0%bd%d0%b0-%d0%bf%d1%80%d0%b8%d1%87%d0%b8%d0%bd%d0%b0-%d0%bb%d1%8e%d0%b1%d0%b8%d1%82%d1%8c-pep8-one-more-reason-to-like-pep8/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3224b3af341c64022b0a1bb24847eec6?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">nix0</media:title>
		</media:content>
	</item>
		<item>
		<title>Пару слов о генераторах в Python</title>
		<link>http://nix0.wordpress.com/2011/02/01/%d0%bf%d0%b0%d1%80%d1%83-%d1%81%d0%bb%d0%be%d0%b2-%d0%be-%d0%b3%d0%b5%d0%bd%d0%b5%d1%80%d0%b0%d1%82%d0%be%d1%80%d0%b0%d1%85-%d0%b2-python/</link>
		<comments>http://nix0.wordpress.com/2011/02/01/%d0%bf%d0%b0%d1%80%d1%83-%d1%81%d0%bb%d0%be%d0%b2-%d0%be-%d0%b3%d0%b5%d0%bd%d0%b5%d1%80%d0%b0%d1%82%d0%be%d1%80%d0%b0%d1%85-%d0%b2-python/#comments</comments>
		<pubDate>Tue, 01 Feb 2011 09:09:52 +0000</pubDate>
		<dc:creator>nix0</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[342]]></category>
		<category><![CDATA[генератор]]></category>
		<category><![CDATA[итератор]]></category>
		<category><![CDATA[generator]]></category>
		<category><![CDATA[iterator]]></category>
		<category><![CDATA[next]]></category>
		<category><![CDATA[PEP]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[send]]></category>

		<guid isPermaLink="false">http://nix0.wordpress.com/?p=393</guid>
		<description><![CDATA[Генератором в python называется такая конструкция, возвращающая заместо коллекции итератор по этой коллекции. def usual_function(): """ обычная функция, возвращающая список """ return [2 * i for i in range(10)] print "Usual function: {0}".format(usual_function()) Usual function: [0, 2, 4, 6, 8, 10, 12, 14, 16, 18] def usual_generator(): """ обычный генератор """ for i in range(10): [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nix0.wordpress.com&amp;blog=2424171&amp;post=393&amp;subd=nix0&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Генератором в python называется такая конструкция, возвращающая заместо коллекции итератор по этой коллекции.<br />
<code><br />
def usual_function():<br />
    """<br />
    обычная функция, возвращающая список<br />
    """<br />
    return [2 * i for i in range(10)]</p>
<p>print "Usual function: {0}".format(usual_function())</p>
<p>Usual function: [0, 2, 4, 6, 8, 10, 12, 14, 16, 18]</p>
<p>def usual_generator():<br />
    """<br />
    обычный генератор<br />
    """<br />
    for i in range(10):<br />
        yield 2 * i</p>
<p>g = usual_generator()<br />
print "Usual generator: {0}".format(g)<br />
print "Iterating usual generator:"<br />
for j in g:<br />
    print j,<br />
print</p>
<p>Usual generator:<br />
Iterating usual generator:<br />
0 2 4 6 8 10 12 14 16 18<br />
</code></p>
<p>Так же генераторы могут возвращать итераторы по бесконечным последовательностям<br />
<code><br />
def endless_prime_generator():<br />
    """<br />
    бесконечный генератор простых чисел (построенный на решете Эратосфена)<br />
    """<br />
    used_primes = []<br />
    current_n = 2<br />
    while True:<br />
        is_prime = True<br />
        for p in used_primes:<br />
            if current_n % p == 0:<br />
                is_prime = False<br />
                break<br />
        if is_prime:<br />
            used_primes.append(current_n)<br />
            yield current_n<br />
        current_n += 1</p>
<p>primes = endless_prime_generator()<br />
print "Iterating endless prime generator"<br />
for i in range(10):<br />
    print primes.next(),<br />
print</p>
<p>Iterating endless prime generator<br />
2 3 5 7 11 13 17 19 23 29<br />
</code></p>
<p>Но совсем недавно я наткнулся на <a href="http://www.python.org/dev/peps/pep-0342/">PEP-342</a>, который вводит в генераторы новшество: теперь yield это не statement, а expression, то есть он может быть использован для присвоения значения какой-то переменной. Чтобы передать в генератор это значение используется метод send.</p>
<p>Простейший пример:<br />
<code><br />
def coroutine():<br />
    data = "No data"<br />
    while True:<br />
        data = "data is {0}".format((yield data))<br />
        print "in generator: {0}".format(data)</p>
<p>g = coroutine()<br />
print "First next(): {0}".format(g.next())<br />
print "Then (yield) = None, because next() = send(None)"<br />
for i in range(5):<br />
    print g.next()<br />
print "We send Hello: this causes skipping one iteration. {0}".format(g.send("Hello"))<br />
print "And one more example: {0}".format(g.send("Goodbye"))</p>
<p>First next(): No data<br />
Then (yield) = None, because next() = send(None)<br />
in generator: data is None<br />
data is None<br />
in generator: data is None<br />
data is None<br />
in generator: data is None<br />
data is None<br />
in generator: data is None<br />
data is None<br />
in generator: data is None<br />
data is None<br />
in generator: data is Hello<br />
We send Hello: this causes skipping one iteration. data is Hello<br />
in generator: data is Goodbye<br />
And one more example: data is Goodbye<br />
</code></p>
<p>Первой выдачей генератора управлять нельзя. Поэтому первым возвращенным значением будет &laquo;No data&raquo;. То есть выполнится конструкция (yield data). При следующем вызове next() (yield data) вернет None, (next() = send(None)). data станет равна data is None. При вызове send(&laquo;Hello&raquo;) генератор &laquo;просыпается&raquo;, yield data возвращает &laquo;Hello&raquo;, data = &laquo;data is Hello&raquo;, и в таком значении она и возвращается.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/nix0.wordpress.com/393/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/nix0.wordpress.com/393/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/nix0.wordpress.com/393/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/nix0.wordpress.com/393/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/nix0.wordpress.com/393/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/nix0.wordpress.com/393/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/nix0.wordpress.com/393/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/nix0.wordpress.com/393/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/nix0.wordpress.com/393/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/nix0.wordpress.com/393/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/nix0.wordpress.com/393/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/nix0.wordpress.com/393/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/nix0.wordpress.com/393/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/nix0.wordpress.com/393/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nix0.wordpress.com&amp;blog=2424171&amp;post=393&amp;subd=nix0&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://nix0.wordpress.com/2011/02/01/%d0%bf%d0%b0%d1%80%d1%83-%d1%81%d0%bb%d0%be%d0%b2-%d0%be-%d0%b3%d0%b5%d0%bd%d0%b5%d1%80%d0%b0%d1%82%d0%be%d1%80%d0%b0%d1%85-%d0%b2-python/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3224b3af341c64022b0a1bb24847eec6?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">nix0</media:title>
		</media:content>
	</item>
		<item>
		<title>Об аспирантуре</title>
		<link>http://nix0.wordpress.com/2011/01/15/%d0%be%d0%b1-%d0%b0%d1%81%d0%bf%d0%b8%d1%80%d0%b0%d0%bd%d1%82%d1%83%d1%80%d0%b5/</link>
		<comments>http://nix0.wordpress.com/2011/01/15/%d0%be%d0%b1-%d0%b0%d1%81%d0%bf%d0%b8%d1%80%d0%b0%d0%bd%d1%82%d1%83%d1%80%d0%b5/#comments</comments>
		<pubDate>Sat, 15 Jan 2011 10:58:41 +0000</pubDate>
		<dc:creator>nix0</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://nix0.wordpress.com/?p=390</guid>
		<description><![CDATA[Как вы думаете, какие преимущества и недостатки у аспирантуры? Из преимуществ я вижу: возможность позаниматься сложными задачами, не привести мозг к застою. Возможно, каким-то новые перспективы, связанные с кандидатской степенью. Так же, как мне кажется, о высшем образовании теперь свиделельствует ни диплом &#171;20 минут позора и вы инженер&#187;, а кандидатская диссертация. Может быть, когда Сколково [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nix0.wordpress.com&amp;blog=2424171&amp;post=390&amp;subd=nix0&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Как вы думаете, какие преимущества и недостатки у аспирантуры?</p>
<p>Из преимуществ я вижу: возможность позаниматься сложными задачами, не привести мозг к застою. Возможно, каким-то новые перспективы, связанные с кандидатской степенью. Так же, как мне кажется, о высшем образовании теперь свиделельствует ни диплом &laquo;20 минут позора и вы инженер&raquo;, а кандидатская диссертация. Может быть, когда Сколково развернется, то это будет хорошей инвестицией.</p>
<p>Из недостатков вижу: опять жизнь, разрывающая между работой и учебой, не оставляющая времени на друзей и семью. Невозможность реализации каких-то собственных проектов в свободное время.</p>
<p>Может быть еще дополню.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/nix0.wordpress.com/390/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/nix0.wordpress.com/390/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/nix0.wordpress.com/390/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/nix0.wordpress.com/390/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/nix0.wordpress.com/390/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/nix0.wordpress.com/390/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/nix0.wordpress.com/390/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/nix0.wordpress.com/390/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/nix0.wordpress.com/390/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/nix0.wordpress.com/390/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/nix0.wordpress.com/390/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/nix0.wordpress.com/390/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/nix0.wordpress.com/390/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/nix0.wordpress.com/390/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nix0.wordpress.com&amp;blog=2424171&amp;post=390&amp;subd=nix0&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://nix0.wordpress.com/2011/01/15/%d0%be%d0%b1-%d0%b0%d1%81%d0%bf%d0%b8%d1%80%d0%b0%d0%bd%d1%82%d1%83%d1%80%d0%b5/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3224b3af341c64022b0a1bb24847eec6?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">nix0</media:title>
		</media:content>
	</item>
		<item>
		<title>Wuala</title>
		<link>http://nix0.wordpress.com/2011/01/11/wuala/</link>
		<comments>http://nix0.wordpress.com/2011/01/11/wuala/#comments</comments>
		<pubDate>Tue, 11 Jan 2011 06:21:41 +0000</pubDate>
		<dc:creator>nix0</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://nix0.wordpress.com/?p=388</guid>
		<description><![CDATA[Был озадачен неприятностью: слетел один из дисков raid0-массива (но на то он и raid0, чтобы не хранить на нем важные вещи). Пришлось в срочном порядке переустанавливать систему на близнеца, который не знаю сколько продержится. Для того, чтобы спокойно спать по ночам, решил делать бэкапы всего того, что мигрировало с raid1 на непонятно когда сломающийся жесткий [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nix0.wordpress.com&amp;blog=2424171&amp;post=388&amp;subd=nix0&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Был озадачен неприятностью: слетел один из дисков raid0-массива (но на то он и raid0, чтобы не хранить на нем важные вещи). Пришлось в срочном порядке переустанавливать систему на близнеца, который не знаю сколько продержится. Для того, чтобы спокойно спать по ночам, решил делать бэкапы всего того, что мигрировало с raid1 на непонятно когда сломающийся жесткий диск. Но как? Сначала скриптом обходил важные папки, архивировал и заливал на <a href="http://narod.yandex.ru">народ</a>. А потом столкнулся с <a href="http://ru.wikipedia.org/wiki/Wuala">wuala</a>.</p>
<p>Мне понравилось в ней все: кроссплатформенность, сама идея распределенного между пользователями хранилища, возможность продавать ресурсы своего HDD за Pro-доступ (что я и сделал), простой и понятный для меня интерфейс (конечно, консоль самая простая и понятная, но тут тоже вполне продумано).</p>
<p>Собственно, <a href="http://www.wuala.com/">официальный сайт</a> и <a href="http://www.wuala.com/referral/7P55AFAC64GA6C7HM644">регистрация с промокодом на 2 Гб вместо 1</a>.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/nix0.wordpress.com/388/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/nix0.wordpress.com/388/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/nix0.wordpress.com/388/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/nix0.wordpress.com/388/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/nix0.wordpress.com/388/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/nix0.wordpress.com/388/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/nix0.wordpress.com/388/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/nix0.wordpress.com/388/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/nix0.wordpress.com/388/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/nix0.wordpress.com/388/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/nix0.wordpress.com/388/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/nix0.wordpress.com/388/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/nix0.wordpress.com/388/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/nix0.wordpress.com/388/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nix0.wordpress.com&amp;blog=2424171&amp;post=388&amp;subd=nix0&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://nix0.wordpress.com/2011/01/11/wuala/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3224b3af341c64022b0a1bb24847eec6?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">nix0</media:title>
		</media:content>
	</item>
		<item>
		<title>Про отношения России и Белоруссии</title>
		<link>http://nix0.wordpress.com/2010/10/05/%d0%bf%d1%80%d0%be-%d0%be%d1%82%d0%bd%d0%be%d1%88%d0%b5%d0%bd%d0%b8%d1%8f-%d1%80%d0%be%d1%81%d1%81%d0%b8%d0%b8-%d0%b8-%d0%b1%d0%b5%d0%bb%d0%be%d1%80%d1%83%d1%81%d1%81%d0%b8%d0%b8/</link>
		<comments>http://nix0.wordpress.com/2010/10/05/%d0%bf%d1%80%d0%be-%d0%be%d1%82%d0%bd%d0%be%d1%88%d0%b5%d0%bd%d0%b8%d1%8f-%d1%80%d0%be%d1%81%d1%81%d0%b8%d0%b8-%d0%b8-%d0%b1%d0%b5%d0%bb%d0%be%d1%80%d1%83%d1%81%d1%81%d0%b8%d0%b8/#comments</comments>
		<pubDate>Tue, 05 Oct 2010 03:27:46 +0000</pubDate>
		<dc:creator>nix0</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Белорусския]]></category>
		<category><![CDATA[Россия]]></category>

		<guid isPermaLink="false">http://nix0.wordpress.com/?p=385</guid>
		<description><![CDATA[Послушал утром выступление Дмитрия Анатольевича: http://news.kremlin.ru/news/9126 и вот странным кажется, то, что ответов на вопросы он не дал: неужели братская помощь заключается в скидках на нефть и газ? Да, конечно, это очень хорошо для белоруссов, что они есть, но все же как-то не по-братски. Потому и говорят так. Да, стоит заметить, что у Белоруссии нет [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nix0.wordpress.com&amp;blog=2424171&amp;post=385&amp;subd=nix0&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Послушал утром выступление Дмитрия Анатольевича: http://news.kremlin.ru/news/9126 и вот странным кажется, то, что ответов на вопросы он не дал: неужели братская помощь заключается в скидках на нефть и газ? Да, конечно, это очень хорошо для белоруссов, что они есть, но все же как-то не по-братски. Потому и говорят так. Да, стоит заметить, что у Белоруссии нет такой трубы в бюджете, в которую втекают триллионы долларов просто так каждый год. Да, живут они скромнее во вмногом, насколько мне известно, но из тех же данных можно понять, что они как ни одна другая страна, самодостаточны.</p>
<p>В чем я не прав?</p>
<p>http://piligrim-67.livejournal.com/1044533.html</p>
<p>http://piligrim-67.livejournal.com/1044935.html</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/nix0.wordpress.com/385/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/nix0.wordpress.com/385/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/nix0.wordpress.com/385/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/nix0.wordpress.com/385/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/nix0.wordpress.com/385/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/nix0.wordpress.com/385/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/nix0.wordpress.com/385/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/nix0.wordpress.com/385/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/nix0.wordpress.com/385/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/nix0.wordpress.com/385/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/nix0.wordpress.com/385/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/nix0.wordpress.com/385/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/nix0.wordpress.com/385/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/nix0.wordpress.com/385/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nix0.wordpress.com&amp;blog=2424171&amp;post=385&amp;subd=nix0&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://nix0.wordpress.com/2010/10/05/%d0%bf%d1%80%d0%be-%d0%be%d1%82%d0%bd%d0%be%d1%88%d0%b5%d0%bd%d0%b8%d1%8f-%d1%80%d0%be%d1%81%d1%81%d0%b8%d0%b8-%d0%b8-%d0%b1%d0%b5%d0%bb%d0%be%d1%80%d1%83%d1%81%d1%81%d0%b8%d0%b8/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3224b3af341c64022b0a1bb24847eec6?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">nix0</media:title>
		</media:content>
	</item>
		<item>
		<title>LISP styled F# :-)</title>
		<link>http://nix0.wordpress.com/2010/09/01/lisp-styled-f/</link>
		<comments>http://nix0.wordpress.com/2010/09/01/lisp-styled-f/#comments</comments>
		<pubDate>Wed, 01 Sep 2010 20:50:04 +0000</pubDate>
		<dc:creator>nix0</dc:creator>
				<category><![CDATA[Программировани]]></category>
		<category><![CDATA[Azure]]></category>
		<category><![CDATA[F#]]></category>
		<category><![CDATA[FunctionalAzure]]></category>
		<category><![CDATA[LISP]]></category>
		<category><![CDATA[Microsoft Azure]]></category>

		<guid isPermaLink="false">http://nix0.wordpress.com/?p=379</guid>
		<description><![CDATA[I&#8217;m loveing it! let canonicalize_headers (headers: WebHeaderCollection) = String.concat "" ( Array.map (fun (x : string) -&#62; String.Format("{0}:{1}\n", x.ToLower(), headers.Get(x))) ( Array.sort ( Array.filter (fun (x : string) -&#62; x.StartsWith("x-ms-")) headers.AllKeys ) ) )<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nix0.wordpress.com&amp;blog=2424171&amp;post=379&amp;subd=nix0&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m loveing it!</p>
<pre>
<span style="color:blue;">let</span> canonicalize_headers <span style="color:blue;">(</span>headers<span style="color:blue;">:</span> WebHeaderCollection<span style="color:blue;">)</span> =
    String<span style="color:blue;">.</span>concat <span style="color:maroon;">""</span> <span style="color:blue;">(</span>
        Array<span style="color:blue;">.</span>map <span style="color:blue;">(</span><span style="color:blue;">fun</span> <span style="color:blue;">(</span>x <span style="color:blue;">:</span> <span style="color:blue;">string</span><span style="color:blue;">)</span> <span style="color:blue;">-&gt;</span> String<span style="color:blue;">.</span>Format<span style="color:blue;">(</span><span style="color:maroon;">"{0}:{1}\n"</span>, x<span style="color:blue;">.</span>ToLower<span style="color:blue;">(</span><span style="color:blue;">)</span>, headers<span style="color:blue;">.</span>Get<span style="color:blue;">(</span>x<span style="color:blue;">)</span><span style="color:blue;">)</span><span style="color:blue;">)</span> <span style="color:blue;">(</span>
            Array<span style="color:blue;">.</span>sort <span style="color:blue;">(</span>
                Array<span style="color:blue;">.</span>filter <span style="color:blue;">(</span><span style="color:blue;">fun</span> <span style="color:blue;">(</span>x <span style="color:blue;">:</span> <span style="color:blue;">string</span><span style="color:blue;">)</span> <span style="color:blue;">-&gt;</span> x<span style="color:blue;">.</span>StartsWith<span style="color:blue;">(</span><span style="color:maroon;">"x-ms-"</span><span style="color:blue;">)</span><span style="color:blue;">)</span> headers<span style="color:blue;">.</span>AllKeys
            <span style="color:blue;">)</span>
        <span style="color:blue;">)</span>
    <span style="color:blue;">)</span></pre>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/nix0.wordpress.com/379/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/nix0.wordpress.com/379/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/nix0.wordpress.com/379/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/nix0.wordpress.com/379/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/nix0.wordpress.com/379/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/nix0.wordpress.com/379/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/nix0.wordpress.com/379/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/nix0.wordpress.com/379/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/nix0.wordpress.com/379/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/nix0.wordpress.com/379/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/nix0.wordpress.com/379/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/nix0.wordpress.com/379/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/nix0.wordpress.com/379/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/nix0.wordpress.com/379/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nix0.wordpress.com&amp;blog=2424171&amp;post=379&amp;subd=nix0&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://nix0.wordpress.com/2010/09/01/lisp-styled-f/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3224b3af341c64022b0a1bb24847eec6?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">nix0</media:title>
		</media:content>
	</item>
		<item>
		<title>Безлимитные звонки по России</title>
		<link>http://nix0.wordpress.com/2010/08/28/%d0%b1%d0%b5%d0%b7%d0%bb%d0%b8%d0%bc%d0%b8%d1%82%d0%bd%d1%8b%d0%b9-%d0%b7%d0%b2%d0%be%d0%bd%d0%ba%d0%b8-%d0%bf%d0%be-%d1%80%d0%be%d1%81%d1%81%d0%b8%d0%b8/</link>
		<comments>http://nix0.wordpress.com/2010/08/28/%d0%b1%d0%b5%d0%b7%d0%bb%d0%b8%d0%bc%d0%b8%d1%82%d0%bd%d1%8b%d0%b9-%d0%b7%d0%b2%d0%be%d0%bd%d0%ba%d0%b8-%d0%bf%d0%be-%d1%80%d0%be%d1%81%d1%81%d0%b8%d0%b8/#comments</comments>
		<pubDate>Sat, 28 Aug 2010 05:06:58 +0000</pubDate>
		<dc:creator>nix0</dc:creator>
				<category><![CDATA[Жизнь]]></category>
		<category><![CDATA[безлимит]]></category>
		<category><![CDATA[безлимитный звонки]]></category>
		<category><![CDATA[дешево]]></category>
		<category><![CDATA[звонки]]></category>
		<category><![CDATA[телефония]]></category>
		<category><![CDATA[Skype]]></category>

		<guid isPermaLink="false">http://nix0.wordpress.com/?p=375</guid>
		<description><![CDATA[Ура! Свершилось! http://buy.skype.com/paymonthly/#RU Так же хочу показать предложение от нового (перспективного) провайдеда VoIP: компании Google по сравнению с ценами Skype Долой дорогую, некачественную мобильную связь!<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nix0.wordpress.com&amp;blog=2424171&amp;post=375&amp;subd=nix0&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Ура! Свершилось!</p>
<p><a href="http://buy.skype.com/paymonthly/#RU">http://buy.skype.com/paymonthly/#RU</a></p>
<p>Так же хочу показать <a href="https://www.google.com/voice/b/0/rates#R">предложение</a> от нового (перспективного) провайдеда VoIP: компании <a href="http://google.com">Google</a> по сравнению с <a href="http://www.skype.com/intl/ru/prices/payg-rates/#cc=RU">ценами</a> <a href="http://www.skype.com/">Skype</a></p>
<p>Долой дорогую, некачественную мобильную связь!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/nix0.wordpress.com/375/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/nix0.wordpress.com/375/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/nix0.wordpress.com/375/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/nix0.wordpress.com/375/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/nix0.wordpress.com/375/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/nix0.wordpress.com/375/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/nix0.wordpress.com/375/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/nix0.wordpress.com/375/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/nix0.wordpress.com/375/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/nix0.wordpress.com/375/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/nix0.wordpress.com/375/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/nix0.wordpress.com/375/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/nix0.wordpress.com/375/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/nix0.wordpress.com/375/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nix0.wordpress.com&amp;blog=2424171&amp;post=375&amp;subd=nix0&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://nix0.wordpress.com/2010/08/28/%d0%b1%d0%b5%d0%b7%d0%bb%d0%b8%d0%bc%d0%b8%d1%82%d0%bd%d1%8b%d0%b9-%d0%b7%d0%b2%d0%be%d0%bd%d0%ba%d0%b8-%d0%bf%d0%be-%d1%80%d0%be%d1%81%d1%81%d0%b8%d0%b8/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3224b3af341c64022b0a1bb24847eec6?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">nix0</media:title>
		</media:content>
	</item>
		<item>
		<title>Я на Codeplex</title>
		<link>http://nix0.wordpress.com/2010/08/23/%d1%8f-%d0%bd%d0%b0-codeplex/</link>
		<comments>http://nix0.wordpress.com/2010/08/23/%d1%8f-%d0%bd%d0%b0-codeplex/#comments</comments>
		<pubDate>Mon, 23 Aug 2010 07:54:07 +0000</pubDate>
		<dc:creator>nix0</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Azure]]></category>
		<category><![CDATA[CodePlex]]></category>
		<category><![CDATA[F#]]></category>
		<category><![CDATA[FunctionalAzure]]></category>

		<guid isPermaLink="false">http://nix0.wordpress.com/?p=373</guid>
		<description><![CDATA[Выложил свой код для более удобного обозрения на codeplex. Можно присоединяться ко мне! http://functionalazure.codeplex.com/<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nix0.wordpress.com&amp;blog=2424171&amp;post=373&amp;subd=nix0&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Выложил свой код для более удобного обозрения на codeplex. Можно присоединяться ко мне! <a href="http://functionalazure.codeplex.com/">http://functionalazure.codeplex.com/</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/nix0.wordpress.com/373/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/nix0.wordpress.com/373/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/nix0.wordpress.com/373/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/nix0.wordpress.com/373/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/nix0.wordpress.com/373/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/nix0.wordpress.com/373/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/nix0.wordpress.com/373/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/nix0.wordpress.com/373/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/nix0.wordpress.com/373/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/nix0.wordpress.com/373/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/nix0.wordpress.com/373/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/nix0.wordpress.com/373/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/nix0.wordpress.com/373/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/nix0.wordpress.com/373/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nix0.wordpress.com&amp;blog=2424171&amp;post=373&amp;subd=nix0&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://nix0.wordpress.com/2010/08/23/%d1%8f-%d0%bd%d0%b0-codeplex/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3224b3af341c64022b0a1bb24847eec6?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">nix0</media:title>
		</media:content>
	</item>
		<item>
		<title>И снова я сделал это!</title>
		<link>http://nix0.wordpress.com/2010/08/22/%d0%b8-%d1%81%d0%bd%d0%be%d0%b2%d0%b0-%d1%8f-%d1%81%d0%b4%d0%b5%d0%bb%d0%b0%d0%bb-%d1%8d%d1%82%d0%be/</link>
		<comments>http://nix0.wordpress.com/2010/08/22/%d0%b8-%d1%81%d0%bd%d0%be%d0%b2%d0%b0-%d1%8f-%d1%81%d0%b4%d0%b5%d0%bb%d0%b0%d0%bb-%d1%8d%d1%82%d0%be/#comments</comments>
		<pubDate>Sun, 22 Aug 2010 15:59:23 +0000</pubDate>
		<dc:creator>nix0</dc:creator>
				<category><![CDATA[Программировани]]></category>
		<category><![CDATA[Azure]]></category>
		<category><![CDATA[F#]]></category>
		<category><![CDATA[Windows Azure REST API]]></category>

		<guid isPermaLink="false">http://nix0.wordpress.com/?p=368</guid>
		<description><![CDATA[В одном очень хорошем блоге есть хорошая статья о начале работы с REST API к Windows Azure Storage Services. Но информации по некоторым вопросам там явно недостаточно. Автор, к сожалению, не дает с собой связаться. Так же странно себя ведет документация к REST API. Я потратил почти 6 часов на то, чтобы понять, что фильтры [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nix0.wordpress.com&amp;blog=2424171&amp;post=368&amp;subd=nix0&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>В одном очень хорошем блоге есть хорошая <a href="http://nmackenzie.spaces.live.com/blog/cns!B863FF075995D18A!727.entry">статья</a> о начале работы с <a href="http://msdn.microsoft.com/en-us/library/dd179355.aspx">REST API к Windows Azure Storage Services</a>.</p>
<p>Но информации по некоторым вопросам там явно недостаточно. Автор, к сожалению, не дает с собой связаться. Так же странно себя ведет документация к <a href="http://msdn.microsoft.com/en-us/library/dd179355.aspx">REST API</a>. Я потратил почти 6 часов на то, чтобы понять, что фильтры не входят в параметры канонизации строки. И исходников .NET не видно. Создавал на C# классы, пробовал-пробовал, отлаживал-отлаживал. Вроде, прорвался через <a href="http://msdn.microsoft.com/en-us/library/dd179421.aspx">фильтрацию</a>.</p>
<p>И вот что мне очень не нравится в <a href="http://research.microsoft.com/en-us/um/cambridge/projects/fsharp/">F#</a> &#8212; его сильная ориентированность на .NET. Я, конечно, понимаю, что он так и задумывался. Но о какой автоматической параллельности может идти речь, если приходится вызывать в коде потоконебезопасные методы со сторонними эффектами?</p>
<p>Под катом продолжение моей библиотеки на F# для работы с Azure</p>
<p><span id="more-368"></span></p>
<pre><span style='color:Green;'>// Learn more about F# at http://fsharp.net</span> 

<span style='color:Blue;'>open</span> System
<span style='color:Blue;'>open</span> System<span style='color:Blue;'>.</span>IO
<span style='color:Blue;'>open</span> System<span style='color:Blue;'>.</span>Net
<span style='color:Blue;'>open</span> System<span style='color:Blue;'>.</span>Security<span style='color:Blue;'>.</span>Cryptography
<span style='color:Blue;'>open</span> System<span style='color:Blue;'>.</span>Xml
<span style='color:Blue;'>open</span> System<span style='color:Blue;'>.</span>Xml<span style='color:Blue;'>.</span>XPath
<span style='color:Blue;'>open</span> System<span style='color:Blue;'>.</span>Web
<span style='color:Blue;'>open</span> Microsoft<span style='color:Blue;'>.</span>FSharp<span style='color:Blue;'>.</span>Collections

<span style='color:Blue;'>let</span> create_functons user key =
    <span style='color:Blue;'>let</span> table_host = <span style='color:Maroon;'>"ipv4.fiddler:10002"</span>

    <span style='color:Blue;'>let</span> getCanonicalizedResource <span style='color:Blue;'>(</span>resource <span style='color:Blue;'>:</span> <span style='color:Blue;'>string</span><span style='color:Blue;'>)</span>=
        <span style='color:Blue;'>let</span> delimiter_index = resource<span style='color:Blue;'>.</span>IndexOf<span style='color:Blue;'>(</span><span style='color:Maroon;'>"?"</span><span style='color:Blue;'>)</span>
        <span style='color:Blue;'>if</span> delimiter_index = -<span style='color:Maroon;'>1</span> <span style='color:Blue;'>then</span>
            String<span style='color:Blue;'>.</span>Format<span style='color:Blue;'>(</span><span style='color:Maroon;'>"/{0}{1}"</span>, user, resource<span style='color:Blue;'>)</span>
        <span style='color:Blue;'>else</span>
            <span style='color:Blue;'>let</span> splitters <span style='color:Blue;'>:</span> <span style='color:Blue;'>char</span><span style='color:Blue;'>[</span><span style='color:Blue;'>]</span> = <span style='color:Maroon;'>"&amp;"</span><span style='color:Blue;'>.</span>ToCharArray<span style='color:Blue;'>(</span><span style='color:Blue;'>)</span>
            <span style='color:Blue;'>let</span> path = resource<span style='color:Blue;'>.</span>Substring<span style='color:Blue;'>(</span><span style='color:Maroon;'>0</span>, delimiter_index<span style='color:Blue;'>)</span>
            <span style='color:Blue;'>let</span> data = Array<span style='color:Blue;'>.</span>toList <span style='color:Blue;'>(</span>resource<span style='color:Blue;'>.</span>Substring<span style='color:Blue;'>(</span>delimiter_index + <span style='color:Maroon;'>1</span><span style='color:Blue;'>)</span><span style='color:Blue;'>.</span>Split<span style='color:Blue;'>(</span>splitters<span style='color:Blue;'>)</span><span style='color:Blue;'>)</span>
            <span style='color:Blue;'>let</span> data_without_filters = List<span style='color:Blue;'>.</span>filter <span style='color:Blue;'>(</span><span style='color:Blue;'>fun</span> <span style='color:Blue;'>(</span>x <span style='color:Blue;'>:</span> <span style='color:Blue;'>string</span><span style='color:Blue;'>)</span><span style='color:Blue;'>-&gt;</span> not <span style='color:Blue;'>(</span><span style='color:Blue;'>(</span>x<span style='color:Blue;'>.</span>Chars <span style='color:Maroon;'>0</span><span style='color:Blue;'>)</span> = <span style='color:Maroon;'>'$'</span><span style='color:Blue;'>)</span><span style='color:Blue;'>)</span> data
            <span style='color:Blue;'>let</span> get_key_val <span style='color:Blue;'>(</span>x <span style='color:Blue;'>:</span> <span style='color:Blue;'>string</span><span style='color:Blue;'>)</span> =
                <span style='color:Blue;'>let</span> delimiter_index = x<span style='color:Blue;'>.</span>IndexOf<span style='color:Blue;'>(</span><span style='color:Maroon;'>"="</span><span style='color:Blue;'>)</span>
                <span style='color:Blue;'>(</span>x<span style='color:Blue;'>.</span>Substring<span style='color:Blue;'>(</span><span style='color:Maroon;'>0</span>, delimiter_index<span style='color:Blue;'>)</span>, x<span style='color:Blue;'>.</span>Substring<span style='color:Blue;'>(</span>delimiter_index + <span style='color:Maroon;'>1</span><span style='color:Blue;'>)</span><span style='color:Blue;'>)</span>
            <span style='color:Blue;'>let</span> <span style='color:Blue;'>rec</span> sort a =
                <span style='color:Blue;'>if</span> List<span style='color:Blue;'>.</span>isEmpty a <span style='color:Blue;'>then</span>
                    a
                <span style='color:Blue;'>else</span>
                    <span style='color:Blue;'>let</span> first <span style='color:Blue;'>(</span>x, _<span style='color:Blue;'>)</span> = x
                    <span style='color:Blue;'>let</span> element = a<span style='color:Blue;'>.</span>Head
                    <span style='color:Blue;'>let</span> element_key = first<span style='color:Blue;'>(</span>get_key_val element<span style='color:Blue;'>)</span>
                    <span style='color:Blue;'>let</span> less, more_or_equal = List<span style='color:Blue;'>.</span>partition <span style='color:Blue;'>(</span><span style='color:Blue;'>fun</span> x <span style='color:Blue;'>-&gt;</span> first<span style='color:Blue;'>(</span>get_key_val x<span style='color:Blue;'>)</span> &lt; element_key<span style='color:Blue;'>)</span> a<span style='color:Blue;'>.</span>Tail
                    <span style='color:Blue;'>let</span> more = List<span style='color:Blue;'>.</span>filter <span style='color:Blue;'>(</span><span style='color:Blue;'>fun</span> x <span style='color:Blue;'>-&gt;</span> not <span style='color:Blue;'>(</span>x = element_key<span style='color:Blue;'>)</span><span style='color:Blue;'>)</span> more_or_equal
                    <span style='color:Blue;'>(</span>sort less<span style='color:Blue;'>)</span>@<span style='color:Blue;'>[</span>element<span style='color:Blue;'>]</span>@<span style='color:Blue;'>(</span>sort more<span style='color:Blue;'>)</span>

            <span style='color:Blue;'>let</span> sorted_params = sort data_without_filters
            <span style='color:Blue;'>if</span> List<span style='color:Blue;'>.</span>isEmpty data_without_filters <span style='color:Blue;'>then</span>
                String<span style='color:Blue;'>.</span>Format<span style='color:Blue;'>(</span><span style='color:Maroon;'>"/{0}{1}"</span>, user, path<span style='color:Blue;'>)</span>
            <span style='color:Blue;'>else</span>
                <span style='color:Blue;'>let</span> decode_param p =
                    <span style='color:Blue;'>let</span> key, value = get_key_val p
                    HttpUtility<span style='color:Blue;'>.</span>UrlDecode<span style='color:Blue;'>(</span>key<span style='color:Blue;'>.</span>ToLower<span style='color:Blue;'>(</span><span style='color:Blue;'>)</span><span style='color:Blue;'>)</span> + <span style='color:Maroon;'>":"</span> + HttpUtility<span style='color:Blue;'>.</span>UrlDecode<span style='color:Blue;'>(</span>value<span style='color:Blue;'>)</span>
                String<span style='color:Blue;'>.</span>Format<span style='color:Blue;'>(</span><span style='color:Maroon;'>"/{0}{1}\n{2}"</span>, user, path, String<span style='color:Blue;'>.</span>Join<span style='color:Blue;'>(</span><span style='color:Maroon;'>"\n"</span>, List<span style='color:Blue;'>.</span>map decode_param sorted_params<span style='color:Blue;'>)</span><span style='color:Blue;'>)</span>            

    <span style='color:Blue;'>let</span> stringToSign verb contentMD5 contentType date canonicalizedResource =
        System<span style='color:Blue;'>.</span>String<span style='color:Blue;'>.</span>Format<span style='color:Blue;'>(</span><span style='color:Maroon;'>"{0}\n{1}\n{2}\n{3}\n{4}"</span>, verb, contentMD5, contentType, date, canonicalizedResource<span style='color:Blue;'>)</span>

    <span style='color:Blue;'>let</span> getAuthorization <span style='color:Blue;'>(</span>canonicalizedString <span style='color:Blue;'>:</span> <span style='color:Blue;'>string</span><span style='color:Blue;'>)</span> =
        <span style='color:Blue;'>let</span> hasher = <span style='color:Blue;'>new</span> HMACSHA256<span style='color:Blue;'>(</span>System<span style='color:Blue;'>.</span>Convert<span style='color:Blue;'>.</span>FromBase64String<span style='color:Blue;'>(</span>key<span style='color:Blue;'>)</span><span style='color:Blue;'>)</span>
        <span style='color:Blue;'>let</span> data = System<span style='color:Blue;'>.</span>Text<span style='color:Blue;'>.</span>Encoding<span style='color:Blue;'>.</span>UTF8<span style='color:Blue;'>.</span>GetBytes<span style='color:Blue;'>(</span>canonicalizedString<span style='color:Blue;'>)</span>
        <span style='color:Blue;'>let</span> signature = System<span style='color:Blue;'>.</span>Convert<span style='color:Blue;'>.</span>ToBase64String<span style='color:Blue;'>(</span>hasher<span style='color:Blue;'>.</span>ComputeHash<span style='color:Blue;'>(</span>data<span style='color:Blue;'>)</span><span style='color:Blue;'>)</span>
        System<span style='color:Blue;'>.</span>String<span style='color:Blue;'>.</span>Format<span style='color:Blue;'>(</span>System<span style='color:Blue;'>.</span>Globalization<span style='color:Blue;'>.</span>CultureInfo<span style='color:Blue;'>.</span>InvariantCulture, <span style='color:Maroon;'>"SharedKey {0}:{1}"</span>, user, signature<span style='color:Blue;'>)</span>

    <span style='color:Blue;'>let</span> getRequestObject request_method <span style='color:Blue;'>(</span>uri <span style='color:Blue;'>:</span> <span style='color:Blue;'>string</span><span style='color:Blue;'>)</span> =
        <span style='color:Blue;'>let</span> request_path = String<span style='color:Blue;'>.</span>Format<span style='color:Blue;'>(</span><span style='color:Maroon;'>"http://{0}{1}"</span>, table_host, uri<span style='color:Blue;'>)</span>
        <span style='color:Blue;'>let</span> current_date = System<span style='color:Blue;'>.</span>DateTime<span style='color:Blue;'>.</span>UtcNow<span style='color:Blue;'>.</span>ToString<span style='color:Blue;'>(</span><span style='color:Maroon;'>"R"</span>, System<span style='color:Blue;'>.</span>Globalization<span style='color:Blue;'>.</span>CultureInfo<span style='color:Blue;'>.</span>InvariantCulture<span style='color:Blue;'>)</span>
        <span style='color:Blue;'>let</span> contentMD5 = System<span style='color:Blue;'>.</span>String<span style='color:Blue;'>.</span>Empty
        <span style='color:Blue;'>let</span> content_type = <span style='color:Maroon;'>"application/atom+xml"</span>
        <span style='color:Blue;'>let</span> canonicalized_resource = getCanonicalizedResource uri
        <span style='color:Blue;'>let</span> ms_version = <span style='color:Maroon;'>"2009-09-19"</span>
        <span style='color:Blue;'>let</span> canonicalized_request = stringToSign request_method contentMD5 content_type current_date canonicalized_resource
        <span style='color:Blue;'>let</span> auth_header = getAuthorization <span style='color:Blue;'>(</span>canonicalized_request<span style='color:Blue;'>)</span>
        <span style='color:Blue;'>let</span> request <span style='color:Blue;'>:</span> HttpWebRequest = <span style='color:Blue;'>downcast</span> WebRequest<span style='color:Blue;'>.</span>Create<span style='color:Blue;'>(</span>request_path<span style='color:Blue;'>)</span>
        request<span style='color:Blue;'>.</span>Method <span style='color:Blue;'>&lt;-</span> request_method
        request<span style='color:Blue;'>.</span>ProtocolVersion <span style='color:Blue;'>&lt;-</span> <span style='color:Blue;'>(</span>System<span style='color:Blue;'>.</span>Version<span style='color:Blue;'>(</span><span style='color:Maroon;'>1</span>, <span style='color:Maroon;'>1</span><span style='color:Blue;'>)</span><span style='color:Blue;'>)</span>
        request<span style='color:Blue;'>.</span>ContentType <span style='color:Blue;'>&lt;-</span> content_type
        request<span style='color:Blue;'>.</span>Method <span style='color:Blue;'>&lt;-</span> request_method
        request<span style='color:Blue;'>.</span>Headers<span style='color:Blue;'>.</span>Add<span style='color:Blue;'>(</span><span style='color:Maroon;'>"x-ms-date"</span>, current_date<span style='color:Blue;'>)</span>
        request<span style='color:Blue;'>.</span>Headers<span style='color:Blue;'>.</span>Add<span style='color:Blue;'>(</span><span style='color:Maroon;'>"Authorization"</span>, auth_header<span style='color:Blue;'>)</span>
        request<span style='color:Blue;'>.</span>Headers<span style='color:Blue;'>.</span>Add<span style='color:Blue;'>(</span><span style='color:Maroon;'>"DataServiceVersion"</span>, <span style='color:Maroon;'>"1.0;NetFx"</span><span style='color:Blue;'>)</span>
        request<span style='color:Blue;'>.</span>Headers<span style='color:Blue;'>.</span>Add<span style='color:Blue;'>(</span><span style='color:Maroon;'>"MaxDataServiceVersion"</span>, <span style='color:Maroon;'>"1.0;NetFx"</span><span style='color:Blue;'>)</span>
        request<span style='color:Blue;'>.</span>Headers<span style='color:Blue;'>.</span>Add<span style='color:Blue;'>(</span><span style='color:Maroon;'>"Accept-Charset"</span>, <span style='color:Maroon;'>"UTF-8"</span><span style='color:Blue;'>)</span>
        request<span style='color:Blue;'>.</span>Headers<span style='color:Blue;'>.</span>Add<span style='color:Blue;'>(</span><span style='color:Maroon;'>"x-ms-version"</span>, ms_version<span style='color:Blue;'>)</span>
        request 

    <span style='color:Blue;'>let</span> listOfTables <span style='color:Blue;'>(</span><span style='color:Blue;'>)</span> =
        <span style='color:Blue;'>let</span> uri = <span style='color:Maroon;'>"/devstoreaccount1/Tables"</span>
        <span style='color:Blue;'>let</span> request_method = <span style='color:Maroon;'>"GET"</span>
        <span style='color:Blue;'>let</span> request = getRequestObject request_method uri
        <span style='color:Blue;'>let</span> response <span style='color:Blue;'>:</span> HttpWebResponse = <span style='color:Blue;'>downcast</span> request<span style='color:Blue;'>.</span>GetResponse<span style='color:Blue;'>(</span><span style='color:Blue;'>)</span>
        <span style='color:Blue;'>let</span> reader = <span style='color:Blue;'>new</span> StreamReader<span style='color:Blue;'>(</span>response<span style='color:Blue;'>.</span>GetResponseStream<span style='color:Blue;'>(</span><span style='color:Blue;'>)</span><span style='color:Blue;'>)</span>
        <span style='color:Blue;'>let</span> data = reader<span style='color:Blue;'>.</span>ReadToEnd<span style='color:Blue;'>(</span><span style='color:Blue;'>)</span>
        <span style='color:Blue;'>let</span> doc = XmlDocument<span style='color:Blue;'>(</span><span style='color:Blue;'>)</span>
        doc<span style='color:Blue;'>.</span>LoadXml<span style='color:Blue;'>(</span>data<span style='color:Blue;'>)</span>
        <span style='color:Blue;'>let</span> nsMgr = <span style='color:Blue;'>new</span> XmlNamespaceManager<span style='color:Blue;'>(</span>doc<span style='color:Blue;'>.</span>NameTable<span style='color:Blue;'>)</span>
        nsMgr<span style='color:Blue;'>.</span>AddNamespace<span style='color:Blue;'>(</span><span style='color:Maroon;'>"atom"</span>, <span style='color:Maroon;'>"http://www.w3.org/2005/Atom"</span><span style='color:Blue;'>)</span>
        nsMgr<span style='color:Blue;'>.</span>AddNamespace<span style='color:Blue;'>(</span><span style='color:Maroon;'>"m"</span>, <span style='color:Maroon;'>"http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"</span><span style='color:Blue;'>)</span>
        nsMgr<span style='color:Blue;'>.</span>AddNamespace<span style='color:Blue;'>(</span><span style='color:Maroon;'>"d"</span>, <span style='color:Maroon;'>"http://schemas.microsoft.com/ado/2007/08/dataservices"</span><span style='color:Blue;'>)</span>
        <span style='color:Blue;'>let</span> nodes = doc<span style='color:Blue;'>.</span>SelectNodes<span style='color:Blue;'>(</span><span style='color:Maroon;'>"/atom:feed/atom:entry/atom:content/m:properties/d:TableName"</span>, nsMgr<span style='color:Blue;'>)</span>
        seq <span style='color:Blue;'>{</span><span style='color:Blue;'>for</span> i <span style='color:Blue;'>in</span> nodes <span style='color:Blue;'>do</span> yield i<span style='color:Blue;'>.</span>InnerText<span style='color:Blue;'>}</span>

    <span style='color:Blue;'>let</span> createTable <span style='color:Blue;'>(</span>table_name <span style='color:Blue;'>:</span> <span style='color:Blue;'>string</span><span style='color:Blue;'>)</span> =
        <span style='color:Blue;'>let</span> uri = <span style='color:Maroon;'>"/devstoreaccount1/Tables"</span>
        <span style='color:Blue;'>let</span> request_method = <span style='color:Maroon;'>"POST"</span>
        <span style='color:Blue;'>let</span> request = getRequestObject request_method uri
        request<span style='color:Blue;'>.</span>Headers<span style='color:Blue;'>.</span>Add<span style='color:Blue;'>(</span><span style='color:Maroon;'>"Accept-Charset"</span>, <span style='color:Maroon;'>"UTF-8"</span><span style='color:Blue;'>)</span>
        <span style='color:Blue;'>let</span> request_data = <span style='color:Maroon;'>"&lt;?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"yes\"?&gt;&lt;entry xmlns:d=\"http://schemas.microsoft.com/ado/2007/08/dataservices\" xmlns:m=\"http://schemas.microsoft.com/ado/2007/08/dataservices/metadata\" xmlns=\"http://www.w3.org/2005/Atom\"&gt;&lt;title /&gt;&lt;updated&gt;2009-03-18T11:48:34.9840639-07:00&lt;/updated&gt;&lt;author&gt;&lt;name/&gt;&lt;/author&gt;&lt;id/&gt;&lt;content type=\"application/xml\"&gt;&lt;m:properties&gt;&lt;d:TableName&gt;{0}&lt;/d:TableName&gt;&lt;/m:properties&gt;&lt;/content&gt;&lt;/entry&gt;"</span>
        <span style='color:Blue;'>let</span> ready_data = System<span style='color:Blue;'>.</span>Text<span style='color:Blue;'>.</span>Encoding<span style='color:Blue;'>.</span>UTF8<span style='color:Blue;'>.</span>GetBytes<span style='color:Blue;'>(</span>System<span style='color:Blue;'>.</span>String<span style='color:Blue;'>.</span>Format<span style='color:Blue;'>(</span>request_data, box table_name<span style='color:Blue;'>)</span><span style='color:Blue;'>)</span>
        request<span style='color:Blue;'>.</span>ContentLength <span style='color:Blue;'>&lt;-</span> int64 ready_data<span style='color:Blue;'>.</span>Length
        <span style='color:Blue;'>let</span> request_stream = request<span style='color:Blue;'>.</span>GetRequestStream<span style='color:Blue;'>(</span><span style='color:Blue;'>)</span>
        request_stream<span style='color:Blue;'>.</span>Write<span style='color:Blue;'>(</span>ready_data, <span style='color:Maroon;'>0</span>, ready_data<span style='color:Blue;'>.</span>Length<span style='color:Blue;'>)</span>
        <span style='color:Blue;'>let</span> response <span style='color:Blue;'>:</span> HttpWebResponse = <span style='color:Blue;'>downcast</span> request<span style='color:Blue;'>.</span>GetResponse<span style='color:Blue;'>(</span><span style='color:Blue;'>)</span>
        <span style='color:Blue;'>let</span> dataReader = response<span style='color:Blue;'>.</span>GetResponseStream<span style='color:Blue;'>(</span><span style='color:Blue;'>)</span>
        <span style='color:Blue;'>let</span> streamReader = <span style='color:Blue;'>new</span> StreamReader<span style='color:Blue;'>(</span>dataReader<span style='color:Blue;'>)</span>
        <span style='color:Blue;'>let</span> str_response = streamReader<span style='color:Blue;'>.</span>ReadToEnd<span style='color:Blue;'>(</span><span style='color:Blue;'>)</span>
        <span style='color:Blue;'>(</span><span style='color:Blue;'>)</span> 

    <span style='color:Blue;'>let</span> deleteTable <span style='color:Blue;'>(</span>table_name <span style='color:Blue;'>:</span> <span style='color:Blue;'>string</span><span style='color:Blue;'>)</span> =
        <span style='color:Blue;'>let</span> uri = String<span style='color:Blue;'>.</span>Format<span style='color:Blue;'>(</span><span style='color:Maroon;'>"/devstoreaccount1/Tables('{0}')"</span>, table_name<span style='color:Blue;'>)</span>
        <span style='color:Blue;'>let</span> request_method = <span style='color:Maroon;'>"DELETE"</span>
        <span style='color:Blue;'>let</span> request = getRequestObject request_method uri
        <span style='color:Blue;'>let</span> response <span style='color:Blue;'>:</span> HttpWebResponse = <span style='color:Blue;'>downcast</span> request<span style='color:Blue;'>.</span>GetResponse<span style='color:Blue;'>(</span><span style='color:Blue;'>)</span>
        <span style='color:Blue;'>let</span> reader = <span style='color:Blue;'>new</span> StreamReader<span style='color:Blue;'>(</span>response<span style='color:Blue;'>.</span>GetResponseStream<span style='color:Blue;'>(</span><span style='color:Blue;'>)</span><span style='color:Blue;'>)</span>
        <span style='color:Blue;'>let</span> data = reader<span style='color:Blue;'>.</span>ReadToEnd<span style='color:Blue;'>(</span><span style='color:Blue;'>)</span>
        <span style='color:Blue;'>(</span><span style='color:Blue;'>)</span> 

    <span style='color:Blue;'>let</span> filter <span style='color:Blue;'>(</span>table_name <span style='color:Blue;'>:</span> <span style='color:Blue;'>string</span><span style='color:Blue;'>)</span> <span style='color:Blue;'>(</span>expression <span style='color:Blue;'>:</span> <span style='color:Blue;'>string</span><span style='color:Blue;'>)</span> =
        <span style='color:Blue;'>let</span> uri = String<span style='color:Blue;'>.</span>Format<span style='color:Blue;'>(</span><span style='color:Maroon;'>"/devstoreaccount1/{0}()?{1}"</span>, table_name, expression<span style='color:Blue;'>)</span>
        <span style='color:Blue;'>let</span> request_method = <span style='color:Maroon;'>"GET"</span>
        <span style='color:Blue;'>let</span> request = getRequestObject request_method uri
        <span style='color:Blue;'>let</span> response <span style='color:Blue;'>:</span> HttpWebResponse = <span style='color:Blue;'>downcast</span> request<span style='color:Blue;'>.</span>GetResponse<span style='color:Blue;'>(</span><span style='color:Blue;'>)</span>
        <span style='color:Blue;'>let</span> reader = <span style='color:Blue;'>new</span> StreamReader<span style='color:Blue;'>(</span>response<span style='color:Blue;'>.</span>GetResponseStream<span style='color:Blue;'>(</span><span style='color:Blue;'>)</span><span style='color:Blue;'>)</span>
        <span style='color:Blue;'>let</span> data = reader<span style='color:Blue;'>.</span>ReadToEnd<span style='color:Blue;'>(</span><span style='color:Blue;'>)</span>
        data 

    <span style='color:Blue;'>let</span> get <span style='color:Blue;'>(</span>table_name <span style='color:Blue;'>:</span> <span style='color:Blue;'>string</span><span style='color:Blue;'>)</span> <span style='color:Blue;'>(</span>partition_key <span style='color:Blue;'>:</span> <span style='color:Blue;'>string</span><span style='color:Blue;'>)</span> <span style='color:Blue;'>(</span>row_key <span style='color:Blue;'>:</span> <span style='color:Blue;'>string</span><span style='color:Blue;'>)</span> <span style='color:Blue;'>(</span>keys <span style='color:Blue;'>:</span> List&lt;<span style='color:Blue;'>string</span>&gt;<span style='color:Blue;'>)</span> =
        <span style='color:Blue;'>let</span> uri = String<span style='color:Blue;'>.</span>Format<span style='color:Blue;'>(</span><span style='color:Maroon;'>"/devstoreaccount1/{0}(PartitionKey='{1}',RowKey='{2}')"</span>, table_name, partition_key, row_key<span style='color:Blue;'>)</span>
        <span style='color:Blue;'>let</span> request_method = <span style='color:Maroon;'>"GET"</span>
        <span style='color:Blue;'>let</span> request = getRequestObject request_method uri
        <span style='color:Blue;'>let</span> response <span style='color:Blue;'>:</span> HttpWebResponse = <span style='color:Blue;'>downcast</span> request<span style='color:Blue;'>.</span>GetResponse<span style='color:Blue;'>(</span><span style='color:Blue;'>)</span>
        <span style='color:Blue;'>let</span> reader = <span style='color:Blue;'>new</span> StreamReader<span style='color:Blue;'>(</span>response<span style='color:Blue;'>.</span>GetResponseStream<span style='color:Blue;'>(</span><span style='color:Blue;'>)</span><span style='color:Blue;'>)</span>
        <span style='color:Blue;'>let</span> data = reader<span style='color:Blue;'>.</span>ReadToEnd<span style='color:Blue;'>(</span><span style='color:Blue;'>)</span>
        <span style='color:Blue;'>let</span> doc = XmlDocument<span style='color:Blue;'>(</span><span style='color:Blue;'>)</span>
        doc<span style='color:Blue;'>.</span>LoadXml<span style='color:Blue;'>(</span>data<span style='color:Blue;'>)</span>
        <span style='color:Blue;'>let</span> nsMgr = <span style='color:Blue;'>new</span> XmlNamespaceManager<span style='color:Blue;'>(</span>doc<span style='color:Blue;'>.</span>NameTable<span style='color:Blue;'>)</span>
        nsMgr<span style='color:Blue;'>.</span>AddNamespace<span style='color:Blue;'>(</span><span style='color:Maroon;'>"atom"</span>, <span style='color:Maroon;'>"http://www.w3.org/2005/Atom"</span><span style='color:Blue;'>)</span>
        nsMgr<span style='color:Blue;'>.</span>AddNamespace<span style='color:Blue;'>(</span><span style='color:Maroon;'>"m"</span>, <span style='color:Maroon;'>"http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"</span><span style='color:Blue;'>)</span>
        nsMgr<span style='color:Blue;'>.</span>AddNamespace<span style='color:Blue;'>(</span><span style='color:Maroon;'>"d"</span>, <span style='color:Maroon;'>"http://schemas.microsoft.com/ado/2007/08/dataservices"</span><span style='color:Blue;'>)</span>
        <span style='color:Blue;'>let</span> get_key key =
            doc<span style='color:Blue;'>.</span>SelectSingleNode<span style='color:Blue;'>(</span><span style='color:Maroon;'>"/atom:entry/atom:content/m:properties/d:"</span> + key, nsMgr<span style='color:Blue;'>)</span><span style='color:Blue;'>.</span>InnerText
        List<span style='color:Blue;'>.</span>map <span style='color:Blue;'>(</span><span style='color:Blue;'>fun</span> x <span style='color:Blue;'>-&gt;</span> get_key x<span style='color:Blue;'>)</span> keys 

    <span style='color:Green;'>// requires list (property_name * type_name * value)</span>
    <span style='color:Blue;'>let</span> insert <span style='color:Blue;'>(</span>table_name <span style='color:Blue;'>:</span> <span style='color:Blue;'>string</span><span style='color:Blue;'>)</span> <span style='color:Blue;'>(</span>key_value_list <span style='color:Blue;'>:</span> List&lt;<span style='color:Blue;'>string</span> * <span style='color:Blue;'>string</span>  * <span style='color:Blue;'>string</span>&gt;<span style='color:Blue;'>)</span> =
        <span style='color:Blue;'>let</span> uri = <span style='color:Maroon;'>"/devstoreaccount1/"</span> + table_name
        <span style='color:Blue;'>let</span> request_method = <span style='color:Maroon;'>"POST"</span>
        <span style='color:Blue;'>let</span> request_template = <span style='color:Maroon;'>"&lt;?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"yes\"?&gt;&lt;entry xmlns:d=\"http://schemas.microsoft.com/ado/2007/08/dataservices\" xmlns:m=\"http://schemas.microsoft.com/ado/2007/08/dataservices/metadata\" xmlns=\"http://www.w3.org/2005/Atom\"&gt;&lt;title /&gt;&lt;updated&gt;{0}&lt;/updated&gt;&lt;author&gt;&lt;name /&gt;&lt;/author&gt;&lt;id /&gt;&lt;content type=\"application/xml\"&gt;&lt;m:properties&gt;&lt;d:Timestamp m:type=\"Edm.DateTime\"&gt;{0}&lt;/d:Timestamp&gt;{1}&lt;/m:properties&gt;&lt;/content&gt;&lt;/entry&gt;"</span>
        <span style='color:Blue;'>let</span> current_date = System<span style='color:Blue;'>.</span>DateTime<span style='color:Blue;'>.</span>UtcNow<span style='color:Blue;'>.</span>ToString<span style='color:Blue;'>(</span><span style='color:Maroon;'>"s"</span>, System<span style='color:Blue;'>.</span>Globalization<span style='color:Blue;'>.</span>CultureInfo<span style='color:Blue;'>.</span>InvariantCulture<span style='color:Blue;'>)</span> + <span style='color:Maroon;'>"Z"</span>
        <span style='color:Blue;'>let</span> nodes = String<span style='color:Blue;'>.</span>Concat<span style='color:Blue;'>(</span>List<span style='color:Blue;'>.</span>map <span style='color:Blue;'>(</span><span style='color:Blue;'>fun</span> <span style='color:Blue;'>(</span>pn, tn, va<span style='color:Blue;'>)</span> <span style='color:Blue;'>-&gt;</span> String<span style='color:Blue;'>.</span>Format<span style='color:Blue;'>(</span><span style='color:Maroon;'>"&lt;d:{0} {1}&gt;{2}&lt;/d:{0}&gt;"</span>, pn, tn, va<span style='color:Blue;'>)</span><span style='color:Blue;'>)</span> key_value_list<span style='color:Blue;'>)</span>
        <span style='color:Blue;'>let</span> data = String<span style='color:Blue;'>.</span>Format<span style='color:Blue;'>(</span>request_template, current_date, nodes<span style='color:Blue;'>)</span>
        <span style='color:Blue;'>let</span> request = getRequestObject request_method uri
        request<span style='color:Blue;'>.</span>Headers<span style='color:Blue;'>.</span>Add<span style='color:Blue;'>(</span><span style='color:Maroon;'>"Accept-Charset"</span>, <span style='color:Maroon;'>"UTF-8"</span><span style='color:Blue;'>)</span>
        <span style='color:Blue;'>let</span> ready_data = System<span style='color:Blue;'>.</span>Text<span style='color:Blue;'>.</span>Encoding<span style='color:Blue;'>.</span>UTF8<span style='color:Blue;'>.</span>GetBytes<span style='color:Blue;'>(</span>data<span style='color:Blue;'>)</span>
        request<span style='color:Blue;'>.</span>ContentLength <span style='color:Blue;'>&lt;-</span> int64 ready_data<span style='color:Blue;'>.</span>Length
        <span style='color:Blue;'>let</span> request_stream = request<span style='color:Blue;'>.</span>GetRequestStream<span style='color:Blue;'>(</span><span style='color:Blue;'>)</span>
        request_stream<span style='color:Blue;'>.</span>Write<span style='color:Blue;'>(</span>ready_data, <span style='color:Maroon;'>0</span>, ready_data<span style='color:Blue;'>.</span>Length<span style='color:Blue;'>)</span>
        <span style='color:Blue;'>let</span> response <span style='color:Blue;'>:</span> HttpWebResponse = <span style='color:Blue;'>downcast</span> request<span style='color:Blue;'>.</span>GetResponse<span style='color:Blue;'>(</span><span style='color:Blue;'>)</span>
        <span style='color:Blue;'>let</span> dataReader = response<span style='color:Blue;'>.</span>GetResponseStream<span style='color:Blue;'>(</span><span style='color:Blue;'>)</span>
        <span style='color:Blue;'>let</span> streamReader = <span style='color:Blue;'>new</span> StreamReader<span style='color:Blue;'>(</span>dataReader<span style='color:Blue;'>)</span>
        <span style='color:Blue;'>let</span> str_response = streamReader<span style='color:Blue;'>.</span>ReadToEnd<span style='color:Blue;'>(</span><span style='color:Blue;'>)</span>
        <span style='color:Blue;'>true</span> 

    <span style='color:Blue;'>(</span>listOfTables, createTable, deleteTable, insert, get, filter<span style='color:Blue;'>)</span></pre>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/nix0.wordpress.com/368/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/nix0.wordpress.com/368/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/nix0.wordpress.com/368/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/nix0.wordpress.com/368/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/nix0.wordpress.com/368/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/nix0.wordpress.com/368/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/nix0.wordpress.com/368/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/nix0.wordpress.com/368/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/nix0.wordpress.com/368/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/nix0.wordpress.com/368/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/nix0.wordpress.com/368/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/nix0.wordpress.com/368/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/nix0.wordpress.com/368/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/nix0.wordpress.com/368/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nix0.wordpress.com&amp;blog=2424171&amp;post=368&amp;subd=nix0&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://nix0.wordpress.com/2010/08/22/%d0%b8-%d1%81%d0%bd%d0%be%d0%b2%d0%b0-%d1%8f-%d1%81%d0%b4%d0%b5%d0%bb%d0%b0%d0%bb-%d1%8d%d1%82%d0%be/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3224b3af341c64022b0a1bb24847eec6?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">nix0</media:title>
		</media:content>
	</item>
		<item>
		<title>О фрилансе</title>
		<link>http://nix0.wordpress.com/2010/08/22/%d0%be-%d1%84%d1%80%d0%b8%d0%bb%d0%b0%d0%bd%d1%81%d0%b5/</link>
		<comments>http://nix0.wordpress.com/2010/08/22/%d0%be-%d1%84%d1%80%d0%b8%d0%bb%d0%b0%d0%bd%d1%81%d0%b5/#comments</comments>
		<pubDate>Sun, 22 Aug 2010 08:44:50 +0000</pubDate>
		<dc:creator>nix0</dc:creator>
				<category><![CDATA[Околокомпьютерное]]></category>
		<category><![CDATA[фриланс]]></category>

		<guid isPermaLink="false">http://nix0.wordpress.com/?p=365</guid>
		<description><![CDATA[«Никогда не участвуйте во фрилансе, если хотите заработать. Никогда!» &#8212; это, замечу, не мои слова &#8212; «Если хотите набраться опыта, получить навыки продаж, общения, впаривания &#8212; наздоровья. Но за деньгами во фриланс не ходите никогда» Вот и я теперь так же думаю, не могу уже 4 месяца доудовлетворить заказчика с проектом, ядро которого сделал за [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nix0.wordpress.com&amp;blog=2424171&amp;post=365&amp;subd=nix0&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>«Никогда не участвуйте во фрилансе, если хотите заработать. Никогда!» &#8212; это, замечу, не мои слова &#8212; «Если хотите набраться опыта, получить навыки продаж, общения, впаривания &#8212; наздоровья. Но за деньгами во фриланс не ходите никогда»</p>
<p>Вот и я теперь так же думаю, не могу уже 4 месяца доудовлетворить заказчика с проектом, ядро которого сделал за неделю. Не моё это, наверное, наводить финальный лоск. Зато теперь знаю это.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/nix0.wordpress.com/365/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/nix0.wordpress.com/365/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/nix0.wordpress.com/365/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/nix0.wordpress.com/365/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/nix0.wordpress.com/365/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/nix0.wordpress.com/365/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/nix0.wordpress.com/365/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/nix0.wordpress.com/365/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/nix0.wordpress.com/365/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/nix0.wordpress.com/365/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/nix0.wordpress.com/365/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/nix0.wordpress.com/365/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/nix0.wordpress.com/365/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/nix0.wordpress.com/365/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=nix0.wordpress.com&amp;blog=2424171&amp;post=365&amp;subd=nix0&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://nix0.wordpress.com/2010/08/22/%d0%be-%d1%84%d1%80%d0%b8%d0%bb%d0%b0%d0%bd%d1%81%d0%b5/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3224b3af341c64022b0a1bb24847eec6?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">nix0</media:title>
		</media:content>
	</item>
	</channel>
</rss>
