<?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:blogger='http://schemas.google.com/blogger/2008' 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-864285536541125824</id><updated>2024-09-09T13:11:34.817+03:00</updated><category term="инструменты"/><category term="программирование"/><category term="переводы"/><category term="subversion"/><category term="бизнес"/><category term="интернет"/><category term="юмор"/><category term="3G"/><category term="железо"/><title type='text'>Николай Осинин</title><subtitle type='html'>Заметки и комментарии, наблюдения и размышления</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://blog.osinin.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/864285536541125824/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://blog.osinin.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Nikolay Osinin</name><uri>http://www.blogger.com/profile/14774170945144013543</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMoyCwdf8YdNIORb2rIRZrK7hb4GEjYde_ufyPD4KjwzICnyyMdtgzzIoReuB0OiG5AFhgHmxv5NMQqNWik1VIHg3oAiIss38kBFUJ1IJdMbhjQAHTw21Os-RvS6We8SM/s220/mikola_white_bgn_96x96.png'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>16</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-864285536541125824.post-6319694571981459269</id><published>2012-06-15T23:52:00.002+03:00</published><updated>2012-06-15T23:52:45.771+03:00</updated><title type='text'>HTTPS, Chrome и его расширения</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
В последние несколько лет, а может и больше, всем нам рассказывают о том, как полезно шифровать данные при передаче. Для этого рекомендуют использовать вместо&amp;nbsp;&lt;a href=&quot;http://ru.wikipedia.org/wiki/HTTP&quot;&gt;HTTP&lt;/a&gt;&amp;nbsp;протокола его «шифрованный» вариант — &lt;a href=&quot;http://ru.wikipedia.org/wiki/HTTPS&quot;&gt;HTTPS&lt;/a&gt;. И многие сайты уже имеют HTTPS-версию. Например, Gmail даже принудительно&amp;nbsp;переадресовывает&amp;nbsp;всех своих пользователей (если мне не изменяет память)&amp;nbsp;на «шифрованную» версию.&lt;br /&gt;
&lt;br /&gt;
Ну, думаю я, ладно. Раз уж образовывается такой тренд, то надо «быть в тренде» :) И установил в свой браузер Chrome расширение (extension по-нашему) под названием «&lt;a href=&quot;https://chrome.google.com/webstore/detail/flcpelgcagfhfoegekianiofphddckof&quot;&gt;KB SSL Enforcer&lt;/a&gt;». При открытии любого сайта это расширение пытается найти его HTTPS-версию и перейти на неё. Всё бы хорошо, но вот некоторые сайты, и даже домены, он в упор не понимает. Пробовал добавлять в whitelist — не работает. Например, с любого блога в ЖЖ отправляет на какую-то «секретную» страницу:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgB0akNw-MsLuvv5HDZUr4AuO7GBTgphr5cKY8olpV0DGioKIE_J5in4NX7PTeNmYKLPlfOfKLmO5v1owhoFrjqTu1ZoMxUIzShwzCtLYYQBvfd82x7G9Tu8nlaIizmTaANgcWIq-fc2FU/s1600/LiveJournal+Secure+Server.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;181&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgB0akNw-MsLuvv5HDZUr4AuO7GBTgphr5cKY8olpV0DGioKIE_J5in4NX7PTeNmYKLPlfOfKLmO5v1owhoFrjqTu1ZoMxUIzShwzCtLYYQBvfd82x7G9Tu8nlaIizmTaANgcWIq-fc2FU/s320/LiveJournal+Secure+Server.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Короче, удалил я это расширение. Надо искать альтернативу. Кстати, для FireFox я одно время использовал что-то по имени «HTTPS Everywhere»…&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.osinin.com/feeds/6319694571981459269/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://blog.osinin.com/2012/06/https-chrome.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/864285536541125824/posts/default/6319694571981459269'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/864285536541125824/posts/default/6319694571981459269'/><link rel='alternate' type='text/html' href='http://blog.osinin.com/2012/06/https-chrome.html' title='HTTPS, Chrome и его расширения'/><author><name>Nikolay Osinin</name><uri>http://www.blogger.com/profile/14774170945144013543</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMoyCwdf8YdNIORb2rIRZrK7hb4GEjYde_ufyPD4KjwzICnyyMdtgzzIoReuB0OiG5AFhgHmxv5NMQqNWik1VIHg3oAiIss38kBFUJ1IJdMbhjQAHTw21Os-RvS6We8SM/s220/mikola_white_bgn_96x96.png'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgB0akNw-MsLuvv5HDZUr4AuO7GBTgphr5cKY8olpV0DGioKIE_J5in4NX7PTeNmYKLPlfOfKLmO5v1owhoFrjqTu1ZoMxUIzShwzCtLYYQBvfd82x7G9Tu8nlaIizmTaANgcWIq-fc2FU/s72-c/LiveJournal+Secure+Server.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-864285536541125824.post-8062481734906656155</id><published>2011-06-11T17:31:00.027+03:00</published><updated>2011-06-11T18:03:50.848+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="инструменты"/><category scheme="http://www.blogger.com/atom/ns#" term="программирование"/><title type='text'>Google Engineering Tools blog — новый блог от разработчиков империи добра</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Чуть больше месяца назад Google открыла ещё один блог —&amp;nbsp;&lt;a href=&quot;http://google-engtools.blogspot.com/&quot;&gt;Google Engineering Tools blog&lt;/a&gt;. Это блог команды, которая занимается в Google инструментарием для разработчиков и инфраструктурой, обеспечивающей выпуск всех их продуктов. Обещают делится своими накопленными знаниями на эту тему. Добавляю себе в Google Reader.&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://blog.osinin.com/feeds/8062481734906656155/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://blog.osinin.com/2011/06/google-engineering-tools-blog.html#comment-form' title='Комментарии: 1'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/864285536541125824/posts/default/8062481734906656155'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/864285536541125824/posts/default/8062481734906656155'/><link rel='alternate' type='text/html' href='http://blog.osinin.com/2011/06/google-engineering-tools-blog.html' title='Google Engineering Tools blog — новый блог от разработчиков империи добра'/><author><name>Nikolay Osinin</name><uri>http://www.blogger.com/profile/14774170945144013543</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMoyCwdf8YdNIORb2rIRZrK7hb4GEjYde_ufyPD4KjwzICnyyMdtgzzIoReuB0OiG5AFhgHmxv5NMQqNWik1VIHg3oAiIss38kBFUJ1IJdMbhjQAHTw21Os-RvS6We8SM/s220/mikola_white_bgn_96x96.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-864285536541125824.post-7312032137972759118</id><published>2011-05-18T15:12:00.000+03:00</published><updated>2011-05-18T15:12:37.728+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="subversion"/><category scheme="http://www.blogger.com/atom/ns#" term="инструменты"/><title type='text'>Ошибка при доступе к CodePlex из Subversion 1.7</title><content type='html'>Обнаружил, что Subversion 1.7 (который ещё в разработке) не работает с проектами размещенными на &lt;a href=&quot;http://codeplex.com/&quot;&gt;CodePlex&lt;/a&gt;. Ни извлечь рабочую копию, ни обновить не получается. &lt;br /&gt;
&lt;br /&gt;
Выяснил, что проблема со шлюзом &lt;a href=&quot;http://svnbridge.codeplex.com/&quot;&gt;SvnBridge&lt;/a&gt;, который CodePlex использует для предоставления доступа Subversion-клиентов, и HTTP-библиотекой ra_serf, которая используется в последней версии Subversion.&lt;br /&gt;
&lt;br /&gt;
Почти год назад в проекте SvnBridge была зарегистрирована &lt;a href=&quot;http://svnbridge.codeplex.com/workitem/15305?ProjectName=svnbridge&quot;&gt;ошибка&lt;/a&gt;. Реакции со стороны разработчиков до сих пор никакой. Поэтому надо решать проблему на своей стороне.&lt;br /&gt;
&lt;br /&gt;
В Subversion есть возможность указать какую библиотеку использовать для доступа по HTTP(S) протоколу. Открываем файл &lt;code&gt;%USERPROFILE%\Subversion\servers&lt;/code&gt;. Находим секцию &lt;code&gt;[groups]&lt;/code&gt; и добавляем еще одну группу для проектов на СodePlex:&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;&lt;br /&gt;
[groups]&lt;br /&gt;
codeplex = *.codeplex.com&lt;br /&gt;
&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
Затем добавляем секцию [codeplex] и в ней пишем, что для серверов этой группы надо использовать ra_neon:&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;&lt;br /&gt;
[codeplex]&lt;br /&gt;
http-library=neon&lt;br /&gt;
&lt;/code&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.osinin.com/feeds/7312032137972759118/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://blog.osinin.com/2011/05/codeplex-subversion-17.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/864285536541125824/posts/default/7312032137972759118'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/864285536541125824/posts/default/7312032137972759118'/><link rel='alternate' type='text/html' href='http://blog.osinin.com/2011/05/codeplex-subversion-17.html' title='Ошибка при доступе к CodePlex из Subversion 1.7'/><author><name>Nikolay Osinin</name><uri>http://www.blogger.com/profile/14774170945144013543</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMoyCwdf8YdNIORb2rIRZrK7hb4GEjYde_ufyPD4KjwzICnyyMdtgzzIoReuB0OiG5AFhgHmxv5NMQqNWik1VIHg3oAiIss38kBFUJ1IJdMbhjQAHTw21Os-RvS6We8SM/s220/mikola_white_bgn_96x96.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-864285536541125824.post-4578842789947121844</id><published>2011-05-03T23:41:00.001+03:00</published><updated>2011-05-03T23:44:37.943+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="инструменты"/><category scheme="http://www.blogger.com/atom/ns#" term="интернет"/><title type='text'>Параметр &quot;GPU Accelerated Canvas 2D&quot; в Google Chrome dev</title><content type='html'>Вчера обновился Google Chrome dev-ветки до версии 12.0.742.16.&lt;br /&gt;
И опять страницы не рендерятся при переключении вкладок. Сломали это пару версий назад, и в этой версии ещё не починили.&lt;br /&gt;
&lt;br /&gt;
Лечится это отключением параметра &quot;GPU Accelerated Canvas 2D&quot; на странице about:flags.&lt;br /&gt;
&lt;br /&gt;
Вот в такие &quot;дебри&quot; приходится лезть когда пытаешься использовать bleeding edge product.</content><link rel='replies' type='application/atom+xml' href='http://blog.osinin.com/feeds/4578842789947121844/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://blog.osinin.com/2011/05/google-chrome-dev-12.html#comment-form' title='Комментарии: 1'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/864285536541125824/posts/default/4578842789947121844'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/864285536541125824/posts/default/4578842789947121844'/><link rel='alternate' type='text/html' href='http://blog.osinin.com/2011/05/google-chrome-dev-12.html' title='Параметр &quot;GPU Accelerated Canvas 2D&quot; в Google Chrome dev'/><author><name>Nikolay Osinin</name><uri>http://www.blogger.com/profile/14774170945144013543</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMoyCwdf8YdNIORb2rIRZrK7hb4GEjYde_ufyPD4KjwzICnyyMdtgzzIoReuB0OiG5AFhgHmxv5NMQqNWik1VIHg3oAiIss38kBFUJ1IJdMbhjQAHTw21Os-RvS6We8SM/s220/mikola_white_bgn_96x96.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-864285536541125824.post-4528618933511298761</id><published>2011-04-27T19:47:00.001+03:00</published><updated>2011-04-27T23:48:15.329+03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="инструменты"/><category scheme="http://www.blogger.com/atom/ns#" term="программирование"/><title type='text'>RedGate пытается реабилитировать .NET Reflector</title><content type='html'>Вчера компания RedGate &lt;a href=&quot;http://www.reflector.net/2011/04/why-we-reversed-some-of-our-reflector-decision/&quot;&gt;объявила&lt;/a&gt; от том, что они всё-таки выпустят версию .NET Reflector 6.8 &quot;без срока годности&quot;. &lt;br /&gt;
&lt;br /&gt;
Напомню, что несколько лет назад они купили Reflector и встроили в него механизм &quot;протухания&quot;. Приложение работало несколько месяцев, а затем сообщало о необходимости обновиться и отказывалось работать. Приходилось скачивать и устанавливать с сайта свежую версию. И всё повторялось через какое-то время. &lt;br /&gt;
&lt;br /&gt;
А потом произошло то, что вызвало бурю негативных эмоций у многих пользователей. В феврале 2011 года RedGate радостно сообщил, что отныне будут только платные версии Reflector, а пробные будут ограничены двумя неделями использования. &lt;br /&gt;
&lt;br /&gt;
Сообщество разработчиков недолго собираясь отреагировало созданием альтернативного open-source проекта &lt;a href=&quot;http://www.ilspy.net/&quot;&gt;ILSpy&lt;/a&gt;. Инструмент очень похож по функционалу на Reflector. И многие (я в их числе) уже начали использовать этот инструмент. &lt;br /&gt;
&lt;br /&gt;
Я пользовался рефлектором примерно с 2005 года. Меня очень насторожила новость в 2008 году о том, что RedGate покупает Reflector. Оказывается предчувствие не подвело. Можно было конечно пользоваться другими инструментами. Да хоть тот же ildasm :) Но зачем, если был выбор. А RedGate оставил без выбора.&lt;br /&gt;
&lt;br /&gt;
Понятно и вполне объяснимо, что RedGate - это коммерческая компания и их цель зарабатывать деньги, чтобы потом их вкладывать в развитие продукта. Но ведь Reflector очень уж специфичный продукт и рынок у него небольшой. Не всякий .NET разработчик им пользуется. Да и те могут отказаться при такой тенденции.&lt;br /&gt;
&lt;br /&gt;
И, по-моему, RedGate уже опоздал.</content><link rel='replies' type='application/atom+xml' href='http://blog.osinin.com/feeds/4528618933511298761/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://blog.osinin.com/2011/04/redgate-net-reflector.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/864285536541125824/posts/default/4528618933511298761'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/864285536541125824/posts/default/4528618933511298761'/><link rel='alternate' type='text/html' href='http://blog.osinin.com/2011/04/redgate-net-reflector.html' title='RedGate пытается реабилитировать .NET Reflector'/><author><name>Nikolay Osinin</name><uri>http://www.blogger.com/profile/14774170945144013543</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMoyCwdf8YdNIORb2rIRZrK7hb4GEjYde_ufyPD4KjwzICnyyMdtgzzIoReuB0OiG5AFhgHmxv5NMQqNWik1VIHg3oAiIss38kBFUJ1IJdMbhjQAHTw21Os-RvS6We8SM/s220/mikola_white_bgn_96x96.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-864285536541125824.post-2621303802499292428</id><published>2011-03-22T14:44:00.000+02:00</published><updated>2011-03-22T14:44:52.705+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="subversion"/><category scheme="http://www.blogger.com/atom/ns#" term="инструменты"/><title type='text'>Ошибка при получении рабочей копии из Subversion</title><content type='html'>Иногда при длительных операциях (checkout, commit) с рабочими копиями Subversion большого размера возникает следующая ошибка:&lt;br /&gt;
&lt;code&gt;&lt;blockquote&gt;SSL negotiation failed: SSL error: parse tlsext&lt;/blockquote&gt;&lt;/code&gt;&lt;br /&gt;
Такая ошибка возникает, когда Subversion работает поверх Apache по протоколу HTTPS. Чтобы устранить эту проблему надо отключить TLS в настройках сервера Apache. Открываем файл конфигурации httpd.conf, находим параметр SSLProtocol и заменяем значение на следующее:&lt;br /&gt;
&lt;code&gt;&lt;blockquote&gt;SSLProtocol  -ALL +SSLv2 +SSLv3&lt;/blockquote&gt;&lt;/code&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.osinin.com/feeds/2621303802499292428/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://blog.osinin.com/2011/03/subversion.html#comment-form' title='Комментарии: 2'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/864285536541125824/posts/default/2621303802499292428'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/864285536541125824/posts/default/2621303802499292428'/><link rel='alternate' type='text/html' href='http://blog.osinin.com/2011/03/subversion.html' title='Ошибка при получении рабочей копии из Subversion'/><author><name>Nikolay Osinin</name><uri>http://www.blogger.com/profile/14774170945144013543</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMoyCwdf8YdNIORb2rIRZrK7hb4GEjYde_ufyPD4KjwzICnyyMdtgzzIoReuB0OiG5AFhgHmxv5NMQqNWik1VIHg3oAiIss38kBFUJ1IJdMbhjQAHTw21Os-RvS6We8SM/s220/mikola_white_bgn_96x96.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-864285536541125824.post-2338359737654457881</id><published>2011-02-07T08:45:00.003+02:00</published><updated>2011-02-07T09:25:52.277+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="инструменты"/><title type='text'>Резервное копирование и открытые файлы</title><content type='html'>Многим ИТ-специалистам известно, что резервное копирование это хорошо и правильно. Даже некоторые пользователи не станут с этим спорить. Независимо от того, делают  они резервные копии или нет.&lt;br /&gt;
&lt;br /&gt;
Но при создании резервных копий есть один неприятный момент. Открытые файлы. Дело в том, что если при создании резервной копии среди обрабатываемых файлов окажутся открытые файлы, то, либо процесс создания копии завершится неуспешно, либо в резервную копию попадет &quot;подозрительный&quot; файл (или вообще не попадёт). И если после этого ваша резервная копия содержит &quot;подозрительные&quot; файлы или не содержит все файлы, которые вы намеревались скопировать, то можно ли доверять такой копии? По-моему, нет.&lt;br /&gt;
&lt;br /&gt;
Недавно &lt;a href=&quot;http://andybor.blogspot.com/&quot;&gt;Андрей Бороздин&lt;/a&gt; рассказал о том, &lt;a href=&quot;http://andybor.blogspot.com/2011/02/blog-post.html&quot;&gt;как узнать, кто заблокировал файл или папку&lt;/a&gt;. В его статье речь идёт о файлах открытых локально.&lt;br /&gt;
&lt;br /&gt;
А как быть если резервное копирование выполняется на сервере по расписанию и нет возможности запустить Process Explorer или Unlocker?&lt;br /&gt;
&lt;br /&gt;
Для этого можно использовать утилиту &lt;a href=&quot;http://technet.microsoft.com/en-us/sysinternals/bb897552&quot;&gt;PsFile&lt;/a&gt; из набора Sysinternals. Эта утилита командной строки не имеет графического интерфейса и хорошо подходит для автоматически выполняемых задач. На сайте есть описание всех параметров вызова (их немного). Я же приведу несколько примеров использования этой утилиты.&lt;br /&gt;
&lt;ol&gt;&lt;li&gt;Вывести список файлов открытых удаленно:&lt;/li&gt;
&lt;code&gt;&lt;b&gt;psfile&lt;/b&gt;&lt;/code&gt;
&lt;li&gt;Закрыть файлы в папке &lt;b&gt;c:\folder1\&lt;/b&gt; открытые удаленно:&lt;/li&gt;
&lt;code&gt;&lt;b&gt;psfile c:\folder1\ -c&lt;/b&gt;&lt;/code&gt;
&lt;li&gt;Удаленно закрыть файл &lt;b&gt;c:\folder1\file1.txt&lt;/b&gt;  на компьютере &lt;b&gt;comp1&lt;/b&gt; (для выполнения этой команды потребуются права администратора comp1):&lt;/li&gt;
&lt;code&gt;&lt;b&gt;psfile \\comp1 c:\folder1\file1.txt -c&lt;/b&gt;&lt;/code&gt; &lt;/ol&gt;&lt;br /&gt;
Пользуйтесь на здоровье. &lt;br /&gt;
И пусть ваши резервные копии вам никогда не пригодятся. ;-)</content><link rel='replies' type='application/atom+xml' href='http://blog.osinin.com/feeds/2338359737654457881/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://blog.osinin.com/2011/02/blog-post.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/864285536541125824/posts/default/2338359737654457881'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/864285536541125824/posts/default/2338359737654457881'/><link rel='alternate' type='text/html' href='http://blog.osinin.com/2011/02/blog-post.html' title='Резервное копирование и открытые файлы'/><author><name>Nikolay Osinin</name><uri>http://www.blogger.com/profile/14774170945144013543</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMoyCwdf8YdNIORb2rIRZrK7hb4GEjYde_ufyPD4KjwzICnyyMdtgzzIoReuB0OiG5AFhgHmxv5NMQqNWik1VIHg3oAiIss38kBFUJ1IJdMbhjQAHTw21Os-RvS6We8SM/s220/mikola_white_bgn_96x96.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-864285536541125824.post-7821953735461480853</id><published>2011-02-02T19:10:00.000+02:00</published><updated>2011-02-02T19:10:09.661+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="программирование"/><category scheme="http://www.blogger.com/atom/ns#" term="юмор"/><title type='text'>Прочный switch</title><content type='html'>Большинству программистов достаточно использовать в коде &lt;code&gt;if (readyState == 4)&lt;/code&gt;. Но некоторые программисты настолько суровы, что проверяют switch на прочность вот таким способом:&lt;br /&gt;
&lt;blockquote&gt;&lt;pre&gt;onreadystatechange = function(){
    switch(httpReq.readyState){
        case 0: if(httpReq.readyState == 0){
            break;
        }
        case 1: if(httpReq.readyState == 1){
            break;
        }
        case 2: if(httpReq.readyState == 2){
            break;
        }
        case 3: if(httpReq.readyState == 3){
            break;
        }
        case 4: if(httpReq.readyState == 4){
            if(httpReq.status == 200){
                var val = httpReq.responseText;

                alert(httpReq.responseText)
                dataInsert(val);
                break;
            }
            else{
                alert(&amp;quot;Error &amp;quot;+httpReq.status);
                break;
            }
        }
    }
};&lt;/pre&gt;&lt;/blockquote&gt;:-)&lt;br /&gt;
&lt;br /&gt;
Оригинал: &lt;a href=&quot;http://thedailywtf.com/Articles/Sturdy-Switch.aspx&quot;&gt;Sturdy Switch&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.osinin.com/feeds/7821953735461480853/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://blog.osinin.com/2011/02/switch.html#comment-form' title='Комментарии: 4'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/864285536541125824/posts/default/7821953735461480853'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/864285536541125824/posts/default/7821953735461480853'/><link rel='alternate' type='text/html' href='http://blog.osinin.com/2011/02/switch.html' title='Прочный switch'/><author><name>Nikolay Osinin</name><uri>http://www.blogger.com/profile/14774170945144013543</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMoyCwdf8YdNIORb2rIRZrK7hb4GEjYde_ufyPD4KjwzICnyyMdtgzzIoReuB0OiG5AFhgHmxv5NMQqNWik1VIHg3oAiIss38kBFUJ1IJdMbhjQAHTw21Os-RvS6We8SM/s220/mikola_white_bgn_96x96.png'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-864285536541125824.post-1735403653902023585</id><published>2011-01-25T11:32:00.003+02:00</published><updated>2011-01-25T17:14:49.406+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="переводы"/><category scheme="http://www.blogger.com/atom/ns#" term="программирование"/><category scheme="http://www.blogger.com/atom/ns#" term="юмор"/><title type='text'>Промышленный инкремент</title><content type='html'>Оригинал: &lt;a href=&quot;http://thedailywtf.com/Articles/Enterprise-Incrementation.aspx&quot;&gt;CodeSOD: Enterprise Incrementation&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
«Последние шесть месяцев», пишет &lt;b&gt;Jose C&lt;/b&gt;, «я сражался с нашим поставщиком — назовем их „Партнёры Предприятия“ — пытаясь получить исходные тексты модуля „Предприятие“ из их системы „Промышленная ERP для предприятий“. В настоящее время мы обычно не ожидаем исходных текстов от поставщика программного обеспечения, но тогда это было особенностью нашего контракта. Частично, потому что они написали это на наши деньги, но в основном, потому что нам надо было сделать кое-какие серьезные изменения, чтобы заставить все это работать.»&lt;br /&gt;
&lt;br /&gt;
«Они извинялись раз за разом, но все это были извинения типа „нам надо еще раз убедиться, что наш код соответствует стандартам выпуска Партнёров Предприятия и, что все полностью документировано и может сопровождаться нашей командой сопровождения Предприятия.“ И вот, наконец, оно пришло.»&lt;/p&gt;&lt;br /&gt;
Jose продолжает, «там было множество всяких перлов, но эти два были моими любимыми.»&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;&lt;pre&gt;function IncrementByOne(input) {
    var output = parseInt(input);
    return output + 1;
}

function AssignStringInToOut(input) {
    var output = input;
    return input;
}
&lt;/pre&gt;&lt;/blockquote&gt;&lt;br /&gt;
Jose добавляет, «не говорил ли я вам, что это были консультанты со ставкой $200/час? О, и большая часть кода была без комментариев... но в то же время, я предполагаю, вы можете сказать, что этот код уже самодокументируемый.»</content><link rel='replies' type='application/atom+xml' href='http://blog.osinin.com/feeds/1735403653902023585/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://blog.osinin.com/2011/01/codesod.html#comment-form' title='Комментарии: 4'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/864285536541125824/posts/default/1735403653902023585'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/864285536541125824/posts/default/1735403653902023585'/><link rel='alternate' type='text/html' href='http://blog.osinin.com/2011/01/codesod.html' title='Промышленный инкремент'/><author><name>Nikolay Osinin</name><uri>http://www.blogger.com/profile/14774170945144013543</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMoyCwdf8YdNIORb2rIRZrK7hb4GEjYde_ufyPD4KjwzICnyyMdtgzzIoReuB0OiG5AFhgHmxv5NMQqNWik1VIHg3oAiIss38kBFUJ1IJdMbhjQAHTw21Os-RvS6We8SM/s220/mikola_white_bgn_96x96.png'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-864285536541125824.post-513071633328368214</id><published>2011-01-23T23:24:00.007+02:00</published><updated>2011-01-23T23:32:59.420+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="бизнес"/><category scheme="http://www.blogger.com/atom/ns#" term="программирование"/><title type='text'>Мифы о 10-кратной производительности</title><content type='html'>Хорошо известный &lt;a href=&quot;http://www.stevemcconnell.com/&quot;&gt;Стив МакКоннелл&lt;/a&gt; в одной из своих последних публикаций «Мифы о 10-кратной производительности: где же 10-кратное вознаграждение?» (&lt;a href=&quot;http://forums.construx.com/blogs/stevemcc/archive/2011/01/22/10x-productivity-myths-where-s-the-10x-difference-in-compensation.aspx&quot;&gt;10x Productivity Myths: Where’s the 10x Difference in Compensation?&lt;/a&gt;) отвечает на вопрос «Почему же вознаграждение программиста не соответствует его производительности?».&lt;br /&gt;
&lt;br /&gt;
Многие разработчики программного обеспечения наверняка слышали утверждение, что производительность программистов может отличаться на порядки. Это вроде бы даже подтверждено некоторыми исследователями в области разработки ПО. И Стив МакКоннелл тоже об этом писал.&lt;br /&gt;
&lt;br /&gt;
С момента этого «открытия» и до сего времени многих программистов беспокоит вопрос: «А где же компенсация соразмерная моей производительности?». И не находят они ответ на этот вопрос. А может потому, что для определения соотношения производительности и вознаграждения арифметика не помощник?&lt;br /&gt;
&lt;br /&gt;
Стив в своей статье пытается дать этому объяснение. Он обнаружил, что за много лет сформировалось несколько наивных и просто неверных предположений относительно производительности и вознаграждения с точки зрения бизнеса. Эти предположения он и называет «мифами». Возможно, мне следовало бы перевести их полностью вместе с пояснениями. А пока я приведу их краткий список:&lt;br /&gt;
&lt;br /&gt;
Миф 1. Парень, сидящий рядом со мной получает столько, сколько заслуживает.&lt;br /&gt;
Миф 2. «Производительность программирования» = «ценность для бизнеса».&lt;br /&gt;
Миф 3. Высокая отдача должна быть вознаграждена высоким окладом.&lt;br /&gt;
Миф 4. Компании пытаются платить людям основываясь на ценности для бизнеса.&lt;br /&gt;
Миф 5. Если компания хочет платить на основе производительности, то следует достаточно осмысленно подходить к измерению индивидуальной производительности при принятии решении о вознаграждении.&lt;br /&gt;
Миф 6. Компании не регулируют оплату за разницу в производительности.&lt;br /&gt;
&lt;br /&gt;
В итоге Стив приходит к выводу, что вознаграждение должно соответствовать производительности. Но реализация этого правила на практике чрезвычайна затруднительна. &lt;br /&gt;
&lt;blockquote&gt;My overall conclusion is that paying for productivity  on any more than a very-rough-approximation basis is a panacea that cannot practically be achieved.&lt;/blockquote&gt;&lt;br /&gt;
А что ты думаешь, читатель?</content><link rel='replies' type='application/atom+xml' href='http://blog.osinin.com/feeds/513071633328368214/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://blog.osinin.com/2011/01/10.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/864285536541125824/posts/default/513071633328368214'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/864285536541125824/posts/default/513071633328368214'/><link rel='alternate' type='text/html' href='http://blog.osinin.com/2011/01/10.html' title='Мифы о 10-кратной производительности'/><author><name>Nikolay Osinin</name><uri>http://www.blogger.com/profile/14774170945144013543</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMoyCwdf8YdNIORb2rIRZrK7hb4GEjYde_ufyPD4KjwzICnyyMdtgzzIoReuB0OiG5AFhgHmxv5NMQqNWik1VIHg3oAiIss38kBFUJ1IJdMbhjQAHTw21Os-RvS6We8SM/s220/mikola_white_bgn_96x96.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-864285536541125824.post-74755770529774244</id><published>2011-01-22T14:30:00.003+02:00</published><updated>2011-01-22T14:40:09.713+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="бизнес"/><title type='text'>О корпоративной культуре на примере Netflix</title><content type='html'>&lt;a href=&quot;http://www.kraynov.com&quot;&gt;Макс Крайнов&lt;/a&gt; опубликовал краткий перевод презентации компании &lt;a href=&quot;http://www.netflix.com/&quot;&gt;Netflix&lt;/a&gt;. В моем вольном переводе название звучит как «Справочное руководство по нашей культуре свободы и ответственности» (Reference Guide on our  Freedom &amp;amp; Responsibility  Culture). &lt;br /&gt;
&lt;br /&gt;
В документе описаны не только обязательства компании перед работником, но и обязательства работника перед компанией. Вернее, это не обязательства, а скорее соглашения, которые должны принять обе стороны.&lt;br /&gt;
&lt;br /&gt;
Удивительно простые и ясные вещи написаны. В тоже самое время некоторые из них могут потребовать значительных усилий, чтобы их выполнить. Лично для меня. Например:&lt;br /&gt;
&lt;blockquote&gt;Если имеющиеся догмы неверны, их нужно опрокинуть и подсказать новые подходы.&lt;/blockquote&gt;Я с легкостью могу предлагать новые подходы и давать советы. А вот признаться самому себе, что твоя догма неверна, и опрокинуть её гораздо сложней. Я очень упрямый человек и это является определенным препятствием.&lt;br /&gt;
&lt;br /&gt;
Ещё очень понравилось, то что в списке есть такая вещь (или ценность) как честность. По-моему, честности очень недостает в corporate world.&lt;br /&gt;
&lt;br /&gt;
Короче, я еще раз перечитаю эту &lt;a href=&quot;http://www.slideshare.net/reed2001/culture-1798664&quot;&gt;презентацию&lt;/a&gt;.</content><link rel='replies' type='application/atom+xml' href='http://blog.osinin.com/feeds/74755770529774244/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://blog.osinin.com/2011/01/netflix.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/864285536541125824/posts/default/74755770529774244'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/864285536541125824/posts/default/74755770529774244'/><link rel='alternate' type='text/html' href='http://blog.osinin.com/2011/01/netflix.html' title='О корпоративной культуре на примере Netflix'/><author><name>Nikolay Osinin</name><uri>http://www.blogger.com/profile/14774170945144013543</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMoyCwdf8YdNIORb2rIRZrK7hb4GEjYde_ufyPD4KjwzICnyyMdtgzzIoReuB0OiG5AFhgHmxv5NMQqNWik1VIHg3oAiIss38kBFUJ1IJdMbhjQAHTw21Os-RvS6We8SM/s220/mikola_white_bgn_96x96.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-864285536541125824.post-5021682028086664585</id><published>2010-03-23T10:33:00.001+02:00</published><updated>2010-03-23T10:33:58.183+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="железо"/><title type='text'>Как в нетбуке ViewSonic VNB101 звук «зажевало»</title><content type='html'>Недавно попросили меня посмотреть проблемный нетбук &lt;a href=&quot;http://www.viewsoniceurope.com/ru/products/pcs/netbook/vnb101.htm&quot;&gt;ViewSoniс VNB101&lt;/a&gt;. Что случилось? Звук, говорят, &amp;laquo;зажевало&amp;raquo;. &lt;br /&gt;
&lt;br /&gt;
Я&amp;nbsp;сразу не&amp;nbsp;понял. Проверил. ОС&amp;nbsp;&amp;mdash; Windows XP&amp;nbsp;SP3. При проигрывании любого файла (и&amp;nbsp;WAV, и&amp;nbsp;MP3) оказалось, что звук действительно какой-то жёванный, рваный, с&amp;nbsp;паузами. Обновил драйверы&amp;nbsp;&amp;mdash; все по&amp;nbsp;прежнему. Ну, думаю, быстрей будет переустановить систему, и&amp;nbsp;начал бэкапить файлы с&amp;nbsp;нетбука на&amp;nbsp;внешний диск. И&amp;nbsp;тут я&amp;nbsp;обращаю внимание, что скорость чтения с&amp;nbsp;диска подозрительно низкая (~1,8&amp;nbsp;Мбайт/с). Дай-ка посмотрю свойства контроллера дискового. Открываю диспетчер устройств, нахожу ветку &amp;laquo;IDE ATA/ATAPI controllers&amp;raquo;, открываю свойства &amp;laquo;Primary IDE Channel&amp;raquo;. На&amp;nbsp;вкладке &amp;laquo;Advanced Settings&amp;raquo; вижу, что свойство &amp;laquo;Transfer Mode&amp;raquo; установлено в&amp;nbsp;&amp;laquo;PIO Only&amp;raquo;, а&amp;nbsp;свойство &amp;laquo;Current Transfer Mode&amp;raquo; имеет значение &amp;laquo;PIO mode 5&amp;raquo;. Переключаю &amp;laquo;Transfer Mode&amp;raquo; в&amp;nbsp;&amp;laquo;DMA if&amp;nbsp;available&amp;raquo;, перегружаю нетбук. И... вуаля. Звук есть, неплохой такой звук. Не&amp;nbsp;жёванный и&amp;nbsp;не&amp;nbsp;рваный, а&amp;nbsp;очень даже цельный (ну&amp;nbsp;насколько он&amp;nbsp;таким может быть в&amp;nbsp;нетбуке ;). Да&amp;nbsp;и&amp;nbsp;скорость чтения с&amp;nbsp;диска стала приличной (~16&amp;nbsp;Мбайт/с).</content><link rel='replies' type='application/atom+xml' href='http://blog.osinin.com/feeds/5021682028086664585/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://blog.osinin.com/2010/03/viewsonic-vnb101.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/864285536541125824/posts/default/5021682028086664585'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/864285536541125824/posts/default/5021682028086664585'/><link rel='alternate' type='text/html' href='http://blog.osinin.com/2010/03/viewsonic-vnb101.html' title='Как в нетбуке ViewSonic VNB101 звук «зажевало»'/><author><name>Nikolay Osinin</name><uri>http://www.blogger.com/profile/14774170945144013543</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMoyCwdf8YdNIORb2rIRZrK7hb4GEjYde_ufyPD4KjwzICnyyMdtgzzIoReuB0OiG5AFhgHmxv5NMQqNWik1VIHg3oAiIss38kBFUJ1IJdMbhjQAHTw21Os-RvS6We8SM/s220/mikola_white_bgn_96x96.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-864285536541125824.post-1989018961929953254</id><published>2010-01-27T17:21:00.001+02:00</published><updated>2010-01-27T17:22:57.180+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="переводы"/><title type='text'>20 «нельзя» Rails разработки</title><content type='html'>Оригинал: &lt;a href=&quot;http://chadfowler.com/2009/4/1/20-rails-development-no-no-s&quot;&gt;20 Rails Development No-No&#39;s&lt;/a&gt; by Chad Fowler&lt;br /&gt;
&lt;br /&gt;
Вчера я спросил в твиттере: «Rails программисты, приведите пример одной вещи, найденной в чужом Rails коде, которую вы всегда считали неправильной?»&lt;br /&gt;
Достаточно много людей ответило и несколько спросили не собираюсь ли я публиковать сгруппированные ответы. Это я и попробовал. Я не обязательно согласен со всем, что здесь написано. Хотелось бы услышать больше в комментариях.&lt;br /&gt;
&lt;br /&gt;
1. Код в представлениях (views)&lt;br /&gt;
&lt;br /&gt;
2. Табуляция вместо пробелов и плохих отступов&lt;br /&gt;
&lt;br /&gt;
3. Плохие тесты или их отсутствие&lt;br /&gt;
&lt;br /&gt;
4. Неправильное использование полиморфных ассоциаций и single-table наследование&lt;br /&gt;
&lt;br /&gt;
5. Бесцеремонная обработка исключений&lt;br /&gt;
&lt;br /&gt;
6. Случайное использование локальных переменных&lt;br /&gt;
&lt;br /&gt;
7. Код, который генерирует предупреждения Ruby&lt;br /&gt;
&lt;br /&gt;
8. Код, который использует возможности Rals :)&lt;br /&gt;
&lt;br /&gt;
9. Неправильное использование validates_uniqueness_of&lt;br /&gt;
&lt;br /&gt;
10. Код в неправильном месте&lt;br /&gt;
&lt;br /&gt;
11. Конфигурационные файлы, которые содержат собственные секции окружения (environment)&lt;br /&gt;
&lt;br /&gt;
12. Слишком много кода&lt;br /&gt;
&lt;br /&gt;
13. Испортить $LOAD_PATH&lt;br /&gt;
&lt;br /&gt;
14. Запутанная логика&lt;br /&gt;
&lt;br /&gt;
15. Заполнять данные в миграциях&lt;br /&gt;
&lt;br /&gt;
16. Посылка данных в запросах GET&lt;br /&gt;
&lt;br /&gt;
17. Не использовать транзакции&lt;br /&gt;
&lt;br /&gt;
18. Плохое использование Javascript&lt;br /&gt;
&lt;br /&gt;
19. Длинные методы&lt;br /&gt;
&lt;br /&gt;
20. &quot;Болтливые&quot; комментарии&lt;br /&gt;
&lt;br /&gt;
Если вы пишете фреймворк, то правила будут другими. Но большую часть времени как Rails разработчик вы не должны писать фреймворк.</content><link rel='replies' type='application/atom+xml' href='http://blog.osinin.com/feeds/1989018961929953254/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://blog.osinin.com/2010/01/20-rails.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/864285536541125824/posts/default/1989018961929953254'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/864285536541125824/posts/default/1989018961929953254'/><link rel='alternate' type='text/html' href='http://blog.osinin.com/2010/01/20-rails.html' title='20 «нельзя» Rails разработки'/><author><name>Nikolay Osinin</name><uri>http://www.blogger.com/profile/14774170945144013543</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMoyCwdf8YdNIORb2rIRZrK7hb4GEjYde_ufyPD4KjwzICnyyMdtgzzIoReuB0OiG5AFhgHmxv5NMQqNWik1VIHg3oAiIss38kBFUJ1IJdMbhjQAHTw21Os-RvS6We8SM/s220/mikola_white_bgn_96x96.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-864285536541125824.post-8676104520327241660</id><published>2009-11-12T22:36:00.002+02:00</published><updated>2009-11-12T22:41:20.939+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="3G"/><category scheme="http://www.blogger.com/atom/ns#" term="интернет"/><title type='text'>3G от life заработал в Борисове</title><content type='html'>Сегодня мобильный оператор &lt;a href=&quot;http://life.com.by&quot;&gt;life:)&lt;/a&gt; включил в Борисове 3G. Во всяком случае на той вышке, которая покрывает мой район. Скорость довольно приличная. Никакой byfly и рядом не стоял.&lt;br /&gt;
&lt;br /&gt;
&lt;img src=&quot;http://www.speedtest.net/result/620669920.png&quot; alt=&quot;download: 3.79Mb/s upload: 1.37Mb/s&quot;/&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.osinin.com/feeds/8676104520327241660/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://blog.osinin.com/2009/11/3g-life.html#comment-form' title='Комментарии: 1'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/864285536541125824/posts/default/8676104520327241660'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/864285536541125824/posts/default/8676104520327241660'/><link rel='alternate' type='text/html' href='http://blog.osinin.com/2009/11/3g-life.html' title='3G от life заработал в Борисове'/><author><name>Nikolay Osinin</name><uri>http://www.blogger.com/profile/14774170945144013543</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMoyCwdf8YdNIORb2rIRZrK7hb4GEjYde_ufyPD4KjwzICnyyMdtgzzIoReuB0OiG5AFhgHmxv5NMQqNWik1VIHg3oAiIss38kBFUJ1IJdMbhjQAHTw21Os-RvS6We8SM/s220/mikola_white_bgn_96x96.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-864285536541125824.post-7769683244425046935</id><published>2009-11-05T11:06:00.002+02:00</published><updated>2009-11-05T11:11:23.251+02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="переводы"/><title type='text'>Не говорите зрителям, что вы не подготовлены</title><content type='html'>Оригинал: &lt;a href=&quot;http://37signals.com/svn/posts/1989-speakers-tip-dont-tell-the-audience-you-arent-prepared&quot;&gt;Speaker&#39;s Tip: Don&#39;t tell the audience you aren&#39;t prepared&lt;/a&gt; by Jason Fried&lt;br /&gt;
&lt;br /&gt;
В последнее время я&amp;nbsp;видел все больше докладчиков на&amp;nbsp;конференции, которые поднимаются на&amp;nbsp;сцену и&amp;nbsp;говорят: &amp;laquo;Я&amp;nbsp;не&amp;nbsp;приготовил ничего, так что буду импровизировать&amp;raquo;. Или они сообщают вам, мол &amp;laquo;извините меня за&amp;nbsp;качество слайдов&amp;nbsp;&amp;#8212; я&amp;nbsp;их&amp;nbsp;собирал на&amp;nbsp;скорую руку сегодня утром&amp;raquo;.&lt;br /&gt;
&lt;br /&gt;
Я&amp;nbsp;за&amp;nbsp;импровизацию, но&amp;nbsp;когда вы&amp;nbsp;говорите &amp;laquo;Я&amp;nbsp;вообще-то не&amp;nbsp;готов&amp;raquo; перед всей аудиторией вы&amp;nbsp;демонстрируете им&amp;nbsp;крайнее неуважение.&lt;br /&gt;
&lt;br /&gt;
Люди взяли выходной, потратили сотни на&amp;nbsp;билет, приехали за&amp;nbsp;тысячу километров, заплатили за&amp;nbsp;перелет и&amp;nbsp;гостиницу, чтобы прийти и&amp;nbsp;послушать вас, а&amp;nbsp;вы&amp;nbsp;говорите им,&amp;nbsp;что у&amp;nbsp;вас не&amp;nbsp;было времени на&amp;nbsp;подготовку своего доклада? Что в&amp;nbsp;этом классного? Зрители тоже занятые люди, но&amp;nbsp;они нашли время приехать на&amp;nbsp;конференцию. Вы не&amp;nbsp;смогли найти время, чтобы как следует подготовить для них презентацию?&lt;br /&gt;
&lt;br /&gt;
И&amp;nbsp;вот... Некоторые из&amp;nbsp;неподготовленных речей были чудесны. Непосредственность&amp;nbsp;&amp;#8212; это здорово. И&amp;nbsp;если докладчик знает свою тему, ему нет необходимости готовится в&amp;nbsp;традиционном смысле. Так что это не&amp;nbsp;качество докладов, это квалификация. Если вы&amp;nbsp;не&amp;nbsp;подготовлены, или если вы&amp;nbsp;второпях готовили презентацию, просто не&amp;nbsp;говорите об&amp;nbsp;этом зрителям. Сделайте лучшее что можете, а&amp;nbsp;сожаление и&amp;nbsp;смущение оставьте при себе.</content><link rel='replies' type='application/atom+xml' href='http://blog.osinin.com/feeds/7769683244425046935/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://blog.osinin.com/2009/11/blog-post.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/864285536541125824/posts/default/7769683244425046935'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/864285536541125824/posts/default/7769683244425046935'/><link rel='alternate' type='text/html' href='http://blog.osinin.com/2009/11/blog-post.html' title='Не говорите зрителям, что вы не подготовлены'/><author><name>Nikolay Osinin</name><uri>http://www.blogger.com/profile/14774170945144013543</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMoyCwdf8YdNIORb2rIRZrK7hb4GEjYde_ufyPD4KjwzICnyyMdtgzzIoReuB0OiG5AFhgHmxv5NMQqNWik1VIHg3oAiIss38kBFUJ1IJdMbhjQAHTw21Os-RvS6We8SM/s220/mikola_white_bgn_96x96.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-864285536541125824.post-7662251897400389832</id><published>2008-05-25T23:51:00.005+03:00</published><updated>2009-10-31T18:00:41.495+02:00</updated><title type='text'>Знаете ли вы русский язык?</title><content type='html'>Я проверил свои знания русского языка и получил твердую четверку.&lt;br /&gt;
&lt;br /&gt;
&lt;img align=&quot;center&quot; width=&quot;500&quot; height=&quot;164&quot; src=&quot;http://www.rb.ru/poll/7/img/4.gif&quot;&gt; &lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://www.rb.ru/poll/7/&quot;&gt;Сходи, проверься?&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.osinin.com/feeds/7662251897400389832/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://blog.osinin.com/2008/05/blog-post_25.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/864285536541125824/posts/default/7662251897400389832'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/864285536541125824/posts/default/7662251897400389832'/><link rel='alternate' type='text/html' href='http://blog.osinin.com/2008/05/blog-post_25.html' title='Знаете ли вы русский язык?'/><author><name>Nikolay Osinin</name><uri>http://www.blogger.com/profile/14774170945144013543</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMoyCwdf8YdNIORb2rIRZrK7hb4GEjYde_ufyPD4KjwzICnyyMdtgzzIoReuB0OiG5AFhgHmxv5NMQqNWik1VIHg3oAiIss38kBFUJ1IJdMbhjQAHTw21Os-RvS6We8SM/s220/mikola_white_bgn_96x96.png'/></author><thr:total>0</thr:total></entry></feed>