<?xml version='1.0' encoding='utf-8' ?>
<!--  If you are running a bot please visit this policy page outlining rules you must respect. http://www.livejournal.com/bots/  -->
<rss version='2.0' xmlns:lj='http://www.livejournal.org/rss/lj/1.0/' xmlns:media='http://search.yahoo.com/mrss/' xmlns:atom10='http://www.w3.org/2005/Atom'>
<channel>
  <title>Дневник Евгения Морозова</title>
  <link>http://kolloid.livejournal.com/</link>
  <description>Дневник Евгения Морозова - LiveJournal.com</description>
  <lastBuildDate>Thu, 26 Nov 2009 08:56:10 GMT</lastBuildDate>
  <generator>LiveJournal / LiveJournal.com</generator>
  <lj:journal>kolloid</lj:journal>
  <lj:journalid>4242942</lj:journalid>
  <lj:journaltype>personal</lj:journaltype>
  <atom10:link rel='hub' href='http://pubsubhubbub.appspot.com/' />
  <image>
    <url>http://l-userpic.livejournal.com/88710880/4242942</url>
    <title>Дневник Евгения Морозова</title>
    <link>http://kolloid.livejournal.com/</link>
    <width>100</width>
    <height>100</height>
  </image>

<item>
  <guid isPermaLink='true'>http://kolloid.livejournal.com/398914.html</guid>
  <pubDate>Thu, 26 Nov 2009 08:56:10 GMT</pubDate>
  <title>IE is Being Mean to Me</title>
  <link>http://kolloid.livejournal.com/398914.html</link>
  <description>Завидую, когда кто-то может в такой форме выразить свои чувства. Меня ненависть к IE может спровоцировать лишь на рубку ноутбука топором.&lt;br /&gt;&lt;a href=&quot;http://www.youtube.com/watch?v=vTTzwJsHpU8&quot;&gt;http://www.youtube.com/watch?v=vTTzwJsHpU8&lt;/a&gt;</description>
  <comments>http://kolloid.livejournal.com/398914.html</comments>
  <category>reddit</category>
  <category>ссылки</category>
  <category>видео</category>
  <lj:security>public</lj:security>
  <lj:reply-count>1</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://kolloid.livejournal.com/398142.html</guid>
  <pubDate>Fri, 02 Oct 2009 15:09:34 GMT</pubDate>
  <title>Пятница</title>
  <link>http://kolloid.livejournal.com/398142.html</link>
  <description>Получил сегодня загранпаспорт. Можете меня поздравить, для меня это было непросто, а уж сколько переживаний было. Милиционерша, принимавшая документы, язвительно прошлась по понаехавшим и сказала, что скорее всего мою анкету завернут. Тем не менее, прибежал сегодня за 15 минут до закрытия, и благополучно получил. Только рожа на фотографии напоминает, скорее, русского мафиози. У меня во всех паспортах жуткие фотографии, потому что всегда забываю, что фотографируюсь на паспорт и прихожу черт знает в каком виде.&lt;br /&gt;&lt;br /&gt;На обратном пути решил отметить чашкой кофе в Венеции. Познакомился с обаятельным итальянцем, Альваро, который недавно приехал в Питер, говорит по-английски и немного по-испански. Но испанский он знает хуже меня, так что сразу перешли на английский. Оказалось, что он работает сисадмином в одной софтверной конторе, а в свободное время преподает латиноамериканские танцы. Удачное знакомство. :)&lt;br /&gt;&lt;br /&gt;Кстати, заметил, что начал при разговоре путаться: когда говорю на испанском, частенько вставляю английские слова, и наоборот. Меня это ужасно расстраивает. Некрасиво как-то, а собеседнику, наверное, еще хуже слушать эту мешанину. Надо больше практиковаться, больше общаться на обоих языках, наверное. Где бы только найти собеседников.&lt;br /&gt;&lt;br /&gt;Завтра надеюсь дойти до занятия по реггетону, а после него наверное зайду на сальса-вечеринку, которую устраивает организатор нашего танцевального клуба. Танцевать я еще не смогу, но хотя бы взгляну, как это выглядит вживую.</description>
  <comments>http://kolloid.livejournal.com/398142.html</comments>
  <category>танцы</category>
  <category>дневник</category>
  <category>испанский</category>
  <category>жизнь</category>
  <lj:security>public</lj:security>
  <lj:reply-count>5</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://kolloid.livejournal.com/397627.html</guid>
  <pubDate>Mon, 28 Sep 2009 10:18:51 GMT</pubDate>
  <title>How to fail at journalism</title>
  <link>http://kolloid.livejournal.com/397627.html</link>
  <description>&lt;a href=&quot;http://www.jgc.org/blog/2009/09/how-to-fail-at-journalism.html&quot;&gt;http://www.jgc.org/blog/2009/09/how-to-fail-at-journalism.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Не только в России журналисты выдумывают небылицы.</description>
  <comments>http://kolloid.livejournal.com/397627.html</comments>
  <category>ссылки</category>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://kolloid.livejournal.com/397414.html</guid>
  <pubDate>Sun, 27 Sep 2009 10:51:53 GMT</pubDate>
  <title>Cien años de soledad</title>
  <link>http://kolloid.livejournal.com/397414.html</link>
  <description>Наконец начал читать «Сто лет одиночества» в оригинале. Уже давно собирался, но только сегодня появилось время и настроение. Я когда-то перевод начинал читать, но поскольку нет своего экземпляра, а с экрана читать не люблю, так и не дочитал.&lt;br /&gt;&lt;br /&gt;Пока на каждую строчку уходит минут 20 времени. Грамматические конструкции вроде бы не особенно сложные, но очень много незнакомых слов. Едва ли не каждое второе. Все вношу в anki, надеюсь, дальше читать станет легче.&lt;br /&gt;&lt;br /&gt;Еще накачал клипов по сальсе. Периодически отрабатываю движения перед экраном. Наверное, ужасно коряво, но надеюсь это поможет мне догнать нашу группу. Очень хочется начать танцевать.</description>
  <comments>http://kolloid.livejournal.com/397414.html</comments>
  <category>сальса</category>
  <category>дневник</category>
  <category>испанский</category>
  <lj:security>public</lj:security>
  <lj:reply-count>1</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://kolloid.livejournal.com/397146.html</guid>
  <pubDate>Sat, 26 Sep 2009 14:21:31 GMT</pubDate>
  <title>Kseniya Simonova - Sand Animation (Україна має талант / Ukraine&apos;s Got Talent)</title>
  <link>http://kolloid.livejournal.com/397146.html</link>
  <description>&lt;a href=&quot;http://www.youtube.com/watch?v=518XP8prwZo&quot;&gt;http://www.youtube.com/watch?v=518XP8prwZo&lt;/a&gt;</description>
  <comments>http://kolloid.livejournal.com/397146.html</comments>
  <category>youtube</category>
  <category>reddit</category>
  <category>ссылки</category>
  <category>видео</category>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://kolloid.livejournal.com/396946.html</guid>
  <pubDate>Fri, 25 Sep 2009 13:21:07 GMT</pubDate>
  <title>JavaScript must die</title>
  <link>http://kolloid.livejournal.com/396946.html</link>
  <description>&lt;a href=&quot;http://jgc.org/blog/&quot;&gt;«My thesis is that the security situation with JavaScript is so poor that the only solution is to kill it»&lt;/a&gt;</description>
  <comments>http://kolloid.livejournal.com/396946.html</comments>
  <category>security</category>
  <category>javascript</category>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://kolloid.livejournal.com/396627.html</guid>
  <pubDate>Thu, 24 Sep 2009 06:30:36 GMT</pubDate>
  <title>Сальса</title>
  <link>http://kolloid.livejournal.com/396627.html</link>
  <description>Вчера сходил впервые на танцы. Собирался начать еще в понедельник, но в понедельник притащил свою партнершу, а она прямо с порога зала убежала — еще более стеснительная, чем я. :)&lt;br /&gt;&lt;br /&gt;Остаток понедельника и весь вторник я ее настраивал на то, что у нее все получится, и в среду она согласилась сделать еще одну попытку, хотя пришлось впихивать ее в зал почти силой. Наверное помогло то, что нас было всего трое на первом занятии — я, моя партнерша, и еще одна девочка.&lt;br /&gt;&lt;br /&gt;Ведет занятия симпатичная веселая кубинка Дейзи, которая не знает ни слова по-русски (только «право» и «лево», но и их она путает) — и я, и моя партнерша, от нее в восторге. Именно благодаря ей Рита решила остаться, хотя у нее, также как и у меня, пока ничего не получается, и она очень стесняется. Меня Дейзи постоянно подбадривала, в конце занятия я поболтал с ней немного на своем ломаном испанском, и она сказала, что видно, что я никогда не танцевал, но также видно, что очень хочу научиться, значит, у меня все получится.</description>
  <comments>http://kolloid.livejournal.com/396627.html</comments>
  <category>танцы</category>
  <category>сальса</category>
  <category>дневник</category>
  <lj:security>public</lj:security>
  <lj:reply-count>5</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://kolloid.livejournal.com/396032.html</guid>
  <pubDate>Sun, 13 Sep 2009 00:41:27 GMT</pubDate>
  <title>Случайное знакомство</title>
  <link>http://kolloid.livejournal.com/396032.html</link>
  <description>Пил сегодня в «Венеции» кофе у стойки, когда зашла пара из Испании. Услышал, как они переговариваются по-испански и пытаются сделать заказ на английском, решил не упускать шанс и познакомиться. Поскольку их двое, приходилось обращаться к ним на «вы» (vosotros), а поскольку раньше никогда с двумя собеседниками одновременно не разговаривал, спрягать глаголы оказалось сущей мукой.&lt;br /&gt;&lt;br /&gt;Зовут их Ферран и Кончи (Conxi, тоже в первый раз слышу такое оригинальное имя), живут в Барселоне, работают в банке, любят путешествовать. Специально берут отпуск осенью, чтобы поездить по миру. В Испании принято отдыхать в августе, но мои новые друзья говорят, что в августе работать в банке очень хорошо, потому что есть кондиционер и нет посетителей. А в сентябре, когда все возвращаются из отпусков и начинается стресс и неразбериха, они наоборот уезжают. )))&lt;br /&gt;&lt;br /&gt;Постоянно восхищались моим произношением — значит не зря стараюсь каждый день слушать уроки и радио на испанском.&lt;br /&gt;&lt;br /&gt;Под конец обменялись номерами телефонов и адресами электронной почты. Я сказал, что могу погулять с ними завтра или на неделе, показать город, но они отказываются, говорят, что не хотят злоупотреблять моим расположением. Впрочем, пообещали, что в понедельник позовут с собой во второй половине дня.</description>
  <comments>http://kolloid.livejournal.com/396032.html</comments>
  <category>дневник</category>
  <category>испанский</category>
  <lj:security>public</lj:security>
  <lj:reply-count>4</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://kolloid.livejournal.com/395972.html</guid>
  <pubDate>Sat, 12 Sep 2009 12:02:35 GMT</pubDate>
  <title>Life update</title>
  <link>http://kolloid.livejournal.com/395972.html</link>
  <description>Сдал экзамен по испанскому на «4». Что-то в последнее время перестало хватать времени на испанский, пропустил много занятий. Очень обидно, хотелось сдать на 5. Да и язык на уровне A2 оказался намного сложнее, чем я думал. Прошедшие времена, сослагательное наклонение, императив — все это очень сложно. Кажется, испанский значительно сложнее английского.Ну, разберусь. На уровень B1 решил пока не идти — нет времени и хочется отдохнуть. Пойду в конце октября-начале ноября. Еще не начал читать книги, все откладываю из-за нехватки времени. Зато периодически ставлю в качестве фона испанское интернет-радио, и, кажется, даже что-то понимаю.&lt;br /&gt;&lt;br /&gt;Сегодня написал первый баг в баг-трекер Django. Натыкался на ошибки и раньше, конечно, но всегда кто-то сообщал о них раньше меня.</description>
  <comments>http://kolloid.livejournal.com/395972.html</comments>
  <category>дневник</category>
  <category>испанский</category>
  <lj:security>public</lj:security>
  <lj:reply-count>3</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://kolloid.livejournal.com/395626.html</guid>
  <pubDate>Wed, 09 Sep 2009 08:28:22 GMT</pubDate>
  <title>Статистика</title>
  <link>http://kolloid.livejournal.com/395626.html</link>
  <description>Однако, ALTER COLUMN SET STATISTICS с последующим ANALYZE реально помогает ускорить выполнение запроса в казалось бы совершенно безнадежных ситуациях. Почему-то я к этому способу обратился в самый последний момент.</description>
  <comments>http://kolloid.livejournal.com/395626.html</comments>
  <category>performance</category>
  <category>sql</category>
  <category>postgresql</category>
  <lj:security>public</lj:security>
  <lj:reply-count>1</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://kolloid.livejournal.com/395314.html</guid>
  <pubDate>Tue, 08 Sep 2009 11:15:56 GMT</pubDate>
  <title>Как оптимизировать запрос?</title>
  <link>http://kolloid.livejournal.com/395314.html</link>
  <description>Есть такой запрос (сгенерирован Django ORM и отформатирован мной):
&lt;pre&gt;
SELECT activity_activityevent.id, activity_activityevent.user_id, activity_activityevent.added_on
FROM activity_activityevent 
WHERE activity_activityevent.user_id IN (
   SELECT U0.user_id 
   FROM profile U0 
   INNER JOIN profile_friends U1 
   ON U0.user_id = U1.to_profile_id
   WHERE U1.from_profile_id = 5
) 
ORDER BY activity_activityevent.added_on DESC 
LIMIT 10
&lt;/pre&gt;
&lt;a name=&quot;cutid1&quot;&gt;&lt;/a&gt;
&lt;code&gt;EXPLAIN ANALYZE&lt;/code&gt; с настройками по умолчанию:
&lt;pre&gt;
Limit  (cost=4815.62..4815.65 rows=10 width=202) (actual time=332.938..332.977 rows=10 loops=1)
  -&amp;gt;  Sort  (cost=4815.62..4816.35 rows=292 width=202) (actual time=332.931..332.945 rows=10 loops=1)
        Sort Key: activity_activityevent.added_on
        Sort Method:  top-N heapsort  Memory: 19kB
        -&amp;gt;  Hash IN Join  (cost=2204.80..4809.31 rows=292 width=202) (actual time=12.856..283.916 rows=15702 loops=1)
              Hash Cond: (activity_activityevent.user_id = u0.user_id)
              -&amp;gt;  Seq Scan on activity_activityevent  (cost=0.00..2370.43 rows=61643 width=202) (actual time=0.020..126.129 rows=61643 loops=1)
              -&amp;gt;  Hash  (cost=2200.05..2200.05 rows=380 width=8) (actual time=12.777..12.777 rows=424 loops=1)
                    -&amp;gt;  Nested Loop  (cost=11.20..2200.05 rows=380 width=8) (actual time=0.260..11.594 rows=424 loops=1)
                          -&amp;gt;  Bitmap Heap Scan on profile_friends u1  (cost=11.20..62.95 rows=380 width=4) (actual time=0.228..1.202 rows=424 loops=1)
                                Recheck Cond: (from_profile_id = 5)
                                -&amp;gt;  Bitmap Index Scan on profile_friends_from_profile_id_key  (cost=0.00..11.10 rows=380 width=0) (actual time=0.208..0.208 rows=424 loops=1)
                                      Index Cond: (from_profile_id = 5)
                          -&amp;gt;  Index Scan using profile_pkey on profile u0  (cost=0.00..5.61 rows=1 width=4) (actual time=0.012..0.015 rows=1 loops=424)
                                Index Cond: (u0.user_id = u1.to_profile_id)
Total runtime: 333.190 ms
&lt;/pre&gt;

Теперь запрещаем seq scan (&lt;code&gt;set enable_seqscan to off&lt;/code&gt;) и снова выполняем &lt;code&gt;EXPLAIN ANALYZE&lt;/code&gt;:
&lt;pre&gt;
Limit  (cost=9528.36..9528.38 rows=10 width=202) (actual time=165.047..165.090 rows=10 loops=1)
  -&amp;gt;  Sort  (cost=9528.36..9529.09 rows=292 width=202) (actual time=165.042..165.058 rows=10 loops=1)
        Sort Key: activity_activityevent.added_on
        Sort Method:  top-N heapsort  Memory: 19kB
        -&amp;gt;  Nested Loop  (cost=2201.00..9522.05 rows=292 width=202) (actual time=13.074..126.209 rows=15702 loops=1)
              -&amp;gt;  HashAggregate  (cost=2201.00..2204.80 rows=380 width=8) (actual time=12.996..14.131 rows=424 loops=1)
                    -&amp;gt;  Nested Loop  (cost=11.20..2200.05 rows=380 width=8) (actual time=0.263..11.665 rows=424 loops=1)
                          -&amp;gt;  Bitmap Heap Scan on profile_friends u1  (cost=11.20..62.95 rows=380 width=4) (actual time=0.232..1.181 rows=424 loops=1)
                                Recheck Cond: (from_profile_id = 5)
                                -&amp;gt;  Bitmap Index Scan on profile_friends_from_profile_id_key  (cost=0.00..11.10 rows=380 width=0) (actual time=0.210..0.210 rows=424 loops=1)
                                      Index Cond: (from_profile_id = 5)
                          -&amp;gt;  Index Scan using profile_pkey on profile u0  (cost=0.00..5.61 rows=1 width=4) (actual time=0.013..0.016 rows=1 loops=424)
                                Index Cond: (u0.user_id = u1.to_profile_id)
              -&amp;gt;  Index Scan using activity_activityevent_user_id on activity_activityevent  (cost=0.00..18.82 rows=35 width=202) (actual time=0.014..0.130 rows=37 loops=424)
                    Index Cond: (activity_activityevent.user_id = u0.user_id)
Total runtime: 165.323 ms
&lt;/pre&gt;

Время выполнения запроса уменьшилось в два раза. Тот же самый результат получается, если установить &lt;code&gt;random_page_cost&lt;/code&gt; меньшим или равным &lt;code&gt;1.2&lt;/code&gt;. Оба подхода мне не очень нравятся, особенно с выключением seq scan.

Просто не понимаю, каким разумным методом заставить postgres использовать здесь индекс. Видимо, я что-то не догоняю.</description>
  <comments>http://kolloid.livejournal.com/395314.html</comments>
  <category>performance</category>
  <category>sql</category>
  <category>postgresql</category>
  <lj:security>public</lj:security>
  <lj:reply-count>4</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://kolloid.livejournal.com/395163.html</guid>
  <pubDate>Sun, 06 Sep 2009 06:03:50 GMT</pubDate>
  <title>Проблемы оптимизации производительности</title>
  <link>http://kolloid.livejournal.com/395163.html</link>
  <description>Питоновское расширение cmemcache для работы с memcached начало выдавать такие сообщения ни с того, ни с сего:
&lt;pre&gt;[NOTICE@1252216599.924163] mcm_storage_cmd():3339: unable to store value: add 
[NOTICE@1252216599.924494] mcm_storage_cmd():3339: unable to store value: add 
[NOTICE@1252216599.924764] mcm_storage_cmd():3339: unable to store value: add 
[NOTICE@1252216599.925048] mcm_storage_cmd():3339: unable to store value: add&lt;/pre&gt;
&lt;p&gt;Соответственно, кэширование не работает. Гугление этих ошибок никакого вразумительного ответа не дает. Видимо, придется откатываться к более медленному pure-python модулю memcache.&lt;/p&gt;

&lt;p&gt;Искусственный интеллект PostgreSQL начинает задалбывать. Есть долгий запрос с несколькими JOIN&apos;ами. В паре JOIN&apos;ов не используется индекс, вместо этого Postgres ищет 1000 значений в таблице из миллиона записей методом seq scan. Развернул дамп базы локально на той же версии postgres. Сделал VACUUM ANALYZE для трех таблиц, которые используются в JOIN&apos;ах. Postgres начал использовать индекс и время выполнения запроса уменьшилось более чем в два раза. На production VACUUM ANALYZE тех же таблиц ни к чему не приводит, запрос выполняется все так же медленно.&lt;/p&gt;

&lt;p&gt;Может быть ему вообще запретить метод seq scan?&lt;/p&gt;</description>
  <comments>http://kolloid.livejournal.com/395163.html</comments>
  <category>memcached</category>
  <category>performance</category>
  <category>cmemcache</category>
  <category>postgres</category>
  <lj:security>public</lj:security>
  <lj:reply-count>6</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://kolloid.livejournal.com/394765.html</guid>
  <pubDate>Fri, 04 Sep 2009 12:11:35 GMT</pubDate>
  <title>Поиск таблиц, для которых не существует индекса, в PostgreSQL</title>
  <link>http://kolloid.livejournal.com/394765.html</link>
  <description>&lt;pre&gt;
CREATE OR REPLACE VIEW pg_table_nonindex_x AS
SELECT
x1.table_in_trouble,
pg_relation_size(x1.table_in_trouble) AS sz_n_byts,
x1.seq_scan, x1.idx_scan,
CASE
WHEN pg_relation_size(x1.table_in_trouble) &amp;gt; 500000000
THEN &apos;Exceeds 500 megs, too large to count in a view. For a count, count individually&apos;::text
ELSE count(x1.table_in_trouble)::text
END AS tbl_rec_count,
x1.priority
FROM
(
SELECT
(schemaname::text || &apos;.&apos;::text) || relname::text AS table_in_trouble,
seq_scan,
idx_scan,
CASE
WHEN (seq_scan - idx_scan) &amp;lt; 500 THEN &apos;Minor Problem&apos;::text
WHEN (seq_scan - idx_scan) &amp;gt;= 500 AND (seq_scan - idx_scan) &amp;lt; 2500 THEN &apos;Major Problem&apos;::text
WHEN (seq_scan - idx_scan) &amp;gt;= 2500 THEN &apos;Extreme Problem&apos;::text
ELSE NULL::text
END AS priority
FROM
pg_stat_all_tables
WHERE
seq_scan &amp;gt; idx_scan
AND schemaname != &apos;pg_catalog&apos;::name
AND seq_scan &amp;gt; 100) x1
GROUP BY
x1.table_in_trouble,
x1.seq_scan,
x1.idx_scan,
x1.priority
ORDER BY
x1.priority DESC,
x1.seq_scan
;
SELECT * FROM pg_table_nonindex_x;
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.postgresonline.com/journal/index.php?/archives/65-How-to-determine-which-tables-are-missing-indexes.html#c1114&quot;&gt;Отсюда&lt;/a&gt;.</description>
  <comments>http://kolloid.livejournal.com/394765.html</comments>
  <category>tips</category>
  <category>performance</category>
  <category>sql</category>
  <category>optimization</category>
  <category>postgresql</category>
  <lj:security>public</lj:security>
  <lj:reply-count>4</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://kolloid.livejournal.com/394615.html</guid>
  <pubDate>Thu, 20 Aug 2009 18:40:03 GMT</pubDate>
  <title>Насколько хорошо вы знаете испанский</title>
  <link>http://kolloid.livejournal.com/394615.html</link>
  <description>&lt;a href=&quot;http://spanish.about.com/b/2009/08/18/well-what-do-you-know.htm&quot;&gt;Несколько тестов от about.com&lt;/a&gt;.</description>
  <comments>http://kolloid.livejournal.com/394615.html</comments>
  <category>ссылки</category>
  <category>испанский</category>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://kolloid.livejournal.com/394447.html</guid>
  <pubDate>Wed, 19 Aug 2009 04:13:47 GMT</pubDate>
  <title>По поводу ареста кардера</title>
  <link>http://kolloid.livejournal.com/394447.html</link>
  <description>Из комментариев на reddit к этой новости: &lt;a href=&quot;http://news.bbc.co.uk/2/hi/business/8206305.stm&quot;&gt;US man &apos;stole 130m card numbers&apos;&lt;/a&gt;:&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;    &lt;blockquote&gt;He would also have to pay a fine of $250,000 (£150,000) for each of the two charges.&lt;/blockquote&gt;&lt;br /&gt;Good thing he didn&apos;t download any music!&lt;br /&gt;&lt;/blockquote&gt;</description>
  <comments>http://kolloid.livejournal.com/394447.html</comments>
  <category>reddit</category>
  <category>ссылки</category>
  <category>юмор</category>
  <lj:security>public</lj:security>
  <lj:reply-count>1</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://kolloid.livejournal.com/394199.html</guid>
  <pubDate>Tue, 18 Aug 2009 15:26:18 GMT</pubDate>
  <title>Испанские глаголы</title>
  <link>http://kolloid.livejournal.com/394199.html</link>
  <description>От обилия информации голова идет кругом. Как заучить все спряжения? А в modo imperativo? А в pretérito? Ладно, есть правила, но все равно мне пока тяжело их запомнить и применять на лету. Не думал, что испанский настолько сложный. Он легкий только на поверхности.&lt;br /&gt;&lt;br /&gt;Пока нашел простенький тест: &lt;a href=&quot;http://www.studyspanish.com/verbs/&quot;&gt;http://www.studyspanish.com/verbs/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Надо бы что-нибудь подобное для anki написать. Допустим, помечать глаголы меткой &lt;strong&gt;Verbo&lt;/strong&gt; и генерировать дополнительные вопросы, типа, «как спрягается этот глагол в таком-то времени в таком-то наклонении»... Не знаю, когда время для этого появится.&lt;br /&gt;&lt;br /&gt;P.S. Нашел еще одну полезную ссылку: &lt;a href=&quot;http://www.wordreference.com/conj/ESverbs.asp&quot;&gt;Conjugación de Verbos/Spanish Verb Conjugation&lt;/a&gt;</description>
  <comments>http://kolloid.livejournal.com/394199.html</comments>
  <category>испанский</category>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://kolloid.livejournal.com/393756.html</guid>
  <pubDate>Tue, 18 Aug 2009 14:33:13 GMT</pubDate>
  <title>Про средний класс</title>
  <link>http://kolloid.livejournal.com/393756.html</link>
  <description>&lt;a href=&quot;http://www.apn.ru/publications/comments20197.htm&quot;&gt;...Середняк это вовсе не очкастый поджарый выпускник университета и путешественник по заграницам. Наш середняк — обстоятельный дядька с пузцом, при бороде и в жилетке, крепкий хозяин. Он вовремя поменял кардан на старой «ниве», картошку выкопал, пока вёдро. Борща поел, капусту из бороды вынул и на икону перекрестился. Слава Богу, хорошо живём.&lt;br /&gt;&lt;br /&gt;Осталось дождаться, когда этот посконный российский средний класс организует нам соответствующие инновации и нанотехнологии. ...&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;via &lt;span class=&apos;ljuser ljuser-name_alexthunder&apos; lj:user=&apos;alexthunder&apos; style=&apos;white-space: nowrap;&apos;&gt;&lt;a href=&apos;http://alexthunder.livejournal.com/profile&apos;&gt;&lt;img src=&apos;http://l-stat.livejournal.com/img/userinfo.gif&apos; alt=&apos;[info]&apos; width=&apos;17&apos; height=&apos;17&apos; style=&apos;vertical-align: bottom; border: 0; padding-right: 1px;&apos; /&gt;&lt;/a&gt;&lt;a href=&apos;http://alexthunder.livejournal.com/&apos;&gt;&lt;b&gt;alexthunder&lt;/b&gt;&lt;/a&gt;&lt;/span&gt;</description>
  <comments>http://kolloid.livejournal.com/393756.html</comments>
  <category>нанозарплаты и мегаоткаты</category>
  <category>ссылки</category>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://kolloid.livejournal.com/393243.html</guid>
  <pubDate>Mon, 17 Aug 2009 08:11:56 GMT</pubDate>
  <title>Район №9</title>
  <link>http://kolloid.livejournal.com/393243.html</link>
  <description>На выходных посмотрел «Район №9». Очень понравился. Самый нестандартный фантастический фильм за последние годы. В кинотеатре рядом со мной народ приподнимался на креслах в определенные моменты, и не позднее середины сеанса все забыли про попкорн.&lt;br /&gt;&lt;br /&gt;После сеанса пришло в голову, что это, возможно, пропаганда толерантности, но довольно ненавязчивая.</description>
  <comments>http://kolloid.livejournal.com/393243.html</comments>
  <category>кино</category>
  <category>дневник</category>
  <lj:security>public</lj:security>
  <lj:reply-count>4</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://kolloid.livejournal.com/392812.html</guid>
  <pubDate>Sun, 16 Aug 2009 19:46:22 GMT</pubDate>
  <title>Еще фотографии и видео с испанского</title>
  <link>http://kolloid.livejournal.com/392812.html</link>
  <description>&lt;a href=&quot;http://static.cactus-mouse.com/photos/spanish-3/&quot;&gt;Фотографии&lt;/a&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;a href=&quot;http://www.youtube.com/watch?v=Fj7TcR9bV6s&quot;&gt;http://www.youtube.com/watch?v=Fj7TcR9bV6s&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://www.youtube.com/watch?v=bePx4oFDtPE&quot;&gt;http://www.youtube.com/watch?v=bePx4oFDtPE&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://www.youtube.com/watch?v=X4ipaADjS9o&quot;&gt;http://www.youtube.com/watch?v=X4ipaADjS9o&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://www.youtube.com/watch?v=S9moAsx4gmc&quot;&gt;http://www.youtube.com/watch?v=S9moAsx4gmc&lt;/a&gt; (сиськи! но одетые, не обольщайтесь)</description>
  <comments>http://kolloid.livejournal.com/392812.html</comments>
  <category>фотография</category>
  <category>видео</category>
  <category>испанский</category>
  <lj:security>public</lj:security>
  <lj:reply-count>6</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://kolloid.livejournal.com/392388.html</guid>
  <pubDate>Wed, 12 Aug 2009 08:59:53 GMT</pubDate>
  <title>Identifying unicode punctuation characters with Python regex</title>
  <link>http://kolloid.livejournal.com/392388.html</link>
  <description>&lt;a href=&quot;http://mail.python.org/pipermail/python-list/2008-November/687537.html&quot;&gt;Identifying unicode punctuation characters with Python regex&lt;/a&gt;. Хм, неужели нет более простого способа, как в Perl, например?..&lt;br /&gt;&lt;br /&gt;Необходимость возникла из-за того, что pymmseg (основанный на mmseg-cpp) считает CJK-пунктуацию отдельными словами. :(</description>
  <comments>http://kolloid.livejournal.com/392388.html</comments>
  <category>закладки</category>
  <category>python</category>
  <category>cjk</category>
  <category>unicode</category>
  <category>ссылки</category>
  <category>программирование</category>
  <category>regular expressions</category>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://kolloid.livejournal.com/391923.html</guid>
  <pubDate>Tue, 11 Aug 2009 08:15:54 GMT</pubDate>
  <title>python и MeCab</title>
  <link>http://kolloid.livejournal.com/391923.html</link>
  <description>&lt;p&gt;Существует пакет MeCab для работы с японскими текстами. Предназначение его неизвестно, поскольку документация скудная и исключительно на японском. Мне надо всего лишь разбивать японские текст по словам (китайские тоже, но для этих целей есть простой и понятный &lt;a href=&quot;http://github.com/pluskid/pymmseg-cpp/tree/master&quot;&gt;pymmseg&lt;/a&gt;).

&lt;p&gt;К счастью, нашел на Google Code Search минимальный пример на Ruby, который быстро портировал на Python:
&lt;pre&gt;
import MeCab

def words(text):
    mecab = MeCab.Tagger(&quot;&quot;)

    mnode = mecab.parseToNode(text.encode(&apos;euc_jp&apos;))
    word_array = []

    while mnode:
        infos = {}
        infos[&apos;word&apos;] = mnode.surface.decode(&apos;euc_jp&apos;)
        feature = mnode.feature.decode(&apos;euc_jp&apos;)
        array = feature.split(&quot;,&quot;)
        infos[&apos;type&apos;] = array[0]
        infos[&apos;dform&apos;] = array[4]
        infos[&apos;reading&apos;] = array[5]
        if not infos[&apos;type&apos;] == &quot;BOS/EOS&quot;:
            word_array.append(infos)
        mnode = mnode.next

    return word_array

sentence = u&quot;共焦点レーザ走査型顕微鏡FV1000は、レーザ顕微鏡に求められる基本性能を極限まで追求しました&quot;
print sentence
for w in words(sentence):
    print w[&apos;word&apos;]
&lt;/pre&gt;

&lt;p&gt;Для работы необходимо установить пакеты &lt;tt&gt;mecab&lt;/tt&gt; и &lt;tt&gt;python-mecab&lt;/tt&gt;, например, из &lt;a href=&quot;http://cl.naist.jp/~eric-n/ubuntu-nlp/&quot;&gt;The Ubuntu NLP Repository&lt;/a&gt; (я использовал самосборный).</description>
  <comments>http://kolloid.livejournal.com/391923.html</comments>
  <category>python</category>
  <category>nlp</category>
  <category>mecab</category>
  <category>mmseg</category>
  <category>languages</category>
  <category>chinese</category>
  <category>japanese</category>
  <category>программирование</category>
  <lj:security>public</lj:security>
  <lj:reply-count>2</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://kolloid.livejournal.com/391263.html</guid>
  <pubDate>Thu, 06 Aug 2009 07:11:22 GMT</pubDate>
  <title>Полный PHP головного мозга</title>
  <link>http://kolloid.livejournal.com/391263.html</link>
  <description>&lt;a href=&quot;http://habrahabr.ru/blogs/webdev/66309/&quot;&gt;Хранение кода в бд или собираем код по кирпичикам&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;А ведь потом какая-то несчастная душа будет поддерживать сайты, сделанные этим «гением» от PHP. :(</description>
  <comments>http://kolloid.livejournal.com/391263.html</comments>
  <category>php</category>
  <category>программирование</category>
  <lj:security>public</lj:security>
  <lj:reply-count>9</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://kolloid.livejournal.com/390411.html</guid>
  <pubDate>Sat, 01 Aug 2009 07:15:47 GMT</pubDate>
  <title>Сегодняшнее утро</title>
  <link>http://kolloid.livejournal.com/390411.html</link>
  <description>Проснулся от женского визга под окном: «Ты свои вещи взял, а мои, типа, не помещаются!» и т.п. в течении получаса на такой громкости, что стекла в окнах дрожали. Выглядываю — компания из четырех человек собирается ехать на отдых в маленькой тойоте. И у одной девушки не помещается в машину баул, в который она набила, видимо, половину своего гардероба. На уговоры оставить что-нибудь дома, не соглашалась: «Вы для своих вещей нашли место, а для моих не хотите!!!»&lt;br /&gt;&lt;br /&gt;В итоге, она орала час, так что я не смог снова уснуть при всем желании, а затем решила оскорбиться, бросила все, и ушла домой. Остальные три человека стояли под окнами и уговаривали ее не психовать и вернуться. Еще через час она все-таки вышла.&lt;br /&gt;&lt;br /&gt;В промежутке я выходил в магазин и прошел мимо этой компании. Мало того, что они выехали на два часа позже, так настроение у всех безнадежно испорчено утренней истерикой, выражение лиц — кислое.&lt;br /&gt;&lt;br /&gt;Напомнило, как я жил с такой мадам целых два года. Подобные сцены повторялись если не раз в день, то несколько раз в неделю. &lt;br /&gt;&lt;br /&gt;Ужас... Есть же такие люди, у которых единственное удовольствие в жизни — испортить настроение окружающим. У меня настроение тоже испортилось, и из-за того, что не выспался, и из-за неприятных воспоминаний, и потому что жалко парнишку, который связался с этой стервой.</description>
  <comments>http://kolloid.livejournal.com/390411.html</comments>
  <category>психология</category>
  <category>дневник</category>
  <lj:security>public</lj:security>
  <lj:reply-count>17</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://kolloid.livejournal.com/390152.html</guid>
  <pubDate>Fri, 31 Jul 2009 16:04:37 GMT</pubDate>
  <title>La nota del examen</title>
  <link>http://kolloid.livejournal.com/390152.html</link>
  <description>Похвастаюсь немного:&lt;br /&gt;&lt;blockquote&gt;Hola Eugenio!&lt;br /&gt;&lt;br /&gt;Tengo el placer de informarte que tu nota final es de 93 puntos,  es decir&lt;br /&gt;excelente (5) . Te felicito!!! Te deseo nuevos exitos en el estudio del&lt;br /&gt;español!!! Para cualquier ayuda estoy a tu disposicion.&lt;br /&gt;&lt;br /&gt;Saludos, Roberto.&lt;/blockquote&gt;</description>
  <comments>http://kolloid.livejournal.com/390152.html</comments>
  <category>дневник</category>
  <category>испанский</category>
  <lj:security>public</lj:security>
  <lj:reply-count>18</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>http://kolloid.livejournal.com/389695.html</guid>
  <pubDate>Thu, 30 Jul 2009 06:19:43 GMT</pubDate>
  <title>Операторы против Skype</title>
  <link>http://kolloid.livejournal.com/389695.html</link>
  <description>Только ленивый об этом еще не писал, но все же приведу ссылку для тех, кто не в курсе:&lt;br /&gt;&lt;a href=&quot;http://www.novayagazeta.ru/data/2009/080/33.html&quot;&gt;Асяссины&lt;/a&gt;</description>
  <comments>http://kolloid.livejournal.com/389695.html</comments>
  <category>жадность</category>
  <category>ссылки</category>
  <lj:security>public</lj:security>
  <lj:reply-count>8</lj:reply-count>
</item>
</channel>
</rss>
