<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-8712885996841170104</id><updated>2012-01-02T20:22:22.559-08:00</updated><category term='linux'/><category term='childhood'/><category term='todo'/><category term='quotes'/><category term='performance'/><category term='stories'/><category term='harmony'/><category term='blog'/><category term='интроспекция'/><category term='howto'/><category term='changes'/><category term='humor'/><title type='text'>Aleksey Shipilev</title><subtitle type='html'>aka ШипиЛёша (TM)</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://shipilev.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8712885996841170104/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://shipilev.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Aleksey Shipilev:</name><uri>http://www.blogger.com/profile/01270446535942765702</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>33</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8712885996841170104.post-6878308666738118431</id><published>2010-01-27T02:10:00.000-08:00</published><updated>2010-01-27T02:16:56.664-08:00</updated><title type='text'>So long, and thanks for all the Glassfish!</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://blogs.sun.com/jag/resource/SunRIPsmall.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 700px; height: 547px;" src="http://blogs.sun.com/jag/resource/SunRIPsmall.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Good bye, Sun. It was pleasure competing with you, it was the pleasure working for you. Now the shape of things changed again, and this seem to be more drastic than anything before. Nevertheless, I pay deep respect for making Java the way it is now: enormously large ecosystem with very easy step-in curve.&lt;br /&gt;&lt;br /&gt;If you want to join, please forward your respects to &lt;a href="http://blogs.sun.com/jag/entry/so_long_old_friend"&gt;James Gosling&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8712885996841170104-6878308666738118431?l=shipilev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shipilev.blogspot.com/feeds/6878308666738118431/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shipilev.blogspot.com/2010/01/so-long-and-thanks-for-all-glassfish.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8712885996841170104/posts/default/6878308666738118431'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8712885996841170104/posts/default/6878308666738118431'/><link rel='alternate' type='text/html' href='http://shipilev.blogspot.com/2010/01/so-long-and-thanks-for-all-glassfish.html' title='So long, and thanks for all the Glassfish!'/><author><name>Aleksey Shipilev:</name><uri>http://www.blogger.com/profile/01270446535942765702</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8712885996841170104.post-7498976846746275475</id><published>2009-11-16T04:59:00.000-08:00</published><updated>2009-11-16T05:07:38.559-08:00</updated><title type='text'>Maven2: dependency version bump made easy</title><content type='html'>I just keep forgetting this. While managing big Maven2 project you often come up with the idea to bump your dependency versions to the latest ones (I do it before starting new QA/Performance cycle). There is a cool Maven2 plugin in the wild, just run:&lt;br /&gt;&lt;br /&gt;$ mvn versions:display-dependency-updates&lt;br /&gt;&lt;br /&gt;...and it will show you a nice table&lt;br /&gt;&lt;blockquote&gt;&lt;pre&gt;&lt;br /&gt;[INFO] ------------------------------------------------------------------------&lt;br /&gt;[INFO] Building Sample Project&lt;br /&gt;[INFO]    task-segment: [versions:display-dependency-updates]&lt;br /&gt;[INFO] ------------------------------------------------------------------------&lt;br /&gt;[INFO] [versions:display-dependency-updates]&lt;br /&gt;[INFO] The following dependencies in Dependency Management are using the newest version:&lt;br /&gt;[INFO]   com.sun.el:el-ri ................................................. 1.0&lt;br /&gt;[INFO]   javax.servlet:servlet-api ........................................ 2.5&lt;br /&gt;[INFO]   javax.xml.bind:jaxb-api .......................................... 2.0&lt;br /&gt;[INFO]   jfree:jfreechart .............................................. 1.0.12&lt;br /&gt;[INFO]   junit:junit ...................................................... 4.7&lt;br /&gt;[INFO]   log4j:log4j ................................................... 1.2.13&lt;br /&gt;[INFO]   net.sf.jung:jung-graph-impl ........................... 2.0.1-SNAPSHOT&lt;br /&gt;[INFO]   net.sf.jung:jung-io ................................... 2.0.1-SNAPSHOT&lt;br /&gt;[INFO]   net.sf.jung:jung-visualization ........................ 2.0.1-SNAPSHOT&lt;br /&gt;[INFO]   net.sf.saxon:saxon-s9api ..................................... 9.1.0.7&lt;br /&gt;[INFO]   net.sf.saxon:saxon-xqj ....................................... 9.1.0.7&lt;br /&gt;[INFO]   oracle.toplink.essentials:toplink ...................... 2.0.1-b04-fcs&lt;br /&gt;[INFO]   org.apache.commons:commons-compress .............................. 1.0&lt;br /&gt;[INFO]   org.hyperic:sigar ........................................... 1.6.3.82&lt;br /&gt;[INFO]   org.mortbay.jetty:jetty ....................................... 6.1.21&lt;br /&gt;[INFO] &lt;br /&gt;[INFO] The following dependencies in Dependency Management have newer versions:&lt;br /&gt;[INFO]   ant-contrib:ant-contrib ............................ 1.0b3 -&gt; 20020829&lt;br /&gt;[INFO]   com.h2database:h2 ................................. 1.2.120 -&gt; 1.2.123&lt;br /&gt;[INFO]   com.sun.faces:jsf-api ......................... 2.0.1-b02 -&gt; 2.0.2-b03&lt;br /&gt;[INFO]   com.sun.faces:jsf-impl ........................ 2.0.1-b02 -&gt; 2.0.2-b03&lt;br /&gt;[INFO]   com.sun.xml.bind:jaxb-impl ........................... 2.0.5 -&gt; 2.1.12&lt;br /&gt;[INFO]   com.sun.xml.ws:webservices-rt ..................... 2.0-b21 -&gt; 2.0-b28&lt;br /&gt;[INFO]   geronimo-spec:geronimo-spec-jms .................... 1.0-M1 -&gt; 1.1-rc4&lt;br /&gt;[INFO]   javax.el:el-api ..................................... 1.0 -&gt; 2.1.2-b05&lt;br /&gt;[INFO]   javax.mail:mail ..................................... 1.4 -&gt; 1.4.3-rc1&lt;br /&gt;[INFO]   net.sf.saxon:saxon .................................... 9.1.0.7 -&gt; 8.7&lt;br /&gt;[INFO]   org.apache.derby:derby ........................ 10.5.3.0_1 -&gt; 10.5.3.0&lt;br /&gt;[INFO]   org.apache.geronimo.specs:geronimo-ejb_3.0_spec ...... 1.0-M1 -&gt; 1.0.1&lt;br /&gt;&lt;/pre&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8712885996841170104-7498976846746275475?l=shipilev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shipilev.blogspot.com/feeds/7498976846746275475/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shipilev.blogspot.com/2009/11/maven2-dependency-version-bump-made.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8712885996841170104/posts/default/7498976846746275475'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8712885996841170104/posts/default/7498976846746275475'/><link rel='alternate' type='text/html' href='http://shipilev.blogspot.com/2009/11/maven2-dependency-version-bump-made.html' title='Maven2: dependency version bump made easy'/><author><name>Aleksey Shipilev:</name><uri>http://www.blogger.com/profile/01270446535942765702</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8712885996841170104.post-5312257834276837122</id><published>2009-10-05T13:08:00.000-07:00</published><updated>2009-10-05T13:09:44.013-07:00</updated><title type='text'>Пратчетт</title><content type='html'>Открыл для себя Плоский Мир. Анк-Морпоркская Стража -- это мега-зачёт :) Интересно было бы почитать в оригинале, сдаётся мне, что много языковых фишечек всё-таки не смогли перевести.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8712885996841170104-5312257834276837122?l=shipilev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shipilev.blogspot.com/feeds/5312257834276837122/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shipilev.blogspot.com/2009/10/blog-post.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8712885996841170104/posts/default/5312257834276837122'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8712885996841170104/posts/default/5312257834276837122'/><link rel='alternate' type='text/html' href='http://shipilev.blogspot.com/2009/10/blog-post.html' title='Пратчетт'/><author><name>Aleksey Shipilev:</name><uri>http://www.blogger.com/profile/01270446535942765702</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8712885996841170104.post-6758854784405132214</id><published>2009-10-02T16:06:00.000-07:00</published><updated>2009-10-02T16:13:33.044-07:00</updated><title type='text'>"We are sinking!"</title><content type='html'>This can't be good :)&lt;br /&gt;One of mine three 320 Gb WD's started to fail, this took around 3 years of 24/7 service.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;$ smartctl -a /dev/sdb&lt;br /&gt;...&lt;br /&gt;SMART Attributes Data Structure revision number: 16&lt;br /&gt;Vendor Specific SMART Attributes with Thresholds:&lt;br /&gt;ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE&lt;br /&gt;  1 Raw_Read_Error_Rate     0x000f   200   200   051    Pre-fail  Always       -       57&lt;br /&gt;  3 Spin_Up_Time            0x0003   253   184   021    Pre-fail  Always       -       2225&lt;br /&gt;  4 Start_Stop_Count        0x0032   100   100   000    Old_age   Always       -       138&lt;br /&gt;  5 Reallocated_Sector_Ct   0x0033   110   110   140    Pre-fail  Always   FAILING_NOW 713&lt;br /&gt;  7 Seek_Error_Rate         0x000f   200   182   051    Pre-fail  Always       -       0&lt;br /&gt;  9 Power_On_Hours          0x0032   063   063   000    Old_age   Always       -       27023&lt;br /&gt; 10 Spin_Retry_Count        0x0013   100   100   051    Pre-fail  Always       -       0&lt;br /&gt; 11 Calibration_Retry_Count 0x0012   100   100   051    Old_age   Always       -       0&lt;br /&gt; 12 Power_Cycle_Count       0x0032   100   100   000    Old_age   Always       -       136&lt;br /&gt;194 Temperature_Celsius     0x0022   113   001   000    Old_age   Always       -       37&lt;br /&gt;196 Reallocated_Event_Count 0x0032   001   001   000    Old_age   Always       -       587&lt;br /&gt;197 Current_Pending_Sector  0x0012   200   200   000    Old_age   Always       -       0&lt;br /&gt;198 Offline_Uncorrectable   0x0010   200   200   000    Old_age   Offline      -       0&lt;br /&gt;199 UDMA_CRC_Error_Count    0x003e   200   200   000    Old_age   Always       -       0&lt;br /&gt;200 Multi_Zone_Error_Rate   0x0009   200   144   051    Pre-fail  Offline      -       0&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8712885996841170104-6758854784405132214?l=shipilev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shipilev.blogspot.com/feeds/6758854784405132214/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shipilev.blogspot.com/2009/10/we-are-sinking.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8712885996841170104/posts/default/6758854784405132214'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8712885996841170104/posts/default/6758854784405132214'/><link rel='alternate' type='text/html' href='http://shipilev.blogspot.com/2009/10/we-are-sinking.html' title='&quot;We are sinking!&quot;'/><author><name>Aleksey Shipilev:</name><uri>http://www.blogger.com/profile/01270446535942765702</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8712885996841170104.post-3782947727146131904</id><published>2009-09-23T11:36:00.000-07:00</published><updated>2009-09-23T11:45:18.399-07:00</updated><title type='text'>Zeno decider</title><content type='html'>Когда-нибудь я напишу тул, которому можно будет скормить два решения, а он скажет, где между ними правильный баланс. Например, выбрать между решением "продать всё" и "ничего не продавать". Или "завоевать мир" и "ничего не завоёвывать". &lt;br /&gt;&lt;br /&gt;Замануха в том, что балансовое решение само по себе является решением. Теперь, если воспользоваться стереотипом "истина где-то между" == "истинное решение не является ни одним из крайних", то можно будет выбрать ещё раз, на этот раз между одним из исходных и балансовым. Для тула даже есть очевидное название: "решатель Зенона".&lt;br /&gt;&lt;br /&gt;А профит в том, чтобы продавать психотерапевтические услуги тем, кто наконец понял, что такой спор идёт куда-то нахрен не туда. И да, я устал от двухчасового митинга на инглише, на котором это целый час пришлось гасить.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8712885996841170104-3782947727146131904?l=shipilev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shipilev.blogspot.com/feeds/3782947727146131904/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shipilev.blogspot.com/2009/09/zeno-decider.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8712885996841170104/posts/default/3782947727146131904'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8712885996841170104/posts/default/3782947727146131904'/><link rel='alternate' type='text/html' href='http://shipilev.blogspot.com/2009/09/zeno-decider.html' title='Zeno decider'/><author><name>Aleksey Shipilev:</name><uri>http://www.blogger.com/profile/01270446535942765702</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8712885996841170104.post-4034087959090562753</id><published>2009-09-19T10:41:00.000-07:00</published><updated>2009-09-19T10:46:22.444-07:00</updated><title type='text'>УФ</title><content type='html'>Есть у Зощенко рассказ &lt;a href="http://www.ostrovok.de/old/classics/zoshchenko/story084.htm"&gt;"Бедность"&lt;/a&gt;. Так вот, купил Лёша Шипилёв себе ультрафиолетовую лампу...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8712885996841170104-4034087959090562753?l=shipilev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shipilev.blogspot.com/feeds/4034087959090562753/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shipilev.blogspot.com/2009/09/blog-post_19.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8712885996841170104/posts/default/4034087959090562753'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8712885996841170104/posts/default/4034087959090562753'/><link rel='alternate' type='text/html' href='http://shipilev.blogspot.com/2009/09/blog-post_19.html' title='УФ'/><author><name>Aleksey Shipilev:</name><uri>http://www.blogger.com/profile/01270446535942765702</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8712885996841170104.post-8172238687644426471</id><published>2009-09-12T12:04:00.001-07:00</published><updated>2009-09-12T12:08:41.183-07:00</updated><title type='text'>Рабочее</title><content type='html'>Порой испытываешь полу-оргазмическое состояние, когда гетерогенный J2EE/J2SE-проект из 25 компонентов общей сложностью в 25.000+ строк, не считая библиотек, успешно завершает восьмичасовое стресс-тестирование, эквивалентное году работы на реальной нагрузке. И делает это без сучка без задоринки. В такой момент начинаешь гордиться собой.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8712885996841170104-8172238687644426471?l=shipilev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shipilev.blogspot.com/feeds/8172238687644426471/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shipilev.blogspot.com/2009/09/blog-post_12.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8712885996841170104/posts/default/8172238687644426471'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8712885996841170104/posts/default/8172238687644426471'/><link rel='alternate' type='text/html' href='http://shipilev.blogspot.com/2009/09/blog-post_12.html' title='Рабочее'/><author><name>Aleksey Shipilev:</name><uri>http://www.blogger.com/profile/01270446535942765702</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8712885996841170104.post-3212898253219241179</id><published>2009-09-07T09:14:00.000-07:00</published><updated>2009-09-07T09:23:27.152-07:00</updated><title type='text'>Урок на будущее</title><content type='html'>Люблю паззлы.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;4 мая в 10:21   ...вернулсо! 7Гб фото ждут обработки.&lt;br /&gt;30 апр в 15:54  ...уехал в деревню.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;По этому поводу у меня есть два равновероятных (хе-хе) сценария.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8712885996841170104-3212898253219241179?l=shipilev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shipilev.blogspot.com/feeds/3212898253219241179/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shipilev.blogspot.com/2009/09/blog-post.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8712885996841170104/posts/default/3212898253219241179'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8712885996841170104/posts/default/3212898253219241179'/><link rel='alternate' type='text/html' href='http://shipilev.blogspot.com/2009/09/blog-post.html' title='Урок на будущее'/><author><name>Aleksey Shipilev:</name><uri>http://www.blogger.com/profile/01270446535942765702</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8712885996841170104.post-3450252062841304549</id><published>2009-09-05T13:24:00.000-07:00</published><updated>2009-09-05T13:46:23.943-07:00</updated><title type='text'>Однажды мне понадобилось объяснить "жаворонку", как себя чувствует "сова" в мире, где работают с 8:30 (с)</title><content type='html'>Набрёл на очередной замечательный текст про &lt;a href="http://www.diary.ru/%7Er2r/p52163302.htm#more1"&gt;страдания сов в мире жаворонков&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;- 3:00. Не выспались? Это ваши проблемы. Кругом ночь? Включите свет. Ага, и радио, очень помогает. Умывайтесь, одевайтесь, готовьтесь к выходу из дома. Зеваете? Спать хочется? Нет, "прилечь ненадолго" нельзя. В 4:30 вы должны быть на работе. Лучше выпейте чая с сахаром.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Честно говоря, я бы удавился, если бы мне пришлось работать с 9 до 17. Встать раньше десяти утра в обычной жизни для меня -- подвиг. Я ненавидел, нет, &lt;span style="font-weight: bold;"&gt;НЕНАВИДЕЛ&lt;/span&gt; среднюю школу уже за то, что нужно было просыпаться в восемь утра, и это мне ещё везло, что до школы пешком было 5 минут, поэтому не приходилось вставать раньше.&lt;br /&gt;&lt;br /&gt;Поэтому я тихо радуюсь, что каждый день можно просыпаться в десять, приводить себя в порядок/тупить/дремать до одиннадцати, потом садиться на велик или на опустевшее метро и в двенадцать приезжать на работу. Там ещё два часа заниматься чем-нибудь ненапряжным, типа разговоров с коллегами, распития чаёв и философствования о судьбах мира, потом сходить пообедать, и только в три часа начать заниматься активной деятельностью. Потом часов в восемь вечера сдуться, потупить и приехать домой часам к десяти вечера, потом ещё что-нибудь покрутить часов до трёх утра, и спокойно залечь спать.&lt;br /&gt;&lt;br /&gt;Питер в этом отношении -- прекрасный город. Тут можно в полночь выйти на улицу и обнаружить ненулевое количество народа, который всячески релаксирует без зазрений совести типа "на работу завтра рано", ибо на работу завтра (хе-хе) к двенадцати.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8712885996841170104-3450252062841304549?l=shipilev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shipilev.blogspot.com/feeds/3450252062841304549/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shipilev.blogspot.com/2009/09/830.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8712885996841170104/posts/default/3450252062841304549'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8712885996841170104/posts/default/3450252062841304549'/><link rel='alternate' type='text/html' href='http://shipilev.blogspot.com/2009/09/830.html' title='Однажды мне понадобилось объяснить &quot;жаворонку&quot;, как себя чувствует &quot;сова&quot; в мире, где работают с 8:30 (с)'/><author><name>Aleksey Shipilev:</name><uri>http://www.blogger.com/profile/01270446535942765702</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8712885996841170104.post-3143826950975102832</id><published>2009-08-23T10:43:00.000-07:00</published><updated>2009-08-23T10:50:45.489-07:00</updated><title type='text'>Идеальное топливо домашних очагов</title><content type='html'>Удачный сегодня день. Попался замечательный мозго-теребящий на-себя-примеривающий текст про семью.&lt;br /&gt;&lt;a href="http://lito1.ru/text/69825"&gt;Сергей Зубарев "Идеальное топливо домашних очагов"&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Несмотря на анонс, эпатажа и провокации я там не увидел. Стиль показался знакомым, покопался в его публикациях и нашёл его же статью, которую прочитал месяца три назад, &lt;a href="http://lito.ru/text/65570"&gt;"Сарказм рока"&lt;/a&gt;, разбор "Иронии судьбы". Занятно.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8712885996841170104-3143826950975102832?l=shipilev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shipilev.blogspot.com/feeds/3143826950975102832/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shipilev.blogspot.com/2009/08/blog-post_23.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8712885996841170104/posts/default/3143826950975102832'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8712885996841170104/posts/default/3143826950975102832'/><link rel='alternate' type='text/html' href='http://shipilev.blogspot.com/2009/08/blog-post_23.html' title='Идеальное топливо домашних очагов'/><author><name>Aleksey Shipilev:</name><uri>http://www.blogger.com/profile/01270446535942765702</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8712885996841170104.post-2232275178577669962</id><published>2009-08-23T02:28:00.000-07:00</published><updated>2009-08-23T02:33:05.206-07:00</updated><title type='text'>A Leadership Primer</title><content type='html'>Comprehensive Colin Powell's quote list with civilian commentaries. Somewhat idealistic, but still great.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://govleaders.org/powell_print.htm"&gt;A Leadership Primer&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Imagining what the IT industry would be like if many follow this rules, I would recommend that to any-level managers as well as techleads and informal leaders.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8712885996841170104-2232275178577669962?l=shipilev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shipilev.blogspot.com/feeds/2232275178577669962/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shipilev.blogspot.com/2009/08/leadership-primer.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8712885996841170104/posts/default/2232275178577669962'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8712885996841170104/posts/default/2232275178577669962'/><link rel='alternate' type='text/html' href='http://shipilev.blogspot.com/2009/08/leadership-primer.html' title='A Leadership Primer'/><author><name>Aleksey Shipilev:</name><uri>http://www.blogger.com/profile/01270446535942765702</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8712885996841170104.post-5160586070543604960</id><published>2009-08-21T11:36:00.000-07:00</published><updated>2009-08-21T11:37:29.731-07:00</updated><title type='text'></title><content type='html'>Жизнь -- прекрасна!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8712885996841170104-5160586070543604960?l=shipilev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shipilev.blogspot.com/feeds/5160586070543604960/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shipilev.blogspot.com/2009/08/blog-post_21.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8712885996841170104/posts/default/5160586070543604960'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8712885996841170104/posts/default/5160586070543604960'/><link rel='alternate' type='text/html' href='http://shipilev.blogspot.com/2009/08/blog-post_21.html' title=''/><author><name>Aleksey Shipilev:</name><uri>http://www.blogger.com/profile/01270446535942765702</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8712885996841170104.post-3623494253458793862</id><published>2009-08-08T00:54:00.000-07:00</published><updated>2009-08-08T00:55:02.873-07:00</updated><title type='text'>...молодость -- не жизнь.</title><content type='html'>Разбудили звонком в дверь. Открываю, стоят две барышни, они смотрят на меня и изрекают: "Здравствуйте, мы проводим опрос по вашему району, кто-нибудь взрослый дома есть?".&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8712885996841170104-3623494253458793862?l=shipilev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shipilev.blogspot.com/feeds/3623494253458793862/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shipilev.blogspot.com/2009/08/blog-post.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8712885996841170104/posts/default/3623494253458793862'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8712885996841170104/posts/default/3623494253458793862'/><link rel='alternate' type='text/html' href='http://shipilev.blogspot.com/2009/08/blog-post.html' title='...молодость -- не жизнь.'/><author><name>Aleksey Shipilev:</name><uri>http://www.blogger.com/profile/01270446535942765702</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8712885996841170104.post-4827947211501764674</id><published>2009-07-04T07:05:00.000-07:00</published><updated>2009-07-04T07:43:33.814-07:00</updated><title type='text'>Firefox 3.5 JavaScript performance on Linux</title><content type='html'>There were rumors that Firefox 3.5 would include TraceMonkey as the JavaScript engine, and here it comes! There was the &lt;a href="http://weblogs.mhttp//www.blogger.com/img/blank.gifozillazine.org/roadmap/archives/2008/09/tracemonkey_update.html"&gt;claim&lt;/a&gt; that Firefox would be faster in JavaScript than V8. So let's test it.&lt;br /&gt;&lt;br /&gt;I would be so great to check up that claim on Windows, but I now have only my work ThinkPad T61 laptop with Gentoo Linux x86 installed (Core2Duo 2.0 Ghz / 2 GB RAM). So I took several versions of Firefox, Opera and the latest build of Chromium. I had run &lt;a href="http://www2.webkit.org/perf/sunspider-0.9/sunspider.html"&gt;SunSpider&lt;/a&gt; JavaScript benchmark.&lt;br /&gt;&lt;br /&gt;Well, what do I had?&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;&lt;b&gt;Mozilla Firefox 3.0.11&lt;/b&gt;, compiled from the source with aggressive optimizations [*]. This version would be used as the baseline.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;b&gt;Mozilla Firefox 3.5 (binary)&lt;/b&gt;, downloaded from mozilla.org. This version would be used as the build without aggressive optimizations.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;b&gt;Mozilla Firefox 3.5 (source)&lt;/b&gt;, compiled from mozilla overlay with aggressive optimizations [*]. This is to test TraceMonkey performance impact itself.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;b&gt;Mozilla Firefox 3.5 (source + custom)&lt;/b&gt;, compiled from mozilla overlay with aggressive optimizations [*] and "custom-optimization" USE-flag (Gentoo-specific?).&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;b&gt;Opera 9.64&lt;/b&gt;,  binary build, from Gentoo repository&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;b&gt;Chromium 3.0.192.0 (19918)&lt;/b&gt;, downloaded from Chromium website. Unfortunately there's no official Chrome for Linux release yet, so I had to fall back for nightly build.&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;[*] My /etc/make.conf enables these as default: "-O3 -march=prescott -fomit-frame-pointer -fexpensive-optimizations -pipe".  Some packages may override it though.&lt;br /&gt;&lt;br /&gt;Each test was executed in clean environment: only KDE is started, all non-system processes killed, browser is only running user process, browser has only SunSpider loaded. I checked 0% CPU utilization for 1 minute before starting each browser. Browsers were started with default options, with fresh profiles.&lt;br /&gt;&lt;br /&gt;Well, here's the result:&lt;br /&gt;&lt;a href="http://people.apache.org/%7Eshade/articles/ff35-habr/chart-total.png"&gt;&lt;img src="http://people.apache.org/%7Eshade/articles/ff35-habr/chart-total.png" width="50%" height="50%" /&gt;&lt;/a&gt;&lt;br /&gt;SunSpider measures execution time, so the less the better. You can see here that Firefox performance boosted a lot! Opera looks very strange, and Chromium is way ahead in the performance. This picture is single complete experiment result :) The remaining of the post is detailed analysis.&lt;br /&gt;&lt;br /&gt;Let's normalize it to FF 3.0.11:&lt;br /&gt;&lt;a href="http://people.apache.org/%7Eshade/articles/ff35-habr/chart-ff3011.png"&gt;&lt;img src="http://people.apache.org/%7Eshade/articles/ff35-habr/chart-ff3011.png" width="50%" height="50%"/&gt;&lt;/a&gt;&lt;br /&gt;You can see that performance boost is way higher +100%, that is more than twice as faster. Chromium was faster 6(!) times.&lt;br /&gt;&lt;br /&gt;Let's roll over each group of tests, still normalizing to FF 3.0.11:&lt;br /&gt;&lt;a href="http://people.apache.org/%7Eshade/articles/ff35-habr/chart-ff3011-details.png"&gt;&lt;img src="http://people.apache.org/%7Eshade/articles/ff35-habr/chart-ff3011-details.png" width="50%" height="50%" /&gt;&lt;/a&gt;&lt;br /&gt;You can see that changes are visible on each group of tests, except controlflow. Virtually any test is faster at least twice, while some are faster 5-7 times.&lt;br /&gt;&lt;br /&gt;Ok, let's dump FF 3.0.11. Normalizing to fastest FF 3.5 I have:&lt;br /&gt;&lt;a href="http://people.apache.org/%7Eshade/articles/ff35-habr/chart-ff35.png"&gt;&lt;img src="http://people.apache.org/%7Eshade/articles/ff35-habr/chart-ff35.png" width="50%" height="50%" /&gt;&lt;/a&gt;&lt;br /&gt;Chromium is still &gt;2.5 faster.&lt;br /&gt;&lt;br /&gt;Again, test decomposition:&lt;br /&gt;&lt;a href="http://people.apache.org/%7Eshade/articles/ff35-habr/chart-ff35-details.png"&gt;&lt;img src="http://people.apache.org/%7Eshade/articles/ff35-habr/chart-ff35-details.png" width="50%" height="50%" /&gt;&lt;/a&gt;&lt;br /&gt;Looking into this picture I can say FF/TraceMonkey is only caught on with Chromium/V8 performance on SunSpider on one test -- bitops. All other tests are dominated by Chromium.&lt;br /&gt;&lt;br /&gt;There are exact data, calculations and chart drawings available at the &lt;a href="http://people.apache.org/%7Eshade/articles/ff35-habr/sunspider.ods"&gt;test log.&lt;/a&gt; It would be really great if someone can reproduce the same numbers on Windows XP/Vista machine. One can only change the numbers in the spreadsheet and all other stuff will be redone automatically.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;For the end, disclaimer:&lt;/b&gt; this test is NOT showing ultimate domination of V8 against TraceMonkey. Guys from Mozilla/Google have the best knowledge how to benchmark their products. I'm only showing what I had learned on particular system with the particular performance benchmark. And (yes) FF 3.5 is much faster visually :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8712885996841170104-4827947211501764674?l=shipilev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shipilev.blogspot.com/feeds/4827947211501764674/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shipilev.blogspot.com/2009/07/firefox-35-javascript-performance-on.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8712885996841170104/posts/default/4827947211501764674'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8712885996841170104/posts/default/4827947211501764674'/><link rel='alternate' type='text/html' href='http://shipilev.blogspot.com/2009/07/firefox-35-javascript-performance-on.html' title='Firefox 3.5 JavaScript performance on Linux'/><author><name>Aleksey Shipilev:</name><uri>http://www.blogger.com/profile/01270446535942765702</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8712885996841170104.post-8689446080705624827</id><published>2009-05-09T14:39:00.001-07:00</published><updated>2009-05-09T14:46:08.919-07:00</updated><title type='text'>Фраза дня / Phrase of the day</title><content type='html'>Russian:&lt;br /&gt;Подслушано. Оригинал не знаю.&lt;br /&gt;&lt;blockquote&gt;Любая тусовка -- это групповуха, растянутая во времени и пространстве.&lt;/blockquote&gt;&lt;br /&gt;English:&lt;br /&gt;Overheard this one today. A loose translation is below.&lt;br /&gt;&lt;blockquote&gt;Every "be-in" is the group sex dispersed in time and space.&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8712885996841170104-8689446080705624827?l=shipilev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shipilev.blogspot.com/feeds/8689446080705624827/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shipilev.blogspot.com/2009/05/phrase-of-day.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8712885996841170104/posts/default/8689446080705624827'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8712885996841170104/posts/default/8689446080705624827'/><link rel='alternate' type='text/html' href='http://shipilev.blogspot.com/2009/05/phrase-of-day.html' title='Фраза дня / Phrase of the day'/><author><name>Aleksey Shipilev:</name><uri>http://www.blogger.com/profile/01270446535942765702</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8712885996841170104.post-1026796204173503348</id><published>2009-04-23T01:01:00.000-07:00</published><updated>2009-04-23T01:19:43.525-07:00</updated><title type='text'>Reading of the week: Microsoft: A History of Anticompetitive Behavior and Consumer Harm"</title><content type='html'>What an interesting document is available in public!&lt;br /&gt;&lt;a href="http://www.ecis.eu/documents/Finalversion_Consumerchoicepaper.pdf"&gt;http://www.ecis.eu/documents/Finalversion_Consumerchoicepaper.pdf&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Just a few highlights... Guess what's the .Net is all about?&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;D. Microsoft’s Organized Collective Boycott Against Intel&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-style:italic;"&gt;“Intel has to accept that when we have a solution we like that is decent that that is the solution that wins.”&lt;br /&gt;                —Bill Gates, Microsoft founder and then-CEO&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;Microsoft used a similar approach in 1995, when it forced Intel to drop development of Native Signal Processing (“NSP”), a set of instructions that would have allowed a computer’s processor to directly support audio, video, and 3D graphics. Intel is a manufacturer of microprocessor chips that are purchased by OEMs to use in the computers they manufacture. With NSP, Intel hoped to create a platform for multimedia applications that would run on any operating system, not just Windows. Microsoft thus viewed NSP as a serious threat to its Windows monopoly. In order to extinguish NSP, Microsoft told Intel that it would make Windows incompatible with Intel chips if Intel did not abandon the technology, and Microsoft forced its OEM customers into a collective boycott of Intel’s microprocessor chips. Bill Gates reported to other senior Microsoft executives, “Intel feels we have all the OEMs on hold with our NSP chill.” Intel ultimately ceded to Microsoft’s pressure and abandoned its NSP development efforts.&lt;br /&gt;&lt;br /&gt;Shortly thereafter, Microsoft again put pressure on Intel. This time around, Microsoft wanted Intel to stop assisting Sun Microsystems in the promotion of its Java technology. As Bill Gates wrote in a 1997 email message,  &lt;blockquote&gt;&lt;span style="font-style:italic;"&gt;“If Intel has a real problem with us supporting [Intel’s microprocessor rival, AMD] then they will have to stop supporting Java Multimedia the way they are.”&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;As a district court subsequently found, Microsoft’s campaign to induce “Intel to stop helping Sun create Java Multimedia APIs, especially ones that run well … on Windows” was a successful one.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;H. Microsoft’s Attempts To Extinguish Java&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-style:italic;"&gt;“Kill cross-platform Java by grow[ing] the polluted Java market.”&lt;br /&gt;—MicrosoftVJ98 SKUs and Pricing Proposal&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;“[W]e should just quietly grow j++ share and assume that people will take more advantage of our classes without ever realizing they are building win32-only java apps.”&lt;br /&gt;—Microsoft’s Thomas Reardon&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;In 1996, Microsoft turned its attention to Sun Microsystems’ Java middleware technologies as another nascent threat to its operating system monopoly. Sun Microsystems was at the time promoting its Java technologies with the slogan, “Write-once-run-anywhere” to illustrate the cross-platform benefits of writing Java applications.&lt;br /&gt;&lt;br /&gt;Microsoft immediately recognized Java as middleware and moved to eliminate this threat. As usual, Microsoft first embraced Java by licensing the technology from Sun Microsystems and investing in building its own Java-related developer tools. Microsoft then extended its Java developer tools with its own proprietary technology. In fact, Microsoft went so far as actively to deceive Java developers into believing that the Microsoft Java tools were platform independent. In an internal email, Microsoft software engineer Ben Slivka instructed Microsoft’s Visual Studio team: &lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-style:italic;"&gt;“Don’t encourage new cross-platform Java classes; especially don’t help get great Win32 implementations written/deployed. Do encourage fragmentation of the Java classlib space….”&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8712885996841170104-1026796204173503348?l=shipilev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shipilev.blogspot.com/feeds/1026796204173503348/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shipilev.blogspot.com/2009/04/reading-of-week-microsoft-history-of.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8712885996841170104/posts/default/1026796204173503348'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8712885996841170104/posts/default/1026796204173503348'/><link rel='alternate' type='text/html' href='http://shipilev.blogspot.com/2009/04/reading-of-week-microsoft-history-of.html' title='Reading of the week: Microsoft: A History of Anticompetitive Behavior and Consumer Harm&quot;'/><author><name>Aleksey Shipilev:</name><uri>http://www.blogger.com/profile/01270446535942765702</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8712885996841170104.post-7424457955735633589</id><published>2009-02-08T08:53:00.001-08:00</published><updated>2009-02-08T08:54:03.278-08:00</updated><title type='text'>MSc thesis text</title><content type='html'>TWIMC, my &lt;a href="http://people.apache.org/~shade/Shipilev_Evolutionary_Algorithms_In_Metaoptimization_of_Java_JIT_Compilers.pdf"&gt;MSc thesis text&lt;/a&gt; (in Russian, sorry).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8712885996841170104-7424457955735633589?l=shipilev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shipilev.blogspot.com/feeds/7424457955735633589/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shipilev.blogspot.com/2009/02/msc-thesis-text.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8712885996841170104/posts/default/7424457955735633589'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8712885996841170104/posts/default/7424457955735633589'/><link rel='alternate' type='text/html' href='http://shipilev.blogspot.com/2009/02/msc-thesis-text.html' title='MSc thesis text'/><author><name>Aleksey Shipilev:</name><uri>http://www.blogger.com/profile/01270446535942765702</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8712885996841170104.post-2431064716552557296</id><published>2009-02-05T06:53:00.000-08:00</published><updated>2009-02-05T07:05:55.723-08:00</updated><title type='text'>First day @ Sun</title><content type='html'>аlеksеy.shipilеv@sun.соm&lt;br /&gt;&lt;br /&gt;World economic crisis hit me too: I was unemployed for terrible 12 hours.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8712885996841170104-2431064716552557296?l=shipilev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shipilev.blogspot.com/feeds/2431064716552557296/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shipilev.blogspot.com/2009/02/first-day-sun.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8712885996841170104/posts/default/2431064716552557296'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8712885996841170104/posts/default/2431064716552557296'/><link rel='alternate' type='text/html' href='http://shipilev.blogspot.com/2009/02/first-day-sun.html' title='First day @ Sun'/><author><name>Aleksey Shipilev:</name><uri>http://www.blogger.com/profile/01270446535942765702</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8712885996841170104.post-4527491573731218774</id><published>2009-02-04T08:20:00.000-08:00</published><updated>2009-02-04T08:21:42.123-08:00</updated><title type='text'>Last day @ Intel</title><content type='html'>&lt;strike&gt;aleksey.shipilev@intel.com&lt;/strike&gt;&lt;br /&gt;&lt;br /&gt;Currently unemployed.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8712885996841170104-4527491573731218774?l=shipilev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shipilev.blogspot.com/feeds/4527491573731218774/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shipilev.blogspot.com/2009/02/last-day-intel.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8712885996841170104/posts/default/4527491573731218774'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8712885996841170104/posts/default/4527491573731218774'/><link rel='alternate' type='text/html' href='http://shipilev.blogspot.com/2009/02/last-day-intel.html' title='Last day @ Intel'/><author><name>Aleksey Shipilev:</name><uri>http://www.blogger.com/profile/01270446535942765702</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8712885996841170104.post-4572859172408171806</id><published>2009-01-29T07:32:00.001-08:00</published><updated>2009-01-29T13:04:33.216-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='harmony'/><category scheme='http://www.blogger.com/atom/ns#' term='changes'/><title type='text'>Apache Harmony, here I go</title><content type='html'>&lt;blockquote&gt;"A committer is a developer that was given write access to the code repository and has a signed Contributor License Agreement (CLA) on file. They have an apache.org mail address. Not needing to depend on other people for the patches, they are actually making short-term decisions for the project."&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.apache.org/foundation/how-it-works.html#committers"&gt;http://www.apache.org/foundation/how-it-works.html#committers&lt;/a&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;Yep, I'm now the Apache Software Foundation committer officially, and here's my &lt;a href="http://svn.apache.org/viewvc?view=rev&amp;amp;revision=739000"&gt;first commit&lt;/a&gt;. :)&lt;br /&gt;&lt;br /&gt;Along with committer's responsibilities I also have the ASF-hosted mailbox (shade@apache.org) and the website (http://people.apache.org/~shade/).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8712885996841170104-4572859172408171806?l=shipilev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shipilev.blogspot.com/feeds/4572859172408171806/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shipilev.blogspot.com/2009/01/apache-harmony-here-i-go.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8712885996841170104/posts/default/4572859172408171806'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8712885996841170104/posts/default/4572859172408171806'/><link rel='alternate' type='text/html' href='http://shipilev.blogspot.com/2009/01/apache-harmony-here-i-go.html' title='Apache Harmony, here I go'/><author><name>Aleksey Shipilev:</name><uri>http://www.blogger.com/profile/01270446535942765702</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8712885996841170104.post-6590439463119678445</id><published>2009-01-19T15:09:00.000-08:00</published><updated>2009-01-21T02:46:11.027-08:00</updated><title type='text'>Mission accomplished</title><content type='html'>Phew. That were the most exciting three weeks I had in my life. The &lt;a href="http://shipilev.blogspot.com/2008/12/jedi-practices.html"&gt;preliminary plan&lt;/a&gt; was only the first grasp on tons of activities I had to handle :) Ok, here goes the status:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;1 Jan,&lt;/span&gt; NY&lt;br /&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;5 Jan,&lt;/span&gt; Morning Light: phase 2, technical&lt;br /&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;6 Jan,&lt;/span&gt; Q4 2008: completed&lt;br /&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;7 Jan,&lt;/span&gt; Morning Light: phase 3 and 4, organizational+technical&lt;br /&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;13 Jan,&lt;/span&gt; State Exams for MSc degree: completed, "A" grade, told a lot about threads, processes, translators, compilers, interpreters, virtual functions, class and method templates, etc.&lt;br /&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;14 Jan, &lt;/span&gt;Morning Light: phase 5 and 6, organizational+ technical&lt;br /&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;15 Jan,&lt;/span&gt; MSc thesis: defended, "A" grade, though the jury's head said he still have no clue what my thesis is about. I guess that was the compliment, oh well... Anyway, that gives me the diploma with honours.&lt;br /&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;16 Jan,&lt;/span&gt; IELTS (Speaking): completed, piece of cake actually.&lt;br /&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;17 Jan,&lt;/span&gt; IELTS (Listening, Reading, Writing): completed in a breeze, but those damn telephone numbers read quickly only once! Essay was cool, wrote 2 complete pages on nationalism.&lt;br /&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;18 Jan,&lt;/span&gt; Apache Harmony: accepted the offer for Apache committer status, will have the write permissions to Apache repositories and the obligation to watch the project code integrity there, most interested in performance-related issues.&lt;br /&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;19 Jan,&lt;/span&gt; Morning Light: completed. &lt;div&gt;&lt;div&gt;&lt;br /&gt;The last thing puts me to the major change in my life... later this month. In the same time I'm reading Dawkins' &lt;span class="Apple-style-span" style="font-style: italic;"&gt;"The God Delusion"&lt;/span&gt;, Jones'/Lins' &lt;span class="Apple-style-span" style="font-style: italic;"&gt;"Garbage Collection"&lt;/span&gt;, and a couple of theses on JVM internals. Also having the renovation plan for my home office...&lt;br /&gt;&lt;br /&gt;Go-go-go! Stay tuned.&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8712885996841170104-6590439463119678445?l=shipilev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shipilev.blogspot.com/feeds/6590439463119678445/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shipilev.blogspot.com/2009/01/mission-accomplished.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8712885996841170104/posts/default/6590439463119678445'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8712885996841170104/posts/default/6590439463119678445'/><link rel='alternate' type='text/html' href='http://shipilev.blogspot.com/2009/01/mission-accomplished.html' title='Mission accomplished'/><author><name>Aleksey Shipilev:</name><uri>http://www.blogger.com/profile/01270446535942765702</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8712885996841170104.post-7531452677271641275</id><published>2009-01-07T16:42:00.000-08:00</published><updated>2009-01-07T16:45:47.164-08:00</updated><title type='text'>What If US Collapses? Soviet Collapse Lessons Every American Needs To Know</title><content type='html'>Nice talk. &lt;blockquote&gt;&lt;span style="font-style: italic;"&gt;My conclusion is that the Soviet Union was much better-prepared for economic collapse than the United States is.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt; I have left out two important superpower asymmetries, because they don't have anything to do with collapse-preparedness. Some countries are simply luckier than others. But I will mention them, for the sake of completeness.&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;a href="http://madconomist.com/what-if-us-collapses-soviet-collapse-lessons-every-american-needs-to-know"&gt;read more&lt;/a&gt;&lt;span style="display: block;" id="formatbar_Buttons"&gt;&lt;span class="" style="display: block;" id="formatbar_CreateLink" title="Link" onmouseover="ButtonHoverOn(this);" onmouseout="ButtonHoverOff(this);" onmouseup="" onmousedown="CheckFormatting(event);FormatbarButton('richeditorframe', this, 8);ButtonMouseDown(this);"&gt;&lt;img src="http://www.blogger.com/img/blank.gif" alt="Link" class="gl_link" border="0" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8712885996841170104-7531452677271641275?l=shipilev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shipilev.blogspot.com/feeds/7531452677271641275/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shipilev.blogspot.com/2009/01/symmetries-between-su-and-us.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8712885996841170104/posts/default/7531452677271641275'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8712885996841170104/posts/default/7531452677271641275'/><link rel='alternate' type='text/html' href='http://shipilev.blogspot.com/2009/01/symmetries-between-su-and-us.html' title='What If US Collapses? Soviet Collapse Lessons Every American Needs To Know'/><author><name>Aleksey Shipilev:</name><uri>http://www.blogger.com/profile/01270446535942765702</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8712885996841170104.post-6083761447800715693</id><published>2009-01-04T06:23:00.000-08:00</published><updated>2009-01-04T07:18:20.035-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>Linux и дистрибутивы</title><content type='html'>&lt;div style="text-align: right;"&gt;&lt;span style="font-style: italic;font-size:78%;" &gt;Windows считает, что он умнее пользователя.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;font-size:78%;" &gt;Linux считает, что пользователь умнее его.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;font-size:78%;" &gt;Правда жизни в том, что оба они правы.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Последнее время наблюдаю, что у многих людей появилась новая игра: переустановка операционок. При этом поле деятельности не ограничивается только Windows, который многие "джедаи" умудряются покрывать ровным слоем экскрементов настолько быстро, что требуется переустановка раз в полгода.&lt;br /&gt;&lt;br /&gt;Дело начало принимать серьёзный оборот: нынче люди переустанавливают Linux! Я понимаю, что в некоторых случаях это оправдано (у самого лежит бекап /).  Но по-настоящему забавно то, что условиями для переустановки могут служить совсем дурацкие вещи,  типа покорёженного /etc/fstab -- виндовая логика подсказывает, что нужно всё снести подчистую и поставить заново, а не найти и пофиксить проблему в одном конкретном месте.&lt;br /&gt;&lt;br /&gt;Отдельной строкой проходят метания между дистрибутивами: будто от этого что-то функционально зависит! Сами дистрибутивы отличаются друг от друга только инфраструктурой, сам же софт приходит из одних и тех же источников. Поэтому выбирать дистрибутив нужно как раз из соображений качества инфраструктуры: насколько просто этим скопищем пакетов управлять?&lt;br /&gt;&lt;br /&gt;Качество инфраструктуры и только оно определяет качество дистрибутива. Сколько пакетов доступно в репозитории прямо сейчас? Как часто он обновляется? Сколько нужно усилий, чтобы найти и установить софт? Сколько нужно времени, чтобы разобраться как с софтом работать, и куда копать, если не получается? Насколько удобно ставить софт, которого нет в репозиториях? Насколько удобно крутить толстые и тонкие системные настройки руками?&lt;br /&gt;&lt;br /&gt;Переезжать имеет смысл только тогда, когда ответы на подобные вопросы перестают удовлетворять. А вот менять обобщённую Mandriva на обобщённую Fedora Core только потому, что "там bluetooth лучше работает" -- глупость, подобная покупке нового мобильного телефона, когда у старого сел аккумулятор.&lt;br /&gt;&lt;br /&gt;В этой жизни на халяву мало чего бывает. Хотите удовлетворения от системы -- изучайте, понимайте, правьте, пишите на форумах, пишите код, участвуйте в жизни системы. В крайнем случае, уходите туда, где это лучше получается. Не будьте баранами, которых водят с одного зелёного лужка на другой. Будьте людьми, используйте наконец лужок под земледелие.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8712885996841170104-6083761447800715693?l=shipilev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shipilev.blogspot.com/feeds/6083761447800715693/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shipilev.blogspot.com/2009/01/linux.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8712885996841170104/posts/default/6083761447800715693'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8712885996841170104/posts/default/6083761447800715693'/><link rel='alternate' type='text/html' href='http://shipilev.blogspot.com/2009/01/linux.html' title='Linux и дистрибутивы'/><author><name>Aleksey Shipilev:</name><uri>http://www.blogger.com/profile/01270446535942765702</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8712885996841170104.post-3493280526860477203</id><published>2009-01-03T03:41:00.000-08:00</published><updated>2009-01-03T09:30:38.532-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='интроспекция'/><title type='text'>Детское время</title><content type='html'>Вчера освоил простую и сложную вещь про свою детскую психику. Так вышло, что я хорошо помню детство, часто в подробностях, в том числе свои ощущения и ход мыслей. (Это часто играет со мной злую шутку -- запоминаются не только хорошие моменты).&lt;br /&gt;&lt;br /&gt;Так вот, вспоминая вчера ключевые слова из своей жизни, обнаружил, что событиям до 1994 года не могу сопоставить какие-нибудь временн&lt;span style="font-weight: bold;"&gt;ы&lt;/span&gt;е ориентиры. При этом по некоторому разумению вспоминаются &lt;a href="http://vkontakte.ru/photo288639_23694618"&gt;собственные записи&lt;/a&gt; событий 1991-1993 годов, с датировкой; но тогда для меня это были просто цифры, а их интерпретация как единиц времени происходит уже сегодня, ретроспективно.&lt;br /&gt;&lt;br /&gt;Представляется так, что есть огромный аморфный пласт событий детства, перемешанных друг с другом, и только в возрасте 8 лет они начинают выстраиваться в соответствии с некоторой временной шкалой, и каждое следующее событие получает зарубку на оси. Возможно, это произошло из-за навязывания школьного режима: шестидневки, разбивки на недели, четверти, года.&lt;br /&gt;&lt;br /&gt;Другое интересное наблюдение состоит в том, что несмотря на отсутствие детальной концепции времени, были вполне себе наблюдаемые временные отметки: начало и конец дня, утро, день и вечер, лето, осень, зима -- которые нужно было как-то интерпретировать. Поэтому ощущение времени было локальным: всё наблюдаемое время -- это один день, в котором произошли абсолютно все события, включая смену времен года, праздники и непраздники.&lt;br /&gt;&lt;br /&gt;Что ещё забавно, я отдавал себе отчёт в том, почему становится светло или темно, почему зимой холодно, а летом жарко, понимал, как Земля вращается вокруг своей оси и вокруг Солнца, но при этом это было чисто феноменологическое обоснование реально наблюдаемых эффектов, а не условие для деления времени.&lt;br /&gt;&lt;br /&gt;Практический вывод из этого забавен: поскольку при таком локальном времяощущении отсутствуют сами категории прошлого и будущего, выходящие за рамки одного дня, временн&lt;span style="font-weight: bold;"&gt;ы&lt;/span&gt;е координаты "завтра", "через месяц", "через год" кажутся одинаково далекими от "сегодня". Поэтому любое "завтра", брошенное взрослыми ребёнку в этом возрасте, мгновенно транслируются в "не сегодня", то есть в "никогда". Так, похоже, и можно объяснить, почему детям всё нужно прямо сейчас: потому, что они &lt;span style="font-style: italic;"&gt;темпоральные солиписты&lt;/span&gt; -- для них момент в некотором будущем не существует, так как не существует будущего.&lt;br /&gt;&lt;br /&gt;Максимум, что можно сделать в этом случае -- это оперировать непосредственно наблюдаемыми отрезками: вместо "завтра" говорить "сначала хорошенько выспись" :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8712885996841170104-3493280526860477203?l=shipilev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shipilev.blogspot.com/feeds/3493280526860477203/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shipilev.blogspot.com/2009/01/blog-post_03.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8712885996841170104/posts/default/3493280526860477203'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8712885996841170104/posts/default/3493280526860477203'/><link rel='alternate' type='text/html' href='http://shipilev.blogspot.com/2009/01/blog-post_03.html' title='Детское время'/><author><name>Aleksey Shipilev:</name><uri>http://www.blogger.com/profile/01270446535942765702</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8712885996841170104.post-618654122187117036</id><published>2009-01-02T13:38:00.000-08:00</published><updated>2009-01-03T09:31:10.336-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='интроспекция'/><title type='text'>Память</title><content type='html'>Пора бы начать записывать то, что скоро вывалится из памяти.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Детский садик почти совсем не помню: помню Стаса, Мишу, Юлю и Аню -- но из фамилий только Юлину, и то только потому, что она потом, намного позже, была моей одноклассницей. Помню старшую группу, молочный суп, который мне разрешалось не есть, книжки, которые я читал вместо тихого часа, "100 историй о метро", перевод из ГХК-овского садика в НПОПМ-овский, тёмные давящие утра и тёмные освобождающие вечера, "Папа, не уходи", опустевший садик, в котором остались те, чьи родители задерживаются, летние веранды, яблочный сок в эмалированных чайниках, двухсторонний карандаш, размокший под дождём, первых воспитателей (я уже забыл их имена!), Татьяну Ивановну (?), Розу Ивановну, землетрясения, олифа, остановка АДЭ-1 и АДЭ-2.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Дома: мой угол со всяким барахлом, нижний ящик в столе сестры, где порядок царил только несколько часов после уборки, тетрадка "Notes from Alyosha Shipilyov", коллекция минералов, тетрадки, переписанные из Шумана, большая глыба чароита, электрический конструктор, "авианосец" на полировке, аэродинамические трубы из коробок из-под духов, прецезионный блок питания, электролиз медного купороса, выращивание соляных кристаллов, солнечные батареи (!), законы параллельного и последовательного соединения, внутреннее сопротивление, законы Ома и Джоуля-Ленца, Ц-20, аккумуляторы, герметик (!), перфокарты, ручной энкодер/декодер, подъёмный кран с управлением, немецкая железная дорога (стрелки!), бутылка, полная копеечных монет, модели 1:52 "ГАЗ", "Чайка" и ещё что-то там, игры о правилах дорожного (квартирного) движения, опять электричество, мультивибраторы, лужение и пайка, ZX Spectrum, магнитофон "Романтик", DIN-овские разъёмы, подходящие ко всему, маркировка кабелей двумя, тремя и четырьмя полосками изоленты, усилитель/проигрыватель "Мелодия", "Мери Поппинс" и "Сказка про кузнечика", ABBA, Queen и Roxette на кассетах, SECAM-декодер и дистанционное управление на старом "Рубине", 5-тиметровый фиолетовый RGB-шнур, заплетённый косичкой, логический пробник, документация на Спектрум на английском, распиновка выводов ZX80, первая программа, шкалы температур, книги про профессора Фортрана, воробья, сову и гусеницу, первая кассета со своими спектрумовскими бейсиковскими программами, peek/poll и системные переменные, степени двойки, ZX-ассемблер, распечатки интерпретатора Бейсика и ОС для ZX, "подготовительная группа", термос с горячей и тёплой водой, бутерброды, дома из подушек, умножение и деление в столбик, первые рукописные (не печатные) буквы.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Начальную школу помню очень плохо, гораздо хуже, чем детский садик. Пеналы, "зиньковать" и Дима Зинькин, Ольга Ивановна, параллелограмм, дельтоид и ромб, прописи на трижды скопированных жёлтых бумажках, ненавистные тетради в линейку, отступы в стихотворениях,  правила переноса, диктант, первая и последняя тройка по математике, уроки труда, оригами, олимпиады, "Умники и умницы", природоведение, Любовь Фадеевна, Женя Посохов, шарады, пословицы и поговорки, "Тебя не было, и я взяла", Наташа Бурова и Наташа Забабура, дни рождения и газировка, шахматный король, пришкольный летний лагерь, перемены, "сифа", клетки на линолеуме, "Чапай", белые подоконники, на которых нельзя сидеть, но все сидят, столовая, ключи в батарее, не помню. Даня Зверев и Антон Атаманов, Юля и Лиля, Антон Пархачёв. Велосипеды, Марина и тётя Наташа.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Старшая школа. Много предметов, история, география, русский язык и литература, алгебра и геометрия, Людмила Егоровна, Галина Ивановна, "покажи свой дневник", Ирина Вячеславовна, городские олимпиады: русский язык и литература, соросовские олимпиады, информатика, решение грубой силой, перьевые ручки, стальные перья с иридиевой точкой,  СЮТ, 2-8, Валерий Валерьевич, DOS, NC, "зачем вы стираете?", Windows for Workgroups, PaintBrush, постеры в PaintBrush, IPX/SPX, ещё олимпиады, "почему только Шипилёв на город ходит?", Дрыжаки, первая 3.5" дискета, "Game of Life", Borland C++. Настоящий компьютер! Windows 95, форматирование диска, неподдерживаемый режим, Civilization, английский, The Lion King, QuickBasic, Windows 98, (D)HTML, CSS, Active Desktop, снова СЮТ, Светлана Витальевна, shipilev[at]mail.ru, NetWare, "grant all to everyone", marquee, Лёша Баскаков, библия веб-дизайнера, Платов, 3DSMax, рендеринг по ночам, Спирит, Рунет.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Где-то восьмой класс. Программирование, Владимир Алимович, Pascal, Антон Тимисков, Маша Кротова, по двое за компьютером, Turbo Pascal 5.5, BGI, броуновское движение, законы сохранения, вращение отрезка, PCX/BMP-декодер, масштабирование, динамическая память, куча, T3G, повороты в евклидовом пространстве, "Звёздный мир", опять олимпиады, физика, математика и русский язык, первые места во взрослых отделениях, "закипит ли чайник раньше...", Людмила Дмитриевна, "Комильфо", Романовы, "я туда больше не пойду", Катя Волохо, "Море волнуется раз...", бревно, руки как ветки, "Стартинэйджер", "Я твоя мышка и я тебя съем...", Владимир Иванович, правовая школа, профком, матричные принтеры, ГорОНО и администрация, dial-up интернет, баня, Парламент, Вера Александровна, Дмитрич, Школа Космонавтики, летний сбор, спутник, тёмный интернат, самоуправление, Железная Виктория, шоколадные конфеты, запечёная картошка, Денис Тодрашов, Игорь Шаповалов, Илья Упит, Комитет по законности, "Боже какой пустяк", Орготдел, госпожа Километр, "Летучий голландец", Бирюса, перловка с комарами, FM-2001, штурман -7, гонки.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Это я едва добрался до 9-того класса. Перечитал и с ужасом (и удовольствием) понял, что в 9-11-ом классах по размеру ещё столько же... Универ пока не пережился целиком, нечего толком о младших курсах писать. Но даже для того, чтобы в подробностях вспомнить всё это, нужна ещё целая жизнь.&lt;br /&gt;&lt;br /&gt;Ну как же эти люди справляются с написанием мемуаров?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8712885996841170104-618654122187117036?l=shipilev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shipilev.blogspot.com/feeds/618654122187117036/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shipilev.blogspot.com/2009/01/blog-post.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8712885996841170104/posts/default/618654122187117036'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8712885996841170104/posts/default/618654122187117036'/><link rel='alternate' type='text/html' href='http://shipilev.blogspot.com/2009/01/blog-post.html' title='Память'/><author><name>Aleksey Shipilev:</name><uri>http://www.blogger.com/profile/01270446535942765702</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8712885996841170104.post-761175667130945972</id><published>2008-12-27T13:45:00.000-08:00</published><updated>2009-01-06T15:18:46.056-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='performance'/><title type='text'>Performance Tuning DOs/DON'Ts</title><content type='html'>The reality of performance tuning is horrifying and awesome fun. Every day you working on performance optimization breaks your head at the wall... Every day you find something is not working as you expect: the workload, the system, the methodology, anything.&lt;br /&gt;&lt;br /&gt;A long ago I had came up with several principles the performance engineer should follow. I'm pretty sure that's the common list for every divergent scientist, but anyway.&lt;br /&gt;&lt;br /&gt;This is not the complete list, and the rationale behind the rules might be stated weakly, but the presumed rationale is good though :)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Rule 0. &lt;span style="color: rgb(255, 0, 0);"&gt;&lt;br /&gt;Don't panic,&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;Do one thing a time.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Account the impact of each feature you introduce independently. Don't mask the inefficiencies by doing multiple optimizations together.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Rule 1.&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Don't guess&lt;/span&gt;,&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;Do measure&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Make the profile, identify hotspots, increase your understanding of workload, aid your understanding with good data, check the consistency of your in-mind model basing on this data, etc. Don't just go for wild guess.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Rule 2.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 0, 0);"&gt;Don't assume the measurement is right&lt;/span&gt;,&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;&lt;span style="font-weight: bold;"&gt;Do explore the measurement methodology&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Review the methodology each time you use it, is it applicable for this particular case? Increase the confidence of results, do more runs, use the statistics. Test the data make sense, the intermediate results in methodology make sense, the methodology makes sense.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Rule 3.&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Don't assume anything complex at all,&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;Do assume simple things&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;&lt;br /&gt;Deduce the complex things from the simple ones, test the deducing method, account the corner cases, remember the&lt;br /&gt;corner cases! &lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Rule 4.&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Don't assume simple things work as you expect,&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;Do recheck&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Ha, you thought there is a wide set of axioms available? Absolutely not, you should test the things first, recheck whether the result stays the same, check the conditions where these things are valid.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Rule 5.&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;br /&gt;Don't trust anyone,&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;Do recheck&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;Early detect someone's fault before it screws up your work. Challenge the results, challenge the methodology, challenge the conclusions. Do the same thing by yourself. Make up your own model, ask tricky questions, test the consistency of results.&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Rule 6. &lt;span style="color: rgb(255, 0, 0);"&gt;&lt;br /&gt;Don't trust yourself either&lt;/span&gt;,&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;Do ask others to recheck&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;Should you be susceptible for faults? Of course, you should.&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;Rule 7.&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Don't expect everything is worth your time&lt;/span&gt;,&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;Do preliminary experiments first&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Save your time, set up good experiments to explore the possible outcomes before diving into work.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Rule 8.&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Don't expect preliminary experiment guarantees the outcome&lt;/span&gt;,&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;Do the final tests&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;If that was so simple... sometimes reality is harsh :)&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;Rule 9.&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Don't cry when final tests show the result is loose&lt;/span&gt;,&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;Do screw the thing and make another try&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Just get over it, learn on your mistakes, tweak your imagination to make more creative preliminary experiments next time. Shit happens, anyway.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8712885996841170104-761175667130945972?l=shipilev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shipilev.blogspot.com/feeds/761175667130945972/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shipilev.blogspot.com/2008/12/performance-tuning-dosdonts.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8712885996841170104/posts/default/761175667130945972'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8712885996841170104/posts/default/761175667130945972'/><link rel='alternate' type='text/html' href='http://shipilev.blogspot.com/2008/12/performance-tuning-dosdonts.html' title='Performance Tuning DOs/DON&apos;Ts'/><author><name>Aleksey Shipilev:</name><uri>http://www.blogger.com/profile/01270446535942765702</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8712885996841170104.post-9107558024815479310</id><published>2008-12-25T13:30:00.000-08:00</published><updated>2008-12-25T13:33:42.442-08:00</updated><title type='text'>Christmas eve</title><content type='html'>Kinda very busy with work this week :/&lt;br /&gt;&lt;br /&gt;It looks like most geeks are working on Christmas:&lt;br /&gt;&lt;span style="font-family: monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-style: italic; color: rgb(204, 102, 0);"&gt;"It doesn't really matter what day it is, or what holiday (if any) you're celebrating, because even if you sit at home, alone in your dank basement, without any holidays or friends, I bring you a tiding of great cheer: you can now download Linux-2.6.28, and compile it to your hearts content!&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(204, 102, 0);"&gt;Listen to the cheerful grinding of your harddisk as you reboot into an all-new kernel - and I'm sure that if your computer could smile, it would have a big silly grin on its non-existent face. So as you sit there in your basement, give your computer the holiday cheer too. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 102, 0); font-style: italic;"&gt;In fact, even _if_ you have friends or family, leave them to their endless toil over that christmas ham or turkey, and during the night, when they're asleep, you can give them that magical present of a newly updated computer. When they wake up tomorrow morning, tell them how you saw Santa crawl down the chimney with his USB stick in hand, updating the OS of all good boys and girls. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 102, 0); font-style: italic;"&gt;Ho, ho, ho,&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 102, 0); font-style: italic;"&gt;Linus "almost Santa" Torvalds"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://lkml.org/lkml/2008/12/24/105"&gt;http://lkml.org/lkml/2008/12/24/105&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8712885996841170104-9107558024815479310?l=shipilev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shipilev.blogspot.com/feeds/9107558024815479310/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shipilev.blogspot.com/2008/12/christmas-eve.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8712885996841170104/posts/default/9107558024815479310'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8712885996841170104/posts/default/9107558024815479310'/><link rel='alternate' type='text/html' href='http://shipilev.blogspot.com/2008/12/christmas-eve.html' title='Christmas eve'/><author><name>Aleksey Shipilev:</name><uri>http://www.blogger.com/profile/01270446535942765702</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8712885996841170104.post-5307916124756348769</id><published>2008-12-22T03:23:00.001-08:00</published><updated>2009-01-02T17:22:50.929-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='todo'/><title type='text'>Jedi practices</title><content type='html'>&lt;div&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;"May the Force be with you".&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;I had never be so jediish :) &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;January schedule is generally stabilized:&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(204, 204, 204);"&gt;1 Jan: holidays to begin!&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(204, 204, 204);"&gt;10 Jan: holidays are over...&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(204, 204, 204);"&gt;11 Jan: first working day&lt;/span&gt;&lt;/div&gt;&lt;div&gt;12 Jan: Team's presentation on Q4 2008 results&lt;/div&gt;&lt;div&gt;13 Jan: State Exams for MSc degree&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(204, 204, 204);"&gt;14 Jan: ...ordinary (?) working day...&lt;/span&gt;&lt;/div&gt;&lt;div&gt;15 Jan: MSc thesis defense&lt;br /&gt;&lt;/div&gt;&lt;div&gt;16 Jan: IELTS (Speaking)&lt;/div&gt;&lt;div&gt;17 Jan: IELTS (Reading, Writing, Listening)&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(204, 204, 204);"&gt;18 Jan: happiness (?)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8712885996841170104-5307916124756348769?l=shipilev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shipilev.blogspot.com/feeds/5307916124756348769/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shipilev.blogspot.com/2008/12/jedi-practices.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8712885996841170104/posts/default/5307916124756348769'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8712885996841170104/posts/default/5307916124756348769'/><link rel='alternate' type='text/html' href='http://shipilev.blogspot.com/2008/12/jedi-practices.html' title='Jedi practices'/><author><name>Aleksey Shipilev:</name><uri>http://www.blogger.com/profile/01270446535942765702</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8712885996841170104.post-3471901030918891071</id><published>2008-12-21T15:30:00.000-08:00</published><updated>2008-12-21T15:42:15.580-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='blog'/><title type='text'>Long live, LiveJournal</title><content type='html'>Всё, LiveJournal меня достал. Ушёл на BlogSpot, настроил форвард сюда. Аккаунт всё равно оставляю, ибо френд-лента, комменты и пр.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8712885996841170104-3471901030918891071?l=shipilev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shipilev.blogspot.com/feeds/3471901030918891071/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shipilev.blogspot.com/2008/12/long-live-livejournal.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8712885996841170104/posts/default/3471901030918891071'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8712885996841170104/posts/default/3471901030918891071'/><link rel='alternate' type='text/html' href='http://shipilev.blogspot.com/2008/12/long-live-livejournal.html' title='Long live, LiveJournal'/><author><name>Aleksey Shipilev:</name><uri>http://www.blogger.com/profile/01270446535942765702</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8712885996841170104.post-1459462503072916197</id><published>2008-12-21T05:57:00.000-08:00</published><updated>2008-12-21T14:59:58.168-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='childhood'/><category scheme='http://www.blogger.com/atom/ns#' term='quotes'/><title type='text'>History is the humanity-wide failure log</title><content type='html'>&lt;span style="color: rgb(128, 0, 0);"&gt;&lt;/span&gt;Back in my childhood when I just came to the secondary school I had a lot of new courses. Elementary school gave us really good base in reading, writing and basic knowledge; most of us thought it was the very essence of entire education. Then we came to secondary and have Algebra, Geometry, Physics, Chemistry, Russian Language and Literature, Foreign Languages, Social Studies, History, and all other diversed stuff.&lt;br /&gt;&lt;br /&gt;Many kids complain why do they have to learn all that? Lucky for us, we had a good History teacher(*) who explain "why" from very beginning. She said, &lt;span style="font-weight: bold;"&gt;"We don't know who you'll become, neither you do because you haven't enough experience yet. So we will push along the whole stuff we can to see what interests you the most"&lt;/span&gt;. Though I was only 12 years old, I was way too impressed with her point, and that become the corner-stone of my education in high school. Now I'm frequently using the same phrases when talking to children.&lt;br /&gt;&lt;br /&gt;And then she said another thing which I have no attention to interpret right for years in the high school. She said, &lt;span style="font-weight: bold;"&gt;"The way the History is concerned, the History is the humanity-wide failure log"&lt;/span&gt;. And now, whoever says me the hatred (on the basis of nationality, beliefs, whatever) is acceptable, whoever tells me to punish some social group to prevent something from happening, whoever wants me to believe that's not my business should take over the Holocaust survivor quote first:&lt;br /&gt;&lt;br /&gt;"&lt;span style="color: rgb(128, 0, 0);"&gt;First they came for the  Jews and I did not speak out -- because I was not a Jew. Then they came for the  communists and I did not speak out -- because I was not a communist. Then they came for the  trade unionists and I did not speak out--because I was not a  trade unionist. Then they came for me -- and there was  no one left to speak out for me."&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: right;"&gt;&lt;a href="http://en.wikipedia.org/wiki/First_they_came..."&gt;http://en.wikipedia.org/wiki/First_they_came...&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;hr /&gt;&lt;br /&gt;(*) Actually that was Lyudmila Egorovna, if someone is concerned :)&lt;br /&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8712885996841170104-1459462503072916197?l=shipilev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shipilev.blogspot.com/feeds/1459462503072916197/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shipilev.blogspot.com/2008/12/history-is-humanity-wide-log-of.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8712885996841170104/posts/default/1459462503072916197'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8712885996841170104/posts/default/1459462503072916197'/><link rel='alternate' type='text/html' href='http://shipilev.blogspot.com/2008/12/history-is-humanity-wide-log-of.html' title='History is the humanity-wide failure log'/><author><name>Aleksey Shipilev:</name><uri>http://www.blogger.com/profile/01270446535942765702</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8712885996841170104.post-5037332055842418788</id><published>2008-12-20T15:32:00.001-08:00</published><updated>2008-12-20T15:33:32.743-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='blog'/><category scheme='http://www.blogger.com/atom/ns#' term='howto'/><title type='text'>Cross-posting</title><content type='html'>How to do cross-posting from Blogger to LJ: &lt;a href="http://www.lexislounge.net/2007/09/publish-your-blogger-blog-to.html"&gt;here.&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8712885996841170104-5037332055842418788?l=shipilev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shipilev.blogspot.com/feeds/5037332055842418788/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shipilev.blogspot.com/2008/12/cross-posting.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8712885996841170104/posts/default/5037332055842418788'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8712885996841170104/posts/default/5037332055842418788'/><link rel='alternate' type='text/html' href='http://shipilev.blogspot.com/2008/12/cross-posting.html' title='Cross-posting'/><author><name>Aleksey Shipilev:</name><uri>http://www.blogger.com/profile/01270446535942765702</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8712885996841170104.post-4037415406534747860</id><published>2008-12-20T14:00:00.000-08:00</published><updated>2008-12-20T15:34:11.921-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='humor'/><category scheme='http://www.blogger.com/atom/ns#' term='stories'/><title type='text'>The Parable of the Two Programmers</title><content type='html'>&lt;a href="http://www.csd.uwo.ca/%7Emagi/personal/humour/Computer_Audience/The%20Parable%20of%20the%20Two%20Programmers.html"&gt;&lt;br /&gt;Two Programmers&lt;/a&gt; (Charles and Alan) solve the same problem...&lt;br /&gt;&lt;br /&gt;"At first Charles's supervisor was impressed. But as  he  read  through  the source  code,  he  realized that the project was really much simpler than he had originally though. It now seemed apparent that this was not much of a  challenge even for a beginning programmer.&lt;br /&gt;&lt;br /&gt;Charles did produce about 5 lines of code per day. This is perhaps a little above  average. However, considering the simplicity of the program, it was nothing exceptional. [...] At his next salary review Charles was given a raise which  was  about  half the  inflation over the period. He was not given a promotion. After about a year he became discouraged and left Consolidated."&lt;span style="font-family:monospace;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;At Automated, Alan was complimented for completing his project on schedule. His  supervisor  looked over the program. With a few minutes of thumbing through he saw that the  company  standards  about  structured  programming  were  being observed.  He  quickly gave up attempting to read the program however; it seemed quite incomprehensible. He realized by now that the project was really much more complex  than  he had originally assumed, and he congratulated Alan again on his achievement.&lt;br /&gt;&lt;br /&gt;The team had produced over 3 lines of code per programmer per day. This was about  average,  but,  considering  the complexity of the problem, could be considered to be exceptional. Alan was given a hefty pay  raise,  and  promoted  to Systems Analyst as a reward for his achievement."&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8712885996841170104-4037415406534747860?l=shipilev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shipilev.blogspot.com/feeds/4037415406534747860/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shipilev.blogspot.com/2008/12/parable-of-two-programmers.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8712885996841170104/posts/default/4037415406534747860'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8712885996841170104/posts/default/4037415406534747860'/><link rel='alternate' type='text/html' href='http://shipilev.blogspot.com/2008/12/parable-of-two-programmers.html' title='The Parable of the Two Programmers'/><author><name>Aleksey Shipilev:</name><uri>http://www.blogger.com/profile/01270446535942765702</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8712885996841170104.post-945601716664278981</id><published>2008-12-20T06:02:00.001-08:00</published><updated>2008-12-20T13:49:05.718-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='blog'/><title type='text'>Первая запись</title><content type='html'>That's it!&lt;br /&gt;&lt;br /&gt;Livejournal.com меня окончательно достал.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8712885996841170104-945601716664278981?l=shipilev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://shipilev.blogspot.com/feeds/945601716664278981/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://shipilev.blogspot.com/2008/12/blog-post.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8712885996841170104/posts/default/945601716664278981'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8712885996841170104/posts/default/945601716664278981'/><link rel='alternate' type='text/html' href='http://shipilev.blogspot.com/2008/12/blog-post.html' title='Первая запись'/><author><name>Aleksey Shipilev:</name><uri>http://www.blogger.com/profile/01270446535942765702</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
