<?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/ -->
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:lj="http://www.livejournal.com">
  <id>urn:lj:livejournal.com:atom1:shadow_aka_hf</id>
  <title>shadow_aka_hf</title>
  <subtitle>shadow_aka_hf</subtitle>
  <author>
    <name>shadow_aka_hf</name>
  </author>
  <link rel="alternate" type="text/html" href="http://shadow-aka-hf.livejournal.com/"/>
  <link rel="self" type="text/xml" href="http://shadow-aka-hf.livejournal.com/data/atom"/>
  <updated>2009-11-03T06:25:41Z</updated>
  <lj:journal userid="10106995" username="shadow_aka_hf" type="personal"/>
  <link rel="service.feed" type="application/x.atom+xml" href="http://shadow-aka-hf.livejournal.com/data/atom" title="shadow_aka_hf"/>
  <link rel="hub" href="http://pubsubhubbub.appspot.com/"/>
  <entry>
    <id>urn:lj:livejournal.com:atom1:shadow_aka_hf:41366</id>
    <link rel="alternate" type="text/html" href="http://shadow-aka-hf.livejournal.com/41366.html"/>
    <link rel="self" type="text/xml" href="http://shadow-aka-hf.livejournal.com/data/atom/?itemid=41366"/>
    <title>F# vs С++</title>
    <published>2009-11-03T06:25:41Z</published>
    <updated>2009-11-03T06:25:41Z</updated>
    <content type="html">Не нашел возможности в F# параметризовать тип значением. А было бы полезно.</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:shadow_aka_hf:40778</id>
    <link rel="alternate" type="text/html" href="http://shadow-aka-hf.livejournal.com/40778.html"/>
    <link rel="self" type="text/xml" href="http://shadow-aka-hf.livejournal.com/data/atom/?itemid=40778"/>
    <title>о технологиях программирования</title>
    <published>2009-10-07T03:43:39Z</published>
    <updated>2009-10-07T03:43:39Z</updated>
    <content type="html">Исключительно правильное замечание о технологиях программирования. К языкам тоже относится.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://avva.livejournal.com/2146469.html?thread=65645221#t65645221"&gt;При всем моем скептицизме по отношению к Agile, TDD, XP т.д. должен заметить, что при разговоре о технологиях/методологиях программирования примеры меньше 6 человеко-месяцев неинтересны.&lt;/a&gt;</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:shadow_aka_hf:40490</id>
    <link rel="alternate" type="text/html" href="http://shadow-aka-hf.livejournal.com/40490.html"/>
    <link rel="self" type="text/xml" href="http://shadow-aka-hf.livejournal.com/data/atom/?itemid=40490"/>
    <title>Мнение технаря</title>
    <published>2009-09-29T05:04:54Z</published>
    <updated>2009-09-29T06:39:41Z</updated>
    <content type="html">Мнение технаря о &lt;a href="http://vveshka.livejournal.com/24522.html"&gt;http://vveshka.livejournal.com/24522.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;"Археологической экспедиции ИИМКа приказано закончить работы к 1 апреля 2010 года. А чтобы все докопать, нужен, как минимум, еще один полевой сезон." То есть вопрос в темпах работ.&lt;br /&gt;При этом никто не говорит "давайте поможем археологам", не пытаются найти способы увеличить финансирование, вложить собственные деньги или иным способом ускорить процесс.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://vveshka.livejournal.com/24522.html?thread=590282#t590282"&gt;vveshka: Ну а наше с Вами дело рассказать всем, распечатать больше листовок, прийти на митинг.&lt;/a&gt; Т.е. попиздеть, и не больше.&lt;br /&gt;&lt;br /&gt;А еще у меня вопрос, а в чем, собственно, ценность таких археологических находок?&lt;br /&gt;&lt;br /&gt;Upd. А вот и альтернативное мнение:&lt;br /&gt;&lt;a href="http://gunter-spb.livejournal.com/896098.html"&gt;Единственное приемлимое решение - создание на месте музея. Чтобы и неолит был, и ланскронская стена, и ниеновский бастион. В одном месте. С кафешками и магазинами сувениров. Угадайте, кто предлагает такое решение? Правильно. Проклинаемый всеми Газпром. Аналоги - Музей Истории Москвы, Йоркский викинговский центр, музей Лондона. Это все "отступные", построеные на материалах таких же раскопок. И никто не плачет, хотя в Йорке даже не небоскреб, а банальные торговые ряды на месте ворот Коппергейт построили...&lt;/a&gt;</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:shadow_aka_hf:40253</id>
    <link rel="alternate" type="text/html" href="http://shadow-aka-hf.livejournal.com/40253.html"/>
    <link rel="self" type="text/xml" href="http://shadow-aka-hf.livejournal.com/data/atom/?itemid=40253"/>
    <title>shadow_aka_hf @ 2009-09-24T15:52:00</title>
    <published>2009-09-24T08:58:03Z</published>
    <updated>2009-09-24T08:58:03Z</updated>
    <content type="html">Вот и Alt решил попилить.&lt;br /&gt;&lt;a href="http://cnews.ru/news/top/index.shtml?2009/09/23/363033"&gt;http://cnews.ru/news/top/index.shtml?2009/09/23/363033&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Стратегия на 4х страницах ))&lt;br /&gt;&lt;a href="http://filearchive.cnews.ru/doc/2009/09/23/strategy_v4.3.3.doc"&gt;http://filearchive.cnews.ru/doc/2009/09/23/strategy_v4.3.3.doc&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Текст - хороший пример того, как не надо писать документы.</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:shadow_aka_hf:39684</id>
    <link rel="alternate" type="text/html" href="http://shadow-aka-hf.livejournal.com/39684.html"/>
    <link rel="self" type="text/xml" href="http://shadow-aka-hf.livejournal.com/data/atom/?itemid=39684"/>
    <title>Рабочее</title>
    <published>2009-09-09T09:41:15Z</published>
    <updated>2009-10-07T07:27:20Z</updated>
    <content type="html">Интересно, что делать, когда руководство об очередной идее говорит: "Да, это перспективно и много кому нужно, но мы не может отвлечь людей от существующих проектов"?</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:shadow_aka_hf:39634</id>
    <link rel="alternate" type="text/html" href="http://shadow-aka-hf.livejournal.com/39634.html"/>
    <link rel="self" type="text/xml" href="http://shadow-aka-hf.livejournal.com/data/atom/?itemid=39634"/>
    <title>F#</title>
    <published>2009-09-03T10:11:51Z</published>
    <updated>2009-10-07T07:27:27Z</updated>
    <category term="f#"/>
    <content type="html">Пробую F#.&lt;br /&gt;Получается достаточно красиво, но пока не очень эффективно.&lt;br /&gt;&lt;a name="cutid1"&gt;&lt;/a&gt; &lt;br /&gt;Коментарии приветствуются.&lt;br /&gt;&lt;pre&gt;
open System;

let count_quality_for center data distance = 
    data 
    |&amp;gt; Seq.fold(fun s x -&amp;gt; (s + distance x center)) 0.0

let find_center_for data distance =
    data 
    |&amp;gt; Seq.minBy(fun x -&amp;gt; count_quality_for x data distance)
    
let nearest_from centers distance value =   
    centers 
    |&amp;gt; Seq.minBy ( fun x -&amp;gt; distance x value)
    
let group data nearest =
    data 
    |&amp;gt; Seq.groupBy(fun x -&amp;gt; nearest x)
    |&amp;gt; Seq.to_array

let select_random_sub data size = 
    let rand = new Random()
    data
    |&amp;gt; Seq.map (fun x -&amp;gt; (x, rand.NextDouble() )) 
    |&amp;gt; Seq.sortBy(fun (x,y) -&amp;gt; y)
    |&amp;gt; Seq.map(fun (x,y) -&amp;gt; x) 
    |&amp;gt; Seq.take size
    |&amp;gt; Seq.to_array

let move_centers centers data distance = 
    group data  (nearest_from centers distance) 
    |&amp;gt; Seq.map(fun (x,y) -&amp;gt; (x, find_center_for y distance))
    |&amp;gt; Seq.to_array
    
let rec kmeans_iteration centers data distance =
    let old_new_centers = move_centers centers data distance    
    let movement = old_new_centers |&amp;gt; Seq.fold (fun s (x,y) -&amp;gt; s + distance x y) 0.0
    let new_centers = old_new_centers |&amp;gt; Seq.map(fun (x,y) -&amp;gt; y)
    
    if (movement&amp;gt;Double.Epsilon) then
        kmeans_iteration new_centers data distance
    else
        new_centers
                
let get_kmeans_centers K data distance = 
    let initial_centers = select_random_sub data K 
    let centers = kmeans_iteration initial_centers data distance
    (centers,( centers |&amp;gt; Seq.fold (fun s x -&amp;gt; s + count_quality_for x data distance) 0.0))
&lt;/pre&gt;&lt;br /&gt;</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:shadow_aka_hf:280</id>
    <link rel="alternate" type="text/html" href="http://shadow-aka-hf.livejournal.com/280.html"/>
    <link rel="self" type="text/xml" href="http://shadow-aka-hf.livejournal.com/data/atom/?itemid=280"/>
    <title>shadow_aka_hf @ 2006-04-27T13:36:00</title>
    <published>2006-04-27T06:34:02Z</published>
    <updated>2006-04-27T06:34:02Z</updated>
    <category term="fun"/>
    <content type="html">Создал журнал. В основном чтобы анонимно не писать комменты. &lt;br /&gt;Но может что-то будет сюда писаться.</content>
  </entry>
</feed>
