<?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:mikhailian</id>
  <title>mikhailian</title>
  <subtitle>mikhailian</subtitle>
  <author>
    <name>mikhailian</name>
  </author>
  <link rel="alternate" type="text/html" href="http://mikhailian.livejournal.com/"/>
  <link rel="self" type="text/xml" href="http://mikhailian.livejournal.com/data/atom"/>
  <updated>2008-06-17T10:51:30Z</updated>
  <lj:journal username="mikhailian" type="personal"/>
  <link rel="service.feed" type="application/x.atom+xml" href="http://mikhailian.livejournal.com/data/atom" title="mikhailian"/>
  <entry>
    <id>urn:lj:livejournal.com:atom1:mikhailian:21227</id>
    <link rel="alternate" type="text/html" href="http://mikhailian.livejournal.com/21227.html"/>
    <link rel="self" type="text/xml" href="http://mikhailian.livejournal.com/data/atom/?itemid=21227"/>
    <title>Cinema as the source of mnemonic identifiers</title>
    <published>2008-06-17T10:51:30Z</published>
    <updated>2008-06-17T10:51:30Z</updated>
    <category term="cinema"/>
    <content type="html">&lt;p&gt;There are only three films that impacted my life to the point that they are day and night living around me in speaking and dressing habits, posters, wallpapers, ring tones, logins and passwords, class names and variables. One Russian, one French and one English. One per culture I learned.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.imdb.com/title/tt0091341/"&gt;Kin-dza-dza&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.imdb.com/title/tt0099334/"&gt;Cyrano de Bergerac&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.imdb.com/title/tt0088846/"&gt;Brazil&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:mikhailian:20821</id>
    <link rel="alternate" type="text/html" href="http://mikhailian.livejournal.com/20821.html"/>
    <link rel="self" type="text/xml" href="http://mikhailian.livejournal.com/data/atom/?itemid=20821"/>
    <title>галопам па гістарычным помнікам</title>
    <published>2008-06-02T22:20:34Z</published>
    <updated>2008-06-07T12:54:42Z</updated>
    <category term="travel"/>
    <category term="belarus"/>
    <category term="history"/>
    <content type="html">&lt;p&gt;Маршрут Ивянец - Валожын - Доды - Іўе - Навагрудак - Мір&lt;/p&gt;

&lt;p&gt;&lt;img src="http://www.mova.org/misc/Minsk-Ivianiec-Valozyn-Dudy-Iuje-Navahrudak-Mir-Minsk.png" /&gt;&lt;/p&gt;

&lt;p&gt;Фота &lt;a href="http://www.panoramio.com/map/?user=1850390#lt=53.618579&amp;amp;ln=27.213135&amp;amp;z=9&amp;amp;k=1&amp;amp;a=1&amp;amp;tab=4"&gt;тут&lt;/a&gt;&lt;/p&gt;</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:mikhailian:20537</id>
    <link rel="alternate" type="text/html" href="http://mikhailian.livejournal.com/20537.html"/>
    <link rel="self" type="text/xml" href="http://mikhailian.livejournal.com/data/atom/?itemid=20537"/>
    <title>Explore your Windows LAN from Linux</title>
    <published>2008-05-23T15:22:20Z</published>
    <updated>2008-05-23T15:22:20Z</updated>
    <category term="linux"/>
    <content type="html">&lt;pre&gt;mkdir ~/fusesmb
fusesmb ~/fusesmb
sleep 3600 # wait until fusesmb caches the network shares
ls -1R ~/fusesmb &amp;gt; shared-files.lst # -1 is "minus one", not "minus l"
&lt;/pre&gt;</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:mikhailian:20410</id>
    <link rel="alternate" type="text/html" href="http://mikhailian.livejournal.com/20410.html"/>
    <link rel="self" type="text/xml" href="http://mikhailian.livejournal.com/data/atom/?itemid=20410"/>
    <title>The best ever comparative review of the Ajax libraries</title>
    <published>2008-05-16T13:02:53Z</published>
    <updated>2008-05-16T13:02:53Z</updated>
    <content type="html">&lt;lj-embed id="1" /&gt;</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:mikhailian:20075</id>
    <link rel="alternate" type="text/html" href="http://mikhailian.livejournal.com/20075.html"/>
    <link rel="self" type="text/xml" href="http://mikhailian.livejournal.com/data/atom/?itemid=20075"/>
    <title>Tutorial on NetBSD 4.0 i386 setup in kvm.</title>
    <published>2008-05-11T14:03:00Z</published>
    <updated>2008-05-12T07:36:13Z</updated>
    <category term="netbsd"/>
    <content type="html">&lt;p&gt;Create a 10G disk image:&lt;/p&gt;
&lt;pre&gt;qemu-img create -f qcow2 netbsd-4.0-i386.qcow2 10G
&lt;/pre&gt;

&lt;p&gt;Avoid hangup on boot with &lt;tt&gt;--no-acpi&lt;/tt&gt; and the default network card timeout by trying out a different card, e.g. &lt;tt&gt;-net nic,model=ne2k_pci&lt;/tt&gt;:&lt;/p&gt;
&lt;pre&gt;kvm -hda netbsd-4.0-i386.qcow2 -cdrom i386cd-4.0.iso --no-acpi -net user -net nic,model=ne2k_pci
&lt;/pre&gt;

&lt;p&gt;Walk through the installer.&lt;/p&gt;

&lt;p&gt;Install additional packages with pkg_add:&lt;/p&gt; 
&lt;pre&gt;export PKG_PATH=ftp://ftp.netbsd.org/pub/NetBSD/packages/4.0/i386
pkg_add vim ctwm firefox wget
&lt;/pre&gt;

&lt;p&gt;Include them in path:&lt;/p&gt;
&lt;pre&gt;echo "PATH=$PATH:/usr/pkg/bin" &amp;gt;&amp;gt;/etc/profile
. /etc/profile
&lt;/pre&gt;

&lt;p&gt;Install the latest stable pkgsrc:&lt;/p&gt;
&lt;pre&gt;wget ftp://ftp.netbsd.org/pub/pkgsrc/pkgsrc-2008Q1/pkgsrc-2008Q1.tar.gz
tar xzf pkgsrc-2008Q1.tar.gz -C /usr
&lt;/pre&gt;

&lt;p&gt;Make sure that pkgsrc fetches binary packages for dependencies, when possible:&lt;/p&gt;
&lt;pre&gt;echo ".ifdef BSD_PKG_MK
BINPKG_SITES=ftp://ftp.NetBSD.org/pub/NetBSD/packages/4.0/i386
BINPKG_SITES+=/usr/pkgsrc/packages/All
.endif" &amp;gt; /etc/mk.conf
&lt;/pre&gt;

&lt;p&gt;Configure pkg_online to be able to search for packages&lt;/p&gt;
&lt;pre&gt;cd /usr/pkgsrc
cvs -d:pserver:anonymous@pkgsrc-wip.cvs.sourceforge.net:/cvsroot/pkgsrc-wip login
cvs -z3 -d:pserver:anonymous@pkgsrc-wip.cvs.sourceforge.net:/cvsroot/pkgsrc-wip checkout -P wip
cd /usr/pkgsrc/wip/pkg_online
unset PKG_PATH
make package DEPENDS_TARGET=bin-install
&lt;/pre&gt;

&lt;p&gt;Search for additonal packages&lt;/p&gt;
&lt;pre&gt;pkg_online_find :s:pptp
&lt;/pre&gt;
&lt;p&gt;P.S. Thanks to Aleksey Cheusov &amp;lt;vle@gmx.net&amp;gt; for implementing and making available &lt;a href="http://mova.org/~cheusov/pub/pkg_online/"&gt;pkg_online&lt;/a&gt;.&lt;/p&gt;</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:mikhailian:19758</id>
    <link rel="alternate" type="text/html" href="http://mikhailian.livejournal.com/19758.html"/>
    <link rel="self" type="text/xml" href="http://mikhailian.livejournal.com/data/atom/?itemid=19758"/>
    <title>Attack on the tax calculation: it is the law, dude!</title>
    <published>2008-05-05T09:03:16Z</published>
    <updated>2008-05-05T11:47:02Z</updated>
    <category term="salary calculation"/>
    <category term="belgium"/>
    <content type="html">&lt;p&gt;I must admit that I was wrong in &lt;a href="http://mikhailian.livejournal.com/19568.html"&gt;my previous stance&lt;/a&gt; over the tax calculation issue. Apparently, The Ministry of Finance has nothing to do with such a strange calculation process. It is prescribed by the law.&lt;/p&gt;

&lt;pre&gt;Article 134 CIR 92

§ 2. La quotité du revenu exemptée d'impôt est imputée par contribuable 
&lt;b&gt;sur les tranches successives du revenu, en commençant par la première.&lt;/b&gt;&lt;/pre&gt;

&lt;p&gt;What I took for ingenuity was plain stupidity.&lt;/p&gt;</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:mikhailian:19568</id>
    <link rel="alternate" type="text/html" href="http://mikhailian.livejournal.com/19568.html"/>
    <link rel="self" type="text/xml" href="http://mikhailian.livejournal.com/data/atom/?itemid=19568"/>
    <title>A man-in-the middle attack on tax calculation in Belgium</title>
    <published>2008-05-04T13:57:01Z</published>
    <updated>2008-05-04T14:17:02Z</updated>
    <category term="salary calculation"/>
    <category term="belgium"/>
    <content type="html">&lt;p&gt;I am probably missing some background knowledge, but the salary calculation process in Belgium looks like it has been subverted by Ministry of Finance officials.&lt;/p&gt;

&lt;p&gt;This is better seen by example&lt;/p&gt;

&lt;p&gt;The so-called key formula for the tax prepayment calculation (précompte professionnel) for the year 2008 (income year 2007) states that the first 5220 EUR &lt;a href="http://www.fisconet.fgov.be/fr/?bron.dll&amp;amp;root=v:/sites/FisconetFraAdo.2/&amp;amp;file=bronnen/CIR&amp;amp;versie=04&amp;amp;T1=formule-cl%E9&amp;amp;tss=&amp;amp;R1=V1&amp;amp;zoek=000000&amp;amp;&amp;amp;name=30.11.07/1&amp;amp;rgl=513765&amp;amp;zoekid=0&amp;amp;&amp;amp;Style=-1&amp;amp;hdr_referer=http%3A%2F%2Fwww%2Efisconet%2Efgov%2Ebe%2Ffr%2F&amp;amp;type=2&amp;amp;"&gt;are exempt from taxes.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now, let us work by example. We will do the calculation for someone called Jacques who earned 10000 EUR in 2007. We proceed by subtracting  5220 EUR from his earning and we pay taxes on the rest, that is, the 4780 EUR.&lt;/p&gt;

&lt;p&gt;This amount falls entirely within the lowest tax range, that has the tax rate of 26,75 %.&lt;/p&gt;

&lt;pre&gt;4780*0.2675 = 1278.65&lt;/pre&gt;

&lt;p&gt;So Jacques supposedly has to pay 1278.65 in taxes. Right? Wrong!&lt;/p&gt;

&lt;p&gt;The calculation procedure is defined by the Ministry of Finance as follows&lt;/p&gt;

&lt;p&gt;First, Jacques calculates his taxes on the total of his earnings. 10000 EUR are split in two ranges. The first 7550 EUR is taxed at the rate of 26,75%. Everything over 7550 EUR up
to 10250 EUR of earnings is taxed at the rate of 32,1%.&lt;/p&gt;

&lt;pre&gt;7550*0.2675 + 2450*0.3210 = 2806.08&lt;/pre&gt;

&lt;p&gt;Second, Jacques subtracts from the result the amount that he would have paid
if the first 5220 EUR were taxable at the lowest tax rate, that is&lt;/p&gt;

&lt;pre&gt;2806.08 - (5220*0.2675) = 1409.73&lt;/pre&gt;

&lt;p&gt;The difference between both  calculations is&lt;/p&gt;

&lt;pre&gt;1409.73 - 1278.65 = 131.08&lt;/pre&gt;

&lt;p&gt;That is, 131.08 EUR earned by Jacques have fallen in the deep pockets of the 
state solely because of a particular interpretation of the law that the Ministry
of Finance has made. I have no other explanation for this phenomenon.&lt;/p&gt;</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:mikhailian:19219</id>
    <link rel="alternate" type="text/html" href="http://mikhailian.livejournal.com/19219.html"/>
    <link rel="self" type="text/xml" href="http://mikhailian.livejournal.com/data/atom/?itemid=19219"/>
    <title>Кому в Беларуси жить хорошо? Да никому.</title>
    <published>2008-04-17T15:31:24Z</published>
    <updated>2008-04-17T15:31:24Z</updated>
    <category term="belarus"/>
    <content type="html">&lt;p&gt;Кровавая история на тему &lt;a href="http://serni.livejournal.com/769100.html"&gt;от тюрьмы и от сумы не зарекайся&lt;/a&gt;.&lt;/p&gt;</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:mikhailian:19058</id>
    <link rel="alternate" type="text/html" href="http://mikhailian.livejournal.com/19058.html"/>
    <link rel="self" type="text/xml" href="http://mikhailian.livejournal.com/data/atom/?itemid=19058"/>
    <title>Ещё одна тема для флешмоба</title>
    <published>2008-04-15T15:39:08Z</published>
    <updated>2008-04-16T15:09:25Z</updated>
    <category term="programming"/>
    <category term="linux"/>
    <content type="html">На работе:

&lt;pre&gt;$ find ~ -type f -print0 | xargs -0 file -i -b | sort |uniq -c |sort -nr| head
  41880 text/plain; charset=us-ascii
  23507 text/xml
  12471 image/png
   8990 text/x-c++; charset=us-ascii
   8576 text/x-c; charset=us-ascii
   3743 text/html
   3064 image/gif
   2025 application/octet-stream
   1975 application/x-zip
   1965 application/java
&lt;/pre&gt;</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:mikhailian:18773</id>
    <link rel="alternate" type="text/html" href="http://mikhailian.livejournal.com/18773.html"/>
    <link rel="self" type="text/xml" href="http://mikhailian.livejournal.com/data/atom/?itemid=18773"/>
    <title>Пофлешмобим?</title>
    <published>2008-04-11T19:40:56Z</published>
    <updated>2008-04-11T19:40:56Z</updated>
    <category term="linux"/>
    <content type="html">&lt;pre&gt;~$  history | awk '{print $2}' | sort | uniq -c | sort -rn | head
    356 cd
    309 vim
    217 mutt
    131 svn
    107 ls
     99 gem
     63 cat
     48 screen
     45 mysql
     39 ssh
&lt;/pre&gt;</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:mikhailian:18033</id>
    <link rel="alternate" type="text/html" href="http://mikhailian.livejournal.com/18033.html"/>
    <link rel="self" type="text/xml" href="http://mikhailian.livejournal.com/data/atom/?itemid=18033"/>
    <title>Empirical proof of the Conway's law has been published</title>
    <published>2008-03-28T12:24:56Z</published>
    <updated>2008-03-28T12:29:31Z</updated>
    <category term="management"/>
    <category term="software"/>
    <content type="html">&lt;p&gt;An old software project management axiom, otherwise known as &lt;a href="http://en.wikipedia.org/wiki/Conway%27s_Law"&gt;Conway's law&lt;/a&gt; stated that &lt;i&gt;any piece of software reflects the organizational structure that produced it&lt;/i&gt;. Forty years after &lt;a href="http://en.wikipedia.org/wiki/Melvin_Conway"&gt;Melvin Conway&lt;/a&gt; formulated it, it has been &lt;a href="http://www.hbs.edu/research/pdf/08-039.pdf"&gt;empirically validated&lt;/a&gt; by a team of &lt;a href="http://www.hbs.edu"&gt;Harward Business School&lt;/a&gt; researchers.&lt;/p&gt;

&lt;p&gt;They compared several software products, including open-sourced and closed-sourced ones, and concluded that &lt;i&gt;distributed teams tend to develop more modular products&lt;/i&gt;.&lt;/p&gt;</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:mikhailian:17684</id>
    <link rel="alternate" type="text/html" href="http://mikhailian.livejournal.com/17684.html"/>
    <link rel="self" type="text/xml" href="http://mikhailian.livejournal.com/data/atom/?itemid=17684"/>
    <title>Жёстко они в Microsoft работают, жёстко...</title>
    <published>2008-03-27T13:45:52Z</published>
    <updated>2008-03-27T13:49:38Z</updated>
    <category term="microsoft"/>
    <category term="windows"/>
    <content type="html">&lt;p&gt;Выдали мне не так давно на работе компьютер  dualboot: Windows XP и Ubuntu.&lt;/p&gt;

&lt;p&gt;И действительно, оказалось полезно, из Ubuntu я пару раз запускал Windows XP через kvm. В первый раз она просила её активировать. Ну дай думаю активирую -- я ведь раньше этого не делал, может положено так.  Через несколько месяцев вдруг понадобилось в Windows XP опять зайти. Сделал ребут, запускаю виндовс -- а она говорит, что надо опять активироваться. Ну ладно думаю. Давай. И тут она отвечает, что количество активаций истекло и через 3 дня она типа самоуничтожится.&lt;/p&gt;

&lt;p&gt;Так и остался я &lt;del&gt;у разбитого корыта&lt;/del&gt; с одним Ubuntu на машине. Windows теперь запускать страшно, вдруг она не дай бог на меня настучит в местный офис Microsoft.&lt;/p&gt;</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:mikhailian:17540</id>
    <link rel="alternate" type="text/html" href="http://mikhailian.livejournal.com/17540.html"/>
    <link rel="self" type="text/xml" href="http://mikhailian.livejournal.com/data/atom/?itemid=17540"/>
    <title>Service vouchers status quo for 2007</title>
    <published>2008-03-22T00:14:22Z</published>
    <updated>2008-03-22T00:15:36Z</updated>
    <category term="service vouchers"/>
    <category term="belgium"/>
    <content type="html">&lt;p&gt;According to ONEM, there's been 53 mln service vouchers sold in Belgium in 2007.&lt;/p&gt;

&lt;p&gt;At the price of € 6.70, this makes for € 355.1 mln of expenses for belgian households.&lt;/p&gt;

&lt;p&gt;For each service voucher, the state pays € 20 to the serviceing company,
which amounts to € 704.9 mln in immediate losses for the state
((20-6.70)*53000000) . The hourly payrate at service vouchers companies is
around € 9.50. Which leaves € 10.50 per cheque or € 556.5 mln in total for the serviceing company to cover the overhead of running the business and for profit margins.&lt;/p&gt;</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:mikhailian:17224</id>
    <link rel="alternate" type="text/html" href="http://mikhailian.livejournal.com/17224.html"/>
    <link rel="self" type="text/xml" href="http://mikhailian.livejournal.com/data/atom/?itemid=17224"/>
    <title>langue/parole(fr) =&amp;gt; language/discourse(en)</title>
    <published>2008-03-18T16:34:29Z</published>
    <updated>2008-03-18T16:35:35Z</updated>
    <category term="linguistics"/>
    <content type="html">&lt;p&gt;&lt;a href="http://changingminds.org/explanations/critical_theory/concepts/langue_parole.htm"&gt;Everyone&lt;/a&gt; and &lt;a href="http://www.litencyc.com/php/stopics.php?rec=true&amp;amp;UID=662"&gt;his friends&lt;/a&gt; are afraid of calling the &lt;i&gt;langue&lt;/i&gt; and &lt;i&gt;parole&lt;/i&gt; concepts of &lt;a href="http://en.wikipedia.org/wiki/Ferdinand_de_Saussure"&gt;Saussure&lt;/a&gt; by their English names.&lt;/p&gt;
&lt;p&gt;After giving in some thought and trying different translations in the discussions, I came  out with &lt;i&gt;language&lt;/i&gt; and &lt;i&gt;discourse&lt;/i&gt; and the optimal translations. Feel free to criticize.&lt;/p&gt;</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:mikhailian:16896</id>
    <link rel="alternate" type="text/html" href="http://mikhailian.livejournal.com/16896.html"/>
    <link rel="self" type="text/xml" href="http://mikhailian.livejournal.com/data/atom/?itemid=16896"/>
    <title>IE6 and shaman dances</title>
    <published>2008-03-17T23:16:39Z</published>
    <updated>2008-03-18T09:03:45Z</updated>
    <category term="programming"/>
    <content type="html">&lt;p&gt;Tired of trying to fix a bug that resulted in the display of an empty blank area instead of a floating image, I run to the &lt;a href="http://www.google.be/search?hl=en&amp;amp;q=IE6+float+image+bug&amp;amp;meta="&gt;best developer's friend&lt;/a&gt; which gave me &lt;a href="http://www.designreverb.com/2008/03/11/images-disappear-in-ie6/"&gt;an answer&lt;/a&gt;, no explanation attached.&lt;/p&gt;

&lt;p&gt;Now what the heck is the logic behind the bug and, especially, its fix? God knows.&lt;/p&gt;

&lt;p&gt;P.S. I bought a beer for the author. This bug pissed me off for a whole month.&lt;/p&gt;</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:mikhailian:16874</id>
    <link rel="alternate" type="text/html" href="http://mikhailian.livejournal.com/16874.html"/>
    <link rel="self" type="text/xml" href="http://mikhailian.livejournal.com/data/atom/?itemid=16874"/>
    <title>How much Freedom?</title>
    <published>2008-03-17T11:49:41Z</published>
    <updated>2008-03-17T11:50:32Z</updated>
    <category term="it management"/>
    <category term="programming"/>
    <content type="html">&lt;p&gt;On &lt;b&gt;Freedom&lt;/b&gt; management.&lt;/p&gt;
&lt;p&gt;The employee should be given as much control over his work as he can bear. This meets the requirement for the planning in that there should be just enough planning to induce day-to-day tasks, no more.&lt;/p&gt;

&lt;p&gt;More freedom brings more responsibility and emotional involvement, by creating a sense of ownership between the employee and the product.&lt;/p&gt;
&lt;p&gt;The freedom may morph into frustration if the employee takes on the challenges he can not endure.&lt;/p&gt;</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:mikhailian:16491</id>
    <link rel="alternate" type="text/html" href="http://mikhailian.livejournal.com/16491.html"/>
    <link rel="self" type="text/xml" href="http://mikhailian.livejournal.com/data/atom/?itemid=16491"/>
    <title>The  granularity of planning</title>
    <published>2008-03-17T09:43:08Z</published>
    <updated>2008-03-17T09:43:08Z</updated>
    <category term="it management"/>
    <category term="programming"/>
    <content type="html">&lt;p&gt;More on &lt;b&gt;Chaos&lt;/b&gt; control.&lt;/p&gt;
&lt;p&gt;The most dangerous outcome of the underplanning is employee frustration. Without clear day-to-day targets, employees loose interest in the work. Some become anxious, not willing to take on responsibilities beyond what they consider their assignment.&lt;/p&gt;
&lt;p&gt;The danger of the overplanning is that detailed plans are hard to change.&lt;/p&gt;&lt;p&gt;The rigidness of the plan is proportional to the time spent on it, as the only reason not to change plans is often sheer inertia of those that invested already a lot of time to write it up, in the first place.&lt;/p&gt;
&lt;p&gt;An ideal planning phase is short and concise, and the planing granularity is barely sufficient to distribute the day-to-day assignments to the employees.&lt;/p&gt;</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:mikhailian:16318</id>
    <link rel="alternate" type="text/html" href="http://mikhailian.livejournal.com/16318.html"/>
    <link rel="self" type="text/xml" href="http://mikhailian.livejournal.com/data/atom/?itemid=16318"/>
    <title>The essence of a IT project manager's work</title>
    <published>2008-03-16T15:20:32Z</published>
    <updated>2008-05-05T11:19:11Z</updated>
    <category term="it management"/>
    <category term="programming"/>
    <content type="html">&lt;p&gt;&lt;img src="http://www.mova.org/~lowry/freedom-chaos.png" style="float:left; clear:left; margin:10px" /&gt;A project manager plays with two major forces: &lt;b&gt;Chaos&lt;/b&gt; and &lt;b&gt;Freedom&lt;/b&gt;. When a project starts, nothing is clear, the previous stages like business analysis and user requirements collection have likely been a complete failure and collected input won't help much the team and the manager. At this point, the manager has to control the Chaos and reduce it to the minimum, by creating an environment where everyone know exactly what to do, how to do it and how much time would it take.&lt;/p&gt;
&lt;p&gt;&lt;img src="http://www.mova.org/~lowry/freedom-chaos2.png" style="float:right; clear:right; margin:10px" /&gt;So he starts to plan, as the work moves on. The days roll out, and he slowly realizes that there is not much left of the initial planning, and the team is swirling out in different directions. This is where the Freedom control takes precedence. The manager has to give everyone enough Freedom so that every morning employees felt the urge to scratch an itch, while still working in the planned direction.&lt;/p&gt;

&lt;p&gt;He slowly realizes that the Chaos/Freedom ratio is unique for each employee, and he has to work out a personal approach to everyone if the wants the team to work at full throttle.&lt;/p&gt;

&lt;p&gt;By the time everything is crystal clear in his mind, and all the errors have been consumed and learned from, the project ends, and the manager moves on the next one or bails out.&lt;/p&gt;</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:mikhailian:15913</id>
    <link rel="alternate" type="text/html" href="http://mikhailian.livejournal.com/15913.html"/>
    <link rel="self" type="text/xml" href="http://mikhailian.livejournal.com/data/atom/?itemid=15913"/>
    <title>The dualism of Rails and Ruby</title>
    <published>2008-02-28T10:20:05Z</published>
    <updated>2008-02-28T10:20:05Z</updated>
    <category term="ruby"/>
    <category term="rails"/>
    <content type="html">&lt;p&gt;I finally figured out why I hate &lt;a href="http://www.rubyonrails.org/"&gt;Rails&lt;/a&gt;. It is the most &lt;i&gt;authoritative&lt;/i&gt; web development platform ever, developed on one of the most &lt;i&gt;liberal&lt;/i&gt; languages.&lt;/p&gt;</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:mikhailian:15728</id>
    <link rel="alternate" type="text/html" href="http://mikhailian.livejournal.com/15728.html"/>
    <link rel="self" type="text/xml" href="http://mikhailian.livejournal.com/data/atom/?itemid=15728"/>
    <title>Using the debian package of tomcat in etch</title>
    <published>2008-02-01T08:39:04Z</published>
    <updated>2008-02-01T08:40:37Z</updated>
    <category term="java"/>
    <category term="programming"/>
    <content type="html">&lt;p&gt;For many years already, Java developers running Debian ignored the Tomcat bundled with Debian in favor of a manual installation. Nowadays, with the availability of Sun Java 1.5 in Etch, it is time to reconsider this.&lt;/p&gt;
&lt;p&gt;Install Tomcat with &lt;tt&gt;aptitude install sun-java5-jdk tomcat5 tomcat5-admin tomcat5-webapps&lt;/tt&gt;.&lt;/p&gt;
&lt;p&gt;Edit &lt;tt&gt;/etc/default/tomcat5&lt;/tt&gt; to change the JAVA_HOME and TOMCAT5_SECURITY environment variables.&lt;/p&gt;
&lt;pre&gt;
JAVA_HOME=/usr/lib/jvm/java-1.5.0-sun
TOMCAT5_SECURITY=no
&lt;/pre&gt;
&lt;p&gt;Note that you should consider reenabling the SecurityManager for production environments.&lt;/p&gt;

Now, you may install webapps into &lt;tt&gt;/var/lib/tomcat5/webapps&lt;/tt&gt; and start tomcat with &lt;tt&gt;/etc/init.d/tomcat5 start&lt;/tt&gt;</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:mikhailian:15140</id>
    <link rel="alternate" type="text/html" href="http://mikhailian.livejournal.com/15140.html"/>
    <link rel="self" type="text/xml" href="http://mikhailian.livejournal.com/data/atom/?itemid=15140"/>
    <title>Лучшие фото фотосайта на рабочем столе, дубль 2</title>
    <published>2008-01-19T20:15:13Z</published>
    <updated>2008-01-21T14:02:44Z</updated>
    <category term="bash"/>
    <category term="gnome"/>
    <category term="russian"/>
    <content type="html">&lt;p&gt;Ну вот и ещё один дубль. Восьмого января &lt;a href="http://www.photosight.ru"&gt;фотосайт изменил&lt;/a&gt; структуру сайта и поломал так полюбившийся многим &lt;a href="http://www.photosight.ru/downloads.php"&gt;photosight wallpaper&lt;/a&gt; под Windows, а также скрипты дла автоматической установки "фото дня" на рабочий экран, используемые пользователями других OS.&lt;/p&gt;

&lt;p&gt;Впрочем, от упрямого айтишника ничто не спасёт. Вот новый скрипт под Gnome Desktop для всеобщего пользования:
&lt;pre&gt;cd /tmp
ID=`wget -q -O - http://www.photosight.ru/wallpaper/week.wp` &amp;&amp; \
wget -q -N  http://img-`date '+%Y-%m'`.photosight.ru/`date '+%d'`/$ID.jpg &amp;&amp; \
gconftool-2 -t str --set /desktop/gnome/background/picture_filename /tmp/$ID.jpg &amp;&amp; \
gconftool-2 -t str --set /desktop/gnome/background/picture_options "centered"
&lt;/pre&gt;
&lt;/p&gt;

&lt;p&gt;А вот версия под KDE по мотивам комментария &lt;span class='ljuser' lj:user='strangestone' style='white-space: nowrap;'&gt;&lt;a href='http://strangestone.livejournal.com/profile'&gt;&lt;img src='http://p-stat.livejournal.com/img/userinfo.gif' alt='[info]' width='17' height='17' style='vertical-align: bottom; border: 0; padding-right: 1px;' /&gt;&lt;/a&gt;&lt;a href='http://strangestone.livejournal.com/'&gt;&lt;b&gt;strangestone&lt;/b&gt;&lt;/a&gt;&lt;/span&gt;
&lt;pre&gt;cd /tmp
ID=`wget -q -O - http://www.photosight.ru/wallpaper/week.wp` &amp;&amp; \
wget -q -N  http://img-`date '+%Y-%m'`.photosight.ru/`date '+%d'`/$ID.jpg &amp;&amp; \
dcop kdesktop KBackgroundIface setWallpaper /tmp/$ID.jpg 4
&lt;/pre&gt;
&lt;/p&gt;</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:mikhailian:14968</id>
    <link rel="alternate" type="text/html" href="http://mikhailian.livejournal.com/14968.html"/>
    <link rel="self" type="text/xml" href="http://mikhailian.livejournal.com/data/atom/?itemid=14968"/>
    <title>Using GNU screen's multiuser feature, version 2</title>
    <published>2008-01-17T19:39:46Z</published>
    <updated>2008-01-17T19:41:16Z</updated>
    <category term="screen"/>
    <category term="support"/>
    <category term="linux"/>
    <content type="html">&lt;p&gt;The folks at &lt;a href="http://www.debian-administration.org"&gt;debian-administration&lt;/a&gt; have shown me &lt;a href="http://www.debian-administration.org/articles/572#comment_4"&gt;the light&lt;/a&gt;, once again.&lt;/p&gt;
&lt;p&gt;It turns out that enabling a multiuser remote console is much simpler than what I &lt;a href="http://mikhailian.livejournal.com/9433.html"&gt;previously thought&lt;/a&gt;. Just login, run &lt;tt&gt;screen&lt;/tt&gt; and tell the other(s) to run &lt;tt&gt;screen -x&lt;/tt&gt; while being logged with the same login name.&lt;/p&gt;</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:mikhailian:14837</id>
    <link rel="alternate" type="text/html" href="http://mikhailian.livejournal.com/14837.html"/>
    <link rel="self" type="text/xml" href="http://mikhailian.livejournal.com/data/atom/?itemid=14837"/>
    <title>The KISS principle, dissected</title>
    <published>2008-01-16T07:32:59Z</published>
    <updated>2008-01-16T07:43:19Z</updated>
    <category term="software"/>
    <category term="programming"/>
    <content type="html">&lt;p&gt;The expression &lt;a href="http://en.wikipedia.org/wiki/KISS_principle"&gt;Keep It Simple, Stupid&lt;/a&gt; has a negative connotation, coming from the ambiguity between &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Keep It Simple AND Stupid&lt;/li&gt;
&lt;li&gt;Keep It Simple, YOU, Stupid&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;that the original wording suggests.&lt;/p&gt;</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:mikhailian:14395</id>
    <link rel="alternate" type="text/html" href="http://mikhailian.livejournal.com/14395.html"/>
    <link rel="self" type="text/xml" href="http://mikhailian.livejournal.com/data/atom/?itemid=14395"/>
    <title>ActiveRecord as an implementation of a design pattern straight out of the book</title>
    <published>2008-01-15T21:27:32Z</published>
    <updated>2008-01-16T00:46:16Z</updated>
    <category term="activerecord"/>
    <category term="ruby"/>
    <content type="html">&lt;p&gt;&lt;a href="http://ar.rubyonrails.org"&gt;ActiveRecord&lt;/a&gt; has been &lt;a href="http://wiki.rubyonrails.org/rails/pages/SingleTableInheritance"&gt;built&lt;/a&gt; straight from the Martin Fowler's &lt;a href="http://martinfowler.com/eaaCatalog/singleTableInheritance.html" title="STI"&gt;Single Table Inheritance&lt;/a&gt; design pattern. Period. This is fine for simple applications with that can live with the database design imposed by the application framework.&lt;/p&gt;

&lt;p&gt;Once the developer tries to think throughly the database design, he immediately hits the limits of the STI paradigm. Here's an example.&lt;/p&gt;

&lt;p&gt;One common method to define a hierarchical relation in Object-Relational Mapping where a child can have only one parent is to put the reference to the parent in the child table. This is a common and very efficient way to map a class hierarchy into database tables in &lt;a href="http://www.hibernate.org"&gt;Hibernate&lt;/a&gt;, for instance. The resulting tables can then look as follows:&lt;/p&gt;

&lt;pre&gt;
CREATE TABLE `foos` (
  `id` int(11) NOT NULL auto_increment,
  PRIMARY KEY  (`id`)
);
CREATE TABLE `bars` (
  `id` int(11) NOT NULL auto_increment,
  `foo_id` int(11) NOT NULL,
  PRIMARY KEY  (`id`)
);
CREATE TABLE `bazs` (
  `id` int(11) NOT NULL auto_increment,
  `foo_id` int(11) NOT NULL,
  PRIMARY KEY  (`id`)
);
&lt;/pre&gt;

&lt;p&gt;Note that this table structure allows to efficiently retrieve &lt;tt&gt;bars&lt;/tt&gt; and &lt;tt&gt;bazs&lt;/tt&gt; from &lt;tt&gt;foos&lt;/tt&gt;, as well as ascend to &lt;tt&gt;foos&lt;/tt&gt; from &lt;tt&gt;bars&lt;/tt&gt; and &lt;tt&gt;bazs&lt;/tt&gt;.&lt;/p&gt; 

&lt;p&gt;If you are bound to ActiveRecord, it imposes a solution with one table having one additional id to identify the parent and a string to identify the type of the child. All fields belonging to &lt;tt&gt;bars&lt;/tt&gt; and &lt;tt&gt;bazs&lt;/tt&gt; will appear in the same table, intermixed.&lt;/p&gt;

&lt;pre&gt;
CREATE TABLE `foos` (
  `id` int(11) NOT NULL auto_increment,
  `foo_id` int(11) NOT NULL,
  `foo_type` char(4) NOT NULL,
  PRIMARY KEY  (`id`)
);
&lt;/pre&gt;

&lt;p&gt;This approach has many disadvantages, the most obvious one is that it may be necessary to remove restrictions on some columns that behave differently in different children. For example, using &lt;tt&gt;default NULL&lt;/tt&gt; on fields that are shared between classes behind &lt;tt&gt;bazs&lt;/tt&gt; and &lt;tt&gt;bars&lt;/tt&gt;, whether or not one of the requires them.&lt;/p&gt;</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:mikhailian:14157</id>
    <link rel="alternate" type="text/html" href="http://mikhailian.livejournal.com/14157.html"/>
    <link rel="self" type="text/xml" href="http://mikhailian.livejournal.com/data/atom/?itemid=14157"/>
    <title>Who benefits from the service vouchers (dienstcheques, titres-services)</title>
    <published>2008-01-08T22:12:36Z</published>
    <updated>2008-05-05T11:20:29Z</updated>
    <category term="service vouchers"/>
    <category term="hr"/>
    <category term="belgium"/>
    <content type="html">&lt;p&gt;PHBs, stay away. This is as complicated as the &lt;a href="http://mikhailian.livejournal.com/4454.html"&gt;Type C work permit gamble&lt;/a&gt;, Type B vs. immigration legal loophole or the intrinsics of the &lt;a href="http://mikhailian.livejournal.com/13139.html"&gt;payslip calculation&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Here is the idea of service vouchers in a 100 words. A few years ago, you could find someone to clean your house or iron your shirts by a word-of-mouth. After the job was done, you paid them in cash 8 € per hour and you were done. Nowadays, you first buy service vouchers from a &lt;a href="http://www.sodexho.be"&gt;multinational, state-assigned monopoly&lt;/a&gt; at the price of 6.70 €. You then call a service provider which is a company licensed by the state to accept service vouchers for house holding services. They make you sign a contract and they send their employee to you. Every visit, you give the cleaner as many service vouchers as the hours worked. The cleaner returns the service vouchers to his employer and the employer claims from the state 20 € per voucher. You, as a customer are not done yet as well, you can subtract the amount you paid for service vouchers in your personal yearly tax form, which decreases the real price of service vouchers down to 4,69 €.&lt;/p&gt;

&lt;p&gt;At first sight, there's a clear gain from the customer's point of view. The service gets cheaper. However,  the customer loses time in paperwork and is somewhat bound by the contract from now on. There's also an intuitive expectation of decreased service quality, as the service becomes less personal.&lt;/p&gt;

&lt;p&gt;On the other hand, the state clearly loses 13,30 € per working hour, and some more money in personal taxes, which makes the service vouchers program look slightly unrealistic. Where's the catch?&lt;/p&gt;

&lt;p&gt;Officially, the idea of service vouchers was defended on the following grounds:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Black market workers that had no right to health insurance and social services become permanent employees of service companies. This will let them benefit from all social support a worker gets, including the right to receive unemployment money in case they are fired.&lt;/li&gt;
&lt;li&gt;Customers now deal with companies instead of individuals, which makes the dispute resolution easier, and the service - more reliable.&lt;/li&gt;
&lt;li&gt;As for the fact that the state artificially supports an unrealistic business model by paying 13,00 € per working hour to private companies, the explanation was that all this money returns to the state in the form of various taxes that the employer and the worker are subject to.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Unofficial but more realistic reasons are less pleasant to hear.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Service vouchers plan is an instrument that was going to allow Guy Verhofstadt and his government to attain the goal of &lt;a href="http://www.google.com/search?q=verhofstadt+200.000"&gt;200,000 increase in work places&lt;/a&gt; that they set back in 2003. The idea is simple. Make illegal workers work legally and count them as new work places.&lt;/li&gt;
&lt;li&gt;The state takes control over what was a black market by dumping prices. This allows it to squeeze off tens if not hundreds of thousands of illegal immigrants that did this job for a living. Combined with &lt;a href="http://mikhailian.livejournal.com/4454.html"&gt;other measures&lt;/a&gt;, this enables the state to better control everyone who lives on its territory.&lt;/li&gt;
&lt;li&gt;Service vouchers plan lets the government bind extra money it had without having to spend it on a more adventurous task like a state reform.&lt;/li&gt;
&lt;li&gt;The creation of a new business model subject to licensing would also benefit many politicians and their pet businesses could use their privileged position to milk the state cash cow at will, by jumping early into the artificially created business niche.&lt;/li&gt;
&lt;/ul&gt;</content>
  </entry>
</feed>
