<?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-251359507903297281</id><updated>2024-10-12T08:20:41.251+10:00</updated><category term="Linux"/><category term="жизнь"/><category term="tools"/><category term="C++"/><category term="калифорния"/><category term="мысли"/><category term="CMake"/><category term="general"/><category term="news"/><category term="source code"/><category term="мысли вслух"/><category term="советы"/><category term="Pixar"/><category term="Thrift"/><category term="blog"/><category term="embedded"/><category term="git"/><category term="proxy"/><category term="vacation"/><category term="С++"/><category term="принципы"/><category term="AppleWay"/><category term="Boost"/><category term="C"/><category term="HowTo"/><category term="Windows Live"/><category term="arch"/><category term="brainbench"/><category term="dvorak"/><category term="java"/><category term="keyboard"/><category term="life"/><category term="openssl"/><category term="releases"/><category term="time management"/><category term="wlan"/><category term="волнения"/><category term="семья"/><title type='text'>Sergey&#39;s thoughts</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://sergeysthoughts.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/251359507903297281/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://sergeysthoughts.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/251359507903297281/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>Сергей</name><uri>http://www.blogger.com/profile/10973621537470546724</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>80</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-251359507903297281.post-886274018311772922</id><published>2015-02-11T17:19:00.002+10:00</published><updated>2015-02-13T04:15:51.590+10:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="C++"/><category scheme="http://www.blogger.com/atom/ns#" term="CMake"/><category scheme="http://www.blogger.com/atom/ns#" term="Thrift"/><title type='text'>HowTo // Как строить Apache Thrift // part 2</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Обновление к предыдущей &lt;a href=&quot;http://sergeysthoughts.blogspot.ru/2014/02/howto-apache-thrift-visual-studio.html&quot;&gt;статье&lt;/a&gt;. &lt;br /&gt;
&lt;br /&gt;
Не прошло и полгода, как&amp;nbsp; коллеги из Siemens проникшись преимуществами &lt;a href=&quot;http://www.cmake.org/&quot;&gt;CMake&lt;/a&gt; и добавили его таки в &lt;a href=&quot;http://thrift.apache.org/&quot;&gt;Apache Thrift&lt;/a&gt;. Причем похоже у них &lt;a href=&quot;https://issues.apache.org/jira/browse/THRIFT-2850&quot;&gt;большие планы&lt;/a&gt; по полной замене automake в версии 1.0.0 и есть возможность (видимо их большинство в Apache Thrift project team).&lt;br /&gt;
&lt;br /&gt;
Кое что взяли из моего, теперь уже бесспорно, заброшенного проекта.&lt;br /&gt;
&lt;br /&gt;
Поддержка уже в ветке &lt;a href=&quot;https://github.com/apache/thrift&quot;&gt;master&lt;/a&gt;. &lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://sergeysthoughts.blogspot.com/feeds/886274018311772922/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/251359507903297281/886274018311772922?isPopup=true' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/251359507903297281/posts/default/886274018311772922'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/251359507903297281/posts/default/886274018311772922'/><link rel='alternate' type='text/html' href='http://sergeysthoughts.blogspot.com/2015/02/howto-apache-thrift-part-2.html' title='HowTo // Как строить Apache Thrift // part 2'/><author><name>Сергей</name><uri>http://www.blogger.com/profile/10973621537470546724</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-251359507903297281.post-6427385948619762056</id><published>2014-02-07T08:12:00.002+11:00</published><updated>2014-09-10T04:04:11.099+11:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="C++"/><category scheme="http://www.blogger.com/atom/ns#" term="CMake"/><category scheme="http://www.blogger.com/atom/ns#" term="HowTo"/><category scheme="http://www.blogger.com/atom/ns#" term="Thrift"/><title type='text'>HowTo // Как строить Apache Thrift в Visual Studio</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;Доброго времени суток!&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;h4 style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;&lt;u&gt;&lt;b&gt;Прелюдия&lt;/b&gt;&lt;b&gt; (не очень полезная информация)&lt;/b&gt;&lt;/u&gt;&lt;/span&gt;&lt;/h4&gt;
Возник интерес по сборке и использованию &lt;a href=&quot;http://thrift.apache.org/&quot;&gt;Apache Thrift&lt;/a&gt; (в прошлом проект Facebook-а) у себя в продукте на Windows.&lt;br /&gt;
&lt;br /&gt;
У Apache все работают на Mac/Linux и индейцев проблемы остального населения не беспокоят. Хотя, надо признать, в последние версии &quot;пролезли&quot; обрезанные проекты от Visual Studio для компилятора и библиотеки - земной поклон.&lt;br /&gt;
&lt;br /&gt;
Мы же по&lt;strike&gt; простому&lt;/strike&gt; крестьянски в Windows мастерим (иногда из любви к кросс платформенности проверяя MinGW/Cygwin или в виртуалочке на распоследней Fedora с clang).&lt;br /&gt;
&lt;br /&gt;
И так мне не любо, когда необходимо читать README_WINDOWS.txt с какими-то инструкциями, что нужно &lt;b&gt;&lt;u&gt;вручную&lt;/u&gt; &lt;/b&gt;что-то скопировать, что-то переименовать и что-то прописать в переменные окружения. Да так, что руки невольно начинают &quot;ерзать&quot; по клавиатуре и описывать проект в CMake (простите за мою слабость к данному инструменту).&lt;br /&gt;
&lt;br /&gt;
Так как &quot;индейские&quot; ребята из племени Апачей (как и Гуглоидов), походу, ненавидят CMake, о чем они демонстративно заявили, накорню убив в &lt;a href=&quot;https://issues.apache.org/jira/browse/THRIFT-797&quot;&gt;Июне 10-го&lt;/a&gt; интергацию какого-то залетного &quot;перца&quot; и его надежду в светлое будущее кросс платформенного генератора билдов. Поэтому, подавать это в &quot;индейское&quot; племя (Jira то бишь) видимо смысла нет.&lt;br /&gt;
&lt;br /&gt;
Ну так вот... Подсмотрев идею не интрузивного (или не инвазивного???) проекта для &lt;a href=&quot;https://github.com/jesperes/protobuf-cmake&quot;&gt;Google Protobuf&lt;/a&gt; накидал похожее для ApacheThrift о чем спешу поделиться - может кому тоже подойдет.&lt;br /&gt;
&lt;br /&gt;
&lt;h4 style=&quot;text-align: left;&quot;&gt;
&lt;u&gt;&lt;b&gt;HowTo (полезная информация)&lt;/b&gt;&lt;/u&gt;&lt;/h4&gt;
&lt;h3 style=&quot;text-align: left;&quot;&gt;
Зависимости&lt;/h3&gt;
&lt;a href=&quot;http://cmake.org/&quot;&gt;CMake &lt;/a&gt;(у меня 2.8.12)&lt;br /&gt;
&lt;a href=&quot;http://git-scm.com/&quot;&gt;Git&lt;/a&gt;&lt;br /&gt;
Какой нибудь компилятор C++ (у меня основная платформа msvc++ 11 (vs2012))&lt;br /&gt;
&lt;a href=&quot;http://gnuwin32.sourceforge.net/&quot;&gt;Flex/Bison&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.boost.org/&quot;&gt;Boost C++&lt;/a&gt; (1.55 использую собранный, тем компилятором что выбрали выше)&lt;br /&gt;
Клонируете исходный код Thrift (можно &lt;a href=&quot;http://git-wip-us.apache.org/repos/asf/thrift.git&quot;&gt;официальный&lt;/a&gt;, можно &lt;a href=&quot;http://github.com/apache/thrift&quot;&gt;зеркало&lt;/a&gt;)&lt;br /&gt;
Клонируете мой проект (&lt;a href=&quot;https://github.com/snikulov/thrift.cmake&quot;&gt;fork me on github&lt;/a&gt;)&lt;br /&gt;
&lt;br /&gt;
запустить из командной строки&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
cmake &amp;lt;путь к моему проекту&amp;gt; -DTHRIFT_SRC_ROOT=&amp;lt;путь до клона thrift&amp;gt;&lt;/blockquote&gt;
если стандартный генератор не люб - добавте -G&amp;lt;имя генератора&amp;gt; (я например фэн &lt;a href=&quot;http://martine.github.io/ninja/&quot;&gt;Ninja&lt;/a&gt;)&lt;br /&gt;
&lt;br /&gt;
Дополнительные опции (вроде понятные)&lt;br /&gt;
&lt;br /&gt;
Обязательные (если cmake не найдет сам, по любому придется указать - зависимость) &lt;br /&gt;
&lt;ul style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;-DBOOST_ROOT=&amp;lt;путь до Boost C++ Library&amp;gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
Необязательные (без них будет строиться, но пропадут фичи упаковки и криптования) &lt;br /&gt;
&lt;ul style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;-DWITH_TESTS=ON&lt;/li&gt;
&lt;li&gt;-DZLIB_ROOT=&amp;lt;путь до ZLib&amp;gt;&lt;/li&gt;
&lt;li&gt;-DOPENSSL_ROOT_DIR=&amp;lt;путь до OpenSSL&amp;gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
Может заработать не сразу - штука экспериментальная.&lt;br /&gt;
Патчи и проблемные репорты приветствуются, хотя не обещаю скорого исправления :)&lt;br /&gt;
Пока в планах - добавление Libevent для асинхронных сервера и клиента и инсталляция.&lt;br /&gt;
Далее - как пойдет.&lt;br /&gt;
&lt;br /&gt;
Удачи.&lt;br /&gt;
---------- &lt;br /&gt;
If you build it, CR will come... (старая Motorola-вская шутка)&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://sergeysthoughts.blogspot.com/feeds/6427385948619762056/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/251359507903297281/6427385948619762056?isPopup=true' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/251359507903297281/posts/default/6427385948619762056'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/251359507903297281/posts/default/6427385948619762056'/><link rel='alternate' type='text/html' href='http://sergeysthoughts.blogspot.com/2014/02/howto-apache-thrift-visual-studio.html' title='HowTo // Как строить Apache Thrift в Visual Studio'/><author><name>Сергей</name><uri>http://www.blogger.com/profile/10973621537470546724</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-251359507903297281.post-4471068546817865075</id><published>2012-12-19T07:12:00.000+11:00</published><updated>2014-08-29T17:58:26.420+11:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="brainbench"/><category scheme="http://www.blogger.com/atom/ns#" term="C"/><title type='text'>Brainbench замерки. </title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Случайно зашел в прошлом году на Brainbench и по дешевке (что-то около 10 долларов) купил безлимитную подписку. Было бы дороже, не купил бы по причине банальной жадности.&lt;br /&gt;
&lt;br /&gt;
Время выходит, деньги пропадают, посему решил замерить скиллы.&lt;br /&gt;
&lt;br /&gt;
Вроде получилось, хотя последний дался тяжелее &amp;nbsp;:)&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;http://www.brainbench.com/xml/bb/transcript/public/viewtranscript.xml?pid=7395311&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj96q2EVuwIoXfjlcwAEvZqcFrKYLSvCaUbJ2H2djstwcLpcO7KrPYaTkQfcpeICIgTOjg5nnh5Szuyxb6JwCegjKSUKUILycGOjqsvhS27Z81Pf3wfjHMacK9aqzRtVPR22YD6JsEGAnJw/s1600/cfundamentals.gif&quot; title=&quot;http://www.brainbench.com/xml/bb/transcript/public/viewtranscript.xml?pid=7395311&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://www.brainbench.com/xml/bb/transcript/public/viewtranscript.xml?pid=7395311&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhw8kbtP1FyjBkzPFzDRmDbfvCcNxUmAEwICV2OFTZZAMg1RMGHWxKjtmOhiPxLTJJB7KujwuHBBDpCBVHt9gRUusW6cam2_ulH-ZvFdtgr7vf9hpYg5jpt_nkk7ucY-xmOI7mV6w7iB4bh/s1600/cprogrammer.gif&quot; title=&quot;http://www.brainbench.com/xml/bb/transcript/public/viewtranscript.xml?pid=7395311&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Осталось до конца января 2013 еще осилить замер по C++.&lt;br /&gt;
&lt;br /&gt;
Детали в транскрипте&amp;nbsp;&lt;b style=&quot;background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px;&quot;&gt;Transcript ID#:&amp;nbsp;&lt;span name=&quot;demo_personid&quot;&gt;7395311&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://sergeysthoughts.blogspot.com/feeds/4471068546817865075/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/251359507903297281/4471068546817865075?isPopup=true' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/251359507903297281/posts/default/4471068546817865075'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/251359507903297281/posts/default/4471068546817865075'/><link rel='alternate' type='text/html' href='http://sergeysthoughts.blogspot.com/2012/12/brainbench.html' title='Brainbench замерки. '/><author><name>Сергей</name><uri>http://www.blogger.com/profile/10973621537470546724</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj96q2EVuwIoXfjlcwAEvZqcFrKYLSvCaUbJ2H2djstwcLpcO7KrPYaTkQfcpeICIgTOjg5nnh5Szuyxb6JwCegjKSUKUILycGOjqsvhS27Z81Pf3wfjHMacK9aqzRtVPR22YD6JsEGAnJw/s72-c/cfundamentals.gif" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-251359507903297281.post-8917173931156983701</id><published>2011-12-07T12:24:00.000+11:00</published><updated>2011-12-07T12:24:22.205+11:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="git"/><category scheme="http://www.blogger.com/atom/ns#" term="Linux"/><category scheme="http://www.blogger.com/atom/ns#" term="proxy"/><title type='text'>git+ssh через https прокси</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
В продолжение предидущей &lt;a href=&quot;http://www.blogger.com/goog_1299939284&quot;&gt;темы&lt;/a&gt;&lt;a href=&quot;http://sergeysthoughts.blogspot.com/2010/02/git-http-linux.html&quot;&gt; о работе git из-за прокси&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Собственно, предидущая тема рассчитана на взятие и обновления исходного кода из репозитория (git clone/pull). Отдачу дельты она не подразумевает (git push).&lt;br /&gt;
 Однако в жизни разработчика наступает момент, когда необходимо что-либо поместить на сервер.&lt;br /&gt;
&lt;br /&gt;
В моем случае это была конфигурация редактора &lt;a href=&quot;http://www.gnu.org/s/emacs/&quot;&gt;emacs&lt;/a&gt; на &lt;a href=&quot;https://github.com/snikulov/emacs.rc&quot;&gt;github&lt;/a&gt;. При изпользозании одного редактора и на работе и дома хочеться иметь общую конфигурацию. Конфигурацию, обычно меняешь по ходу работы и нужно удачный вариант сохранить для дальнейшего использования.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
И тут на помощь нам приходит &lt;a href=&quot;http://www.agroman.net/corkscrew/&quot;&gt;corkscrew&lt;/a&gt;. На &lt;a href=&quot;http://start.fedoraproject.org/&quot;&gt;Fedora&lt;/a&gt; она есть в репозиториях.&lt;br /&gt;
&lt;br /&gt;
&lt;ol style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;Устанавливаем corkscrew (&lt;b&gt;yum install corkscrew&lt;/b&gt;)&lt;/li&gt;
&lt;li&gt;Добавляем в $HOME/.ssh/config следующие строчки&lt;/li&gt;
&lt;/ol&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
Host github.com&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; User git &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; HostName ssh.github.com&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Port 443&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ProxyCommand corkscrew 127.0.0.1 9090 %h %p&lt;/blockquote&gt;
&lt;br /&gt;
&lt;br /&gt;
У меня используется cntlm прокси, поэтому адрес 127.0.0.1 и порт 9090. Если у кого не так, нужно заменить эти значения на те, которые используются в вашей сети.&lt;br /&gt;
&lt;br /&gt;
Теперь git push должен работать из-за прокси.&lt;br /&gt;
Если нужен другой сервер с ssh (не &lt;a href=&quot;http://github.com/&quot;&gt;github.com&lt;/a&gt;), его также нужно добавить в $HOME/.ssh/config&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
 .&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sergeysthoughts.blogspot.com/feeds/8917173931156983701/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/251359507903297281/8917173931156983701?isPopup=true' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/251359507903297281/posts/default/8917173931156983701'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/251359507903297281/posts/default/8917173931156983701'/><link rel='alternate' type='text/html' href='http://sergeysthoughts.blogspot.com/2011/12/gitssh-https.html' title='git+ssh через https прокси'/><author><name>Сергей</name><uri>http://www.blogger.com/profile/10973621537470546724</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-251359507903297281.post-7923640571991281279</id><published>2010-10-06T17:59:00.001+11:00</published><updated>2010-10-06T18:03:50.313+11:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="AppleWay"/><category scheme="http://www.blogger.com/atom/ns#" term="Pixar"/><category scheme="http://www.blogger.com/atom/ns#" term="принципы"/><title type='text'>Цитата от Стива (перепост)</title><content type='html'>&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial, sans-serif; font-size: 13px; &quot;&gt;Не имеет смысла нанимать толковых людей, а затем указывать, что им делать. Мы нанимаем толковых людей, чтобы они говорили, что делать нам.&lt;/span&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial, sans-serif; font-size: 13px; &quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial, sans-serif; font-size: 13px; &quot;&gt;Взято &lt;a href=&quot;http://www.happy-pm.com/blog/?p=5946&quot;&gt;отсюда&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sergeysthoughts.blogspot.com/feeds/7923640571991281279/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/251359507903297281/7923640571991281279?isPopup=true' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/251359507903297281/posts/default/7923640571991281279'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/251359507903297281/posts/default/7923640571991281279'/><link rel='alternate' type='text/html' href='http://sergeysthoughts.blogspot.com/2010/10/blog-post.html' title='Цитата от Стива (перепост)'/><author><name>Сергей</name><uri>http://www.blogger.com/profile/10973621537470546724</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-251359507903297281.post-6347869075826470259</id><published>2010-09-09T01:23:00.002+11:00</published><updated>2010-09-09T01:34:46.732+11:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Pixar"/><category scheme="http://www.blogger.com/atom/ns#" term="принципы"/><title type='text'>Основные принципы Pixar</title><content type='html'>Гуглил я тут недавно и наткнулся на статью в &lt;a href=&quot;http://www.shrc.ru/clauses/detail.php?ID=19286&quot;&gt;SHR Consulting&lt;/a&gt; про &lt;a href=&quot;http://www.pixar.com/&quot;&gt;Pixar&lt;/a&gt; - секрет фантастического успеха Стива Джобса.&lt;br /&gt;&lt;br /&gt;Надо сказать, что довольно простые и правильные принципы. Многим компаниям имеет смысл перенять их.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Не могу не привести их у себя&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Принципы успешности Pixar&lt;/span&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Всегда учиться: команда Pixar постоянно задает себе вопросы: «почему» и «что если ..?», что приводит к замечательным открытиям.&lt;/li&gt;&lt;li&gt;Поиск правильных партнеров: Pixar работает с компанией Disney, Томом Хенксом, Стивом Джобсом, Тимом Алленом и многими другими. Правильные партнеры помогут оптимизировать эффективность и раскроют потенциал.&lt;/li&gt;&lt;li&gt;Командность: хорошие команды состоят из хороших элементов, в команде много задач важнее собственных желаний. Команда Pixar оставалась командой даже в не самые светлые свои дни.&lt;/li&gt;&lt;li&gt;Человеческий капитал: Pixar дисциплинированно воспитывали и растили лучших из лучших, они инвестировали в блестящих людей. Человеческий капитал это не затраты – это инвестиции.&lt;/li&gt;&lt;li&gt;Доверие интуиции: история Pixar полна моментов, когда логика бизнеса говорила &quot;нет&quot; творческой интуиции (например, 3D анимация по сравнению с 2D), но они воплощали в жизнь идеи и добивались оглушительного успеха.&lt;/li&gt;&lt;li&gt;Вера в успех: эта вера позволила компании работать в течение очень трудных лет.&lt;/li&gt;&lt;li&gt;Талант: Только талантливо рассказанные и показанные истории становятся бестселлерами.&lt;/li&gt;&lt;li&gt;Работа - это праздник: команда Pixar отмечает как праздник маленькие технические победы в течение работы.&lt;/li&gt;&lt;li&gt;Упорство: Pixar потребовались десять долгих лет, чтобы добиться успеха, в течение которых компания перепродавалась, теряла миллионы долларов.&lt;/li&gt;&lt;/ol&gt;&lt;/blockquote&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sergeysthoughts.blogspot.com/feeds/6347869075826470259/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/251359507903297281/6347869075826470259?isPopup=true' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/251359507903297281/posts/default/6347869075826470259'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/251359507903297281/posts/default/6347869075826470259'/><link rel='alternate' type='text/html' href='http://sergeysthoughts.blogspot.com/2010/09/pixar.html' title='Основные принципы Pixar'/><author><name>Сергей</name><uri>http://www.blogger.com/profile/10973621537470546724</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-251359507903297281.post-5986320358928457972</id><published>2010-09-08T23:14:00.004+11:00</published><updated>2010-09-08T23:46:05.179+11:00</updated><title type='text'>туннельный синдром</title><content type='html'>Прочитал историю &lt;a href=&quot;http://lionet.livejournal.com/71005.html&quot;&gt;о туннельном синдроме&lt;/a&gt;. Ведь работаю с клавиатурой. Правда с &lt;a href=&quot;http://en.wikipedia.org/wiki/Dvorak_Simplified_Keyboard&quot;&gt;Dvorak раскладкой&lt;/a&gt;. Иногда подолгу и на ноутбуке. И emacs использую. И колесо мышки кручу. Стало немного неуютно...&lt;br /&gt;  &lt;br /&gt;Потом прочел &lt;a href=&quot;http://eao197.blogspot.com/2010/09/prog-1k-c.html&quot;&gt;комментарии от Евгения Охотникова&lt;/a&gt; и успокоился. Честно признаюсь - ну не даю я 1 КLOC в рабочий день. А если бы и давал, то как в анекдоте - такая бы фигня получалась.&lt;br /&gt;&lt;br /&gt;Берегите себя и свои пальцы/кисти.</content><link rel='replies' type='application/atom+xml' href='http://sergeysthoughts.blogspot.com/feeds/5986320358928457972/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/251359507903297281/5986320358928457972?isPopup=true' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/251359507903297281/posts/default/5986320358928457972'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/251359507903297281/posts/default/5986320358928457972'/><link rel='alternate' type='text/html' href='http://sergeysthoughts.blogspot.com/2010/09/blog-post.html' title='туннельный синдром'/><author><name>Сергей</name><uri>http://www.blogger.com/profile/10973621537470546724</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-251359507903297281.post-5063283681771833169</id><published>2010-08-21T16:28:00.000+11:00</published><updated>2010-08-21T16:28:05.093+11:00</updated><title type='text'>Tim(oshka)</title><content type='html'>Собственно, хочу представить - мой младшенький сын - Тимофей&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://goo.gl/photos/5Uey&quot; imageanchor=&quot;1&quot; style=&quot;clear:right;margin-bottom:1em;margin-left:1em&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8qA1CdmY8HIOZO830lvgT2Kp0r6wEigF8j2RDpi8ymHSWIoo50LLIHwSBMIiJLVCsfEcxYK80JM6HiXKWIoDUrslj_alJWo7hKDEtdGyoM1EG8OspK3Z7LYe0UBIBR3tKILz37HfLTYGm/s512/281.JPG&quot;&gt;&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://sergeysthoughts.blogspot.com/feeds/5063283681771833169/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/251359507903297281/5063283681771833169?isPopup=true' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/251359507903297281/posts/default/5063283681771833169'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/251359507903297281/posts/default/5063283681771833169'/><link rel='alternate' type='text/html' href='http://sergeysthoughts.blogspot.com/2010/08/timoshka.html' title='Tim(oshka)'/><author><name>Сергей</name><uri>http://www.blogger.com/profile/10973621537470546724</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8qA1CdmY8HIOZO830lvgT2Kp0r6wEigF8j2RDpi8ymHSWIoo50LLIHwSBMIiJLVCsfEcxYK80JM6HiXKWIoDUrslj_alJWo7hKDEtdGyoM1EG8OspK3Z7LYe0UBIBR3tKILz37HfLTYGm/s72-c/281.JPG" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-251359507903297281.post-6912839192421977140</id><published>2010-05-06T19:19:00.002+11:00</published><updated>2010-05-06T19:26:53.290+11:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="life"/><title type='text'>Кто такие консерваторы?</title><content type='html'>В фоне говорит телевизор. &lt;br /&gt;В Великобритании предвыборная гонка...&lt;br /&gt;Консерваторы против лейбористов... &lt;br /&gt;Лидер консерваторов посещает детские сады и объясняет детям, кто такие консерваторы и почему они лучше лейбористов...&lt;br /&gt;&lt;br /&gt;Спрашиваю жену:&lt;br /&gt;- Дорогая, а кто такие консерваторы?&lt;br /&gt;Старший сын (3 года и 2 месяца) ковыряясь в своих игрушках не глядя говорит:&lt;br /&gt;- Я знаю, кто такие консерваторы. Это те кто открывает банки!&lt;br /&gt;&lt;br /&gt;...&lt;br /&gt;&lt;br /&gt;Мы с женой ничего не могли говорить минут 15 :)))))</content><link rel='replies' type='application/atom+xml' href='http://sergeysthoughts.blogspot.com/feeds/6912839192421977140/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/251359507903297281/6912839192421977140?isPopup=true' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/251359507903297281/posts/default/6912839192421977140'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/251359507903297281/posts/default/6912839192421977140'/><link rel='alternate' type='text/html' href='http://sergeysthoughts.blogspot.com/2010/05/blog-post.html' title='Кто такие консерваторы?'/><author><name>Сергей</name><uri>http://www.blogger.com/profile/10973621537470546724</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-251359507903297281.post-8921357488039612608</id><published>2010-02-18T01:03:00.005+10:00</published><updated>2011-02-04T23:36:05.992+10:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="git"/><category scheme="http://www.blogger.com/atom/ns#" term="Linux"/><category scheme="http://www.blogger.com/atom/ns#" term="proxy"/><title type='text'>Как использовать git из за HTTP прокси с Linux машины</title><content type='html'>Оригинал статьи на Английском &lt;a href=&quot;http://www.emilsit.net/blog/archives/how-to-use-the-git-protocol-through-a-http-connect-proxy/&quot;&gt;здесь&lt;/a&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Собственно суть проблемы.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Все началось с того что я решил вытянуть на работе &lt;a href=&quot;http://gitorious.com/boost/cmake&quot;&gt;boost-cmake с gitorious&lt;/a&gt;, но так как там большие блобы, то клонирование по http:// протоколу через корпаративный прокси заканчивалось ошибкой 500, где-нибудь в районе 25-30%. Описание проблемы, похоже на приведенное &lt;a href=&quot;http://support.github.com/discussions/repos/957-cant-clone-over-http-or-git&quot;&gt;здесь&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Утверждалось, что по git:// схеме такого быть не должно.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;1. Собственно предложенный вариант - &lt;a href=&quot;http://en.wikipedia.org/wiki/Tunneling_protocol&quot;&gt;туннель git протокола через HTTP CONNECT&lt;/a&gt;. Данная схема используется для https:// соединений на порт 443. Так как все корпаративные прокси поддерживают данную возможность, то необходимо попросить админа разрешить метод HTTP CONNECT на порт 9418, который используется git.&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 19px;font-family:&#39;Lucida Sans&#39;,&#39;Lucida Grande&#39;,&#39;Lucida Sans Unicode&#39;,sans-serif;font-size:13px;&quot;  &gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: normal;font-family:Georgia,serif;font-size:16px;&quot;  &gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 19px;font-family:&#39;Lucida Sans&#39;,&#39;Lucida Grande&#39;,&#39;Lucida Sans Unicode&#39;,sans-serif;font-size:13px;&quot;  &gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: normal;font-family:Georgia,serif;font-size:16px;&quot;  &gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;2. Далее нужна утилита socat  - устанавливаем ее со своего Linux репозитория (&lt;b&gt;yum install socat&lt;/b&gt;).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;3. Создайте исполняемый скрипт с именем gitproxy (или выберите имя на ваше усмотрение) где-нибудь в месте из переменной PATH (например ~/bin):&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 19px;font-family:&#39;Lucida Sans&#39;,&#39;Lucida Grande&#39;,&#39;Lucida Sans Unicode&#39;,sans-serif;font-size:13px;&quot;  &gt;&lt;div id=&quot;gist-49288&quot; class=&quot;gist&quot; style=&quot;margin: 0px; padding: 0px; border-width: 0px; font-weight: inherit; font-style: inherit; font-size: 13px; font-family: inherit; vertical-align: baseline; color: rgb(0, 0, 0);&quot;&gt;&lt;div class=&quot;gist-file&quot; style=&quot;margin: 0px 0px 1em; padding: 0px; border: 1px solid rgb(222, 222, 222); font-weight: inherit; font-style: inherit; font-size: 13px; font-family: Monaco,&#39;Courier New&#39;,&#39;DejaVu Sans Mono&#39;,&#39;Bitstream Vera Sans Mono&#39;,monospace; vertical-align: baseline;&quot;&gt;&lt;div class=&quot;gist-data gist-syntax&quot; style=&quot;margin: 0px; padding: 0px; border-width: 0px 0px 1px; font-weight: inherit; font-style: inherit; font-size: 13px; font-family: inherit; vertical-align: baseline; background-color: rgb(248, 248, 255); overflow: auto; border-bottom: 1px solid rgb(221, 221, 221);&quot;&gt;&lt;div class=&quot;gist-highlight&quot; style=&quot;margin: 0px; padding: 0px; border-width: 0px; font-weight: inherit; font-style: inherit; font-size: 13px; font-family: inherit; vertical-align: baseline; background-color: transparent ! important;&quot;&gt;&lt;pre style=&quot;margin: 0px ! important; padding: 0.25em 0.5em 0.5em ! important; border-width: 0px; vertical-align: baseline; white-space: pre; font: 1em/1.5 &#39;andale mono&#39;,&#39;lucida console&#39;,monospace; background-color: transparent ! important; border-style: none ! important;&quot;&gt;&lt;div class=&quot;line&quot; id=&quot;LC1&quot; style=&quot;margin: 0px; padding: 0px; border-width: 0px; font-weight: inherit; font-style: inherit; font-size: 13px; font-family: inherit; vertical-align: baseline;&quot;&gt;#!/bin/sh &lt;/div&gt;&lt;div class=&quot;line&quot; id=&quot;LC2&quot; style=&quot;margin: 0px; padding: 0px; border-width: 0px; font-weight: inherit; font-style: inherit; font-size: 13px; font-family: inherit; vertical-align: baseline;&quot;&gt;# Use socat to proxy git through an HTTP CONNECT firewall. &lt;/div&gt;&lt;div class=&quot;line&quot; id=&quot;LC3&quot; style=&quot;margin: 0px; padding: 0px; border-width: 0px; font-weight: inherit; font-style: inherit; font-size: 13px; font-family: inherit; vertical-align: baseline;&quot;&gt;# Useful if you are trying to clone git:// from inside a company. &lt;/div&gt;&lt;div class=&quot;line&quot; id=&quot;LC4&quot; style=&quot;margin: 0px; padding: 0px; border-width: 0px; font-weight: inherit; font-style: inherit; font-size: 13px; font-family: inherit; vertical-align: baseline;&quot;&gt;# Requires that the proxy allows CONNECT to port 9418. &lt;/div&gt;&lt;div class=&quot;line&quot; id=&quot;LC5&quot; style=&quot;margin: 0px; padding: 0px; border-width: 0px; font-weight: inherit; font-style: inherit; font-size: 13px; font-family: inherit; vertical-align: baseline;&quot;&gt;# &lt;/div&gt;&lt;div class=&quot;line&quot; id=&quot;LC6&quot; style=&quot;margin: 0px; padding: 0px; border-width: 0px; font-weight: inherit; font-style: inherit; font-size: 13px; font-family: inherit; vertical-align: baseline;&quot;&gt;# Save this file as gitproxy somewhere in your path (e.g., ~/bin) and then run &lt;/div&gt;&lt;div class=&quot;line&quot; id=&quot;LC7&quot; style=&quot;margin: 0px; padding: 0px; border-width: 0px; font-weight: inherit; font-style: inherit; font-size: 13px; font-family: inherit; vertical-align: baseline;&quot;&gt;#   chmod +x gitproxy &lt;/div&gt;&lt;div class=&quot;line&quot; id=&quot;LC8&quot; style=&quot;margin: 0px; padding: 0px; border-width: 0px; font-weight: inherit; font-style: inherit; font-size: 13px; font-family: inherit; vertical-align: baseline;&quot;&gt;#   git config --global core.gitproxy gitproxy &lt;/div&gt;&lt;div class=&quot;line&quot; id=&quot;LC9&quot; style=&quot;margin: 0px; padding: 0px; border-width: 0px; font-weight: inherit; font-style: inherit; font-size: 13px; font-family: inherit; vertical-align: baseline;&quot;&gt;# &lt;/div&gt;&lt;div class=&quot;line&quot; id=&quot;LC10&quot; style=&quot;margin: 0px; padding: 0px; border-width: 0px; font-weight: inherit; font-style: inherit; font-size: 13px; font-family: inherit; vertical-align: baseline;&quot;&gt;# More details at http://tinyurl.com/8xvpny &lt;/div&gt;&lt;div class=&quot;line&quot; id=&quot;LC11&quot; style=&quot;margin: 0px; padding: 0px; border-width: 0px; font-weight: inherit; font-style: inherit; font-size: 13px; font-family: inherit; vertical-align: baseline;&quot;&gt; &lt;/div&gt;&lt;div class=&quot;line&quot; id=&quot;LC12&quot; style=&quot;margin: 0px; padding: 0px; border-width: 0px; font-weight: inherit; font-style: inherit; font-size: 13px; font-family: inherit; vertical-align: baseline;&quot;&gt;# Configuration. Common proxy ports are 3128, 8123, 8000. &lt;/div&gt;&lt;div class=&quot;line&quot; id=&quot;LC13&quot; style=&quot;margin: 0px; padding: 0px; border-width: 0px; font-weight: inherit; font-style: inherit; font-size: 13px; font-family: inherit; vertical-align: baseline;&quot;&gt;_proxy=proxy.yourcompany.com &lt;/div&gt;&lt;div class=&quot;line&quot; id=&quot;LC14&quot; style=&quot;margin: 0px; padding: 0px; border-width: 0px; font-weight: inherit; font-style: inherit; font-size: 13px; font-family: inherit; vertical-align: baseline;&quot;&gt;_proxyport=3128 &lt;/div&gt;&lt;div class=&quot;line&quot; id=&quot;LC15&quot; style=&quot;margin: 0px; padding: 0px; border-width: 0px; font-weight: inherit; font-style: inherit; font-size: 13px; font-family: inherit; vertical-align: baseline;&quot;&gt; &lt;/div&gt;&lt;div class=&quot;line&quot; id=&quot;LC16&quot; style=&quot;margin: 0px; padding: 0px; border-width: 0px; font-weight: inherit; font-style: inherit; font-size: 13px; font-family: inherit; vertical-align: baseline;&quot;&gt;exec socat STDIO PROXY:$_proxy:$1:$2,proxyport=$_proxyport&lt;/div&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;gist-meta&quot; style=&quot;margin: 0px; padding: 0.5em; border-width: 0px; font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; overflow: hidden; color: rgb(102, 102, 102); background-color: rgb(234, 234, 234);&quot;&gt;&lt;a href=&quot;http://gist.github.com/raw/49288/189f181512fa92d4ef1973e284755c04b5bcea1d/gitproxy-socat&quot; style=&quot;margin: 0px; padding: 0px; border-width: 0px; font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: rgb(51, 102, 153); text-decoration: none; float: right;&quot;&gt;view raw&lt;/a&gt;&lt;a href=&quot;http://gist.github.com/49288#file_gitproxy_socat&quot; style=&quot;margin: 0px 10px 0px 0px; padding: 0px; border-width: 0px; font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: rgb(102, 102, 102); text-decoration: none; float: right;&quot;&gt;gitproxy-socat&lt;/a&gt;&lt;a href=&quot;http://gist.github.com/49288&quot; style=&quot;margin: 0px; padding: 0px; border-width: 0px; font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: rgb(51, 102, 153); text-decoration: none;&quot;&gt;This Gist&lt;/a&gt; brought to you by &lt;a href=&quot;http://github.com/&quot; style=&quot;margin: 0px; padding: 0px; border-width: 0px; font-weight: inherit; font-style: inherit; font-size: 11px; font-family: inherit; vertical-align: baseline; color: rgb(51, 102, 153); text-decoration: none;&quot;&gt;GitHub&lt;/a&gt;.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;4. Конфигурируем git на использование данного скрипта (&lt;b&gt;git config --global core.gitproxy gitproxy&lt;/b&gt; или имя выбранное вами на шаге 3)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Собственно и все. Теперь git:// URL-ы тоже работают.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Оказалось, действительно, на данном протоколе все работает стабильнее।&lt;br /&gt;&lt;br /&gt;Обновил:&lt;br /&gt; - 04.02.2011 - исправил досадную опечатку в пункте 4 (спасибо &lt;a href=&quot;http://yalexand.blogspot.com/&quot;&gt;Yalexand&lt;/a&gt;)&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sergeysthoughts.blogspot.com/feeds/8921357488039612608/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/251359507903297281/8921357488039612608?isPopup=true' title='Комментарии: 3'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/251359507903297281/posts/default/8921357488039612608'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/251359507903297281/posts/default/8921357488039612608'/><link rel='alternate' type='text/html' href='http://sergeysthoughts.blogspot.com/2010/02/git-http-linux.html' title='Как использовать git из за HTTP прокси с Linux машины'/><author><name>Сергей</name><uri>http://www.blogger.com/profile/10973621537470546724</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-251359507903297281.post-6978892797590616710</id><published>2010-02-14T01:33:00.002+10:00</published><updated>2010-02-14T01:44:01.431+10:00</updated><title type='text'>Зимняя олимпиада 2010 // трагедия на санной трассе</title><content type='html'>Прочитал новость о трагедии Кумариташвили и посмотрел &lt;a href=&quot;http://news.sportbox.ru/Vidy_sporta/Sani/1_m/spbvideo_Tragediya-na-trasse-Sannogo-centra-Uistlera&quot;&gt;видео&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Следующая тема о том де, &lt;a href=&quot;http://news.sportbox.ru/Vidy_sporta/Sani/1_m/spbnews_Prichinoy-tragedii-nazvana-oshibka-Kumaritashvili&quot;&gt;что он сам виноват&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;После таких новостей - поганенько на душе. Лично я считаю, что тут явно виноват оргкомитет и тот, кто принимал трассу. Ошибка спортсмена не должна приносить такие последствия. И обесечить безопасность - основная задача олимпийских чиновников.&lt;br /&gt;&lt;br /&gt;На повороте должна была быть установлена уловительная сетка, поскольку на таких скоростях даже у опытных спортсменов могли быть ошибки. И это не значит что они должны так глупо погибать.&lt;br /&gt;&lt;br /&gt;Соболезнования родным и близким атлета.</content><link rel='replies' type='application/atom+xml' href='http://sergeysthoughts.blogspot.com/feeds/6978892797590616710/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/251359507903297281/6978892797590616710?isPopup=true' title='Комментарии: 1'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/251359507903297281/posts/default/6978892797590616710'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/251359507903297281/posts/default/6978892797590616710'/><link rel='alternate' type='text/html' href='http://sergeysthoughts.blogspot.com/2010/02/2010.html' title='Зимняя олимпиада 2010 // трагедия на санной трассе'/><author><name>Сергей</name><uri>http://www.blogger.com/profile/10973621537470546724</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-251359507903297281.post-3207716527922867078</id><published>2010-02-04T14:21:00.002+10:00</published><updated>2010-02-04T14:25:02.727+10:00</updated><title type='text'>открыли исходники Symbian</title><content type='html'>Пока Google бодается с Apple появилась еще одна открытая платформа - Symbian. Время покажет, будет ли из этого прок, и станет ли Symbian привлекательной платформой для производителей телефонов.&lt;br /&gt;&lt;br /&gt;Ну а пока можно ознокомиться с исходными кодами некогда закрытой мобильной платформы &lt;a href=&quot;http://developer.symbian.org/&quot;&gt;здесь&lt;/a&gt;.</content><link rel='replies' type='application/atom+xml' href='http://sergeysthoughts.blogspot.com/feeds/3207716527922867078/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/251359507903297281/3207716527922867078?isPopup=true' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/251359507903297281/posts/default/3207716527922867078'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/251359507903297281/posts/default/3207716527922867078'/><link rel='alternate' type='text/html' href='http://sergeysthoughts.blogspot.com/2010/02/symbian.html' title='открыли исходники Symbian'/><author><name>Сергей</name><uri>http://www.blogger.com/profile/10973621537470546724</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-251359507903297281.post-157373396608231381</id><published>2010-02-03T17:50:00.002+10:00</published><updated>2010-02-03T18:02:12.198+10:00</updated><title type='text'>Стив Джобс о Google...</title><content type='html'>В связи с участившимся сравнением  Apple iPhone vs Google Android знаменательно  следующее высказывание &lt;a href=&quot;http://www.3dnews.ru/news/stiv_dzhobs_rezko_viskazalsya_v_adres_google_i_adobe/&quot;&gt;Стива &lt;/a&gt;&lt;div&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;blockquote&gt; &lt;span class=&quot;Apple-style-span&quot;   style=&quot;  ;font-family:Tahoma, Verdana, Arial, sans;font-size:13px;&quot;&gt;Мы не открывали поисковый сервис, но они вошли в телефонный бизнес. Будьте уверены, что их целью является уничтожение iPhone. Мы не позволим этому случиться&lt;/span&gt;&lt;/blockquote&gt;&lt;span class=&quot;Apple-style-span&quot;   style=&quot;  ;font-family:Tahoma, Verdana, Arial, sans;font-size:13px;&quot;&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sergeysthoughts.blogspot.com/feeds/157373396608231381/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/251359507903297281/157373396608231381?isPopup=true' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/251359507903297281/posts/default/157373396608231381'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/251359507903297281/posts/default/157373396608231381'/><link rel='alternate' type='text/html' href='http://sergeysthoughts.blogspot.com/2010/02/google.html' title='Стив Джобс о Google...'/><author><name>Сергей</name><uri>http://www.blogger.com/profile/10973621537470546724</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-251359507903297281.post-3909567758342311723</id><published>2010-02-03T17:25:00.002+10:00</published><updated>2010-02-03T17:28:01.694+10:00</updated><title type='text'>Вышел &quot;новый&quot; Boost</title><content type='html'>1 новая библиотека и некоторое количество исправленных проблем...&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: arial, sans-serif; font-size: 13px; border-collapse: collapse; &quot;&gt;&lt;div style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;h3&gt;&lt;span&gt;New Libraries&lt;/span&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;span&gt;&lt;a href=&quot;http://www.boost.org/libs/uuid/index.html&quot; target=&quot;_blank&quot; style=&quot;color: rgb(34, 68, 187); &quot;&gt;Uuid&lt;/a&gt;:&lt;/span&gt; A universally unique identifier, from Andy Tompkins.&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;h3&gt;&lt;span&gt;Updated Libraries&lt;/span&gt;&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;span&gt;&lt;a href=&quot;http://www.boost.org/libs/asio/index.html&quot; target=&quot;_blank&quot; style=&quot;color: rgb(34, 68, 187); &quot;&gt;Asio&lt;/a&gt;:&lt;/span&gt;&lt;ul&gt;&lt;li&gt;Added a new HTTP Server 4 example illustrating the use of stackless coroutines with Asio.&lt;/li&gt;&lt;li&gt;Changed handler allocation and invocation to use &lt;code style=&quot;font-size: 11px; &quot;&gt;&lt;span&gt;boost&lt;/span&gt;&lt;span&gt;::&lt;/span&gt;&lt;span&gt;addressof&lt;/span&gt;&lt;/code&gt; to get the address of handler objects, rather than applying &lt;code style=&quot;font-size: 11px; &quot;&gt;&lt;span&gt;operator&lt;/span&gt;&lt;span&gt;&amp;amp;&lt;/span&gt;&lt;/code&gt; directly (&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/2977&quot; target=&quot;_blank&quot; style=&quot;color: rgb(34, 68, 187); &quot;&gt;#2977&lt;/a&gt;).&lt;/li&gt;&lt;li&gt;Restricted MSVC buffer debugging workaround to 2008, as it causes a crash with 2010 beta 2 (&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/3796&quot; target=&quot;_blank&quot; style=&quot;color: rgb(34, 68, 187); &quot;&gt;#3796&lt;/a&gt;, &lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/3822&quot; target=&quot;_blank&quot; style=&quot;color: rgb(34, 68, 187); &quot;&gt;#3822&lt;/a&gt;).&lt;/li&gt;&lt;li&gt;Fixed a problem with the lifetime of handler memory, where Windows needs the &lt;code style=&quot;font-size: 11px; &quot;&gt;&lt;span&gt;OVERLAPPED&lt;/span&gt;&lt;/code&gt;structure to be valid until both the initiating function call has returned and the completion packet has been delivered.&lt;/li&gt;&lt;li&gt;Don&#39;t block signals while performing system calls, but instead restart the calls if they are interrupted.&lt;/li&gt;&lt;li&gt;Documented the guarantee made by strand objects with respect to order of handler invocation.&lt;/li&gt;&lt;li&gt;Changed strands to use a pool of implementations, to make copying of strands cheaper.&lt;/li&gt;&lt;li&gt;Ensured that kqueue support is enabled for BSD platforms (&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/3626&quot; target=&quot;_blank&quot; style=&quot;color: rgb(34, 68, 187); &quot;&gt;#3626&lt;/a&gt;).&lt;/li&gt;&lt;li&gt;Added a &lt;code style=&quot;font-size: 11px; &quot;&gt;&lt;span&gt;boost_&lt;/span&gt;&lt;/code&gt; prefix to the &lt;code style=&quot;font-size: 11px; &quot;&gt;&lt;span&gt;extern&lt;/span&gt; &lt;span&gt;&quot;C&quot;&lt;/span&gt;&lt;/code&gt; thread entry point function (&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/3809&quot; target=&quot;_blank&quot; style=&quot;color: rgb(34, 68, 187); &quot;&gt;#3809&lt;/a&gt;).&lt;/li&gt;&lt;li&gt;In &lt;code style=&quot;font-size: 11px; &quot;&gt;&lt;span&gt;getaddrinfo&lt;/span&gt;&lt;/code&gt; emulation, only check the socket type (&lt;code style=&quot;font-size: 11px; &quot;&gt;&lt;span&gt;SOCK_STREAM&lt;/span&gt;&lt;/code&gt; or &lt;code style=&quot;font-size: 11px; &quot;&gt;&lt;span&gt;SOCK_DGRAM&lt;/span&gt;&lt;/code&gt;) if a service name has been specified. This should allow the emulation to work with raw sockets.&lt;/li&gt;&lt;li&gt;Added a workaround for some broken Windows firewalls that make a socket appear bound to 0.0.0.0 when it is in fact bound to 127.0.0.1.&lt;/li&gt;&lt;li&gt;Applied a fix for reported excessive CPU usage under Solaris (&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/3670&quot; target=&quot;_blank&quot; style=&quot;color: rgb(34, 68, 187); &quot;&gt;#3670&lt;/a&gt;).&lt;/li&gt;&lt;li&gt;Added some support for platforms that use older compilers such as g++ 2.95 (&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/3743&quot; target=&quot;_blank&quot; style=&quot;color: rgb(34, 68, 187); &quot;&gt;#3743&lt;/a&gt;).&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&lt;a href=&quot;http://www.boost.org/libs/circular_buffer/index.html&quot; target=&quot;_blank&quot; style=&quot;color: rgb(34, 68, 187); &quot;&gt;Circular Buffer&lt;/a&gt;:&lt;/span&gt;&lt;ul&gt;&lt;li&gt;Added methods erase_begin(size_type) and erase_end(size_type) with constant complexity for such types of stored elements which do not need an explicit destruction e.g. int or double.&lt;/li&gt;&lt;li&gt;Similarly changed implementation of the clear() method and the destructor so their complexity is now constant for such types of stored elements which do not require an explicit destruction (the complexity for other types remains linear).&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&lt;a href=&quot;http://www.boost.org/libs/fusion/index.html&quot; target=&quot;_blank&quot; style=&quot;color: rgb(34, 68, 187); &quot;&gt;Fusion&lt;/a&gt;:&lt;/span&gt;&lt;ul&gt;&lt;li&gt;The accumulator is the first argument to the functor of &lt;code style=&quot;font-size: 11px; &quot;&gt;&lt;span&gt;fusion&lt;/span&gt;&lt;span&gt;::&lt;/span&gt;&lt;span&gt;fold&lt;/span&gt;&lt;/code&gt; and &lt;code style=&quot;font-size: 11px; &quot;&gt;&lt;span&gt;fusion&lt;/span&gt;&lt;span&gt;::&lt;/span&gt;&lt;span&gt;accumulate&lt;/span&gt;&lt;/code&gt;(&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/2355&quot; target=&quot;_blank&quot; style=&quot;color: rgb(34, 68, 187); &quot;&gt;#2355&lt;/a&gt;).&lt;/li&gt;&lt;li&gt;Added support for associative iterators and views (&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/3473&quot; target=&quot;_blank&quot; style=&quot;color: rgb(34, 68, 187); &quot;&gt;#3473&lt;/a&gt;).&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&lt;a href=&quot;http://www.boost.org/libs/graph/index.html&quot; target=&quot;_blank&quot; style=&quot;color: rgb(34, 68, 187); &quot;&gt;Graph&lt;/a&gt;:&lt;/span&gt;&lt;ul&gt;&lt;li&gt;Removed old interface to &lt;code style=&quot;font-size: 11px; &quot;&gt;&lt;span&gt;compressed_sparse_row_graph&lt;/span&gt;&lt;/code&gt;, making new interface the default.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&lt;a href=&quot;http://www.boost.org/libs/integer/index.html&quot; target=&quot;_blank&quot; style=&quot;color: rgb(34, 68, 187); &quot;&gt;Integer&lt;/a&gt;:&lt;/span&gt;&lt;ul&gt;&lt;li&gt;Reverted Trunk to release branch state (i.e. a &quot;known good state&quot;).&lt;/li&gt;&lt;li&gt;Fixed issues: &lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/653&quot; target=&quot;_blank&quot; style=&quot;color: rgb(34, 68, 187); &quot;&gt;653&lt;/a&gt;, &lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/3084&quot; target=&quot;_blank&quot; style=&quot;color: rgb(34, 68, 187); &quot;&gt;3084&lt;/a&gt;, &lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/3177&quot; target=&quot;_blank&quot; style=&quot;color: rgb(34, 68, 187); &quot;&gt;3177&lt;/a&gt;, &lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/3180&quot; target=&quot;_blank&quot; style=&quot;color: rgb(34, 68, 187); &quot;&gt;3180&lt;/a&gt;, &lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/3548&quot; target=&quot;_blank&quot; style=&quot;color: rgb(34, 68, 187); &quot;&gt;3568&lt;/a&gt;, &lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/3657&quot; target=&quot;_blank&quot; style=&quot;color: rgb(34, 68, 187); &quot;&gt;3657&lt;/a&gt;, &lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/2134&quot; target=&quot;_blank&quot; style=&quot;color: rgb(34, 68, 187); &quot;&gt;2134&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;Added long long support to &lt;tt&gt;boost::static_log2&lt;/tt&gt;, &lt;tt&gt;boost::static_signed_min&lt;/tt&gt;,&lt;tt&gt;boost::static_signed_max&lt;/tt&gt;, &lt;tt&gt;boost::static_unsigned_min&lt;/tt&gt;&lt;tt&gt;boost::static_unsigned_max&lt;/tt&gt;, when available.&lt;/li&gt;&lt;li&gt;The argument type and the result type of &lt;tt&gt;boost::static_signed_min&lt;/tt&gt; etc are now typedef&#39;d. Formerly, they were hardcoded as &lt;tt&gt;unsigned long&lt;/tt&gt; and &lt;tt&gt;int&lt;/tt&gt; respectively. Please, use the provided typedefs in new code (and update old code as soon as possible).&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&lt;a href=&quot;http://www.boost.org/libs/iostreams/index.html&quot; target=&quot;_blank&quot; style=&quot;color: rgb(34, 68, 187); &quot;&gt;Iostreams&lt;/a&gt;:&lt;/span&gt;&lt;ul&gt;&lt;li&gt;Fixed many outstanding issues. Thanks to Richard Smith for his work on this. (&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/3612&quot; target=&quot;_blank&quot; style=&quot;color: rgb(34, 68, 187); &quot;&gt;#3612&lt;/a&gt;, &lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/3311&quot; target=&quot;_blank&quot; style=&quot;color: rgb(34, 68, 187); &quot;&gt;#3311&lt;/a&gt;,&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/2094&quot; target=&quot;_blank&quot; style=&quot;color: rgb(34, 68, 187); &quot;&gt;#2094&lt;/a&gt;, &lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/3010&quot; target=&quot;_blank&quot; style=&quot;color: rgb(34, 68, 187); &quot;&gt;#3010&lt;/a&gt;, &lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/2894&quot; target=&quot;_blank&quot; style=&quot;color: rgb(34, 68, 187); &quot;&gt;#2894&lt;/a&gt;, &lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/3011&quot; target=&quot;_blank&quot; style=&quot;color: rgb(34, 68, 187); &quot;&gt;#3011&lt;/a&gt;, &lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/3352&quot; target=&quot;_blank&quot; style=&quot;color: rgb(34, 68, 187); &quot;&gt;#3352&lt;/a&gt;, &lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/3505&quot; target=&quot;_blank&quot; style=&quot;color: rgb(34, 68, 187); &quot;&gt;#3505&lt;/a&gt;).&lt;/li&gt;&lt;li&gt;For more information see the &lt;a href=&quot;http://www.boost.org/libs/iostreams/doc/release_notes.html&quot; target=&quot;_blank&quot; style=&quot;color: rgb(34, 68, 187); &quot;&gt;library release notes&lt;/a&gt;.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&lt;a href=&quot;http://www.boost.org/libs/program_options/index.html&quot; target=&quot;_blank&quot; style=&quot;color: rgb(34, 68, 187); &quot;&gt;Program.Options&lt;/a&gt;:&lt;/span&gt;&lt;ul&gt;&lt;li&gt;Information about option name added to a few exception classes and various clean ups in exception classes (&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/3423&quot; target=&quot;_blank&quot; style=&quot;color: rgb(34, 68, 187); &quot;&gt;#3423&lt;/a&gt;).&lt;/li&gt;&lt;li&gt;Description wordwrapping in presense of default parameters fixed (&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/2613&quot; target=&quot;_blank&quot; style=&quot;color: rgb(34, 68, 187); &quot;&gt;#2613&lt;/a&gt;).&lt;/li&gt;&lt;li&gt;Empty value in configuration file is now permitted (&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/1537&quot; target=&quot;_blank&quot; style=&quot;color: rgb(34, 68, 187); &quot;&gt;#1537&lt;/a&gt;).&lt;/li&gt;&lt;li&gt;Quotes are no longer stripped from string values (&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/850&quot; target=&quot;_blank&quot; style=&quot;color: rgb(34, 68, 187); &quot;&gt;#850&lt;/a&gt;).&lt;/li&gt;&lt;li&gt;Fix endless loop in case of long default arguments (&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/689&quot; target=&quot;_blank&quot; style=&quot;color: rgb(34, 68, 187); &quot;&gt;#689&lt;/a&gt;).&lt;/li&gt;&lt;li&gt;Fix compile warning caused by usage of boost::any (&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/2562&quot; target=&quot;_blank&quot; style=&quot;color: rgb(34, 68, 187); &quot;&gt;#2562&lt;/a&gt;).&lt;/li&gt;&lt;li&gt;Fix memory bug in example/response_file.cpp (&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/3525&quot; target=&quot;_blank&quot; style=&quot;color: rgb(34, 68, 187); &quot;&gt;#3525&lt;/a&gt;).&lt;/li&gt;&lt;li&gt;Most compilation warnings were fixed (&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/3608&quot; target=&quot;_blank&quot; style=&quot;color: rgb(34, 68, 187); &quot;&gt;#3608&lt;/a&gt;).&lt;/li&gt;&lt;li&gt;Make column width for description text configurable. (&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/3703&quot; target=&quot;_blank&quot; style=&quot;color: rgb(34, 68, 187); &quot;&gt;#3703&lt;/a&gt;).&lt;/li&gt;&lt;li&gt;Add general split function: split_unix() (&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/2561&quot; target=&quot;_blank&quot; style=&quot;color: rgb(34, 68, 187); &quot;&gt;#2561&lt;/a&gt;).&lt;/li&gt;&lt;li&gt;Enable open config files from given file name (&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/3264&quot; target=&quot;_blank&quot; style=&quot;color: rgb(34, 68, 187); &quot;&gt;#3264&lt;/a&gt;).&lt;/li&gt;&lt;li&gt;Additional flag for required options (&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/2982&quot; target=&quot;_blank&quot; style=&quot;color: rgb(34, 68, 187); &quot;&gt;#2982&lt;/a&gt;).&lt;/li&gt;&lt;li&gt;Enable case insensitive style for command line (&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/3498&quot; target=&quot;_blank&quot; style=&quot;color: rgb(34, 68, 187); &quot;&gt;#3498&lt;/a&gt;).&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&lt;a href=&quot;http://www.boost.org/libs/property_map/index.html&quot; target=&quot;_blank&quot; style=&quot;color: rgb(34, 68, 187); &quot;&gt;PropertyMap&lt;/a&gt;:&lt;/span&gt;&lt;ul&gt;&lt;li&gt;Removed old header files (directly in the &lt;code style=&quot;font-size: 11px; &quot;&gt;&lt;span&gt;boost&lt;/span&gt;&lt;span&gt;/&lt;/span&gt;&lt;/code&gt; directory); they were deprecated since 1.40, replaced by headers in &lt;code style=&quot;font-size: 11px; &quot;&gt;&lt;span&gt;boost&lt;/span&gt;&lt;span&gt;/&lt;/span&gt;&lt;span&gt;property_map&lt;/span&gt;&lt;span&gt;/&lt;/span&gt;&lt;/code&gt;.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&lt;a href=&quot;http://www.boost.org/libs/proto/index.html&quot; target=&quot;_blank&quot; style=&quot;color: rgb(34, 68, 187); &quot;&gt;Proto&lt;/a&gt;:&lt;/span&gt;&lt;ul&gt;&lt;li&gt;Fix const correctness issues with &lt;code style=&quot;font-size: 11px; &quot;&gt;&lt;span&gt;proto&lt;/span&gt;&lt;span&gt;::&lt;/span&gt;&lt;span&gt;flatten&lt;/span&gt;&lt;/code&gt; and friends (&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/3364&quot; target=&quot;_blank&quot; style=&quot;color: rgb(34, 68, 187); &quot;&gt;#3364&lt;/a&gt;).&lt;/li&gt;&lt;li&gt;Accomodate recent change to &lt;code style=&quot;font-size: 11px; &quot;&gt;&lt;span&gt;fusion&lt;/span&gt;&lt;span&gt;::&lt;/span&gt;&lt;span&gt;fold&lt;/span&gt;&lt;/code&gt;, remove old support for Doxygen and pre-1.35 Fusion (&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/3553&quot; target=&quot;_blank&quot; style=&quot;color: rgb(34, 68, 187); &quot;&gt;#3553&lt;/a&gt;).&lt;/li&gt;&lt;li&gt;In binary operations, when one operand has a user-specified domain and the other has the default domain, the user-specified domain trumps.&lt;/li&gt;&lt;li&gt;Fix &lt;code style=&quot;font-size: 11px; &quot;&gt;&lt;span&gt;BOOST_PROTO_EXTENDS&lt;/span&gt;&lt;/code&gt; to work with elaborated types.&lt;/li&gt;&lt;li&gt;Work around EDG compiler bug with function types and cv-qualification.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&lt;a href=&quot;http://www.boost.org/libs/regex/index.html&quot; target=&quot;_blank&quot; style=&quot;color: rgb(34, 68, 187); &quot;&gt;Regex&lt;/a&gt;:&lt;/span&gt;&lt;ul&gt;&lt;li&gt;Added support for Functors rather than strings as format expressions.&lt;/li&gt;&lt;li&gt;Improved error reporting when throwing exceptions to include better more relevant information.&lt;/li&gt;&lt;li&gt;Improved performance and reduced stack usage of recursive expressions.&lt;/li&gt;&lt;li&gt;Fixed tickets &lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/2802&quot; target=&quot;_blank&quot; style=&quot;color: rgb(34, 68, 187); &quot;&gt;#2802&lt;/a&gt;, &lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/3425&quot; target=&quot;_blank&quot; style=&quot;color: rgb(34, 68, 187); &quot;&gt;#3425&lt;/a&gt;, &lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/3507&quot; target=&quot;_blank&quot; style=&quot;color: rgb(34, 68, 187); &quot;&gt;#3507&lt;/a&gt;, &lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/3546&quot; target=&quot;_blank&quot; style=&quot;color: rgb(34, 68, 187); &quot;&gt;#3546&lt;/a&gt;, &lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/3631&quot; target=&quot;_blank&quot; style=&quot;color: rgb(34, 68, 187); &quot;&gt;#3631&lt;/a&gt;, &lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/3632&quot; target=&quot;_blank&quot; style=&quot;color: rgb(34, 68, 187); &quot;&gt;#3632&lt;/a&gt;, &lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/3715&quot; target=&quot;_blank&quot; style=&quot;color: rgb(34, 68, 187); &quot;&gt;#3715&lt;/a&gt;, &lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/3718&quot; target=&quot;_blank&quot; style=&quot;color: rgb(34, 68, 187); &quot;&gt;#3718&lt;/a&gt;, &lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/3763&quot; target=&quot;_blank&quot; style=&quot;color: rgb(34, 68, 187); &quot;&gt;#3763&lt;/a&gt;, &lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/3764&quot; target=&quot;_blank&quot; style=&quot;color: rgb(34, 68, 187); &quot;&gt;#3764&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&lt;a href=&quot;http://www.boost.org/libs/spirit/index.html&quot; target=&quot;_blank&quot; style=&quot;color: rgb(34, 68, 187); &quot;&gt;Spirit&lt;/a&gt;:&lt;/span&gt; Spirit V2.2, see the &#39;&lt;a href=&quot;http://www.boost.org/doc/libs/1_42_0/libs/spirit/doc/html/spirit/what_s_new.html&quot; target=&quot;_blank&quot; style=&quot;color: rgb(34, 68, 187); &quot;&gt;What&#39;s New&lt;/a&gt;&#39; section for details.&lt;/li&gt;&lt;li&gt;&lt;span&gt;&lt;a href=&quot;http://www.boost.org/libs/unordered/index.html&quot; target=&quot;_blank&quot; style=&quot;color: rgb(34, 68, 187); &quot;&gt;Unordered&lt;/a&gt;:&lt;/span&gt;&lt;ul&gt;&lt;li&gt;Support instantiating the containers with incomplete value types.&lt;/li&gt;&lt;li&gt;Add &lt;code style=&quot;font-size: 11px; &quot;&gt;&lt;span&gt;erase_return_void&lt;/span&gt;&lt;/code&gt; as a temporary workaround for the current &lt;code style=&quot;font-size: 11px; &quot;&gt;&lt;span&gt;erase&lt;/span&gt;&lt;/code&gt; which can be inefficient because it has to find the next element to return an iterator (&lt;a href=&quot;http://svn.boost.org/trac/boost/ticket/3693&quot; target=&quot;_blank&quot; style=&quot;color: rgb(34, 68, 187); &quot;&gt;#3693&lt;/a&gt;).&lt;/li&gt;&lt;li&gt;Add templated find overload for compatible keys.&lt;/li&gt;&lt;li&gt;Improved codegear compatibility.&lt;/li&gt;&lt;li&gt;Other minor changes, full details in &lt;a href=&quot;http://www.boost.org/doc/html/unordered/changes.html#unordered.changes.boost_1_42_0&quot; target=&quot;_blank&quot; style=&quot;color: rgb(34, 68, 187); &quot;&gt;the changelog&lt;/a&gt;.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&lt;a href=&quot;http://www.boost.org/libs/xpressive/index.html&quot; target=&quot;_blank&quot; style=&quot;color: rgb(34, 68, 187); &quot;&gt;Xpressive&lt;/a&gt;:&lt;/span&gt;&lt;ul&gt;&lt;li&gt;&lt;code style=&quot;font-size: 11px; &quot;&gt;&lt;span&gt;match_results&lt;/span&gt;&lt;/code&gt; no longer relies on undefined behavior in &lt;code style=&quot;font-size: 11px; &quot;&gt;&lt;span&gt;std&lt;/span&gt;&lt;span&gt;::&lt;/span&gt;&lt;span&gt;list&lt;/span&gt;&lt;/code&gt; (&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/3278&quot; target=&quot;_blank&quot; style=&quot;color: rgb(34, 68, 187); &quot;&gt;#3278&lt;/a&gt;).&lt;/li&gt;&lt;li&gt;Do NOT copy singular iterators (&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/3538&quot; target=&quot;_blank&quot; style=&quot;color: rgb(34, 68, 187); &quot;&gt;#3538&lt;/a&gt;).&lt;/li&gt;&lt;li&gt;Eliminate gcc and darwin warnings (&lt;a href=&quot;https://svn.boost.org/trac/boost/ticket/3734&quot; target=&quot;_blank&quot; style=&quot;color: rgb(34, 68, 187); &quot;&gt;#3734&lt;/a&gt;).&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; &quot;&gt;&lt;h3&gt;&lt;br /&gt;&lt;/h3&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sergeysthoughts.blogspot.com/feeds/3909567758342311723/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/251359507903297281/3909567758342311723?isPopup=true' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/251359507903297281/posts/default/3909567758342311723'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/251359507903297281/posts/default/3909567758342311723'/><link rel='alternate' type='text/html' href='http://sergeysthoughts.blogspot.com/2010/02/boost.html' title='Вышел &quot;новый&quot; Boost'/><author><name>Сергей</name><uri>http://www.blogger.com/profile/10973621537470546724</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-251359507903297281.post-3712760938455298201</id><published>2009-11-18T01:18:00.001+10:00</published><updated>2009-11-18T01:18:15.009+10:00</updated><title type='text'>RedHat Fedora 12 is out</title><content type='html'>Как-то незаметно в День моего Рождения выпустили 11.2 OpenSuse.&lt;br&gt;Досадно, что я к этому времени уже полностью перешел на Fedora... И она обновилась сегодня до 12 версии!&lt;br&gt;&lt;br&gt;Брать можно &lt;a href=&quot;http://fedoraproject.org/ru/get-fedora&quot;&gt;здесь&lt;/a&gt;&lt;br clear=&quot;all&quot;&gt; &lt;br&gt;-- &lt;br&gt;Best Regards,&lt;br&gt;Sergey Nikulov&lt;br&gt; </content><link rel='replies' type='application/atom+xml' href='http://sergeysthoughts.blogspot.com/feeds/3712760938455298201/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/251359507903297281/3712760938455298201?isPopup=true' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/251359507903297281/posts/default/3712760938455298201'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/251359507903297281/posts/default/3712760938455298201'/><link rel='alternate' type='text/html' href='http://sergeysthoughts.blogspot.com/2009/11/redhat-fedora-12-is-out.html' title='RedHat Fedora 12 is out'/><author><name>Сергей</name><uri>http://www.blogger.com/profile/10973621537470546724</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-251359507903297281.post-7455343986849018650</id><published>2009-11-11T22:08:00.002+10:00</published><updated>2009-11-11T22:16:49.924+10:00</updated><title type='text'>New system language from Google</title><content type='html'>Google разошелся... В этом году объявил уже о втором новом языке придуманном ими.&lt;div&gt;Язык назвали &lt;a href=&quot;http://golang.org/&quot;&gt;Go&lt;/a&gt;. Я бы на их месте назвал его Goo :-)&lt;/div&gt;&lt;div&gt;&lt;div&gt;Результат скрещивания C++ и Python. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sergeysthoughts.blogspot.com/feeds/7455343986849018650/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/251359507903297281/7455343986849018650?isPopup=true' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/251359507903297281/posts/default/7455343986849018650'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/251359507903297281/posts/default/7455343986849018650'/><link rel='alternate' type='text/html' href='http://sergeysthoughts.blogspot.com/2009/11/new-system-language-from-google.html' title='New system language from Google'/><author><name>Сергей</name><uri>http://www.blogger.com/profile/10973621537470546724</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-251359507903297281.post-8027640749472135008</id><published>2009-09-22T16:39:00.002+11:00</published><updated>2009-09-22T17:08:11.271+11:00</updated><title type='text'>Continuous integration</title><content type='html'>Случилось так что потрабовалось для проекта подобрать сервер для &lt;a href=&quot;http://en.wikipedia.org/wiki/Continuous_integration&quot;&gt;Continuous integration&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Решил вначале опробовать &lt;a href=&quot;http://cruisecontrol.sourceforge.net/&quot;&gt;CruiseControl&lt;/a&gt;. Все таки &lt;a href=&quot;http://martinfowler.com/&quot;&gt;Мартин Фаулер&lt;/a&gt; вроде приложил руку к его созданию.&lt;br /&gt;&lt;br /&gt;Конфигурационный инструмент, который должен был запуститься со странички через Java WebStart, на Linux-е запускаться и не подумал.&lt;br /&gt;&lt;br /&gt;После 2х часов RTFM-а, грубо ругаясь, прекратил тщетные попытки описать проект для C++/CMake/SVN и, успокаивая себя тем что это же OSS, и не надеясь ни на что хорошее бросил &lt;a href=&quot;https://hudson.dev.java.net/&quot;&gt;Hudson&lt;/a&gt;-овский war в папку приложений Tomcat.&lt;br /&gt;&lt;br /&gt;Используя Hudson web-интерфейс за пару минут создал два проекта которые проверяют SCM на наличие изменений, запускают билд, если изменения есть, высылает сообщение по почте и результат публикуют на FTP.&lt;br /&gt;&lt;br /&gt;Ну а после того как обнаружил в списке дополнений слова cmake &amp;amp; scons... Я фанат Hudson-а!&lt;br /&gt;&lt;br /&gt;Надо сказать, что я никому не посоветую CruiseControl.</content><link rel='replies' type='application/atom+xml' href='http://sergeysthoughts.blogspot.com/feeds/8027640749472135008/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/251359507903297281/8027640749472135008?isPopup=true' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/251359507903297281/posts/default/8027640749472135008'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/251359507903297281/posts/default/8027640749472135008'/><link rel='alternate' type='text/html' href='http://sergeysthoughts.blogspot.com/2009/09/continuous-integration.html' title='Continuous integration'/><author><name>Сергей</name><uri>http://www.blogger.com/profile/10973621537470546724</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-251359507903297281.post-2508382059208581591</id><published>2009-06-24T21:52:00.001+11:00</published><updated>2013-03-29T00:08:55.826+11:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="C++"/><category scheme="http://www.blogger.com/atom/ns#" term="tools"/><category scheme="http://www.blogger.com/atom/ns#" term="советы"/><title type='text'>удаление Visual Studio 2008</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Собственно оказалось нетривиальной задачей...&lt;br /&gt;
Рекомендую воспользоваться &lt;a href=&quot;http://go.microsoft.com/fwlink/?LinkId=105801&quot;&gt;инструментом от издателя&lt;/a&gt;.&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://sergeysthoughts.blogspot.com/feeds/2508382059208581591/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/251359507903297281/2508382059208581591?isPopup=true' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/251359507903297281/posts/default/2508382059208581591'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/251359507903297281/posts/default/2508382059208581591'/><link rel='alternate' type='text/html' href='http://sergeysthoughts.blogspot.com/2009/06/visual-studio-2008.html' title='удаление Visual Studio 2008'/><author><name>Сергей</name><uri>http://www.blogger.com/profile/10973621537470546724</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-251359507903297281.post-5209478874726483808</id><published>2009-06-09T19:18:00.002+11:00</published><updated>2009-06-09T19:32:41.041+11: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;br /&gt;- Вотс гоин он? говорю.&lt;br /&gt;Он отвечает на чистейшем американском - а это ваш компьютер?&lt;br /&gt;- Мой - говорю.&lt;br /&gt;- А вы ничего большого не качали? - спрашивает он, видимо в надежде на отмазки.&lt;br /&gt;- Качал говорю - не далее как в конце прошлой недели - 8 Гб за вечер утянул в торрентах с сайта Fedoraproject.org&lt;br /&gt;- Ну вообщем-то говорит не большая проблема, просто вы канал нам просадили на прошлой недели в усмерть - никто работать не мог. Я - говорит - грешным делом на порновирус рассчитывал - а тут вы со своим Линуксом.&lt;br /&gt;- Да - говорю я, не извиняясь - херня такая этот Линукс - говорю смотри - апдэйтов кажет 686 штук и показал значек ПэкаджКита. Хотя - говорю - на прошлой неделе не менее после установки вытянул...&lt;br /&gt;- А ограничить по полосе его нельзя?&lt;br /&gt;- Да можно, тока я думал у вас в Америке с пропускной способностью каналов проблем нет, начал я испорченный Иллинойсовским безлимитом на комкасте....&lt;br /&gt;- Не делайте так больше - сказал мужик и ушел...&lt;br /&gt;&lt;br /&gt;Вот такая вот поучительная история...&lt;br /&gt;Походу тут каналы в Силиконке нифига не широкие...&lt;br /&gt;И &quot;палят&quot; на них реально...</content><link rel='replies' type='application/atom+xml' href='http://sergeysthoughts.blogspot.com/feeds/5209478874726483808/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/251359507903297281/5209478874726483808?isPopup=true' title='Комментарии: 1'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/251359507903297281/posts/default/5209478874726483808'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/251359507903297281/posts/default/5209478874726483808'/><link rel='alternate' type='text/html' href='http://sergeysthoughts.blogspot.com/2009/06/blog-post.html' title='про интернет в Калифорнии (продолжение...)'/><author><name>Сергей</name><uri>http://www.blogger.com/profile/10973621537470546724</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-251359507903297281.post-4705712681454947179</id><published>2009-06-09T17:12:00.003+11:00</published><updated>2009-06-09T18:20:01.699+11:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="C++"/><category scheme="http://www.blogger.com/atom/ns#" term="embedded"/><category scheme="http://www.blogger.com/atom/ns#" term="tools"/><title type='text'>C++ для встроенного ПО</title><content type='html'>Читаю статью на &lt;a href=&quot;http://www.embedded.com/columns/technicalinsights/217800095&quot;&gt;Руководство по С++ для осмотрительного программера встроенных систем&lt;/a&gt; на &lt;a href=&quot;http://www.embedded.com/&quot;&gt;embedded.com&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Прежде всего, хочеться отметить, что мне понравился сайт, как ресурс. Я давно на него поглядывал, но все не находил времени почитать. Интересные советы, статьи. Нельзя сказать, что все новое и незнакомое - где-то слышал то, где-то это...&lt;br /&gt;&lt;br /&gt;Вообщем, иногда имеет смысл поглядывать, и не забывать.&lt;br /&gt;&lt;br /&gt;Решил немного посчитать и поэкспериментировать.&lt;br /&gt;&lt;br /&gt;Написал маленький и смешной кусок кода:&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;font-size:85%;&quot; &gt;int main(int argc, char * argv[])&lt;br /&gt;{&lt;br /&gt;return 0;&lt;br /&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;скопировал текст в два файла:&lt;br /&gt;try_me.c&lt;br /&gt;try_me.cpp&lt;br /&gt;&lt;br /&gt;собрал &quot;в лоб&quot; по простому...&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;font-size:85%;&quot; &gt;[snikulov@solarwind c_vs_cpp]$ gcc try_me.c -o try_c&lt;br /&gt;[snikulov@solarwind c_vs_cpp]$ g++ try_me.cpp -o try_cpp&lt;br /&gt;[snikulov@solarwind c_vs_cpp]$ ls -la&lt;br /&gt;total 32&lt;br /&gt;drwxrwxr-x. 2 snikulov snikulov 4096 2009-06-08 23:28 .&lt;br /&gt;drwxrwxr-x. 6 snikulov snikulov 4096 2009-06-08 22:41 ..&lt;br /&gt;-rwxrwxr-x. 1 snikulov snikulov &lt;span style=&quot;color: rgb(255, 0, 0);&quot;&gt;4728&lt;/span&gt; 2009-06-08 23:27 try_c&lt;br /&gt;-rwxrwxr-x. 1 snikulov snikulov &lt;span style=&quot;color: rgb(255, 0, 0);&quot;&gt;5047&lt;/span&gt; 2009-06-08 23:27 try_cpp&lt;br /&gt;-rw-rw-r--. 1 snikulov snikulov   55 2009-06-08 22:43 try_me.c&lt;br /&gt;-rw-rw-r--. 1 snikulov snikulov   55 2009-06-08 22:43 try_me.cpp&lt;br /&gt;[snikulov@solarwind c_vs_cpp]$&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Ну что тут сказать - 4728 vs. 5047&lt;br /&gt;&lt;br /&gt;Вообщем C++ вариант больше на 300 байт просто без всего.&lt;br /&gt;&lt;br /&gt;Играемся с опциями компилятора (пока по размеру -Os):&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;font-size:85%;&quot; &gt;[snikulov@solarwind c_vs_cpp]$ g++ try_me.cpp &lt;span style=&quot;color: rgb(0, 0, 153);&quot;&gt;-Os&lt;/span&gt; -o try_cpp&lt;br /&gt;[snikulov@solarwind c_vs_cpp]$ gcc try_me.c &lt;span style=&quot;color: rgb(0, 0, 153);&quot;&gt;-Os&lt;/span&gt; -o try_c&lt;br /&gt;[snikulov@solarwind c_vs_cpp]$ ls -la&lt;br /&gt;total 32&lt;br /&gt;drwxrwxr-x. 2 snikulov snikulov 4096 2009-06-08 23:33 .&lt;br /&gt;drwxrwxr-x. 6 snikulov snikulov 4096 2009-06-08 22:41 ..&lt;br /&gt;-rwxrwxr-x. 1 snikulov snikulov &lt;span style=&quot;color: rgb(255, 0, 0);&quot;&gt;4728&lt;/span&gt; 2009-06-08 23:33 try_c&lt;br /&gt;-rwxrwxr-x. 1 snikulov snikulov &lt;span style=&quot;color: rgb(255, 0, 0);&quot;&gt;5047&lt;/span&gt; 2009-06-08 23:33 try_cpp&lt;br /&gt;-rw-rw-r--. 1 snikulov snikulov   55 2009-06-08 22:43 try_me.c&lt;br /&gt;-rw-rw-r--. 1 snikulov snikulov   55 2009-06-08 22:43 try_me.cpp&lt;br /&gt;[snikulov@solarwind c_vs_cpp]$&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Эффекта не замечаем - предполагаю что компилер оптимизирует (означает что оптимизировать там нечего ;-) )&lt;br /&gt;&lt;br /&gt;Ок. Переходим к отключению фич языка C++ - это должно быть интереснее, ибо размером больше (наверное за счет них)&lt;br /&gt;&lt;br /&gt;Первая - RTTI&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;font-size:85%;&quot; &gt;[snikulov@solarwind c_vs_cpp]$ gcc try_me.c -o try_c&lt;br /&gt;[snikulov@solarwind c_vs_cpp]$ g++ try_me.cpp &lt;span style=&quot;color: rgb(0, 0, 153);&quot;&gt;-fno-rtti&lt;/span&gt; -o try_cpp&lt;br /&gt;[snikulov@solarwind c_vs_cpp]$ ls -la&lt;br /&gt;total 32&lt;br /&gt;drwxrwxr-x. 2 snikulov snikulov 4096 2009-06-08 23:38 .&lt;br /&gt;drwxrwxr-x. 6 snikulov snikulov 4096 2009-06-08 22:41 ..&lt;br /&gt;-rwxrwxr-x. 1 snikulov snikulov &lt;span style=&quot;color: rgb(255, 0, 0);&quot;&gt;4728&lt;/span&gt; 2009-06-08 23:38 try_c&lt;br /&gt;-rwxrwxr-x. 1 snikulov snikulov &lt;span style=&quot;color: rgb(255, 0, 0);&quot;&gt;5047&lt;/span&gt; 2009-06-08 23:38 try_cpp&lt;br /&gt;-rw-rw-r--. 1 snikulov snikulov   55 2009-06-08 22:43 try_me.c&lt;br /&gt;-rw-rw-r--. 1 snikulov snikulov   55 2009-06-08 22:43 try_me.cpp&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Никакго эффекта. Угу.&lt;br /&gt;&lt;br /&gt;Переходим к другой фиче - исключения&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;font-size:85%;&quot; &gt;[snikulov@solarwind c_vs_cpp]$ g++ try_me.cpp &lt;span style=&quot;color: rgb(0, 0, 153);&quot;&gt;-fno-exceptions&lt;/span&gt; -o try_cpp&lt;br /&gt;[snikulov@solarwind c_vs_cpp]$ ls -la&lt;br /&gt;total 32&lt;br /&gt;drwxrwxr-x. 2 snikulov snikulov 4096 2009-06-08 23:39 .&lt;br /&gt;drwxrwxr-x. 6 snikulov snikulov 4096 2009-06-08 22:41 ..&lt;br /&gt;-rwxrwxr-x. 1 snikulov snikulov &lt;span style=&quot;color: rgb(255, 0, 0);&quot;&gt;4728&lt;/span&gt; 2009-06-08 23:38 try_c&lt;br /&gt;-rwxrwxr-x. 1 snikulov snikulov &lt;span style=&quot;color: rgb(255, 0, 0);&quot;&gt;4818&lt;/span&gt; 2009-06-08 23:39 try_cpp&lt;br /&gt;-rw-rw-r--. 1 snikulov snikulov   55 2009-06-08 22:43 try_me.c&lt;br /&gt;-rw-rw-r--. 1 snikulov snikulov   55 2009-06-08 22:43 try_me.cpp&lt;br /&gt;[snikulov@solarwind c_vs_cpp]$&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Уже лучше&lt;br /&gt;4728 vs. 4818&lt;br /&gt;&lt;br /&gt;Что же там такое - смотрим (я взял опцию -d ибо по остальному большого различия не увидел... хотя я конечно лукавлю - сами посмотрите)&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;font-size:85%;&quot; &gt;[snikulov@solarwind c_vs_cpp]$ readelf -d try_c&lt;br /&gt;&lt;br /&gt;Dynamic section at offset 0x4ec contains 20 entries:&lt;br /&gt; Tag        Type                         Name/Value&lt;br /&gt;0x00000001 (NEEDED)                     Shared library: [libc.so.6]&lt;br /&gt;0x0000000c (INIT)                       0x8048274                &lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-weight: bold;font-size:85%;&quot; &gt;-= skip =-&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-weight: bold;font-size:85%;&quot; &gt;[snikulov@solarwind c_vs_cpp]$ readelf -d try_cpp&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;font-size:85%;&quot; &gt;Dynamic section at offset 0x52c contains 23 entries:&lt;br /&gt; Tag        Type                         Name/Value&lt;br /&gt;0x00000001 (NEEDED)                     Shared library: [libstdc++.so.6]&lt;br /&gt;0x00000001 (NEEDED)                     Shared library: [libm.so.6]&lt;br /&gt;0x00000001 (NEEDED)                     Shared library: [libgcc_s.so.1]&lt;br /&gt;0x00000001 (NEEDED)                     Shared library: [libc.so.6]&lt;br /&gt;0x0000000c (INIT)                       0x80482c0&lt;br /&gt;-= skip =-&lt;br /&gt;snikulov@solarwind c_vs_cpp]$&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Ну...  Вообще бардак&lt;br /&gt;&lt;br /&gt;Полагаем и время выполнения из-за этого должно немного проседать.&lt;br /&gt;Проверяем (используем не совсем точный метод расчета):&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;font-size:85%;&quot; &gt;[snikulov@solarwind c_vs_cpp]$ time ./try_c&lt;br /&gt;&lt;br /&gt;real    0m0.002s&lt;br /&gt;user    0m0.000s&lt;br /&gt;sys     0m0.001s&lt;br /&gt;[snikulov@solarwind c_vs_cpp]$ time ./try_cpp&lt;br /&gt;&lt;br /&gt;real    0m0.005s&lt;br /&gt;user    0m0.001s&lt;br /&gt;sys     0m0.002s&lt;br /&gt;[snikulov@solarwind c_vs_cpp]$&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Ну приблизительно. А почему? Ну, как нетрудно догадаться, видимо из-за библиотек?&lt;br /&gt;Проверим&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;font-size:85%;&quot; &gt;[snikulov@solarwind c_vs_cpp]$ strace ./try_c&lt;br /&gt;execve(&quot;./try_c&quot;, [&quot;./try_c&quot;], [/* 53 vars */]) = 0&lt;br /&gt;brk(0)                                  = 0x98aa000&lt;br /&gt;access(&quot;/etc/ld.so.preload&quot;, R_OK)      = -1 ENOENT (No such file or directory)&lt;br /&gt;open(&quot;/etc/ld.so.cache&quot;, O_RDONLY)      = 3                                  &lt;br /&gt;fstat64(3, {st_mode=S_IFREG|0644, st_size=137461, ...}) = 0                  &lt;br /&gt;mmap2(NULL, 137461, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7f6f000               &lt;br /&gt;close(3)                                = 0                                  &lt;br /&gt;open(&quot;/lib/libc.so.6&quot;, O_RDONLY)        = 3                                  &lt;br /&gt;read(3, &quot;\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\300\253\227\0004\0\0\0\304&quot;..., 512) = 512&lt;br /&gt;fstat64(3, {st_mode=S_IFREG|0755, st_size=1803388, ...}) = 0                                     &lt;br /&gt;mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f6e000           &lt;br /&gt;mmap2(0x964000, 1513768, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x964000        &lt;br /&gt;mprotect(0xacf000, 4096, PROT_NONE)     = 0                                                      &lt;br /&gt;mmap2(0xad0000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x16b) = 0xad0000&lt;br /&gt;mmap2(0xad3000, 10536, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xad3000 &lt;br /&gt;close(3)                                = 0                                                         &lt;br /&gt;mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f6d000              &lt;br /&gt;set_thread_area({entry_number:-1 -&gt; 6, base_addr:0xb7f6d6c0, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}) = 0                                                                                                                                           &lt;br /&gt;mprotect(0xad0000, 8192, PROT_READ)     = 0                                                                                                               &lt;br /&gt;mprotect(0x960000, 4096, PROT_READ)     = 0                                                                                                               &lt;br /&gt;munmap(0xb7f6f000, 137461)              = 0                                                                                                               &lt;br /&gt;exit_group(0)                           = ?                                                                                                               &lt;br /&gt;&lt;br /&gt;&lt;/span&gt;C++ версия должна быть &quot;пожирнее&quot;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;font-size:85%;&quot; &gt;[snikulov@solarwind c_vs_cpp]$ strace ./try_cpp                                                                                                           &lt;br /&gt;execve(&quot;./try_cpp&quot;, [&quot;./try_cpp&quot;], [/* 53 vars */]) = 0                                                                                                   &lt;br /&gt;brk(0)                                  = 0x9e42000                                                                                                       &lt;br /&gt;access(&quot;/etc/ld.so.preload&quot;, R_OK)      = -1 ENOENT (No such file or directory)                                                                           &lt;br /&gt;open(&quot;/etc/ld.so.cache&quot;, O_RDONLY)      = 3                                                                                                               &lt;br /&gt;fstat64(3, {st_mode=S_IFREG|0644, st_size=137461, ...}) = 0                                                                                               &lt;br /&gt;mmap2(NULL, 137461, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb8097000                                                                                            &lt;br /&gt;close(3)                                = 0                                                                                                               &lt;br /&gt;open(&quot;/usr/lib/libstdc++.so.6&quot;, O_RDONLY) = 3                                                                                                             &lt;br /&gt;read(3, &quot;\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0p\3523\0004\0\0\0\360&quot;..., 512) = 512                                                             &lt;br /&gt;mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb8096000                                                                    &lt;br /&gt;fstat64(3, {st_mode=S_IFREG|0755, st_size=950040, ...}) = 0&lt;br /&gt;mmap2(0x2fa000, 977644, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x2fa000&lt;br /&gt;mmap2(0x3dd000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xe2) = 0x3dd000&lt;br /&gt;mmap2(0x3e3000, 23276, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x3e3000&lt;br /&gt;close(3)                                = 0&lt;br /&gt;open(&quot;/lib/libm.so.6&quot;, O_RDONLY)        = 3&lt;br /&gt;read(3, &quot;\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0`$\256\0004\0\0\0&lt;&quot;..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0755, st_size=206204, ...}) = 0 mmap2(0xadf000, 159872, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xadf000 mmap2(0xb05000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x25) = 0xb05000 close(3)                                = 0 open(&quot;/lib/libgcc_s.so.1&quot;, O_RDONLY)    = 3 read(3, &quot;\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0@O&amp;amp;\0004\0\0\0P&quot;..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0755, st_size=172840, ...}) = 0 mmap2(0x263000, 174312, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x263000 mmap2(0x28d000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x29) = 0x28d000 close(3)                                = 0 open(&quot;/lib/libc.so.6&quot;, O_RDONLY)        = 3 read(3, &quot;\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\300\253\227\0004\0\0\0\304&quot;..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0755, st_size=1803388, ...}) = 0 mmap2(0x964000, 1513768, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x964000 mprotect(0xacf000, 4096, PROT_NONE)     = 0 mmap2(0xad0000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x16b) = 0xad0000 mmap2(0xad3000, 10536, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xad3000 close(3)                                = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb8095000 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb8094000 set_thread_area({entry_number:-1 -&gt; 6, base_addr:0xb8095b20, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}) = 0&lt;br /&gt;mprotect(0xad0000, 8192, PROT_READ)     = 0&lt;br /&gt;mprotect(0xb05000, 4096, PROT_READ)     = 0&lt;br /&gt;mprotect(0x3dd000, 16384, PROT_READ)    = 0&lt;br /&gt;mprotect(0x960000, 4096, PROT_READ)     = 0&lt;br /&gt;munmap(0xb8097000, 137461)              = 0&lt;br /&gt;exit_group(0)                           = ?&lt;br /&gt;[snikulov@solarwind c_vs_cpp]$&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Ну вообщем понятно...&lt;br /&gt;Оптимизировать непросто. Тут всегда балансируешь на гранях. Когда-то приходит время выбирать. Или быстро и красиво запрограммировать (конструкторы, деструкторы, перегрузки, и т.д.), или уместить все это в железку, чтобы приемлемо работало.&lt;br /&gt;&lt;br /&gt;Пошел искать опцию как отключить  libm из зависимостей.&lt;br /&gt;-Wl,-nostdlib не помогло.&lt;br /&gt;&lt;br /&gt;P.S.&lt;br /&gt;В рассылке по Embedded Linux Developers Kit мужик задал вопрос - а кто-нибудь перл собирал для ресурсо-ограниченного оборудования?&lt;br /&gt;Видимо не очень ограничен, если спрашивает.</content><link rel='replies' type='application/atom+xml' href='http://sergeysthoughts.blogspot.com/feeds/4705712681454947179/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/251359507903297281/4705712681454947179?isPopup=true' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/251359507903297281/posts/default/4705712681454947179'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/251359507903297281/posts/default/4705712681454947179'/><link rel='alternate' type='text/html' href='http://sergeysthoughts.blogspot.com/2009/06/c.html' title='C++ для встроенного ПО'/><author><name>Сергей</name><uri>http://www.blogger.com/profile/10973621537470546724</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-251359507903297281.post-3674477718996075307</id><published>2009-05-31T09:09:00.002+11:00</published><updated>2009-05-31T09:18:21.112+11:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="general"/><category scheme="http://www.blogger.com/atom/ns#" term="калифорния"/><title type='text'>крушение иллюзий...</title><content type='html'>Дмал хоть в силиконовой долине будет _быстрый_ беспроводной интернет. Как бы не так!!! Intel C/C++ Compiler for Linux качается уже 8 часов!!! И конца на видно...&lt;br /&gt;&lt;br /&gt;В то же время Sun Developer Express вытянул за 4 часа.&lt;br /&gt;&lt;br /&gt;Не совсем ясно почему так.&lt;br /&gt;Результат трассировки говорит что интел вроде ближе&lt;br /&gt;&lt;br /&gt;snikulov@linux-m0ft:/opt&gt; traceroute www.intel.com&lt;br /&gt;traceroute to www.intel.com (209.234.250.178), 30 hops max, 40 byte packets using UDP&lt;br /&gt; 1  10.10.10.1 (10.10.10.1)  152.980 ms   145.084 ms   147.297 ms&lt;br /&gt; 2  192.168.0.1 (192.168.0.1)  177.922 ms   175.383 ms   184.031 ms&lt;br /&gt; 3  bras6-l0.pltnca.sbcglobal.net (151.164.184.82)  188.939 ms   184.575 ms   178.264 ms&lt;br /&gt; 4  76.246.22.2 (76.246.22.2)  170.945 ms   167.853 ms   163.914 ms&lt;br /&gt; 5  151.164.93.237 (151.164.93.237)  155.814 ms   150.163 ms   142.610 ms&lt;br /&gt; 6  151.164.171.196 (151.164.171.196)  135.924 ms   130.859 ms   123.636 ms&lt;br /&gt; 7  asn3356-level3.eqsjca.sbcglobal.net (151.164.250.138)  31.344 ms   35.329 ms   47.115 ms&lt;br /&gt; 8  ae-13-69.car3.SanJose1.Level3.net (4.68.18.5)  47.623 ms ae-33-89.car3.SanJose1.Level3.net (4.68.18.133)  181.125 ms ae-13-69.car3.SanJose1.Level3.net (4.68.18.5)  89.511 ms&lt;br /&gt; 9  COTENDO.car3.SanJose1.Level3.net (4.71.112.50)  133.830 ms   38.267 ms   85.974 ms&lt;br /&gt;10  te3-1.bbr1.lax1.bandcon.com (216.151.179.181)  123.315 ms   140.327 ms   137.079 ms&lt;br /&gt;11  te3-2.bbr1.phx1.bandcon.com (216.151.179.197)  130.389 ms   125.480 ms   118.946 ms&lt;br /&gt;12  te8-1.bbr1.dfw1.bandcon.com (216.151.179.210)  111.088 ms   104.126 ms   96.747 ms&lt;br /&gt;13  209.234.250.178 (209.234.250.178)  89.029 ms   80.981 ms   76.275 ms&lt;br /&gt;snikulov@linux-m0ft:/opt&gt;&lt;br /&gt; &lt;br /&gt;snikulov@linux-m0ft:/opt&gt; traceroute www.sun.com&lt;br /&gt;traceroute to www.sun.com (72.5.124.61), 30 hops max, 40 byte packets using UDP&lt;br /&gt; 1  10.10.10.1 (10.10.10.1)  240.749 ms   240.361 ms   232.654 ms             &lt;br /&gt; 2  192.168.0.1 (192.168.0.1)  326.406 ms   333.125 ms   329.258 ms           &lt;br /&gt; 3  bras6-l0.pltnca.sbcglobal.net (151.164.184.82)  344.893 ms   337.704 ms   348.631 ms&lt;br /&gt; 4  64.164.107.1 (64.164.107.1)  319.859 ms   334.167 ms   335.374 ms                  &lt;br /&gt; 5  * 69.220.8.95 (69.220.8.95)  691.902 ms   684.616 ms                               &lt;br /&gt; 6  * * *                                                                              &lt;br /&gt; 7  asn3561-savvis.eqsjca.sbcglobal.net (151.164.89.134)  276.214 ms   136.078 ms   413.023 ms&lt;br /&gt; 8  208.175.172.10 (208.175.172.10)  432.797 ms   430.899 ms   424.730 ms                    &lt;br /&gt; 9  border2.te7-1-bbnet1.sfo002.pnap.net (63.251.63.17)  438.945 ms   438.397 ms   432.441 ms&lt;br /&gt;10  * * *                                                                                    &lt;br /&gt;11  * * *                                                                                    &lt;br /&gt;12  * * *                                                                                    &lt;br /&gt;13  * * *                                                                                    &lt;br /&gt;14  * * *                                                                                    &lt;br /&gt;15  * * *&lt;br /&gt;16  * * *&lt;br /&gt;17  * * *&lt;br /&gt;18  * * *&lt;br /&gt;19  * * *&lt;br /&gt;20  * * *&lt;br /&gt;21  * * *&lt;br /&gt;22  * * *&lt;br /&gt;23  * * *&lt;br /&gt;24  * * *&lt;br /&gt;25  * * *&lt;br /&gt;26  * * *&lt;br /&gt;27  * * *&lt;br /&gt;28  * * *&lt;br /&gt;29  * * *&lt;br /&gt;30  * * *</content><link rel='replies' type='application/atom+xml' href='http://sergeysthoughts.blogspot.com/feeds/3674477718996075307/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/251359507903297281/3674477718996075307?isPopup=true' title='Комментарии: 3'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/251359507903297281/posts/default/3674477718996075307'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/251359507903297281/posts/default/3674477718996075307'/><link rel='alternate' type='text/html' href='http://sergeysthoughts.blogspot.com/2009/05/blog-post_31.html' title='крушение иллюзий...'/><author><name>Сергей</name><uri>http://www.blogger.com/profile/10973621537470546724</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-251359507903297281.post-7363334490961618824</id><published>2009-05-24T17:56:00.004+11:00</published><updated>2009-05-24T18:13:24.978+11:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="embedded"/><category scheme="http://www.blogger.com/atom/ns#" term="Linux"/><category scheme="http://www.blogger.com/atom/ns#" term="source code"/><category scheme="http://www.blogger.com/atom/ns#" term="tools"/><category scheme="http://www.blogger.com/atom/ns#" term="советы"/><title type='text'>размер имеет значение...</title><content type='html'>Партия поставила задачу сократить размер инсталляции встроенного обеспечения вдвое...&lt;br /&gt;&lt;br /&gt;Поковырялись в &lt;a href=&quot;http://www.denx.de/wiki/DULG/ELDK&quot;&gt;ELDK&lt;/a&gt;, немножко сократили за счет реорганизации инсталляции, но все равно не хватает.&lt;br /&gt;&lt;br /&gt;Возникла мысль выкинуть C++ рантаймовую либу.&lt;br /&gt;Для этого необходимо переписать парочку модулей на C.&lt;br /&gt;&lt;br /&gt;Начал смотреть библиотеки для C.&lt;br /&gt;&lt;br /&gt;Интересными для исследования показались:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;A Simple Generic Library for C (&lt;a href=&quot;http://sglib.sourceforge.net/&quot;&gt;http://sglib.sourceforge.net/&lt;/a&gt;)&lt;/li&gt;&lt;li&gt;C Algorithms (&lt;a href=&quot;http://c-algorithms.sourceforge.net/&quot;&gt;http://c-algorithms.sourceforge.net/&lt;/a&gt;)&lt;/li&gt;&lt;li&gt;c-generic-library (&lt;a href=&quot;http://code.google.com/p/c-generic-library/&quot;&gt;http://code.google.com/p/c-generic-library/&lt;/a&gt;)&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Может еще кто что подскажет? :-)</content><link rel='replies' type='application/atom+xml' href='http://sergeysthoughts.blogspot.com/feeds/7363334490961618824/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/251359507903297281/7363334490961618824?isPopup=true' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/251359507903297281/posts/default/7363334490961618824'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/251359507903297281/posts/default/7363334490961618824'/><link rel='alternate' type='text/html' href='http://sergeysthoughts.blogspot.com/2009/05/blog-post_24.html' title='размер имеет значение...'/><author><name>Сергей</name><uri>http://www.blogger.com/profile/10973621537470546724</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-251359507903297281.post-421187414221387431</id><published>2009-05-23T19:39:00.002+11:00</published><updated>2009-05-23T19:42:47.709+11:00</updated><title type='text'>мысли на ночь :)</title><content type='html'>Что-то возникло желание прикупить нетбук Eee Pc с Linux на борту.&lt;br /&gt;Усиленно с ним борюсь  :)))&lt;br /&gt;Приятно, что он так долго живет без питания...</content><link rel='replies' type='application/atom+xml' href='http://sergeysthoughts.blogspot.com/feeds/421187414221387431/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/251359507903297281/421187414221387431?isPopup=true' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/251359507903297281/posts/default/421187414221387431'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/251359507903297281/posts/default/421187414221387431'/><link rel='alternate' type='text/html' href='http://sergeysthoughts.blogspot.com/2009/05/blog-post_23.html' title='мысли на ночь :)'/><author><name>Сергей</name><uri>http://www.blogger.com/profile/10973621537470546724</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-251359507903297281.post-2784862693874938727</id><published>2009-05-22T18:18:00.002+11:00</published><updated>2009-05-22T18:30:59.246+11:00</updated><title type='text'>Странное стечение обстоятельств и необычных мест</title><content type='html'>Ну вот, скажете, то ничего нет в блоге, а то по нескольку сообщений в день...&lt;br /&gt;Просто давление времени снизилось (&quot;но график, у меня есть график&quot;) и вот я пишу ни о чем :-)&lt;br /&gt;&lt;br /&gt;Во-первых - тренирую русский язык - стал замечать, что делаю ошибки при письме&lt;br /&gt;Во-вторых - в &lt;a href=&quot;http://twitter.com/snikulov&quot;&gt;твитере&lt;/a&gt; так много не напишешь&lt;br /&gt;&lt;br /&gt;Да, о чем это я?&lt;br /&gt;&lt;br /&gt;Собственно на выходных был в &lt;a href=&quot;http://en.wikipedia.org/wiki/Redwood_Regional_Park&quot;&gt;Redwood парке&lt;/a&gt; и не подазревал, что рядом с ним &lt;a href=&quot;http://en.wikipedia.org/wiki/Hans_Reiser&quot;&gt;Ганс Рейзер&lt;/a&gt; (создатель &lt;a href=&quot;http://en.wikipedia.org/wiki/ReiserFS&quot;&gt;ReiserFS&lt;/a&gt; для &lt;a href=&quot;http://linux.com/&quot;&gt;Linux&lt;/a&gt;)  закопал убиенную им жену - Нину.&lt;br /&gt;&lt;br /&gt;Вот где приходиться бывать иногда...</content><link rel='replies' type='application/atom+xml' href='http://sergeysthoughts.blogspot.com/feeds/2784862693874938727/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/251359507903297281/2784862693874938727?isPopup=true' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/251359507903297281/posts/default/2784862693874938727'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/251359507903297281/posts/default/2784862693874938727'/><link rel='alternate' type='text/html' href='http://sergeysthoughts.blogspot.com/2009/05/blog-post_9466.html' title='Странное стечение обстоятельств и необычных мест'/><author><name>Сергей</name><uri>http://www.blogger.com/profile/10973621537470546724</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-251359507903297281.post-1556406767208073052</id><published>2009-05-22T18:09:00.002+11:00</published><updated>2009-05-22T18:17:54.015+11:00</updated><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;br /&gt;И добавил его себе в блог ни на что особо не надеясь :-)&lt;br /&gt;Ну есть и есть - вроде не перегрузил блог этими картинками&lt;br /&gt;Сегодня решил посмотреть - глядь, а там уже как бы и 5 долларов 12 центов!!!&lt;br /&gt;О чем это говорит?&lt;br /&gt;Думаете о том что кто-то кликает по ссылкам?&lt;br /&gt;Ну вероятно... Однако, на самом деле о том что через лет 20 я получу 100 баксов ни за что :-)&lt;br /&gt;&lt;br /&gt;Удачи!</content><link rel='replies' type='application/atom+xml' href='http://sergeysthoughts.blogspot.com/feeds/1556406767208073052/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/251359507903297281/1556406767208073052?isPopup=true' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/251359507903297281/posts/default/1556406767208073052'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/251359507903297281/posts/default/1556406767208073052'/><link rel='alternate' type='text/html' href='http://sergeysthoughts.blogspot.com/2009/05/blog-post_22.html' title='Прибыль ни на чем'/><author><name>Сергей</name><uri>http://www.blogger.com/profile/10973621537470546724</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>