<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
    <title>BOUNZ.net</title>
    <link rel="self" type="application/atom+xml" href="https://bounz.net/atom.xml"/>
    <link rel="alternate" type="text/html" href="https://bounz.net"/>
    <generator uri="https://www.getzola.org/">Zola</generator>
    <updated>2026-03-02T00:00:00+00:00</updated>
    <id>https://bounz.net/atom.xml</id>
    <entry xml:lang="ru">
        <title>Настройка Synology DSM для работы с UPS Hikvision</title>
        <published>2026-02-28T00:00:00+00:00</published>
        <updated>2026-03-02T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Bounz
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://bounz.net/blog/2026/ups-for-synology/"/>
        <id>https://bounz.net/blog/2026/ups-for-synology/</id>
        
        <content type="html" xml:base="https://bounz.net/blog/2026/ups-for-synology/">&lt;p&gt;Недавно перевез в Ташкент свой довольно уже немолодой Synology NAS DS918+. Летом здесь довольно часто отключают электричество из-за большой нагрузки на сети, создаваемой кондиционерами. Поэтом для защиты NAS и дисков от внезапного отключения электроэнергии занялся выбором источника бесперебойного питания (он же ИБП, он же UPS).&lt;&#x2F;p&gt;
&lt;p&gt;На локальном рынке не то чтобы большой выбор ИБП, особенно тех, которые заведомо совместимы с Synology. Покрутив доступные варианты выбор пал на Hikvision DS-UPS2000, который предлагает достаточный запас автономной работы для NAS и роутера при адекватной цене. Важным моментом в выборе было наличие USB интерфейса у UPS для того, чтобы подключив его к NAS тот мог оповещать операционку об отключении электричества, и NAS, в свою очередь, аккуратно бы выключался спустя заданный период после перехода на питание от батарей.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;no-ups-usb-connected.png&quot; target=&quot;_blank&quot;&gt;
    &lt;img src=&quot;no-ups-usb-connected.png&quot; class=&quot;imgr&quot; &#x2F;&gt;
&lt;&#x2F;a&gt;
И вот все участники мероприятия дома, распакованы и включены. Подключаю UPS по USB кабелю к NAS и вижу всплывающее уведомление &quot;BounzDS has connected to the UPS&quot;. Хороший знак. Однако на следующем шаге меня ждало разочарование: DSM отказывалась видеть (и показывать) его в настройках электропитания (No USB UPS connected).&lt;&#x2F;p&gt;
&lt;p&gt;Что ж, пошел обсуждать возможные причины и решения этой проблемы с Gemini. Сошлись на том, что в DSM по умолчанию пытается использовать драйвер &lt;code&gt;tripplite_usb&lt;&#x2F;code&gt;, который не узнает в чипе Richcomm (0925:1234) своего «родственника». Как дальше выяснилось и не должен: Hikvision использует более свежий протокол (Megatec 0.07), который не поддерживается ни в &lt;code&gt;tripplite_usb&lt;&#x2F;code&gt;, ни в &lt;code&gt;blazer_usb&lt;&#x2F;code&gt;, о котором Gemini прожужжал мне все уши, но использование которого так и не помогло.&lt;&#x2F;p&gt;
&lt;p&gt;В итоге по счастливой случайности нашел на Github &lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;networkupstools&#x2F;nut&#x2F;issues&#x2F;3132#issuecomment-3407791636&quot;&gt;упоминание&lt;&#x2F;a&gt; о рабочих настройках драйвера для этого UPS. Дальше была попытка настройить работу с нужным драйвером через &lt;code&gt;&#x2F;usr&#x2F;syno&#x2F;etc&#x2F;ups&#x2F;ups.conf&lt;&#x2F;code&gt;, но DSM упорно продолжал использовать Tripp Lite OMNIVS &#x2F; SMARTPRO driver 0.29. В итоге я сдался и запустил в контейнере nut, который предоставляет Synology данные о &quot;сетевом&quot; UPS. Вот настройки для docker compose или Portainer stack:&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;yaml&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;&quot;&gt;version&lt;&#x2F;span&gt;&lt;span style=&quot;color: #94E2D5;&quot;&gt;:&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; &amp;#39;3.8&amp;#39;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;&quot;&gt;services&lt;&#x2F;span&gt;&lt;span style=&quot;color: #94E2D5;&quot;&gt;:&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;&quot;&gt;  nut-server&lt;&#x2F;span&gt;&lt;span style=&quot;color: #94E2D5;&quot;&gt;:&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;&quot;&gt;    image&lt;&#x2F;span&gt;&lt;span style=&quot;color: #94E2D5;&quot;&gt;:&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; instantlinux&#x2F;nut-upsd:latest&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;&quot;&gt;    container_name&lt;&#x2F;span&gt;&lt;span style=&quot;color: #94E2D5;&quot;&gt;:&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; nut-server&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;&quot;&gt;    restart&lt;&#x2F;span&gt;&lt;span style=&quot;color: #94E2D5;&quot;&gt;:&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; always&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;&quot;&gt;    privileged&lt;&#x2F;span&gt;&lt;span style=&quot;color: #94E2D5;&quot;&gt;:&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FAB387;&quot;&gt; true&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #9399B2;font-style: italic;&quot;&gt;    # Пробрасываем всю USB шину, чтобы не зависеть от смены ID порта&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;&quot;&gt;    volumes&lt;&#x2F;span&gt;&lt;span style=&quot;color: #94E2D5;&quot;&gt;:&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;      -&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; &#x2F;dev&#x2F;bus&#x2F;usb:&#x2F;dev&#x2F;bus&#x2F;usb&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;&quot;&gt;    environment&lt;&#x2F;span&gt;&lt;span style=&quot;color: #94E2D5;&quot;&gt;:&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;      -&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; DRIVER=nutdrv_qx&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;      -&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; SUBDRIVER=armac&lt;&#x2F;span&gt;&lt;span&gt; &lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;      -&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; PORT=auto&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;      -&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; VENDORID=0925&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;      -&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; PRODUCTID=1234&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;      -&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; DESCRIPTION=Hikvision_DS-UPS2000&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;      -&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; API_USER=upsmon&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;      -&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; API_PASSWORD=your_strong_password&lt;&#x2F;span&gt;&lt;span&gt;  &lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;&lt;a href=&quot;synology-ups-server.png&quot; target=&quot;_blank&quot;&gt;
    &lt;img src=&quot;synology-ups-server.png&quot; class=&quot;imgl&quot; &#x2F;&gt;
&lt;&#x2F;a&gt;
После этого в настройках самого Synology DSM (Control Panel) переходим в раздел &lt;code&gt;Hardware &amp;amp; Power&lt;&#x2F;code&gt; → &lt;code&gt;UPS&lt;&#x2F;code&gt;, включаем галочку &lt;code&gt;Enable UPS Support&lt;&#x2F;code&gt;, в выпадашке &lt;code&gt;UPS Type&lt;&#x2F;code&gt; выбираем &lt;code&gt;Synology UPS Server&lt;&#x2F;code&gt; и в поле &lt;code&gt;Network UPS server IP&lt;&#x2F;code&gt; указываем IP адрес нашего контейнера. Жмем Apply — и все готово!&lt;&#x2F;p&gt;
&lt;h4 id=&quot;obnovlenie-ot-2-marta-2026&quot;&gt;Обновление от 2 марта 2026&lt;&#x2F;h4&gt;
&lt;p&gt;После перезагрузки NAS поймал ситуацию, что в настройках &lt;code&gt;Hardware &amp;amp; Power&lt;&#x2F;code&gt; → &lt;code&gt;UPS&lt;&#x2F;code&gt;, слетает галочка &lt;code&gt;Enable UPS Support&lt;&#x2F;code&gt;. Чтобы решить эту проблему можно добавить Triggered Task (в &lt;code&gt;Task Scheduler&lt;&#x2F;code&gt;) выполняемую от имени пользователя &lt;code&gt;root&lt;&#x2F;code&gt; на событие &lt;code&gt;Boot-up&lt;&#x2F;code&gt; и в user defined script вписать следующее:&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #F5C2E7;font-style: italic;&quot;&gt;#!&#x2F;bin&#x2F;bash&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;sleep&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FAB387;&quot;&gt; 180&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;&#x2F;usr&#x2F;syno&#x2F;bin&#x2F;synosetkeyvalue&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; &#x2F;usr&#x2F;syno&#x2F;etc&#x2F;ups&#x2F;synoups.conf ups_enabled yes&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;&#x2F;usr&#x2F;syno&#x2F;bin&#x2F;synosetkeyvalue&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; &#x2F;usr&#x2F;syno&#x2F;etc&#x2F;ups&#x2F;synoups.conf upsslave_enabled yes&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;&#x2F;usr&#x2F;syno&#x2F;bin&#x2F;synosetkeyvalue&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; &#x2F;usr&#x2F;syno&#x2F;etc&#x2F;ups&#x2F;synoups.conf ups_mode slave&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;systemctl&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; restart ups-net.service&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;</content>
        
    </entry>
    <entry xml:lang="ru">
        <title>Как я попал под ликвидацию Янги Банка</title>
        <published>2026-02-17T00:00:00+00:00</published>
        <updated>2026-02-17T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Bounz
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://bounz.net/blog/2026/yangi-bank/"/>
        <id>https://bounz.net/blog/2026/yangi-bank/</id>
        
        <content type="html" xml:base="https://bounz.net/blog/2026/yangi-bank/">&lt;p&gt;&lt;a href=&quot;yangibank_606x606.jpg&quot; target=&quot;_blank&quot;&gt;
    &lt;img src=&quot;yangibank_606x606.jpg&quot; class=&quot;imgl&quot; &#x2F;&gt;
&lt;&#x2F;a&gt;
Года полтора назад в поисках депозитов с высокой процентной ставкой наткнулся на Янги Банк. Там предлагали депозит в сумах под 25% годовых с еженедельной выплатой процентов. С учетом ручной капитализации реальная процентная ставка получалась ≈28.3%, очень солидно. При этом банк, в лучших традициях моей прошлой команды разработки, обещал, что они &quot;делают нормально&quot; 🙂. &lt;a href=&quot;photo_2026-02-17.jpeg&quot; target=&quot;_blank&quot;&gt;
    &lt;img src=&quot;photo_2026-02-17.jpeg&quot; class=&quot;imgr&quot; &#x2F;&gt;
&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;p&gt;Но, конечно, высокие проценты предполагают и высокие риски, поэтому много средств я на этот депозит не заводил, и, как теперь показала практика, правильно сделал.&lt;&#x2F;p&gt;
&lt;p&gt;16 января 2026 года прочитал &lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;www.gazeta.uz&#x2F;ru&#x2F;2026&#x2F;01&#x2F;16&#x2F;yangi-bank&#x2F;&quot;&gt;новость&lt;&#x2F;a&gt; про то, что Центробанк отозвал лицензию у банка из-за недостаточности капитала, а значит мои (хоть и не большие) сбережения в нем оказались заблокированы. Пришла пора на практике познакомиться с работой систем страхования вкладов.&lt;&#x2F;p&gt;
&lt;p&gt;И здесь, надо сказать, все сработало весьма четко, на мой вкус. В течение нескольких дней появились публикации на сайте банка о том, как будет происходить ликвидация, в какие сроки. Это же подтвердили на горячей линии Агенства по страхованию вкладов.
Спустя неделю с небольшим был определен банк-агент по выплате застрахованных депозитов. И спустя еще нескольк дней появилась возможность зарегистрироваться в приложении этого банка-агента и, перейдя по специальной ссылке, открыть вклад в нем, на который были зачислены зависшие деньги. Хорошо что открываемый в банке-агенте вклад подразумевал возможность частичного снятия средств и досрочного закрытия вклада. В итоге вывел деньги в другой банк.&lt;&#x2F;p&gt;
&lt;p&gt;В общем, отделался легким испугом. Вкладчики, у которых размер вклада превышал гарантированный размер возмещения (200 млн. сум) могли автоматически получить только эту сумму, а для возврата превышения необходимо было писать заявление в ликвидационную комиссию, и в целом возврат не гарантирован, как я понимаю.&lt;&#x2F;p&gt;
&lt;p&gt;Надо будет написать какой-нибудь скрипт для мониторинга новостей и статистики с сайта Центробанка, чтобы заранее обнаруживать возможные проблемы с устойчивостью банков.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="ru">
        <title>Агентика - сервис для путешественников</title>
        <published>2015-07-08T00:00:00+00:00</published>
        <updated>2015-07-08T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Bounz
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://bounz.net/blog/2015/agentika/"/>
        <id>https://bounz.net/blog/2015/agentika/</id>
        
        <content type="html" xml:base="https://bounz.net/blog/2015/agentika/">&lt;p&gt;Месяц назад мы с женой путешествовали во Владивосток. Это был интересный опыт, однако в данной заметке я хотел бы рассказать о сервисе, на который я наткнулся во время подготовки к путешествию.&lt;&#x2F;p&gt;
&lt;p&gt;Началась все с того, что мне захотелось найти, а куда бы нам сходить и что посмотреть во Владивостоке. Было найдено несколько сайтов с информацией о достопримечательностях и интересных местах. Но вся информация была представлена в разрозненном и неоднообразном виде. А хотелось чтобы можно было собрать все эти заметки в одном месте, с картой, картинками и еще чтобы в оффлане работало (мы же ехали на дальний восток, а там фиг знает, сколько будет стоить мобильный интернет).&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;agentika-vvo.png&quot; target=&quot;_blank&quot;&gt;
    &lt;img src=&quot;agentika-vvo.png&quot; class=&quot;imgr&quot; &#x2F;&gt;
&lt;&#x2F;a&gt;
Пока ковырял различные сервисы наткнулся на &lt;del&gt;&lt;a rel=&quot;external&quot; href=&quot;http:&#x2F;&#x2F;agentika.com&#x2F;&quot;&gt;Агентику&lt;&#x2F;a&gt;&lt;&#x2F;del&gt; (недоступен) · &lt;a rel=&quot;external&quot; href=&quot;http:&#x2F;&#x2F;web.archive.org&#x2F;web&#x2F;20210726004352&#x2F;https:&#x2F;&#x2F;agentika.com&#x2F;&quot;&gt;копия в Web Archive&lt;&#x2F;a&gt;, на которой в итоге и остановился. Идея сервиса в том, что пользователи сервиса создают в системе карточки интересных и полезных мест, а путешественник, собираясь в какой-либо город может собрать себе из имеющихся мест путешествие, а потом экспортировать его в PDF или загрузить в приложение на смартфон. Можно так же добавить собственные места, которые станут доступны другим пользователям сервиса, отправляющимся в путешествие.&lt;&#x2F;p&gt;
&lt;p&gt;Основная движущая сила для пользователей — это деньги. Суть в том, что каждое конкретное место навсегда закрепляется за автором, и каждый раз, когда кто-то будет добавлять это место в свое путешествие, автору будет перечисляться некоторая денежка. Денежку платит пользователь, собирающийся в путешествие за возможность экспортировать его в файл или мобильное приложение.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;Screenshot_2015-07-07-21-41-41.png&quot; target=&quot;_blank&quot;&gt;
    &lt;img src=&quot;Screenshot_2015-07-07-21-41-41.png&quot; class=&quot;imgl&quot; &#x2F;&gt;
&lt;&#x2F;a&gt;
Первое путешествие можно экспортировать бесплатно, поэтому, не особо веря в финансовую составляющую сервиса и возможность заработать, я решил накидать туда выбранные для посещения места во Владивостоке (надо сказать, что в сервисе не было ни одного места в этом городе и я был его первооткрывателем, так сказать).
&lt;a href=&quot;Screenshot_2015-07-07-21-42-30.png&quot; target=&quot;_blank&quot;&gt;
    &lt;img src=&quot;Screenshot_2015-07-07-21-42-30.png&quot; class=&quot;imgl&quot; &#x2F;&gt;
&lt;&#x2F;a&gt;
Получившееся путешествие я успешно экспортировал в приложение под Android, заодно дома загрузил кэш карты и проверил, что все действительно работает в оффлайне. В общем все прошло хорошо, и даже не смотря на то, что с мобильным интернетом во Владивостоке все успешно решилось, было очень удобно иметь под рукой предзагруженный набор мест для посещения да еще и с картой.&lt;&#x2F;p&gt;
&lt;p&gt;Что же до финансовой стороны вопроса, то, вернувшись из поездки, я забыл про сервис, пока через неделю мне не упало на почту письмо, что я заработал 97 рублей. Не много, но приятно. По прошествии трех недель мой счет составил уже 250 рублей.&lt;&#x2F;p&gt;
&lt;p&gt;Не то, чтобы я думал, что так можно заработать серьезные деньги, но мне понравилась идея сервиса и его удобство. Заработанные деньги можно потратить внутри сервиса для оплаты выгрузки путешествий или же вывести их на Яндекс.Деньги.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="ru">
        <title>Фонарик&#x2F;Морзе</title>
        <published>2014-12-19T00:00:00+00:00</published>
        <updated>2014-12-19T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Bounz
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://bounz.net/blog/2014/flashlight-morse/"/>
        <id>https://bounz.net/blog/2014/flashlight-morse/</id>
        
        <content type="html" xml:base="https://bounz.net/blog/2014/flashlight-morse/">&lt;p&gt;Сделал промостраницу для своего приложения &lt;a href=&quot;&#x2F;stuff&#x2F;morselight&#x2F;index.html&quot;&gt;Фонарик&#x2F;Морзе&lt;&#x2F;a&gt;. Пока только на английском языке.&lt;&#x2F;p&gt;
&lt;p&gt;Фонарик&#x2F;Морзе - это простой фонарик с возможностью поделиться своими мыслями с окружающими при помощи азбуки Морзе.&lt;&#x2F;p&gt;
&lt;p&gt;Бесплатный и без рекламы.&lt;&#x2F;p&gt;
&lt;p&gt;Отличительной особенностью является способность распознавать световые сигналы Морзе с помощью камеры телефона (распознавание лучше работает в темноте).&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="ru">
        <title>Локализация Windows Phone 8 приложений. Часть 2.</title>
        <published>2013-02-26T00:00:00+00:00</published>
        <updated>2013-02-26T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Bounz
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://bounz.net/blog/2013/localizing-windows-phone-8-applications-part2/"/>
        <id>https://bounz.net/blog/2013/localizing-windows-phone-8-applications-part2/</id>
        
        <content type="html" xml:base="https://bounz.net/blog/2013/localizing-windows-phone-8-applications-part2/">&lt;p&gt;&lt;a href=&quot;WindowsPhone8Alcatel.jpg&quot; target=&quot;_blank&quot;&gt;
    &lt;img src=&quot;WindowsPhone8Alcatel.jpg&quot; class=&quot;imgl&quot; &#x2F;&gt;
&lt;&#x2F;a&gt;
Во второй части статьи о локализации приложений для Windows Phone 8 я расскажу о том, как локализовать название приложения, которое отображается в списке всех установленных на телефоне приложений, и заголовок тайла приложения. Дело в том, для того, чтобы добиться подобного эффекта недостаточно проделать манипуляции, описанные в первой части статьи. Необходимо создать специальную ресурсную библиотеку (.dll) для нейтрального языка и файлы.mui для каждой поддерживаемой локали.&lt;&#x2F;p&gt;
&lt;p&gt;Для того, чтобы создать библиотеку ресурсов, потребуется Visual Studio с установленным пакетом для языка Visual C++. Последовательность действий по созданию библиотеки ресурсов для нейтрального языка выглядит следующим образом:&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;Создать в Visual Studio новый проект из шаблона Installed — Templates — Visual C++ — Win32 — Win32 Project.&lt;&#x2F;li&gt;
&lt;li&gt;Назвать проект AppResLib&lt;&#x2F;li&gt;
&lt;li&gt;Нажать OK. Появится мастер проекта приложения Win32&lt;&#x2F;li&gt;
&lt;li&gt;Нажать Next (Далее)&lt;&#x2F;li&gt;
&lt;li&gt;В поле Application Type выбрать DLL&lt;&#x2F;li&gt;
&lt;li&gt;В секции Additional Options выбрать Empty project&lt;&#x2F;li&gt;
&lt;li&gt;Там же снять галочку Security Development Lifecycle (SDL)&lt;&#x2F;li&gt;
&lt;li&gt;Нажать Finish. Проект будет создан и открыт в студии.&lt;&#x2F;li&gt;
&lt;li&gt;В меню Build выбрать Build Solution&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;p&gt;Далее необходимо создать строковые ресурсы для нейтрального языка приложения:&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;Добавьте ресурс в проект AppResLib (правой кнопкой по проекту в дереве проектов — Add Resource). Откроется диалоговое окно&lt;&#x2F;li&gt;
&lt;li&gt;В выпадающем списке Resource type выберите String Table и нажмите New. Откроется таблица строковых ресурсов.&lt;&#x2F;li&gt;
&lt;li&gt;Создайте два ресурса со следующими значениями:&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;ID&lt;&#x2F;th&gt;&lt;th&gt;Value&lt;&#x2F;th&gt;&lt;th&gt;Caption&lt;&#x2F;th&gt;&lt;&#x2F;tr&gt;&lt;&#x2F;thead&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;AppTitle&lt;&#x2F;td&gt;&lt;td&gt;100&lt;&#x2F;td&gt;&lt;td&gt;Lang-Neutral App Title&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;AppTileTitle&lt;&#x2F;td&gt;&lt;td&gt;200&lt;&#x2F;td&gt;&lt;td&gt;Lang-Neutral Tile Title&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;&#x2F;tbody&gt;&lt;&#x2F;table&gt;
&lt;ol start=&quot;4&quot;&gt;
&lt;li&gt;Затем необходимо настроить проект AppResLib таким образом, чтобы он собирался как resource-only DLL.&lt;&#x2F;li&gt;
&lt;li&gt;На панели инструментов Standart выбрать тип сборки Release.&lt;&#x2F;li&gt;
&lt;li&gt;Открыть свойства проекта AppResLib&lt;&#x2F;li&gt;
&lt;li&gt;В окне свойств в разделе Configuration Properties раскройте раздел Linker и затем нажмите Advanced. &lt;a href=&quot;AppResLibProp.png&quot; target=&quot;_blank&quot;&gt;
    &lt;img src=&quot;AppResLibProp.png&quot; class=&quot;imgr&quot; &#x2F;&gt;
&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;Выберите вариант YES (&#x2F;NOENTRY) в поле No Entry Point.&lt;&#x2F;li&gt;
&lt;li&gt;Нажмите OK и выполните сборку проекта (Build).&lt;&#x2F;li&gt;
&lt;li&gt;Откройте в проводнике папку с проектом AppResLib и в папке Release найдите файл AppResLib.dll&lt;&#x2F;li&gt;
&lt;li&gt;Переименуйте файл AppResLib.dll в AppResLibLangNeutral.dll. Позднее он понадобится в проекте локализуемого приложения Windows Phone.&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;p&gt;После этого приступим к созданию локализованных версий библиотеки в виде файлов *.mui. Для этого будем использовать все тот же проект AppResLib. &lt;a href=&quot;AppResLib.png&quot; target=&quot;_blank&quot;&gt;
    &lt;img src=&quot;AppResLib.png&quot; class=&quot;imgr&quot; &#x2F;&gt;
&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;Откройте файл ресурсов AppResLib.rc в редакторе ресурсов или редакторе кода&lt;&#x2F;li&gt;
&lt;li&gt;Замените значения для строк ресурсов AppTitle и AppTileTitle в соответствии с выбранной локалью, например русской (ru-RU)&lt;&#x2F;li&gt;
&lt;li&gt;Сохраните файл и соберите проект (Build)&lt;&#x2F;li&gt;
&lt;li&gt;Получившийся файл AppResLib.dll переименуйте в AppResLib.dll.####.mui, где #### — код локали из таблицы (для русского языка получится файл AppResLib.dll.0419.mui)&lt;&#x2F;li&gt;
&lt;li&gt;Повторить описанные выше действия для всех локализуемых языков&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;p&gt;&lt;a href=&quot;AppResLibmui.png&quot; target=&quot;_blank&quot;&gt;
    &lt;img src=&quot;AppResLibmui.png&quot; class=&quot;imgr&quot; &#x2F;&gt;
&lt;&#x2F;a&gt;
После того как все *.mui файлы готовы, необходимо их вместе с файлом AppResLibLangNeutral.dll добавить в проект локализуемого приложения для Windows Phone.
&lt;a href=&quot;WMAppManifest.png&quot; target=&quot;_blank&quot;&gt;
    &lt;img src=&quot;WMAppManifest.png&quot; class=&quot;imgr&quot; &#x2F;&gt;
&lt;&#x2F;a&gt;
Файл AppResLibLangNeutral.dll надо переименовать обратно в AppResLib.dll (собственно все действия по переименовыванию этого файла были нужны для того, чтобы при сборке локализованных версий библиотек, они не перетирали первоначальную нейтральную библиотеку). Для импортированных файлов AppResLib.dll и AppResLib.dll.*.mui установить свойство Build Action в значение Content.&lt;&#x2F;p&gt;
&lt;p&gt;Итак, финальные шаги. Открываем файл манифеста WMAppManifest.xml. На вкладке Application UI устанавливаем значение поля Display Name равным @AppResLib.dll,-100, а поля Tile Title равным @AppResLib.dll,-200.
Сохраняем и билдим наше Windows Phone приложение.&lt;&#x2F;p&gt;
&lt;p&gt;Для того, чтобы проверить, как все локализовалось, можно в эмуляторе телефона изменить языковые настройки на нужные — в списке приложений наше приложение будет с локализованным названием.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="ru">
        <title>Локализация Windows Phone 8 приложений</title>
        <published>2013-01-20T00:00:00+00:00</published>
        <updated>2013-02-27T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Bounz
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://bounz.net/blog/2013/localizing-windows-phone-8-applications/"/>
        <id>https://bounz.net/blog/2013/localizing-windows-phone-8-applications/</id>
        
        <content type="html" xml:base="https://bounz.net/blog/2013/localizing-windows-phone-8-applications/">&lt;p&gt;&lt;a href=&quot;windows-phone-8.jpg&quot; target=&quot;_blank&quot;&gt;
    &lt;img src=&quot;windows-phone-8.jpg&quot; class=&quot;imgl&quot; &#x2F;&gt;
&lt;&#x2F;a&gt;
Я давно разрабатываю на платформе Microsoft. Net под Windows и C#, а недавно заинтересовался разработкой под мобильную ОС Windows Phone 8. Т. к. благодаря Windows Marketplace мобильное приложение может быть установлено у многих пользователей из разных стран, то довольно важным является вопрос глобализации и, в частности, локализации приложения. О том, как это сделать я и расскажу в этом и следующем постах.&lt;&#x2F;p&gt;
&lt;p&gt;Для начала разберёмся с локализацией строковых переменных внутри самого приложения, а затем уже сделаем локализацию для названия приложения в списке программ и заголовок тайла для рабочего стола.&lt;&#x2F;p&gt;
&lt;p&gt;Для успешной локализации приложения важно отделить строковые ресурсы, зависящие от языка пользователя, от программного кода. Обычно для этого выносят локализуемые строки с таблицу файла ресурсов, а затем в XAML коде заменяют их на байндинги (bindings), а в простом коде используют ссылки на соответствующие ресурсы.&lt;&#x2F;p&gt;
&lt;p&gt;Исходным файлом для локализуемых строк является AppResources.resx, находящийся в папке Resources в проекте приложения. Он служит для хранения строковых значений для нейтрального языка приложения, которое задаётся в свойствах приложения (обычно это английский язык, но может быть и любым другим).&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;localization1.png&quot; target=&quot;_blank&quot;&gt;
    &lt;img src=&quot;localization1.png&quot; class=&quot;imgl&quot; &#x2F;&gt;
&lt;&#x2F;a&gt;
Для каждого языка (культуры), который поддерживает ваше приложение, создаётся отдельный ресурсный файл, ключи строк которого совпадают с нейтральным &lt;strong&gt;AppResources.resx&lt;&#x2F;strong&gt;, но их значения переведены на соответствующий язык. Эти файлы создаются когда вы добавляете поддерживаемую культуру в свойствах приложения и именуются с использованием кода этой культуры, например &lt;strong&gt;AppResources.ru-RU.resx&lt;&#x2F;strong&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;Итак, шаги по локализации приложения:&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;В файле AppResources.resx создаём строки, которые необходимо отделить от кода и локализовать. Например, заголовки страниц, надписи на кнопках.&lt;&#x2F;li&gt;
&lt;li&gt;Заменяем в XAML коде эти строки на выражения связывания вида&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;csharp&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;{&lt;&#x2F;span&gt;&lt;span style=&quot;color: #F9E2AF;font-style: italic;&quot;&gt;Binding&lt;&#x2F;span&gt;&lt;span&gt; Path&lt;&#x2F;span&gt;&lt;span style=&quot;color: #94E2D5;&quot;&gt;=&lt;&#x2F;span&gt;&lt;span&gt;LocalizedResources&lt;&#x2F;span&gt;&lt;span style=&quot;color: #94E2D5;&quot;&gt;.&lt;&#x2F;span&gt;&lt;span&gt;ApplicationTitle&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;,&lt;&#x2F;span&gt;&lt;span&gt; &lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;         Source&lt;&#x2F;span&gt;&lt;span style=&quot;color: #94E2D5;&quot;&gt;=&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;{&lt;&#x2F;span&gt;&lt;span&gt;StaticResource LocalizedStrings&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;}}&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;Здесь &lt;strong&gt;&lt;code&gt;ApplicationTitle&lt;&#x2F;code&gt;&lt;&#x2F;strong&gt; — это ключ строкового ресурса, отвечающего за заголовок приложения.&lt;&#x2F;li&gt;
&lt;li&gt;Заменяем в коде приложения локализуемые строки на выражения вида&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;AppResources.NoTorchFound&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;(где &lt;strong&gt;&lt;code&gt;NoTorchFound&lt;&#x2F;code&gt;&lt;&#x2F;strong&gt; — ключ строкового ресурса).&lt;&#x2F;li&gt;
&lt;li&gt;Билдим приложение, запускаем в эмуляторе или на реальном устройстве, проверяем, что все надписи отображаются корректно.&lt;&#x2F;li&gt;
&lt;li&gt;Добавляем новые поддерживаемые языки. Для этого открываем страницу свойств приложения (&lt;strong&gt;Properties&lt;&#x2F;strong&gt;) и в списке поддерживаемых культур (&lt;strong&gt;Supported Culture&lt;&#x2F;strong&gt;) отмечаем галочками необходимые языки и культуры.&lt;&#x2F;li&gt;
&lt;li&gt;Сохраняем проект. При этом Visual Studio сама создаёт необходимые файлы ресурсов для выбранных культур.&lt;&#x2F;li&gt;
&lt;li&gt;В каждом локализованном файле ресурсов переводим значения строк на соответствующий язык.&lt;&#x2F;li&gt;
&lt;li&gt;Билдим приложения, тестируем на эмуляторе или реальном устройстве.&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;p&gt;Для локализации панели приложений (&lt;strong&gt;&lt;code&gt;Application Bar&lt;&#x2F;code&gt;&lt;&#x2F;strong&gt;) необходимо создавать его из кода, поскольку XAML описание элементов &lt;code&gt;ApplicationBarIconButton&lt;&#x2F;code&gt; и &lt;code&gt;ApplicationBarMenuItem&lt;&#x2F;code&gt; не поддерживает динамического связывания для текста надписей. Пример из MSDN отлично это демонстрирует:&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;csharp&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #9399B2;font-style: italic;&quot;&gt;&#x2F;&#x2F; Build a localized ApplicationBar&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;private void&lt;&#x2F;span&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt; BuildLocalizedApplicationBar&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;()&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;{&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #9399B2;font-style: italic;&quot;&gt;    &#x2F;&#x2F; Set the page&amp;#39;s ApplicationBar to a new instance of ApplicationBar.&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    ApplicationBar&lt;&#x2F;span&gt;&lt;span style=&quot;color: #94E2D5;&quot;&gt; = new&lt;&#x2F;span&gt;&lt;span style=&quot;color: #F9E2AF;font-style: italic;&quot;&gt; ApplicationBar&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;();&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #9399B2;font-style: italic;&quot;&gt;    &#x2F;&#x2F; Create a new button and set the text value to the localized string &lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #9399B2;font-style: italic;&quot;&gt;    &#x2F;&#x2F; from AppResources.&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #F9E2AF;font-style: italic;&quot;&gt;    ApplicationBarIconButton&lt;&#x2F;span&gt;&lt;span&gt; appBarButton&lt;&#x2F;span&gt;&lt;span style=&quot;color: #94E2D5;&quot;&gt; =&lt;&#x2F;span&gt;&lt;span&gt; &lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #94E2D5;&quot;&gt;        new&lt;&#x2F;span&gt;&lt;span style=&quot;color: #F9E2AF;font-style: italic;&quot;&gt; ApplicationBarIconButton&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color: #94E2D5;&quot;&gt;new&lt;&#x2F;span&gt;&lt;span&gt;   &lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;        Uri(&amp;quot;&#x2F;Assets&#x2F;AppBar&#x2F;appbar.add.rest.png&amp;quot;, UriKind.Relative));&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;        appBarButton.Text = AppResources.AppBarButtonText;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    ApplicationBar.Buttons.Add(appBarButton);&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #9399B2;font-style: italic;&quot;&gt;    &#x2F;&#x2F; Create a new menu item with the localized string from AppResources.&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    ApplicationBarMenuItem appBarMenuItem = &lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;        new ApplicationBarMenuItem(AppResources.AppBarMenuItemText);&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    ApplicationBar.MenuItems.Add(appBarMenuItem);&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;}&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;</content>
        
    </entry>
    <entry xml:lang="ru">
        <title>Отечественный подход к вагоностроению</title>
        <published>2013-01-09T00:00:00+00:00</published>
        <updated>2013-01-09T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Bounz
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://bounz.net/blog/2013/russian-coaches/"/>
        <id>https://bounz.net/blog/2013/russian-coaches/</id>
        
        <content type="html" xml:base="https://bounz.net/blog/2013/russian-coaches/">&lt;p&gt;&lt;a href=&quot;plac_car.jpg&quot; target=&quot;_blank&quot;&gt;
    &lt;img src=&quot;plac_car.jpg&quot; class=&quot;imgl&quot; &#x2F;&gt;
&lt;&#x2F;a&gt;Довелось недавно немного поездить поездами: из Москвы в Псков и обратно.&lt;br &#x2F;&gt;
В целом, хочется отметить, что уровень РЖД стал выше: и возможность купить билет через сайт, и появившаяся программа лояльности для часто путешествующих пассажиров, и возможность пройти электронную регистрацию и освободить себя от необходимости оформления билета вовсе.&lt;&#x2F;p&gt;
&lt;p&gt;Обратный путь проходил в обычном пассажирском поезде, в обычном плацкартном вагоне, из туалета которого, при желании, можно наблюдать рельсы и шпалы. А вот по дороге туда мы ехали в фирменном поезде с новыми вагонами. На них-то я и хочу остановиться подробнее.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;car_plate.jpg&quot; target=&quot;_blank&quot;&gt;
    &lt;img src=&quot;car_plate.jpg&quot; class=&quot;imgr&quot; &#x2F;&gt;
&lt;&#x2F;a&gt;Новые вагоны довольно комфортные, аккуратные, оборудованы биотуалетами, которыми можно пользоваться и во время остановок, имеют табло для информирования о текущем времени, температуре в вагоне и занятости туалета. Однако, удивительное дело, в них так же, как и во всех наших поездах, электрические розетки предназначены исключительно для электробритв. Причём, что особо огорчает, вместо того, чтобы модернизировать электросеть, изготовитель вагона сделал информационные таблички возле розеток, на которых помимо информации о том, что розетки предназначаются только для электробритв, говорится, что использовать их для зарядки мобильных телефонов можно на свой страх и риск, но они для этого конструкционно не предназначены.&lt;&#x2F;p&gt;
&lt;p&gt;Таким образом получается, что проектировщик этих вагонов, изготовленных уже после 2007 года, знающий о том, что практически у каждого сейчас есть мобильный телефон, проектирует вагоны таким образом, что электрические розетки могут оказаться не совместимыми с зарядными устройствами. И ещё и пишет об этом. Вроде как «Ребята, мы знаем о том, что у большинства из вас есть мобильные телефоны и вам может понадобиться их подзарядить во время долгого пути, но проектируя новый вагон мы не будем вносить изменения в электрическую схему, а лучше напишем предупреждающую табличку о том, что зарядные устройства могут не работать от этих розеток».&lt;&#x2F;p&gt;
&lt;p&gt;Ну разве это не позор? К большому сожалению очень многие вещи в стране делаются исходя из соображений удобства для исполнителей, нежели тех, кому этими вещами в дальнейшем пользоваться. Могу лишь указать на свой же пост про &lt;a href=&quot;https:&#x2F;&#x2F;bounz.net&#x2F;blog&#x2F;2010&#x2F;elektrichki-moskvi-i-londona&#x2F;&quot;&gt;электрички Москвы и Лондона&lt;&#x2F;a&gt; (а ещё хотелось написать про Нью-Йоркское метро).&lt;&#x2F;p&gt;
&lt;p&gt;P. S. В ходе написания этого поста наткнулся на вот этот материал: &lt;a rel=&quot;external&quot; href=&quot;http:&#x2F;&#x2F;ph-doctor.livejournal.com&#x2F;36763.html&quot;&gt;История плацкартного вагона&lt;&#x2F;a&gt;. Почитав его, становится ясно, что с вагоностроением у нас в стране изначально все было печально, и за прошедшие почти 100 лет ситуация не улучшилась.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="ru">
        <title>Про стоимость лицензионных игр</title>
        <published>2012-12-31T00:00:00+00:00</published>
        <updated>2012-12-31T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Bounz
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://bounz.net/blog/2012/licensed-games/"/>
        <id>https://bounz.net/blog/2012/licensed-games/</id>
        
        <content type="html" xml:base="https://bounz.net/blog/2012/licensed-games/">&lt;p&gt;&lt;a href=&quot;..&#x2F;me3.png&quot; target=&quot;_blank&quot;&gt;
    &lt;img src=&quot;..&#x2F;me3.png&quot; class=&quot;imgl&quot; &#x2F;&gt;
&lt;&#x2F;a&gt;
Недавно пришла в голову мысль, что стоимость лицензионных игр — вполне адекватна и не высока, особенно для людей, не часто в них играющих.&lt;&#x2F;p&gt;
&lt;p&gt;К сожалению наш менталитет в первую очередь отправляет нас искать игры на любимый торрент-трекер. Однако, вспомнив о том, что я хотел поиграть в Mass Effect 3, решил посмотреть его стоимость в магазинах. Например на Озоне можно купить коробочную или скачать электронную версию игры всего за 499 ≈ 500 рублей (&lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;www.ozon.ru&#x2F;context&#x2F;detail&#x2F;id&#x2F;7361015&#x2F;?partner=bounz&amp;amp;from=bar&quot;&gt;Mass Effect 3&lt;&#x2F;a&gt;).&lt;&#x2F;p&gt;
&lt;p&gt;При этом, играть я в неё буду недели 2–3 по несколько часов свободными вечерами. Т. е. за 500 рублей я могу приобрести развлечение на полмесяца — месяц. Сразу же приходит на ум сравнение с кинотеатрами, где в выходной день только один билет может стоить 450 рублей. И удовольствие всего на 1,5 — 2 часа. По всему выходит, что стоимость компьютерной игры очень невысока. Я уже не говорю о том, что часть денег, уплаченных за игру, попадёт разработчикам и поддержит дальнейшую разработку новых игр.&lt;&#x2F;p&gt;
&lt;p&gt;Поэтому призываю всех задуматься о покупке лицензионного программного обеспечения, в том числе и игр. Недавно вот приобрел лицензию чудесного ReSharper&#x27;а всего за 25% стомости на распродаже в честь конца света.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="ru">
        <title>Чай масала для больного горла</title>
        <published>2012-09-28T00:00:00+00:00</published>
        <updated>2012-09-28T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Bounz
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://bounz.net/blog/2012/masala-tea-for-sore-throat/"/>
        <id>https://bounz.net/blog/2012/masala-tea-for-sore-throat/</id>
        
        <content type="html" xml:base="https://bounz.net/blog/2012/masala-tea-for-sore-throat/">&lt;p&gt;&lt;a href=&quot;..&#x2F;my-masala.jpeg&quot; target=&quot;_blank&quot;&gt;
    &lt;img src=&quot;..&#x2F;my-masala.jpeg&quot; class=&quot;imgl&quot; &#x2F;&gt;
&lt;&#x2F;a&gt;Довелось мне недавно простыть. И, как водится, с течением болезни она перемещается от носа к горлу.&lt;&#x2F;p&gt;
&lt;p&gt;Чтобы облегчить боль в горле, смягчить его, а так же просто выпить вкусный напиток я использовал индийский чай масала. Он представляет собой смесь чёрного чая и специй, таких как кардамон, гвоздика, имбирь, корица, семена фенхеля и чёрный перец. В различных источниках предлагают заваривать чай кипятком в объёме от ¼ до ½ чашки, а остальное разводить молоком. Я готовил чай целиком на молоке, разогревая его на плите в кастрюльке. На мой вкус так получается вкуснее.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;..&#x2F;basilur_masala_chay.png&quot; target=&quot;_blank&quot;&gt;
    &lt;img src=&quot;..&#x2F;basilur_masala_chay.png&quot; class=&quot;imgr&quot; &#x2F;&gt;
&lt;&#x2F;a&gt;Для масалы необходим подсластитель. Это может быть сахар, мёд, сгущеное молоко или коричневый сахар. В условиях больного горла я рекомендую использовать мёд. Так и вкусно и полезно.&lt;&#x2F;p&gt;
&lt;p&gt;Я нашёл в магазине чай масала от Basilur. Он в красивой коробочке и неплох на вкус.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="ru">
        <title>MacBook Pro: русская раскладка клавиатуры и EVE Online</title>
        <published>2011-10-22T00:00:00+00:00</published>
        <updated>2011-10-22T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Bounz
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://bounz.net/blog/2011/macbook-pro-russian-keyboard-and-eve/"/>
        <id>https://bounz.net/blog/2011/macbook-pro-russian-keyboard-and-eve/</id>
        
        <content type="html" xml:base="https://bounz.net/blog/2011/macbook-pro-russian-keyboard-and-eve/">&lt;p&gt;В поездке в США осуществил давнюю задумку обновить ноутбук и приобрёл &lt;strong&gt;MacBook Pro&lt;&#x2F;strong&gt; небезызвестной яблочной компании.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;keyboard.png&quot; target=&quot;_blank&quot;&gt;
    &lt;img src=&quot;keyboard.png&quot; class=&quot;imgl&quot; &#x2F;&gt;
&lt;&#x2F;a&gt;
Одной из первых проблем, с которой я столкнулся, как завзятый пользователь ПК, стало несоответствие русской раскладки клавиатуры, поставляемой с MacOS X 10.7 Lion привычной ПКшной. К счастью помимо раскладки «Русская» в новых версиях MacOS есть раскладка «Русская — ПК», в которой знаки препинания находятся в привычных местах. С ней возникла только одна проблема: отсутствие буквы «ё». Порыскав по форумам я так и не понял, характерна ли эта проблема только для американских макбуков, или ей подвержены все. Вроде в европейских моделях ноутбуков на клавиатуре на одну клавишу больше.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;Ukelele.png&quot; target=&quot;_blank&quot;&gt;
    &lt;img src=&quot;Ukelele.png&quot; class=&quot;imgr&quot; &#x2F;&gt;
&lt;&#x2F;a&gt;
В любом случае, мне нужна была буква «ё» на клавише с тильдой (~), а вместо неё там были квадратные скобки. Ещё немного покопавшись в интернетах набрёл на &lt;del&gt;&lt;a rel=&quot;external&quot; href=&quot;http:&#x2F;&#x2F;macosworld.ru&#x2F;sozdaem-sobstvennuyu-raskladku&#x2F;&quot;&gt;статью&lt;&#x2F;a&gt;&lt;&#x2F;del&gt; (недоступен) · &lt;a rel=&quot;external&quot; href=&quot;http:&#x2F;&#x2F;web.archive.org&#x2F;web&#x2F;20171009112734&#x2F;http:&#x2F;&#x2F;macosworld.ru:80&#x2F;sozdaem-sobstvennuyu-raskladku&#x2F;&quot;&gt;копия в Web Archive&lt;&#x2F;a&gt;, посвящённую созданию собственных раскладок для MacOS. Сделать это в удобном графическом режиме можно с помощью бесплатной программы &lt;a rel=&quot;external&quot; href=&quot;http:&#x2F;&#x2F;scripts.sil.org&#x2F;cms&#x2F;scripts&#x2F;page.php?site_id=nrsi&amp;amp;id=ukelele&quot;&gt;Ukelele&lt;&#x2F;a&gt;. С её помощью я исправил системную русскую раскладку так, что теперь она соответствует обычной раскладке в Windows. Скачать архив с файлом.keylayout и иконкой можно &lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;bounz.net&#x2F;downloads&#x2F;my-programs&#x2F;mbp-rus-keyboard-layout.html&quot;&gt;здесь&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;EVE.png&quot; target=&quot;_blank&quot;&gt;
    &lt;img src=&quot;EVE.png&quot; class=&quot;imgr&quot; &#x2F;&gt;
&lt;&#x2F;a&gt;
Так же, не так давно я вернулся в мир EVE Online, и, находясь в отпуске, решил попробовать клиент игры под MacOS. Все работало хорошо, за исключением того, что в полноэкранном режиме невозможно было переключить раскладку клавиатуры с русской на английскую и обратно с помощью стандартных комбинаций клавиш. Она менялась только при переключении игры в оконный режим, но и тут была проблема. Из-за жёстко заданных возможных размерах окна и строки меню самой MacOS часть окна игры выходила за нижнюю границу экрана, что тоже было весьма и весьма печально. Но, к счастью, я вспомнил как в одном из выпусков подкаста Радио-Т ведущие обсуждали программу &lt;a rel=&quot;external&quot; href=&quot;http:&#x2F;&#x2F;punto.yandex.ru&#x2F;mac&#x2F;&quot;&gt;Punto Switcher&lt;&#x2F;a&gt; для MacOS и высказали мнение, что она отлично подходит для выполнения задачи смены раскладки клавиатуры.&lt;&#x2F;p&gt;
&lt;p&gt;Отчаявшись решить проблему имеющимися средствами я скачал Punto Switcher и установил его. И вот что я теперь хочу вас сказать — это было самое оно. В конечном счёте я отключил автоматическую смену раскладки и настроил в качестве хоткея для переключения языков ввода ⌘+Shift, так эти клавиши больше всего подходят под расположение клавиш Alt+Shift на предыдущем ноутбуке. Вся прелесть заключается в том, что эта комбинация клавиш работает везде. И полноэкранном режиме клиента EVE Online тоже.&lt;&#x2F;p&gt;
&lt;p&gt;Так что теперь все клавиатурные вопросы решены, ибо отсутствие русских букв на клавиатуре уже давно не проблема =)&lt;&#x2F;p&gt;
&lt;p&gt;Быстрого вам набора текстов!&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="ru">
        <title>Настройка сжатия gzip для WCF в IIS6 и IIS7</title>
        <published>2011-05-07T00:00:00+00:00</published>
        <updated>2011-05-07T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Bounz
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://bounz.net/blog/2011/setting-up-gzip-compression-for-wcf-in-iis/"/>
        <id>https://bounz.net/blog/2011/setting-up-gzip-compression-for-wcf-in-iis/</id>
        
        <content type="html" xml:base="https://bounz.net/blog/2011/setting-up-gzip-compression-for-wcf-in-iis/">&lt;p&gt;В нашем рабочем проекте мы используем связку &lt;strong&gt;APS.Net&lt;&#x2F;strong&gt; — &lt;strong&gt;RIA Services&lt;&#x2F;strong&gt; — &lt;strong&gt;Silverlight&lt;&#x2F;strong&gt;. Объем передаваемых данных от сервера к клиенту бывает достаточно большим, несколько мегабайт.&lt;&#x2F;p&gt;
&lt;p&gt;Неплохо было бы использовать компрессию &lt;strong&gt;gzip&lt;&#x2F;strong&gt;, как для статического содержимого типа html-страниц, css и javascript файлов, так и для динамических данных, в том числе от WCF сервиса (ибо в основе RIA Services лежит WCF).&lt;&#x2F;p&gt;
&lt;p&gt;На рабочем сервере системы используется &lt;strong&gt;IIS7&lt;&#x2F;strong&gt;, а на тестовом — &lt;strong&gt;IIS6&lt;&#x2F;strong&gt;.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="ru">
        <title>301 редирект в MODx Revolution</title>
        <published>2011-04-15T00:00:00+00:00</published>
        <updated>2011-05-07T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Bounz
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://bounz.net/blog/2011/301-redirect-in-modx-revolution/"/>
        <id>https://bounz.net/blog/2011/301-redirect-in-modx-revolution/</id>
        
        <content type="html" xml:base="https://bounz.net/blog/2011/301-redirect-in-modx-revolution/">&lt;p&gt;В данной заметке я расскажу что делать, если вдруг вы решили изменить структуру своего сайта и хотите настроить редиректы старым адресам, чтобы не ломать внешние ссылки на ваш ресурс.&lt;&#x2F;p&gt;
&lt;p&gt;Мне пришлось озадачиться этим вопросом в тот момент, когда я все же решил перейти с самописной системой архивов на расширение &lt;strong&gt;Archivist&lt;&#x2F;strong&gt;, а заодно изменить структуру сайта таким образом, чтобы разделить записи в блоге в контейнеры по годам, т. к. хоть за 4 года существования сайта постов было и не огромное количество, но стало заметно неудобно раскрывать ветвь &lt;strong&gt;Блог&lt;&#x2F;strong&gt; и искать в ней нужный документ.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;..&#x2F;modx_doctree.png&quot; target=&quot;_blank&quot;&gt;
    &lt;img src=&quot;..&#x2F;modx_doctree.png&quot; class=&quot;imgl&quot; &#x2F;&gt;
&lt;&#x2F;a&gt;Раньше все блогозаписи были дочерними документами контейнера Блог и поэтому имели адреса вида &lt;code&gt;blog&#x2F;blog-page-alias.html&lt;&#x2F;code&gt;. При создании же дополнительных контейнеров для годов и перемещении в них документов их URL изменился на &lt;code&gt;blog&#x2F;year&#x2F;blog-page-alias.html&lt;&#x2F;code&gt;. В связи с этим все внешние ссылки на мои статьи становились нерабочими, что, конечно же, весьма печально. Для решения этой проблемы существует прекрасная вещь — код ответа сервера &lt;strong&gt;301 Moved Permanently&lt;&#x2F;strong&gt;, известный в народе как 301-й редирект. Реализовать его можно различными способами, но мне не хотелось возиться с прописыванием регулярных выражений в .htaccess, поэтому я решил поискать готовые расширения для MODx Revolution. И таковое нашлось — &lt;a rel=&quot;external&quot; href=&quot;http:&#x2F;&#x2F;modx.com&#x2F;extras&#x2F;package&#x2F;redirector&quot;&gt;Redirector&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;Работает довольно просто. После установки через менеджер пакетов в меню &lt;strong&gt;Компоненты&lt;&#x2F;strong&gt; главного меню появляется пункт &lt;strong&gt;Redirector&lt;&#x2F;strong&gt;, при нажатии на который появляется таблица созданных редиректов. Реализован компонент через плагин, который срабатывает на системное событие &lt;strong&gt;OnPageNotFound&lt;&#x2F;strong&gt; и пытается найти запрашиваемый URL в. своей таблице. Если таковой находится-то он возвращает ответ с перенаправлением на новый адрес. Все легко и просто.&lt;&#x2F;p&gt;
&lt;p&gt;Единственный момент, с которым я столкнулся в начале — это формат записи URL. В самом начале я использовал адреса вида &lt;code&gt;&#x2F;blog&#x2F;blog-page-alias.html&lt;&#x2F;code&gt;, и они не работали. Потом попробовал писать полные адреса, т. е. &lt;code&gt;http:&#x2F;&#x2F;bounz.net&#x2F;blog&#x2F;blog-page-alias.html&lt;&#x2F;code&gt;, но они тоже не работали. После того, как посмотрел в исходный код плагина понял, как следовало записывать адреса: без слеша в начале, т. е. просто &lt;code&gt;blog&#x2F;blog-page-alias.html&lt;&#x2F;code&gt;. После этого все заработало.&lt;&#x2F;p&gt;
&lt;p&gt;Теперь внутреняя структура блога меня полностью устраивает, а старые ссылки прекрасно работают.&lt;&#x2F;p&gt;
&lt;p&gt;Быстрых вам редиректов!&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="ru">
        <title>Открытая картография: OpenStreetMap и Google Map Maker</title>
        <published>2011-04-03T00:00:00+00:00</published>
        <updated>2011-11-27T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Bounz
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://bounz.net/blog/2011/crowdmapping-in-osm-and-gmm/"/>
        <id>https://bounz.net/blog/2011/crowdmapping-in-osm-and-gmm/</id>
        
        <content type="html" xml:base="https://bounz.net/blog/2011/crowdmapping-in-osm-and-gmm/">&lt;p&gt;Продолжу рассказ о сервисах совместного создания карт, начатый в прошлом посте с разговора о Народных картах Яндекса.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;osm3.jpg&quot; target=&quot;_blank&quot;&gt;
    &lt;img src=&quot;osm3.jpg&quot; class=&quot;imgr&quot; &#x2F;&gt;
&lt;&#x2F;a&gt;На фоне всех подобных проектов &lt;a rel=&quot;external&quot; href=&quot;http:&#x2F;&#x2F;openstreetmap.org&quot;&gt;OpenStreetMap&lt;&#x2F;a&gt; (в дальнейшем OSM) значительно выделяется: данные, созданные участниками проекта свободны и доступны всем желающим безвозмездно на основании условий лицензии CC-BY-SA (в настоящее время проект голосует за переход на лицензию ODbL). Таким образом, вся картографическая информация может быть использована в любых приложениях. Например: можно сконвертировать данные в формат для навигационной программы Navitel, залить полученные карты на навигатор и ездить по ним; или вот информационный ресурс, предоставляющий информацию о движении общественного транспорта в реальном времени в Саранске &lt;a rel=&quot;external&quot; href=&quot;http:&#x2F;&#x2F;bus13.ru&#x2F;&quot;&gt;bus13.ru&lt;&#x2F;a&gt; использует карту OSM в качестве подложки.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;osm1.jpg&quot; target=&quot;_blank&quot;&gt;
    &lt;img src=&quot;osm1.jpg&quot; class=&quot;imgl&quot; &#x2F;&gt;
&lt;&#x2F;a&gt;&lt;a href=&quot;osm4.jpg&quot; target=&quot;_blank&quot;&gt;
    &lt;img src=&quot;osm4.jpg&quot; class=&quot;imgl&quot; &#x2F;&gt;
&lt;&#x2F;a&gt;Однако, у OSM есть достаточно особенностей, которые могут отпугнуть многих желающих сделать доброе дело и внести свою лепту в развитие электронной картографии. Во-первых, редакторы карт. Существует большое количество как web-редакторов, так и десктопных и мобильных приложений. Каждый выглядит по-своему, у каждого свои особенности. Одним из лучших на мой взгляд является десктопный &lt;strong&gt;JOSM&lt;&#x2F;strong&gt;. Но чтобы понять, какой понравится именно вам, придётся их все попробовать.&lt;br &#x2F;&gt;
Во-вторых, сам процесс создания карты и доступные сущности. В качестве исходной информации можно использовать опять-таки только свободные источники: в основном это GPS-треки, а также спутниковые снимки, бесплатно предоставленные компаниями Yahoo, Microsoft и другими. К сожалению, по снимкам от Google или Яндекса рисовать нельзя (хотя способы есть). Карта в OSM состоит из точек, линий и отношений. Линии могут образовывать полигоны. Вся остальная информация описывается с помощью атрибутов. В принципе, можно использовать любые атрибуты, но чтобы не было полного разброда и шатания основная их часть была стандартизирована. А так как этих стандартных атрибутов очень много, то начинающему осмеру на первых порах приходится нелегко: неясно, каким набором объектов и их атрибутов лучше и правильнее отрисовать какой-либо объект реального мира.&lt;br &#x2F;&gt;
И в-третьих — отображение карты. Рендерить карту может, опять-таки, любой человек так, как считает это нужным. Стандартный рендерер Mapnik, который используется на сайте openstreetmap.org, опираясь на значения атрибутов объектов рисует примерно &lt;a rel=&quot;external&quot; href=&quot;http:&#x2F;&#x2F;openstreetmap.org&quot;&gt;такие&lt;&#x2F;a&gt; картинки. В общем, я хочу сказать что имеющаяся в данном проекте свобода привносит дополнительные сложности. Но, я постепенно прихожу к выводу, что оно того стоит.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a rel=&quot;external&quot; href=&quot;http:&#x2F;&#x2F;www.google.com&#x2F;mapmaker&quot;&gt;Google Map Maker&lt;&#x2F;a&gt; доступен не для всех регионов. Например в России, в Москве и области не  доступен, а в Узбекистане доступен. Узнать, есть ли возможность использования Map Maker в определённом регионе очень просто: достаточно на Google Maps на  приблизить интересующий участок на максимально крупном масштабе и если в верхней панели карты рядом с кнопкой Печать появится кнопка Изменить — значит Map Maker доступен.&lt;&#x2F;p&gt;
&lt;p&gt;В Google Map Maker все объекты также создаются их двух примитивов: точки и линии. В отличии от OSM, где редактор сам проставляет атрибуты объектам и их значения, в GMM количество возможных атрибутов ограничено, равно как и их значения. Это облегчает описательную часть работы. В GMM действует система модераторов и одобрений. Ваш объект появится на карте только после достаточного количества одобрений со стороны других пользователей. После одобрения объект рендерится в обычные карты Google и его можно увидеть на всех сервисах, использующих Google Maps.&lt;&#x2F;p&gt;
&lt;p&gt;В качестве иллюстрации один и тот же участок Ташкента в трех сервисах: НЯК, OSM и GMM
&lt;a href=&quot;gmm2.jpg&quot; target=&quot;_blank&quot;&gt;
    &lt;img src=&quot;gmm2.jpg&quot; class=&quot;imgrwc&quot; &#x2F;&gt;
&lt;&#x2F;a&gt;&lt;a href=&quot;osm2.jpg&quot; target=&quot;_blank&quot;&gt;
    &lt;img src=&quot;osm2.jpg&quot; class=&quot;imgrwc&quot; &#x2F;&gt;
&lt;&#x2F;a&gt;&lt;a href=&quot;nmaps4.jpg&quot; target=&quot;_blank&quot;&gt;
    &lt;img src=&quot;nmaps4.jpg&quot; class=&quot;imgrwc&quot; &#x2F;&gt;
&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;p&gt;Вот в общем-то и всё. Присоединяйтесь к созданию карт!&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="ru">
        <title>5000 для Народной карты</title>
        <published>2011-03-18T00:00:00+00:00</published>
        <updated>2011-11-27T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Bounz
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://bounz.net/blog/2011/5000-for-folk-map/"/>
        <id>https://bounz.net/blog/2011/5000-for-folk-map/</id>
        
        <content type="html" xml:base="https://bounz.net/blog/2011/5000-for-folk-map/">&lt;p&gt;&lt;a href=&quot;nmaps1.png&quot; target=&quot;_blank&quot;&gt;
    &lt;img src=&quot;nmaps1.png&quot; class=&quot;imgr&quot; &#x2F;&gt;
&lt;&#x2F;a&gt;Недавно произошло небольшое, но достаточно знаковое событие: я создал 5000 объектов на Народной карте Яндекса. Любовь к круглым числам во всей своей красе.&lt;&#x2F;p&gt;
&lt;p&gt;Пользуясь случаем, хочу рассказать о &lt;a rel=&quot;external&quot; href=&quot;http:&#x2F;&#x2F;n.maps.yandex.ru&quot;&gt;Народной карте&lt;&#x2F;a&gt; и о других подобных проектах. Суть Народной карты сводится к тому, что Яндекс даёт пользователям инструмент для создания карт на основе своих спутниковых снимков. Таким образом можно создавать карты для тех мест, которые плохо или никак не представлены в больших Яндекс.Картах, а также поддерживать их в актуальном состоянии (например, недавно нам надо было заехать на улицу Беломорская, 20к2; этого дома ни на Яндекс.Картах ни на Google Maps не было; на народной же карте было обозначено, что на месте снесённого дома 22к1 построили три дома 20к1, 20к2 и 20к3). Любой пользователь может рисовать объекты на карте, пользуясь спутниковыми снимками, а так же вносить правки в уже созданные объекты (менять их геометрию и атрибуты).&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;nmaps2.jpg&quot; target=&quot;_blank&quot;&gt;
    &lt;img src=&quot;nmaps2.jpg&quot; class=&quot;imgl&quot; &#x2F;&gt;
&lt;&#x2F;a&gt;&lt;a href=&quot;nmaps3.jpg&quot; target=&quot;_blank&quot;&gt;
    &lt;img src=&quot;nmaps3.jpg&quot; class=&quot;imgl&quot; &#x2F;&gt;
&lt;&#x2F;a&gt;Когда народные карты только появились, хороших спутниковых снимков &lt;a rel=&quot;external&quot; href=&quot;http:&#x2F;&#x2F;n.maps.yandex.ru&#x2F;?oid=128159&quot;&gt;Ташкента&lt;&#x2F;a&gt; ещё не было, и я, нарисовав немного зданий и дорог вокруг работы успокоился. После анонса обновления спутниковых снимков, в которые попал и Ташкент, я принялся за отрисовку карты родного города. И вот результат. &lt;strong&gt;5000&lt;&#x2F;strong&gt; объектов, и &lt;strong&gt;5400&lt;&#x2F;strong&gt; правок из которых большая часть принадлежит именно Ташкенту. Изначально, активность других пользователей в данном регионе была минимально и основной каркас карты нарисовал я. Сейчас же, после нескольких комментариев на различных форумах с призывом развивать проект, активизировались и другие участники, за что им, конечно, большое спасибо. Ведь никто не знает на отлично весь город, каждый знает в основном те районы, в которых живёт и в которых часто бывает.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;nmaps4.png&quot; target=&quot;_blank&quot;&gt;
    &lt;img src=&quot;nmaps4.png&quot; class=&quot;imgr&quot; &#x2F;&gt;
&lt;&#x2F;a&gt;Вот один из &lt;a rel=&quot;external&quot; href=&quot;http:&#x2F;&#x2F;n.maps.yandex.ru&#x2F;-&#x2F;C6gBV7s&quot;&gt;примеров&lt;&#x2F;a&gt; хорошо проработанного участка карты, на котором обозначены и пронумерованы практически все дома, размечены дороги, внутри-дворовые проезды и пешеходные дорожки.&lt;&#x2F;p&gt;
&lt;p&gt;К вопросу о применимости и используемости этих карт. Как рассказывают мои друзья и знакомые в Ташкенте, Google Maps там заблокирован. Есть конечно, окольные пути, как посмотреть карту от Google, но обычным пользователям сделать это будет довольно тяжело. А для Яндекс.Карт есть мобильный клиент почти для всех моделей телефонов, и в этом клиенте есть слой Народной карты. Так что, народные карты уже сейчас отлично подходят для ориентирования на незнакомой территории, особенно если у вас в телефоне есть GPS.&lt;&#x2F;p&gt;
&lt;p&gt;Продолжение разговора про аналогичные сервисы (OpenStreetMap и Google MapMaker) в следующем посте.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="ru">
        <title>Про подкасты</title>
        <published>2011-03-01T00:00:00+00:00</published>
        <updated>2011-03-02T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Bounz
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://bounz.net/blog/2011/about-podcasts/"/>
        <id>https://bounz.net/blog/2011/about-podcasts/</id>
        
        <content type="html" xml:base="https://bounz.net/blog/2011/about-podcasts/">&lt;p&gt;&lt;a href=&quot;podcasting.jpg&quot; target=&quot;_blank&quot;&gt;
    &lt;img src=&quot;podcasting.jpg&quot; class=&quot;imgl&quot; &#x2F;&gt;
&lt;&#x2F;a&gt;
В конце моей прошлой заметки &lt;a href=&quot;https:&#x2F;&#x2F;bounz.net&#x2F;blog&#x2F;2011&#x2F;devaluation-of-music&#x2F;&quot;&gt;про обесценивание музыки&lt;&#x2F;a&gt;, я написал, что в пути стал заменять музыку подкастами, и обещал рассказать о том, что интересно лично мне.&lt;&#x2F;p&gt;
&lt;p&gt;Итак, что же такое &lt;strong&gt;подкасты&lt;&#x2F;strong&gt;? По своей сути — это обычные звуковые файлы, чаще всего в формате mp3 или aac, которые регулярно записывает один или несколько человек, придерживаясь в них определённой тематики, и выкладывает для свободного скачивания в интернете. Таким образом имеем мысли человека записанные в аудио-формате. Что делает подкасты по-настоящему удобными — это стандартизированный способ получения их обновлений. В качестве основы используется формат RSS. Таким образом, чтобы следить за понравившимся подкастом, достаточно добавить в свой подкаст-клиент ссылку на RSS-поток.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Подкаст-клиент&lt;&#x2F;strong&gt; — это программа, которая периодически опрашивает RSS-потоки на предмет появления новых выпусков, и если таковые имеются — скачивает их. Так же, они зачастую следят за тем, какие выпуске подкаста уже прослушаны, показывают шоуноты (текстовые комментарии к подкастам, содержащие обычно темы, освящённые в данном выпуске и другую полезную информацию) и другую информацию, позволяют удобно управлять процессом воспроизведения подкастов.&lt;&#x2F;p&gt;
&lt;p&gt;Много полезной информации о подкастинге есть на одном из крупнейших российском подкаст-терминале &lt;a rel=&quot;external&quot; href=&quot;http:&#x2F;&#x2F;podfm.ru&#x2F;topodcasters&#x2F;&quot;&gt;podfm.ru&lt;&#x2F;a&gt; в разделе &quot;Подкастерам&quot;.&lt;&#x2F;p&gt;
&lt;p&gt;Вот на какие подкасты подписан я:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a rel=&quot;external&quot; href=&quot;http:&#x2F;&#x2F;radio-t.com&#x2F;&quot;&gt;Радио-Т&lt;&#x2F;a&gt; — еженедельное русскоязычное Hi-Tech шоу, публикуемое в виде подкаста и выходящее в прямой эфир по субботам в 23:00 по московскому времени. Рад, что они сделали первые выпуски месяца по-настоящему гиковскими.&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a rel=&quot;external&quot; href=&quot;http:&#x2F;&#x2F;radiogrinch.ru&quot;&gt;Radio Grinch&lt;&#x2F;a&gt; — подкаст, который ведёт Денис aka Radio Grinch, в котором интересно рассказывает как о событиях в собственной жизни, так и об общественно-политических событиях. В регулярных рубриках так же есть лайфхаки и объяснения английских идиом. Иногда случаются выпуски — диалоги с интересными людьми.&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a rel=&quot;external&quot; href=&quot;http:&#x2F;&#x2F;podcast.umputun.com&#x2F;&quot;&gt;Еженедельный подкаст от Умпутуна&lt;&#x2F;a&gt; — истории из жизни нашего человека в Америке. К сожалению, в последнее время не совсем еженедельный.&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a rel=&quot;external&quot; href=&quot;http:&#x2F;&#x2F;42.podfm.ru&#x2F;&quot;&gt;Подкаст 42&lt;&#x2F;a&gt; — подкаст, основанный на сообщениях сайта lifehacker.ru. Ведущие рассказывают о разнообразным методах улучшения этого несовершенного мира. Так же у них есть подкаст «Вечерний кефир», но до него ещё руки&#x2F;уши мои не дошли.&lt;&#x2F;li&gt;
&lt;li&gt;&lt;del&gt;&lt;a rel=&quot;external&quot; href=&quot;http:&#x2F;&#x2F;afterwednesday.rpod.ru&#x2F;&quot;&gt;Сегодня четверг&lt;&#x2F;a&gt;&lt;&#x2F;del&gt; (недоступен) · &lt;a rel=&quot;external&quot; href=&quot;http:&#x2F;&#x2F;web.archive.org&#x2F;web&#x2F;20140710072101&#x2F;http:&#x2F;&#x2F;afterwednesday.rpod.ru&#x2F;&quot;&gt;копия в Web Archive&lt;&#x2F;a&gt; — общественно-политический подкаст, проявляющий промахи нашей власти, показывающий всю дурь наших чиновников. К сожалению, в последнее время практически не выходит.&lt;&#x2F;li&gt;
&lt;li&gt;&lt;del&gt;&lt;a rel=&quot;external&quot; href=&quot;http:&#x2F;&#x2F;ypp.rpod.ru&#x2F;&quot;&gt;Янки после пьянки&lt;&#x2F;a&gt;&lt;&#x2F;del&gt; (недоступен) · &lt;a rel=&quot;external&quot; href=&quot;http:&#x2F;&#x2F;web.archive.org&#x2F;web&#x2F;20160427090849&#x2F;http:&#x2F;&#x2F;ypp.rpod.ru:80&#x2F;&quot;&gt;копия в Web Archive&lt;&#x2F;a&gt; и в &lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;www.youtube.com&#x2F;playlist?list=PLcyyTspLlBzj5KYNBqstvCc8XKOSXwexf&quot;&gt;YouTube&lt;&#x2F;a&gt; — размышления о жизни, науки и многом другом. Слушаю, когда настаёт философское настроение.&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a rel=&quot;external&quot; href=&quot;http:&#x2F;&#x2F;tipz.umputun.com&#x2F;&quot;&gt;ТиПЗ&lt;&#x2F;a&gt; (Теория и практика звукозаписи) — ещё один подкаст от Умпутуна. Сейчас выходит редко, все самое вкусное можно послушать в архивах подкаста.&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a rel=&quot;external&quot; href=&quot;http:&#x2F;&#x2F;utp.umputun.com&#x2F;&quot;&gt;UTP&lt;&#x2F;a&gt; (Upmutun Technical Podcast) — технический подкаст от Умпутуна. Выпусков было не много, но благодаря им я перешёл на распределённую систему контроля ревизий Mercurial, чему несказанно рад.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;Теперь 2 слова про подкаст-клиенты. Владеющие техникой Apple используют iTunes и крутят фонарики. Я же скажу, что лучший подкаст-клиент под Android — это &lt;del&gt;&lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;market.android.com&#x2F;details?id=mobi.beyondpod&quot;&gt;BeyondPod&lt;&#x2F;a&gt;&lt;&#x2F;del&gt; (недоступен) · &lt;a rel=&quot;external&quot; href=&quot;http:&#x2F;&#x2F;web.archive.org&#x2F;web&#x2F;20120129103538&#x2F;https:&#x2F;&#x2F;market.android.com&#x2F;details?id=mobi.beyondpod&quot;&gt;копия в Web Archive&lt;&#x2F;a&gt;. Он полностью оправдывает те 7 долларов, которые просят заплатить после демонстрационного периода. Из RSS-лент подгружает как аудио-подкасты, так и видео, а заодно ещё и просто заметки, которые могут оказаться в ленте. В общем владельцам Android устройств всячески рекомендую.&lt;&#x2F;p&gt;
&lt;p&gt;И да, &lt;strong&gt;слушайте подкасты в дороге&lt;&#x2F;strong&gt;, или когда занимаетесь какими-то рутинными делами (мытье посуды, например) - они созданы как раз для этого!&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;А какие подкасты слушаете вы?&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="ru">
        <title>Обесценивание музыки</title>
        <published>2011-02-21T00:00:00+00:00</published>
        <updated>2011-02-21T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Bounz
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://bounz.net/blog/2011/devaluation-of-music/"/>
        <id>https://bounz.net/blog/2011/devaluation-of-music/</id>
        
        <content type="html" xml:base="https://bounz.net/blog/2011/devaluation-of-music/">&lt;p&gt;Идея написать этот пост родилась у меня давно, несколько лет назад. Наконец набралось достаточное количество слов, которые можно записать по этому поводу.&lt;&#x2F;p&gt;
&lt;p&gt;А повод есть и весьма грустный. На мой взгляд последнее время происходит обесценивание музыки. Под последним временем я понимаю и 5-20 лет, и 50-100.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;musd1.jpg&quot; target=&quot;_blank&quot;&gt;
    &lt;img src=&quot;musd1.jpg&quot; class=&quot;imgl&quot; &#x2F;&gt;
&lt;&#x2F;a&gt;
&lt;a href=&quot;musd2.jpg&quot; target=&quot;_blank&quot;&gt;
    &lt;img src=&quot;musd2.jpg&quot; class=&quot;imgl&quot; &#x2F;&gt;
&lt;&#x2F;a&gt;
&lt;a href=&quot;musd3.jpg&quot; target=&quot;_blank&quot;&gt;
    &lt;img src=&quot;musd3.jpg&quot; class=&quot;imgl&quot; &#x2F;&gt;
&lt;&#x2F;a&gt;
Людям всегда нравилась хорошая музыка. Но в стародавние времена единственной возможностью послушать музыку и насладится ею было либо посещение концерта, либо приглашение музыкантов к себе в дом, либо самоличное музицирование. Для всех этих вариантов необходимо существование и реальное присутствие настоящих живых людей — музыкантов.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;musd4.jpg&quot; target=&quot;_blank&quot;&gt;
    &lt;img src=&quot;musd4.jpg&quot; class=&quot;imgr&quot; &#x2F;&gt;
&lt;&#x2F;a&gt;С развитием научно-технического прогресса были изобретены граммофоны, патефоны, проигрыватели пластинок. И это стало началом конца. Да, во времена патефонов они не были распространены очень широко (в каждом доме, каждой семье) и покупка пластинок для них было делом затратным. К тому же редкие пластинки достать было очень трудно. Благодаря этому и остаткам былой культуры прослушивания музыки люди её слушали. Собирались, ставили пластинку и слушали, наслаждались.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;musd5.jpg&quot; target=&quot;_blank&quot;&gt;
    &lt;img src=&quot;musd5.jpg&quot; class=&quot;imgl&quot; &#x2F;&gt;
&lt;&#x2F;a&gt;
С еще большим распространением проигрывателей грампластинок и появлением радио роль музыки в жизни людей ещё немного уменьшилась: теперь стало гораздо проще и доступнее использовать её в качестве фона к повседневной деятельности. Дальнейшее развитие эта тенденция получила с распространением транзисторных радиоприёмников, а затем с появлением и распространением кассетных и CD-плееров.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;musd7.jpg&quot; target=&quot;_blank&quot;&gt;
    &lt;img src=&quot;musd7.jpg&quot; class=&quot;imgr&quot; &#x2F;&gt;
&lt;&#x2F;a&gt;
Последний гвоздь в этот процесс обесценивания музыки сейчас забивают музыкальные плееры типа iPod&#x27;а, мобильные телефоны и интернет, с помощью которого можно быстро и легко получить желаемые песни. Гигабайты песен. Теперь молодёжь и люди среднего возраста все чаще ходят в наушниках и слушают свою музыку. При этом уровень сосредоточения на музыке, включенности в неё, становится весьма малым. Да и сама современная популярная музыка в большинстве своём особой глубиной похвастаться не может.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;musd6.jpg&quot; target=&quot;_blank&quot;&gt;
    &lt;img src=&quot;musd6.jpg&quot; class=&quot;imgl&quot; &#x2F;&gt;
&lt;&#x2F;a&gt;
Да, остались ещё любители классической музыки, ходящие на концерты, любители живого звука, посещающие концерты музыкальных групп, и просто любители высокого качества звучания музыки, собирающие у себя дома Hi-Fi аудиосистемы. Но что их отличает от всех остальных людей, бродящих как зомби по городу в наушниках? Они слушают музыку, они на ней сосредоточены, они следят за переходами, темами, вливаются в неё и переживают её. Ходящие же в наушниках люди в большинстве своем просто слышат музыку, но не слушают ее. Таким образом они используют портативные плееры для того, чтобы перебить звуки окружающего мира и чуточку скрасить себе поездку до работы и обратно, чтобы не скучать.&lt;&#x2F;p&gt;
&lt;p&gt;Я и сам бываю порой таким зомби, но для себя нашёл решение проблемы свободного времени при поездках на работу — прослушивание подкастов. Действительно, внимательно слушать некоторое конечное количество песен в музыкальном плеере много раз по кругу навряд ли получится. Слушать же человека, или нескольких людей в подкасте интереснее и полезнее. Если, конечно, вам нравится и интересен тот подкаст, который вы слушаете. Но о подкастах я напишу в другой раз (&lt;a rel=&quot;external&quot; href=&quot;http:&#x2F;&#x2F;bounz.net&#x2F;blog&#x2F;about-podcasts.html&quot;&gt;почитать&lt;&#x2F;a&gt;).&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Мой призыв: слушайте хорошую музыку, не часто и вдумчиво!&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="ru">
        <title>Блог на MODx Revolution: система комментирования</title>
        <published>2011-02-11T00:00:00+00:00</published>
        <updated>2011-11-27T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Bounz
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://bounz.net/blog/2011/blog-na-modx-sistema-kommentirovaniya/"/>
        <id>https://bounz.net/blog/2011/blog-na-modx-sistema-kommentirovaniya/</id>
        
        <content type="html" xml:base="https://bounz.net/blog/2011/blog-na-modx-sistema-kommentirovaniya/">&lt;a href=&quot;..&#x2F;disqus.jpg&quot; target=&quot;_blank&quot;&gt;
    &lt;img src=&quot;..&#x2F;disqus.jpg&quot; class=&quot;imgl&quot; &#x2F;&gt;
&lt;&#x2F;a&gt;
&lt;p&gt;Продолжу разговор про создание и развитие блога с помощью системы управления контентом MODx Revolution. На этот раз речь пойдет о системе публикации комментариев к записям в блоге. Действительно, автору блога очень важно иметь возможность обратной связи со своими читателями, одним из самых распространенных вариантов которой является комментирование записей.&lt;&#x2F;p&gt;
&lt;p&gt;В случае создания блога на MODx у нас есть два (даже три) варианта: использовать готовый компонент, написать систему самому, использовать стороннее решение. Вариант написания своей реализации системы комментариев я отметаю сразу из-за неоправданной трудоемкости. Не зря же мы используем систему управления контентом. Из готовых компонентов для MODx Revolution есть только &lt;strong&gt;Quip&lt;&#x2F;strong&gt;. Из сторонних решений подойдут любые, которые можно интегрировать путем использования JavaScript. К ним можно отнести такие популярные системы как &lt;strong&gt;Disqus&lt;&#x2F;strong&gt; и &lt;strong&gt;IntenseDebate.&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;Изначально я использовал для своего сайта компонент &lt;strong&gt;Quip&lt;&#x2F;strong&gt; (&lt;a rel=&quot;external&quot; href=&quot;http:&#x2F;&#x2F;rtfm.modx.com&#x2F;display&#x2F;ADDON&#x2F;Quip&quot;&gt;http:&#x2F;&#x2F;rtfm.modx.com&#x2F;display&#x2F;ADDON&#x2F;Quip&lt;&#x2F;a&gt;), настроил его под свои нужды, изменил внешний вид, чтобы он коррелировал с дизайном сайта и приготовился радоваться. Но не тут-то было. После того, как начали появляться первые комментарии к статьям, я с удивлением обнаружил, что через некоторое время они исчезают. Сами по себе. Просто р-раз - и нету комментария. Испугавшись, что они утеряны на совсем, я пошел в табличку с комментариями в базу данных и с облегчением нашел, что они не удалены совсем и навсегда, а лишь отмечены, как удаленные. Изменив значение поля &quot;deleted&quot; с &quot;1&quot; на &quot;0&quot;, я вернул комментарии к жизни. Но спустя несколько дней ситуация повторилась. Я опять починил комментарии, но потом они снова исчезли, и так продолжалось до тех пор, пока мне это не надоело. На официальном форуме MODx у одного человечка была такая же проблема как и у меня, но работающих вариантов решения не предлагалось. Ковыряться в исходном коде Quip мне хотелось меньше всего, и тут мой взор упал на систему комментирования &lt;strong&gt;Disqus&lt;&#x2F;strong&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;Меня сразу же привлек довольно приятный дизайн, а так же возможность авторизации как внутри системы Disqus (которая используется на множестве сайтов, в том числе такие крупные как CNN, TechCrunch, Fox News и другие), так и с помощью Twitter, Facebook, Yahoo, используя OpenID или обычную для всех сайтов форму &quot;Имя - Почта - Сайт - Комментарий&quot;. Причем организовано все весьма удобно с точки зрения пользователя. Было принято решение использовать Disqus.&lt;&#x2F;p&gt;
&lt;p&gt;После регистрации на сайте &amp;lt;disqus.com&amp;gt; предлагается несколько инструкций по установке кода в популярные системы ведения блогов типа WordPress, Blogger, Joomla и другие. MODx в их числе не оказалось, но мы не лыком шиты, поэтому идем в раздел &lt;strong&gt;Universal Code&lt;&#x2F;strong&gt;. После ознакомления с разделом становится ясно, что система состоит из двух модулей: сам модуль комментирования, который следует использовать на странице с блогозаписью, и модуль, выводящий количество комментариев в заданном посте, который можно использовать на самой странице блога в ленте статей.&lt;&#x2F;p&gt;
&lt;p&gt;Разберемся для начала с основным модулем для просмотра комментариев к статье и собственно комментирования. Создадим чанк, в который поместим код, написанный на странице установки Disqus, и назовем его DisqusComments. В нем надо как минимум изменить переменную &lt;strong&gt;disqus_shortname&lt;&#x2F;strong&gt;, в которой указать короткое имя, выбранное вами при регистрации, и желательно изменить переменные &lt;strong&gt;disqus_identifier&lt;&#x2F;strong&gt; и &lt;strong&gt;disqus_url&lt;&#x2F;strong&gt; для более простой работы системы. В качестве идентификатора статьи можно использовать ее id в MODx, например так:&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;var disqus_shortname = &amp;#39;shortname_вашего_сайта&amp;#39;;  &lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;var disqus_identifier = &amp;#39;[[+id]]&amp;#39;;  &lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;var disqus_url = &amp;#39;[[+url]]&amp;#39;;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Далее, в шаблоне для отображения страниц постов из блога в нужное место добавляем вызов этого чанка:&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt; .. отображение содержания статьи ..  &lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    [[$DisqusComments? &amp;amp;id=`bounz_net_[[*id]]` &amp;amp;url=`[[++site_url]][[~[[*id]]]]` ]]  &lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt; .. что-то еще .. &lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;В данном случае я использую в качестве &lt;strong&gt;disqus_identifier&lt;&#x2F;strong&gt; конструкцию вида &lt;strong&gt;bounz_net_articleID&lt;&#x2F;strong&gt;, а переменной &lt;strong&gt;disqus_url&lt;&#x2F;strong&gt; присваиваю полный адрес страницы. Использование полного URL связано с тем, что изначально, пытаясь интегрировать Disqus со своим сайтом, и имея относительную адресацию страниц (в чанке заголовка был прописан тег &lt;code&gt;&amp;lt;base &#x2F;&amp;gt;&lt;&#x2F;code&gt;), возникала ошибка при формировании постоянных ссылок на комментарии. А т.к. до этого мне уже пришлось отказаться от относительных ссылок в разделе Галерея (т.к. они криво работали с хеш-тегами), то было принято решение вообще везде перейти на полную адресацию.&lt;&#x2F;p&gt;
&lt;p&gt;Но это было лирическое отступление. На данный момент система комментариев интегрирована в блог, их можно писать, читать и модерировать. Теперь было бы неплохо выводить количество комментариев в основной ленте записей блога. Это очень просто сделать. Создадим в чанке, ответственном за краткий вывод блогозаписи на главной странице блога, следующую ссылку:&lt;&#x2F;p&gt;
&lt;p&gt;&lt;code&gt;&amp;lt;a href=&quot;&#x2F;url_статьи#disqus_thread&quot; class=&quot;leavecomment&quot; data-disqus-identifier=&quot;bounz_net_[[+id]]&quot;&amp;gt; Комментарии &amp;lt;&#x2F;a&amp;gt;&lt;&#x2F;code&gt;&lt;&#x2F;p&gt;
&lt;p&gt;Магия данной ссылки заключается в добавлении хеш-тега &lt;strong&gt;#disqus_thread&lt;&#x2F;strong&gt; к ссылке на статью и добавлении небольшого javascript-кода в конец страницы. Дополнительно к хеш-тегу можно задать у ссылки аттрибут &lt;strong&gt;data-disqus-identifier&lt;&#x2F;strong&gt;, который поможет Disqus идентифицировать статью. Вообще говоря, можно обойтись и без него, тогда система будет идентифицировать статьи, основываясь на их URL. Но если адреса страниц со статьями изменятся (допустим, вы начнете использовать ЧПУ), то все сломается. Дабы такого не случилось, я добавил этот атрибут. Заметьте, что он строится точно так же, как и значение свойства &lt;strong&gt;disqus_identifier&lt;&#x2F;strong&gt; в вызове скрипта комментирования. Собственно все готово.&lt;&#x2F;p&gt;
&lt;p&gt;Напоследок немного оформительских работ. Текст ссылок для количества комментариев можно задать в настройках на сайте Disqus (раздел Admin, вкладка Settings, подраздел Appearance, группа настроек Comment Count Link). На этой же станице настроек можно добавить своих правил CSS. Так я избавился от ссылки &quot;blog comments powered by Disqus&quot;. Впрочем, убрать эту ссылку можно еще проще: удалив строчку  &lt;code&gt;&amp;lt;a href=&quot;http:&#x2F;&#x2F;disqus.com&quot; class=&quot;dsq-brlink&quot;&amp;gt;blog comments powered by &amp;lt;span class=&quot;logo-disqus&quot;&amp;gt;Disqus&amp;lt;&#x2F;span&amp;gt;&amp;lt;&#x2F;a&amp;gt;&lt;&#x2F;code&gt;  из того кода, который они дают.&lt;&#x2F;p&gt;
&lt;p&gt;Радостных вам комментариев!&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="ru">
        <title>Сумка от Яндекс.Маркета</title>
        <published>2011-02-06T00:00:00+00:00</published>
        <updated>2011-02-06T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Bounz
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://bounz.net/blog/2011/bag-from-yandex-market/"/>
        <id>https://bounz.net/blog/2011/bag-from-yandex-market/</id>
        
        <content type="html" xml:base="https://bounz.net/blog/2011/bag-from-yandex-market/">&lt;p&gt;&lt;a href=&quot;..&#x2F;ya_bag1.jpg&quot; target=&quot;_blank&quot;&gt;
    &lt;img src=&quot;..&#x2F;ya_bag1.jpg&quot; class=&quot;imgl&quot; &#x2F;&gt;
&lt;&#x2F;a&gt;30 ноября 2010, в честь своего десятилетия, Яндекс.Маркетом проводилась викторина &lt;del&gt;&lt;a rel=&quot;external&quot; href=&quot;http:&#x2F;&#x2F;10.market.yandex.ru&#x2F;&quot;&gt;«10 лет Яндекс.Маркету»&lt;&#x2F;a&gt;&lt;&#x2F;del&gt; (недоступен) · &lt;a rel=&quot;external&quot; href=&quot;http:&#x2F;&#x2F;web.archive.org&#x2F;web&#x2F;20110426155412&#x2F;http:&#x2F;&#x2F;10.market.yandex.ru:80&#x2F;&quot;&gt;копия в Web Archive&lt;&#x2F;a&gt;. Задача викторины сводилась к тому, чтобы максимально быстро и максимально правильно ответить на 10 вопросов, связанных с различными группами товаров, в основном техники. 200 человек, показавших лучшие результаты, выйграли специальные сумки для покупок. Я оказался в их числе.&lt;&#x2F;p&gt;
&lt;p&gt;Яндекс как всегда был крайне неспешен, и лишь 8 декабря мне на почту пришло письмо с поздравлениями и просьбой прислать контактную информацию для отправки сумки. И вот, спустя почти еще 2 месяца в почтовом ящике оказалось заветное извещение.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;..&#x2F;ya_bag2.jpg&quot; target=&quot;_blank&quot;&gt;
    &lt;img src=&quot;..&#x2F;ya_bag2.jpg&quot; class=&quot;imgr&quot; &#x2F;&gt;
&lt;&#x2F;a&gt;В общем и целом сумка не представляет из себя чего-то особенного, зато приятно будет с ней ходить по магазинам - вещь редкая и на каждом углу не продающаяся. Довольно вместительная, изнутри проклеена полеэтиленом. На одной стороне надпись &quot;Покупки без очереди&quot;, на другой - QR-код с адресом &lt;del&gt;&lt;a rel=&quot;external&quot; href=&quot;http:&#x2F;&#x2F;m.ya.ru&#x2F;market&quot;&gt;m.ya.ru&#x2F;market&lt;&#x2F;a&gt;&lt;&#x2F;del&gt;. Таким образом, владельцы смартфонов с программой распознавания QR-кодов попадут на мобильную версию сайта маркета.&lt;&#x2F;p&gt;
&lt;p&gt;Что ж, я был очень рад поучаствовать в викторине и получить приз. Давно не участвовал в подобных мероприятиях.&lt;&#x2F;p&gt;
&lt;p&gt;А в каких онлайн-викторинах участвовали вы?&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="ru">
        <title>Календарь с оригами от Тануки</title>
        <published>2011-02-02T00:00:00+00:00</published>
        <updated>2011-02-04T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Bounz
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://bounz.net/blog/2011/calendar-with-origami-from-tanuki/"/>
        <id>https://bounz.net/blog/2011/calendar-with-origami-from-tanuki/</id>
        
        <content type="html" xml:base="https://bounz.net/blog/2011/calendar-with-origami-from-tanuki/">&lt;p&gt;&lt;a href=&quot;tanuki1.jpg&quot; target=&quot;_blank&quot;&gt;
    &lt;img src=&quot;tanuki1.jpg&quot; class=&quot;imgr&quot; &#x2F;&gt;
&lt;&#x2F;a&gt;Недавно сидели с друзьями в ресторане японской кухни Тануки, и, видимо, так хорошо посидели, что заведение подарило нам календарь на 2011 год. Причем не простой календарь, а с заготовками для складывания оригами, по одной на каждый месяц.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;tanuki2.jpg&quot; target=&quot;_blank&quot;&gt;
    &lt;img src=&quot;tanuki2.jpg&quot; class=&quot;imgl&quot; &#x2F;&gt;
&lt;&#x2F;a&gt;&lt;a href=&quot;tanuki4.jpg&quot; target=&quot;_blank&quot;&gt;
    &lt;img src=&quot;tanuki4.jpg&quot; class=&quot;imgl&quot; &#x2F;&gt;
&lt;&#x2F;a&gt;&lt;a href=&quot;tanuki6.jpg&quot; target=&quot;_blank&quot;&gt;
    &lt;img src=&quot;tanuki6.jpg&quot; class=&quot;imgl&quot; &#x2F;&gt;
&lt;&#x2F;a&gt;&lt;a href=&quot;tanuki7.jpg&quot; target=&quot;_blank&quot;&gt;
    &lt;img src=&quot;tanuki7.jpg&quot; class=&quot;imgl&quot; &#x2F;&gt;
&lt;&#x2F;a&gt;Судя по описанию акции на сайте ресторана, календари выдают за каждые 2000 рублей в счете пока они есть в наличии. &lt;del&gt;&lt;a rel=&quot;external&quot; href=&quot;http:&#x2F;&#x2F;www.tanuki.ru&#x2F;calendar&#x2F;&quot;&gt;Там же на сайте&lt;&#x2F;a&gt;&lt;&#x2F;del&gt; есть страницы календаря в различных разрешениях, чтобы можно было их использовать в качестве фонового изображения рабочего стола. Однако, там приведены только страницы с календарем, без заготовок для оригами. В бумажной же версии, перед каждой страницей месяца есть страница с заготовкой и инструкцией по складыванию фигурки. При этом страницы с месяцами более плотные, чем страницы с оригами.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;tanuki8.jpg&quot; target=&quot;_blank&quot;&gt;
    &lt;img src=&quot;tanuki8.jpg&quot; class=&quot;imgr&quot; &#x2F;&gt;
&lt;&#x2F;a&gt;Вместе с календарем прилагаются еще круглые кусочки двустороннего скотча. После того как очередная фигурка собрана ее можно прикрепить к календарю. Получается такой объемный и интерактивный календарь.&lt;&#x2F;p&gt;
&lt;p&gt;В общем, молодцы ребята из Тануки, придумавшие такую забаву. Да и вообще молодцы: нам понравилось оформление ресторанов и качество обслуживания. А так же интересные фишечки, такие как наливание чая из чайника с супер длинным носиком. Так что если вы любите японскую кухню - можно совместить приятное с полезным и даже получить за это интересный подарок.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="ru">
        <title>Блог на MODx Revolution: как сделать архив</title>
        <published>2011-01-21T00:00:00+00:00</published>
        <updated>2011-04-17T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Bounz
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://bounz.net/blog/2011/blog-na-modx-kak-sdelat-arhiv/"/>
        <id>https://bounz.net/blog/2011/blog-na-modx-kak-sdelat-arhiv/</id>
        
        <content type="html" xml:base="https://bounz.net/blog/2011/blog-na-modx-kak-sdelat-arhiv/">&lt;p&gt;Дорабатывая свой сайт, обнаружил, что на просторах отечественных интернетов тема MODx освещена весьма скудно, а там где освещена - в основном статьи по MODx Evolution, в то время как MODx Revolution широкой поступью набирает силу и мощь. Поэтому я решил написать несколько статей по MODx Revolution в ключе практических задач. Первая задача - организовать архив записей (фильтрацию по месяцам), как это сделано в небезызвестном Wordpress.&lt;&#x2F;p&gt;
&lt;p&gt;Начнем с начала: определимся с задачей и составим небольшую спецификацию, а-ля ТЗ.&lt;&#x2F;p&gt;
&lt;p&gt;Пользователь приходит на блог и просматривает записи. В специальном месте расположены ссылки на архивные записи по месяцам вида &lt;strong&gt;Декабрь 2010 (4)&lt;&#x2F;strong&gt;, при нажатии на которую пользователю показываются только те блого-записи, которые были написаны в декабре 2010 года. В скобочках рядом с месяцем приведено количество записей за этот месяц (в данном примере - 4). Из описанного выше видно, что для наших целей необходимо каким-то образом передать выбранный месяц, пусть это будет параметр GET запроса с названием &lt;strong&gt;bymonth&lt;&#x2F;strong&gt; со значениями вида &lt;strong&gt;201012&lt;&#x2F;strong&gt;, т.е. четыре цифры года и две цифры месяца. Также нам потребуется две функции, одна будет считать количество записей за месяц, проходя по всем блого-записям, чтобы сформировать ссыки архива, а другая - для выбора их базы данных только тех записей, которые были опубликованы в заданном месяце.&lt;&#x2F;p&gt;
&lt;p&gt;Сниппет getArchiveMonths для формирования ссылок архива:&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;$collection = $modx-&amp;gt;getCollection(&amp;#39;modResource&amp;#39;, array(  &lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    &amp;#39;published&amp;#39; =&amp;gt; 1,  &lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    &amp;#39;parent&amp;#39; =&amp;gt; &amp;#39;2&amp;#39;)  &lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;);&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;setlocale(LC_TIME, &amp;#39;ru_RU.UTF8&amp;#39;);  &lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;$output = &amp;quot;&amp;quot;;  &lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;$months = array();&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;foreach ($collection as $resourceId =&amp;gt; $resource) {  &lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    $strmonth = date(&amp;quot;Ym&amp;quot;, $resource-&amp;gt;publishedon);  &lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    if(array_key_exists($strmonth, $months))  &lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;        $months[$strmonth][&amp;#39;count&amp;#39;]++;  &lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    else  &lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    {  &lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;        $months[$strmonth][&amp;#39;count&amp;#39;] = 1;  &lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;        $months[$strmonth][&amp;#39;text&amp;#39;] = strftime(&amp;quot;%B %Y&amp;quot;, $resource-&amp;gt;publishedon);  &lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    }  &lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;}&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;krsort($months);&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;foreach ($months as $month =&amp;gt; $count) {          &lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    $output .= $modx-&amp;gt;getChunk($tpl, array(    &lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;        &amp;#39;month&amp;#39; =&amp;gt; $month,  &lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;        &amp;#39;text&amp;#39; =&amp;gt; $count[&amp;#39;text&amp;#39;] . &amp;#39; (&amp;#39; . $count[&amp;#39;count&amp;#39;] . &amp;#39;)&amp;#39;  &lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    ));    &lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;}&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;return $output;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;В первом запросе мы получаем все документы, имеющие определенного родителя и опубликованные (при желании условия можно изменить, например на номер шаблона, который имеют блого-записи). Далее идет формирование словаря, ключом которого является месяц, а значением - пара значений: колчество записей в этот месяц и отформатированное название месяца. Потом этот словарь сортируется так, чтобы самые последние месяца шли раньше, и на его основе, а так же переданного чанка, генерируется кусок html-кода.&lt;&#x2F;p&gt;
&lt;p&gt;Вызов сниппета в моем случае (пробел между [ и [ сделан, чтобы MODx не обрабатывал его как вызов сниппета):&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;&amp;lt;ul&amp;gt;  &lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    [ [getArchiveMonths? &amp;amp;tpl=`archiveMonthRow`]]  &lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;&amp;lt;&#x2F;ul&amp;gt;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Пример чанка:&lt;&#x2F;p&gt;
&lt;p&gt;&lt;code&gt;&amp;lt;li&amp;gt;&amp;lt;a href=&quot;&#x2F;blog&#x2F;?bymonth=[[+month]]&quot;&amp;gt;[[+text]]&amp;lt;&#x2F;a&amp;gt;&amp;lt;&#x2F;li&amp;gt;&lt;&#x2F;code&gt;&lt;&#x2F;p&gt;
&lt;p&gt;Прекрасно. Теперь у нас есть набор ссылок, по которым пользователь может нажать, осталось обработать эти запросы.&lt;&#x2F;p&gt;
&lt;p&gt;Т.к. для отображения документов в большинстве своем используется сниппет &lt;strong&gt;getResources&lt;&#x2F;strong&gt;, то для того, чтобы он показал лишь определенные записи достаточно задать ему параметр &lt;strong&gt;resources&lt;&#x2F;strong&gt;:&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;if (!empty($_GET[&amp;#39;bymonth&amp;#39;])) {  &lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    $month = (int)$_GET[&amp;#39;bymonth&amp;#39;]; &#x2F;&#x2F; для защиты от всякой дряни  &lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    $ids = $modx-&amp;gt;runSnippet(&amp;#39;getResourcesIds&amp;#39;,array(  &lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;          &amp;#39;month&amp;#39; =&amp;gt; $month  &lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    ));  &lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    $scriptProperties[&amp;#39;resources&amp;#39;] = $ids;  &lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;}&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Сниппет &lt;strong&gt;getResourcesIds&lt;&#x2F;strong&gt; возвращает список id ресурсов, опубликованных в заданном месяце:&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;$collection = $modx-&amp;gt;getCollection(&amp;#39;modResource&amp;#39;, array(  &lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    &amp;quot;EXTRACT(YEAR_MONTH FROM FROM_UNIXTIME(`publishedon`)) = &amp;#39;$month&amp;#39;&amp;quot;,  &lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    &amp;#39;published&amp;#39; =&amp;gt; 1,  &lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    &amp;#39;parent&amp;#39; =&amp;gt; &amp;#39;2&amp;#39;));  &lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;$output = &amp;quot;&amp;quot;;  &lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;foreach ($collection as $resourceId =&amp;gt; $resource) {  &lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    $output.=$resourceId.&amp;#39;,&amp;#39;;  &lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    }  &lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;if(strlen($output)&amp;gt;0)  &lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    $output = substr($output, 0, -1);  &lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;return $output;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Вот таким образом я решил вопрос с организацией архива на своем блоге. Самое забавное то, что в процессе работы над статьей, я наткнулся на уже готовое решение данной проблемы от комманды MODx, называется &lt;del&gt;&lt;a rel=&quot;external&quot; href=&quot;http:&#x2F;&#x2F;rtfm.modx.com&#x2F;display&#x2F;ADDON&#x2F;Archivist&quot;&gt;Archivist&lt;&#x2F;a&gt;&lt;&#x2F;del&gt; (недоступен) · &lt;a rel=&quot;external&quot; href=&quot;http:&#x2F;&#x2F;web.archive.org&#x2F;web&#x2F;20130712050717&#x2F;http:&#x2F;&#x2F;rtfm.modx.com:80&#x2F;display&#x2F;ADDON&#x2F;Archivist&quot;&gt;копия в Web Archive&lt;&#x2F;a&gt;. Как я его не заметил несколько месяцев назад, когда делал сайт - уму непостижимо. Ну ничего. Изобрел свой велосипед - стал умнее и опытнее =)&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="ru">
        <title>Боты переводчики в Google Talk</title>
        <published>2011-01-12T00:00:00+00:00</published>
        <updated>2011-01-12T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Bounz
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://bounz.net/blog/2011/google-talk-translation-bots/"/>
        <id>https://bounz.net/blog/2011/google-talk-translation-bots/</id>
        
        <content type="html" xml:base="https://bounz.net/blog/2011/google-talk-translation-bots/">&lt;p&gt;Недавно &lt;strong&gt;Google Talk&lt;&#x2F;strong&gt; предложил мне добавить в друзья нескольких человек. Так как я их не знаю, то и добавлять не стал. Однако, мое внимание привлек другой список, находившийся в том же окне. В нем перечислялись &lt;strong&gt;боты переводчики&lt;&#x2F;strong&gt;. Я добавил себе ботов английского языка &lt;strong&gt;ru2en&lt;&#x2F;strong&gt; и &lt;strong&gt;en2ru&lt;&#x2F;strong&gt; (@bot.talk.google.com). Работают они очень просто: пишешь боту сообщение на исходном языке - он тебе отвечает переводом.&lt;&#x2F;p&gt;
&lt;p&gt;Очень удобно так же и то, что бота можно добавить в групповой чат, и тогда участники чата, разговаривающие на разных языках, будут тут же видеть перевод сообщения оппонента на их родной язык.&lt;&#x2F;p&gt;
&lt;p&gt;Полный список ботов приведен на странице &lt;a rel=&quot;external&quot; href=&quot;http:&#x2F;&#x2F;www.google.com&#x2F;support&#x2F;talk&#x2F;bin&#x2F;answer.py?hl=en&amp;amp;answer=89921&quot;&gt;http:&#x2F;&#x2F;www.google.com&#x2F;support&#x2F;talk&#x2F;bin&#x2F;answer.py?hl=en&amp;amp;answer=89921.&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;p&gt;Приятного вам общения!&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="ru">
        <title>Кинобаза</title>
        <published>2011-01-09T00:00:00+00:00</published>
        <updated>2011-01-24T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Bounz
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://bounz.net/blog/2011/kinobaza-tv/"/>
        <id>https://bounz.net/blog/2011/kinobaza-tv/</id>
        
        <content type="html" xml:base="https://bounz.net/blog/2011/kinobaza-tv/">&lt;p&gt;&lt;a href=&quot;kinobaza-logo.png&quot; target=&quot;_blank&quot;&gt;
    &lt;img src=&quot;kinobaza-logo.png&quot; class=&quot;imgl&quot; &#x2F;&gt;
&lt;&#x2F;a&gt;Незадолго до Нового года, благодаря публикации на хабре, я познакомился с замечательным сервисом &lt;strong&gt;&lt;del&gt;&lt;a rel=&quot;external&quot; href=&quot;http:&#x2F;&#x2F;kinobaza.tv&quot;&gt;kinobaza.tv&lt;&#x2F;a&gt;&lt;&#x2F;del&gt; (недоступен) · &lt;a rel=&quot;external&quot; href=&quot;http:&#x2F;&#x2F;web.archive.org&#x2F;web&#x2F;20231227163221&#x2F;https:&#x2F;&#x2F;kinobaza.tv&#x2F;&quot;&gt;копия в Web Archive&lt;&#x2F;a&gt;&lt;&#x2F;strong&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;Уже давно в моей голове сидела мысль, что было бы неплохо как-то отмечать просмотренные фильмы, рейтинговать их и иметь возможность получать рекоммендации на основе уже сделанных мной оценок. И Кинобаза оказалась как раз тем самым и даже больше. Ключевыми моментами сервиса являются:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;возможность получать рекоммендации&lt;&#x2F;li&gt;
&lt;li&gt;находить источники для скачивания&lt;&#x2F;li&gt;
&lt;li&gt;получать уведомления о появлении фильма в сети или скором выходе эпизода сериала&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;a href=&quot;kinobaza1.png&quot; target=&quot;_blank&quot;&gt;
    &lt;img src=&quot;kinobaza1.png&quot; class=&quot;imgl&quot; &#x2F;&gt;
&lt;&#x2F;a&gt;Очень порадовал пользовательский интерфейс и продуманность многих реакций сайта на действия пользователя. Так, например, если я искал какой-либо фильм и потом скачал .torrent файл с ним, то в разделе &lt;strong&gt;Мои фильмы&lt;&#x2F;strong&gt; на главной странице появится строка, в которой я могу его оценить. Таким образом довольно сложно забыть проставить оценку просмотренному фильму. Так же в этом разделе отображаются и более оффлайновые события с фильмами, которые я отметил как подлежащие просмотру: выход DVD или Blu-ray.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;kinobaza2.png&quot; target=&quot;_blank&quot;&gt;
    &lt;img src=&quot;kinobaza2.png&quot; class=&quot;imgr&quot; &#x2F;&gt;
&lt;&#x2F;a&gt;На странице с фильмом приведена вся необходимая информация: дата выхода, оценки IMDB и пользователей Кинобазы, прогноз моей оценки (удивительно, но в большинстве случаев он совпадал с моей оценкой!), продолжительность, жанры, быстрый переход к поиску источников или просмотру онлайн (реализовано через поиск в видеозаписях ВКонтакте, так что качество оставляет желать лучшего), описание, актерский состав и т.д. Отдельно меня радует слайдер действий для фильма (хочу посмотреть, смотрел, не хочу смотреть).&lt;&#x2F;p&gt;
&lt;p&gt;На закладке &lt;strong&gt;Скачать&lt;&#x2F;strong&gt; приведен список торрентов, с указанием качества, количеством сидов&#x2F;пиров, типом перевода, размером файла. По всем этим параметрам можно быстро и легко отфильтровать результаты. Так же, при выставлении фильму статуса &quot;&lt;strong&gt;хочу посмотреть&lt;&#x2F;strong&gt;&quot; можно сразу подписаться на получение уведомлений о появлении фильма в сети, что, на мой взгляд, очень и очень удобно.&lt;&#x2F;p&gt;
&lt;p&gt;Хочу заметить, что на сайте имеется возможность улучшить свой аккаунт за небольшое вознаграждение. Что самое классное - так это то, что размер вознаграждения не ограничен ни с верху ни с низу! И хотя потребность в улучшенном аккаунте может у вас и не возникнуть, чтобы оценить его бесплатно, можно при регистрации на кинобазе указать промо-код: &lt;strong&gt;bounz&lt;&#x2F;strong&gt;. Это позволит вам в течении месяца пользоваться преимуществами улучшенного аккаунта. &lt;strong&gt;Внимание&lt;&#x2F;strong&gt;: промо-код действителен до 12 января 2011 года. Успейте получить улучшенный аккаунт!&lt;&#x2F;p&gt;
&lt;p&gt;В общем, сервис удался и я им с удовольствием пользуюсь. Желаю команде кинобазы дальнейшего развития, роста и процветания их сервиса!&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="ru">
        <title>Определение размеров экрана в JavaScript и IE</title>
        <published>2010-12-23T00:00:00+00:00</published>
        <updated>2010-12-23T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Bounz
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://bounz.net/blog/2010/screen-resolution-in-javascript-and-ie/"/>
        <id>https://bounz.net/blog/2010/screen-resolution-in-javascript-and-ie/</id>
        
        <content type="html" xml:base="https://bounz.net/blog/2010/screen-resolution-in-javascript-and-ie/">&lt;p&gt;При разработке web-приложений порой возникает необходимость определить размер экрана, на котором открыт браузер, и в зависимости от полученных результатов что либо изменить. Конкретно в моем случае была необходимость изменения расположения элементов интерфейса плеера курсов системы дистанционного обучения, написанного на Silverlight. Т.к. сам Silverlight средств для определения размеров экрана не предоставляет, пришлось использовать возможности JavaScript и обращаться к странице, на которой Silverlight-приложение было расположено.&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;javascript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;var&lt;&#x2F;span&gt;&lt;span&gt; screenHeight&lt;&#x2F;span&gt;&lt;span style=&quot;color: #94E2D5;&quot;&gt; =&lt;&#x2F;span&gt;&lt;span&gt; HtmlPage&lt;&#x2F;span&gt;&lt;span style=&quot;color: #94E2D5;&quot;&gt;.&lt;&#x2F;span&gt;&lt;span&gt;Window&lt;&#x2F;span&gt;&lt;span style=&quot;color: #94E2D5;&quot;&gt;.&lt;&#x2F;span&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;Eval&lt;&#x2F;span&gt;&lt;span&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt;&amp;quot;screen.height&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;)&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Приложение сделано таким образом, что если размеров экрана достаточно, то управляющие элементы выводятся в нижней части, а если экран по высоте мал (как, например, часто бывает на ноутбуках, где любят ставить широкоформатные дисплеи) - то они выводятся сбоку.&lt;&#x2F;p&gt;
&lt;p&gt;Вчера у нас была презентация системы для руководства, при этом в переговорной был установлен ноутбук, а к нему подключен проектор. Из браузеров - только Internet Explorer 8. Т.к. разрешение экрана ноутбука по высоте невелико, то, естественно, управляющие элементы расположились по второму варианту. Но мы то хотим чтобы все было красиво! Подумалось, что для экрана, коим является проектор, можно установить свое разрешение, и, по идее, места должно хватить для расположения кнопок управления внизу. Но не тут-то было. После перетаскивания окна браузера на второй экран, и работы с него, приложение в Internet Explorer упорно открывалось в компактном варианте. Бред, да и только. Дальнейшие эксперименты пришлось отложить из-за начала доклада.&lt;&#x2F;p&gt;
&lt;p&gt;Но сегодня я решил проверить, как работают функции определения размеров экрана в разных браузерах, благо на работе к компьютеру подключено два монитора. Создал тестовую страничку, в которую вставил небольшой javascript код, выводящий информацию о размерах экрана:&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;html&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #94E2D5;&quot;&gt;&amp;lt;&lt;&#x2F;span&gt;&lt;span style=&quot;color: #89B4FA;&quot;&gt;script&lt;&#x2F;span&gt;&lt;span style=&quot;color: #F9E2AF;&quot;&gt; type&lt;&#x2F;span&gt;&lt;span style=&quot;color: #94E2D5;&quot;&gt;=&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt;&amp;quot;text&#x2F;javascript&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color: #94E2D5;&quot;&gt;&amp;gt;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;    setInterval&lt;&#x2F;span&gt;&lt;span&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;function&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt; () {&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;        var&lt;&#x2F;span&gt;&lt;span&gt; el&lt;&#x2F;span&gt;&lt;span style=&quot;color: #94E2D5;&quot;&gt; =&lt;&#x2F;span&gt;&lt;span&gt; document&lt;&#x2F;span&gt;&lt;span style=&quot;color: #94E2D5;&quot;&gt;.&lt;&#x2F;span&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;getElementById&lt;&#x2F;span&gt;&lt;span&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt;&amp;#39;test&amp;#39;&lt;&#x2F;span&gt;&lt;span&gt;)&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;        el&lt;&#x2F;span&gt;&lt;span style=&quot;color: #94E2D5;&quot;&gt;.&lt;&#x2F;span&gt;&lt;span&gt;innerHTML&lt;&#x2F;span&gt;&lt;span style=&quot;color: #94E2D5;&quot;&gt; =&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; &amp;#39;height = &amp;#39;&lt;&#x2F;span&gt;&lt;span style=&quot;color: #94E2D5;&quot;&gt; +&lt;&#x2F;span&gt;&lt;span&gt; screen&lt;&#x2F;span&gt;&lt;span style=&quot;color: #94E2D5;&quot;&gt;.&lt;&#x2F;span&gt;&lt;span&gt;height&lt;&#x2F;span&gt;&lt;span style=&quot;color: #94E2D5;&quot;&gt; +&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; &amp;#39;&amp;lt;br&#x2F;&amp;gt;aH = &amp;#39;&lt;&#x2F;span&gt;&lt;span style=&quot;color: #94E2D5;&quot;&gt; +&lt;&#x2F;span&gt;&lt;span&gt; screen&lt;&#x2F;span&gt;&lt;span style=&quot;color: #94E2D5;&quot;&gt;.&lt;&#x2F;span&gt;&lt;span&gt;availHeight&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;    },&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FAB387;&quot;&gt; 500&lt;&#x2F;span&gt;&lt;span&gt;)&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt; &amp;lt;&lt;&#x2F;span&gt;&lt;span style=&quot;color: #94E2D5;&quot;&gt;&#x2F;&lt;&#x2F;span&gt;&lt;span style=&quot;color: #89B4FA;&quot;&gt;script&lt;&#x2F;span&gt;&lt;span style=&quot;color: #94E2D5;&quot;&gt;&amp;gt;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;изменил разрешение одного из мониторов - и о чудо! В нормальных браузерах, таких как Google Chrome и Mozilla Firefox цифры менялись, при перетаскивании окна с экрана на экран. В IE - нет. Причем попробовал как в IE8, так и в IE9 Beta - результат одинаково отрицательный.&lt;&#x2F;p&gt;
&lt;p&gt;Чтобы все это мое исследование не осталось на только на уровне слов и моего знания - написал баг-репорт по этому поводу. Будем надеяться, к релизу IE9 эту ошибку исправят.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="ru">
        <title>Настройка Mercurial в связке с IIS6</title>
        <published>2010-12-17T00:00:00+00:00</published>
        <updated>2012-03-11T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Bounz
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://bounz.net/blog/2010/setting-up-mercurial-with-iis6/"/>
        <id>https://bounz.net/blog/2010/setting-up-mercurial-with-iis6/</id>
        
        <content type="html" xml:base="https://bounz.net/blog/2010/setting-up-mercurial-with-iis6/">&lt;p&gt;Слушая весной подкаст UTP от Umputun&#x27;а, я не думал, что спустя всего полгода реально оценю всю прелесть распределенных систем контроля версий и в частности - &lt;strong&gt;Mercurial&lt;&#x2F;strong&gt;. Для начала я опробовал его дома для личных проектов, потом настроил для них связку с BitBucket, что придало мне еще больше восторга из-за встроенного баг-трекера и вики. И вот, наконец, я решил заменить им на работе порядком поднадоевший SVN.&lt;&#x2F;p&gt;
&lt;p&gt;Заменил волевым усилием, перенеся стабильную версию проектов без сохранения истории правок в SVN. Потом встал вопрос о создании центрального репозитория для более удобной командной работы. Создать репозиторий - очень просто, но захотелось организовать еще какой-нибудь web-интерфейс для всех репозиторев, чтобы визуально наблюдать за процессом разработки и иметь централизованные адреса для push&#x2F;pull.&lt;&#x2F;p&gt;
&lt;p&gt;Беглый поиск по интернету дал результат: есть встроенный в Mercurial web-сервер, который может хостить один репозиторий. Для того, чтобы разместить несколько репозиториев по одному адресу - нужны дополнительные пляски с бубном. Тот же поиск вывел на несколько записей с инструкциями для более ранних версий &lt;strong&gt;Mercurial&lt;&#x2F;strong&gt; (например 1.4.3), который можно было скачать отдельно от &lt;strong&gt;TortoiseHg&lt;&#x2F;strong&gt; и в состав которого входил скрипт &lt;strong&gt;hgwebdir.cgi&lt;&#x2F;strong&gt;. У меня же была установлена последняя версия меркуриала 1.7.2 вместе с &lt;strong&gt;TortoiseHg&lt;&#x2F;strong&gt; 1.1.7, в котором данного скрипта нет. Путем проб и ошибок я смог настроить работу Mercurial с &lt;strong&gt;IIS6&lt;&#x2F;strong&gt;.&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;Итак, для начала нам понадобится скачать сам &lt;del&gt;&lt;a rel=&quot;external&quot; href=&quot;http:&#x2F;&#x2F;tortoisehg.bitbucket.org&#x2F;&quot;&gt;TortoiseHg&lt;&#x2F;a&gt;&lt;&#x2F;del&gt; (недоступен) · &lt;a rel=&quot;external&quot; href=&quot;http:&#x2F;&#x2F;web.archive.org&#x2F;web&#x2F;20170109030513&#x2F;http:&#x2F;&#x2F;tortoisehg.bitbucket.org&#x2F;&quot;&gt;копия в Web Archive&lt;&#x2F;a&gt; и &lt;a rel=&quot;external&quot; href=&quot;http:&#x2F;&#x2F;python.org&#x2F;&quot;&gt;Python&lt;&#x2F;a&gt; (если он не установлен на вашем сервере). Я использовал Python 2.7.1. Устанавливаем их с настройками по умолчанию.&lt;&#x2F;li&gt;
&lt;li&gt;Создаем папку, в которой будет обитать веб сервис.&lt;&#x2F;li&gt;
&lt;li&gt;Скачиваем исходники &lt;del&gt;&lt;a rel=&quot;external&quot; href=&quot;http:&#x2F;&#x2F;mercurial.selenic.com&#x2F;downloads&#x2F;&quot;&gt;Mercurial&lt;&#x2F;a&gt;&lt;&#x2F;del&gt; (недоступен) · &lt;a rel=&quot;external&quot; href=&quot;http:&#x2F;&#x2F;web.archive.org&#x2F;web&#x2F;20230319072620&#x2F;https:&#x2F;&#x2F;mercurial.selenic.com&#x2F;downloads&quot;&gt;копия в Web Archive&lt;&#x2F;a&gt; - &lt;strong&gt;Mercurial 1.7.2 source release&lt;&#x2F;strong&gt;&lt;&#x2F;li&gt;
&lt;li&gt;Содержимое архива распаковываем в созданную папку. Таким образом, в корне этой папки окажется файлик &lt;strong&gt;hgweb.cgi&lt;&#x2F;strong&gt;.&lt;&#x2F;li&gt;
&lt;li&gt;Открываем Менеджер IIS из средств Администрирования&lt;&#x2F;li&gt;
&lt;li&gt;Создаем новый сайт, либо, как делал я, создаем виртуальную директорию в уже существующем сайте и настраиваем ее путь к ранее созданной папке.&lt;&#x2F;li&gt;
&lt;li&gt;В свойствах сайта&#x2F;виртуальной директории открываем закладку &lt;em&gt;Home Directory&lt;&#x2F;em&gt; или &lt;em&gt;Virtual Directory.&lt;&#x2F;em&gt;&lt;&#x2F;li&gt;
&lt;li&gt;Жмем кнопку &lt;em&gt;Configuration.&lt;&#x2F;em&gt;&lt;&#x2F;li&gt;
&lt;li&gt;На закладке &lt;em&gt;Mappings&lt;&#x2F;em&gt; жмем кнопку &lt;em&gt;Add.&lt;&#x2F;em&gt;&lt;&#x2F;li&gt;
&lt;li&gt;Вводим расширение файла &lt;em&gt;.cgi&lt;&#x2F;em&gt;, исполняемый файл - &lt;code&gt;&amp;lt;PythonInstallDir&amp;gt;\python.exe -u &quot;%s&quot;&lt;&#x2F;code&gt;. Отмечаем галочку &lt;em&gt;Script engine&lt;&#x2F;em&gt;.&lt;&#x2F;li&gt;
&lt;li&gt;Жмем &lt;em&gt;OK&lt;&#x2F;em&gt;, &lt;em&gt;OK&lt;&#x2F;em&gt;, &lt;em&gt;OK&lt;&#x2F;em&gt;, тем самым закрывая окна и возвращаясь непосредственно к менеджеру IIS.&lt;&#x2F;li&gt;
&lt;li&gt;Выбираем узел дерева Web Service Extensions&lt;&#x2F;li&gt;
&lt;li&gt;Жмем на нем правой кнопкой мыши и выбираем пункт Add a new Web service extension&lt;&#x2F;li&gt;
&lt;li&gt;В появившемся окне вводит имя расширения (например Python) и жмем кнопку Add для добавления файлов расширения.&lt;&#x2F;li&gt;
&lt;li&gt;Выбираем файл python.exe и прописываем параметры вызова. Должно получиться вот так: &lt;em&gt;&lt;PythonInstallDir&gt;\python.exe -u &quot;%s&quot;&lt;&#x2F;em&gt;&lt;&#x2F;li&gt;
&lt;li&gt;Ставим галочку &lt;em&gt;Allowed&lt;&#x2F;em&gt; и жмем &lt;em&gt;OK&lt;&#x2F;em&gt;.&lt;&#x2F;li&gt;
&lt;li&gt;Закрываем Менеджер IIS.&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;p&gt;Теперь все должно работать. Однако, надо еще сконфигурировать web-сервис меркуриала. Для этого в папке, в которой лежит файл скрипта hgweb.cgi создаем файл &lt;strong&gt;hgweb.config&lt;&#x2F;strong&gt; с примерно следующим содержанием:&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;[collections]  &lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;D:\RepositoriesHG\ = D:\RepositoriesHG\  &lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;  &lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;[web]  &lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;style = monoblue  &lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;push_ssl = false  &lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;allow_push = *&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;В данном конфиге я указываю не конкретные репозитории, которые хочу сделать доступными через Web, а папку, в которой они все находятся. Для этого служит секция [collections]. В секции [web] задается стиль отображения web-приложения, а также разрешение пушить всем, без необходимости использования SSL.&lt;&#x2F;p&gt;
&lt;p&gt;Финальным этапом необходимо указать меркуаловскому сервису на файл конфигурации. Для этого правим файл &lt;strong&gt;hgweb.cgi&lt;&#x2F;strong&gt;, изменяя путь, указанный в свойстве config, например:&lt;&#x2F;p&gt;
&lt;p&gt;&lt;code&gt;config = &quot;C:\Mercurial\hgweb.config&quot;&lt;&#x2F;code&gt;&lt;&#x2F;p&gt;
&lt;p&gt;Надеюсь данная статья будет полезна и сэкономит вам время на решение вопросов по настройке доступа к репозиториям через web-интерфейс.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="ru">
        <title>Быстрорастворимый чай</title>
        <published>2010-12-11T00:00:00+00:00</published>
        <updated>2011-02-04T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Bounz
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://bounz.net/blog/2010/instant-tea/"/>
        <id>https://bounz.net/blog/2010/instant-tea/</id>
        
        <content type="html" xml:base="https://bounz.net/blog/2010/instant-tea/">&lt;p&gt;&lt;a href=&quot;tea1.jpg&quot; target=&quot;_blank&quot;&gt;
    &lt;img src=&quot;tea1.jpg&quot; class=&quot;imgl&quot; &#x2F;&gt;
&lt;&#x2F;a&gt;Во время поездкт в Лондон мы познакомились с таким необычным для нас продуктом как &lt;strong&gt;быстрорастворимый чай&lt;&#x2F;strong&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;Как и всем путешествующим в заморские страны, нам надо было купить подарков для друзей, родственников и т.д. Во время одной из многочисленных прогулок мы наткнулись на замечательный магазин &quot;Whittard of Chelsea&quot;, в котором представлены разнообразные чаи, кофе, горячий шоколад, а также различные акксесуары для них. Там так же предлагались на пробу различные чаи и они нам понравились. Решили купить в качестве подарка. Но, как и полагается подаркам, до возвращения в Москву мы не открывали банку с чаем.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;tea2.jpg&quot; target=&quot;_blank&quot;&gt;
    &lt;img src=&quot;tea2.jpg&quot; class=&quot;imgr&quot; &#x2F;&gt;
&lt;&#x2F;a&gt;&lt;a href=&quot;tea3.jpg&quot; target=&quot;_blank&quot;&gt;
    &lt;img src=&quot;tea3.jpg&quot; class=&quot;imgrwc&quot; &#x2F;&gt;
&lt;&#x2F;a&gt;Какого же было наше удивление, когда внутри мы обнаружили не чайный листья, и даже не гранулы и не пакетики, а что-то структуре похожее на сахарный песок. Почитав еще раз банку и инструкцию по завариванию нашли, что это не чай, а чайный напиток, и заваривать его нужно просто разводя горячей или прохладной водой. По вкусу - прямо как в магазине, так что все честно и вкусно. Теперь у нас полке есть не только бытрорастворимый кофе но и чай.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="ru">
        <title>Электрички Москвы и Лондона</title>
        <published>2010-12-07T00:00:00+00:00</published>
        <updated>2012-04-06T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Bounz
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://bounz.net/blog/2010/elektrichki-moskvi-i-londona/"/>
        <id>https://bounz.net/blog/2010/elektrichki-moskvi-i-londona/</id>
        
        <content type="html" xml:base="https://bounz.net/blog/2010/elektrichki-moskvi-i-londona/">&lt;p&gt;Этой осенью мне довелось побывать в Лондоне. Сначала поездка планировалась как рабочая, но затем мы с Лерой изменили её формат на отпускной. Город мне очень понравился. Я увидел, как, оказывается, могут жить люди. Как может быть обустроена их жизнь, как может быть сделан город... Довольно горько теперь смотреть на Москву с ее ужасным общественным транспортом.&lt;&#x2F;p&gt;
&lt;p&gt;В этой заметке я хотел бы остановиться на пригородных электричках. В Лондоне нам довелось жить не близко к центру, поэтому от гостиницы мы доезжали на автобусе до станции электричек Norberry, а от нее - до одного из центральных вокзалов Victoria Station. И блин, нам было не обломно, а даже приятно ехать общественным транспортом. Потому что он сделан для людей.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;UK_(48).jpg&quot; target=&quot;_blank&quot;&gt;
    &lt;img src=&quot;UK_(48).jpg&quot; class=&quot;imgl&quot; &#x2F;&gt;
&lt;&#x2F;a&gt;Электрички сами по себе небольшие, вагоны меньше наших. Но выходы расположены не с концов, а более равномерно распределены вдоль вагона. Двери открываются только по нажатию кнопки как изнутри, так и снаружи. Т.е. если поезд подъехал, но никто не выходит на этой станции и нет желающих зайти именно в этот вагон - двери открываться не будут, а значит не будет и дуть холодом с улицы.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;UK_(137).jpg&quot; target=&quot;_blank&quot;&gt;
    &lt;img src=&quot;UK_(137).jpg&quot; class=&quot;imgr&quot; &#x2F;&gt;
&lt;&#x2F;a&gt;Электропитание реализовано по принципу метро - с контактным рельсом. Поэтому над путями не возвышаются железные перекладины с контактным проводом и вся эта система занимает по высоте довольно мало места. Так же и сами станции не настолько высоки как у нас. При этом на вертикальной стенке платформы есть ступенечки, по которым, в случае чего, можно легко залезть обратно на станцию. Про наши такого сказать не могу. Однажды уронил зонт на пути и пришлось за ним лезть. Обратно вылезать без посторонней помощи довольно тяжело.&lt;&#x2F;p&gt;
&lt;p&gt;Ну а теперь то, чего у нас, наверное, не будет очень долго: урны в вагонах между сиденьями, куда легко можно выбросить газету просто отведя руку назад, за себя. А еще есть много видеокамер вдоль платформы, а со стороны кабины машиниста - специальные мониторы, на которых он может наблюдать процесс посадки пассажиров. У нас, в случае если прямой видимости от кабины машиниста до хвоста состава нет, помощник машиниста выбегает на станцию и подает сигнал машинисту в кабине закрывать двери. Это можно легко наблюдать на станции &quot;Гражданская&quot;, которая имеет изогнутую форму.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;UK_(49).jpg&quot; target=&quot;_blank&quot;&gt;
    &lt;img src=&quot;UK_(49).jpg&quot; class=&quot;imgl&quot; &#x2F;&gt;
&lt;&#x2F;a&gt;&lt;a href=&quot;IMAG0092.jpg&quot; target=&quot;_blank&quot;&gt;
    &lt;img src=&quot;IMAG0092.jpg&quot; class=&quot;imgl&quot; &#x2F;&gt;
&lt;&#x2F;a&gt;
Так же стоит сказать, что никто не прыгает с платформы, пытаясь таким образом сэкономить. Все исправно входят и выходят через турникеты и прикладывают свои карточки Oyster. А проезд в Лондоне очень не дешев, особенно если покупать разовые поездки и еще дороже, если покупать их за наличные. Для себя мы сделали вывод, что надо пользоваться карточкой Oyster, на которую заряжать TravelCard по нужным зонам. В такие тревелкарды включены бесплатные поездки на автобусе.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="ru">
        <title>Фотосессия</title>
        <published>2010-04-09T00:00:00+00:00</published>
        <updated>2011-02-04T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Bounz
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://bounz.net/blog/2010/photosession/"/>
        <id>https://bounz.net/blog/2010/photosession/</id>
        
        <content type="html" xml:base="https://bounz.net/blog/2010/photosession/">&lt;p&gt;&lt;a href=&quot;..&#x2F;photosession.jpg&quot; target=&quot;_blank&quot;&gt;
    &lt;img src=&quot;..&#x2F;photosession.jpg&quot; class=&quot;imgl&quot; &#x2F;&gt;
&lt;&#x2F;a&gt;На прошлых выходных мы с Лерой организовывали фотосессию для Бориса с Олей и Шавката с Верой. Сама студия была хороша, только таки немного дороговато 900 руб&#x2F;час и время было только с 9 до 12 утра. Так что пришлось вставать рано и работать много.&lt;&#x2F;p&gt;
&lt;p&gt;Но это того стоило! Лера делала макияж девушкам и я понял всю прелесть обладанием на фотосессиии визажистом: он делает лицо моделей прекрасным, и более нет необходимости потом в фотошопе замазывать всякие дефекты кожи и прочие неувязки. Прямо из камеры, после конвертации фоток из RAW в jpeg, многие из них были уже идеальны.&lt;&#x2F;p&gt;
&lt;p&gt;Так что спасибо Лере! Сейчас как раз создаем и развиваем ее собственный сайт: &lt;del&gt;&lt;a rel=&quot;external&quot; href=&quot;http:&#x2F;&#x2F;makeup.bounz.net&#x2F;&quot;&gt;http:&#x2F;&#x2F;makeup.bounz.net&lt;&#x2F;a&gt;&lt;&#x2F;del&gt; (недоступен) · &lt;a rel=&quot;external&quot; href=&quot;http:&#x2F;&#x2F;web.archive.org&#x2F;web&#x2F;20101204050932&#x2F;http:&#x2F;&#x2F;makeup.bounz.net:80&#x2F;&quot;&gt;копия в Web Archive&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="ru">
        <title>Спасибо тебе, почта России!</title>
        <published>2010-03-27T00:00:00+00:00</published>
        <updated>2010-03-27T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Bounz
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://bounz.net/blog/2010/spasibo-tebe-pochta-rossii/"/>
        <id>https://bounz.net/blog/2010/spasibo-tebe-pochta-rossii/</id>
        
        <content type="html" xml:base="https://bounz.net/blog/2010/spasibo-tebe-pochta-rossii/">&lt;p&gt;Ура! Наконец-то почта России осилила доставить нам покупки из Америки. Не прошло и двух месяцев...&lt;&#x2F;p&gt;
&lt;p&gt;Что характерно, я, заказав на ebay свой микрофон на неделю раньше, чем Лера свои кисти, получил его аккурат на неделю позже, чем Лера кисти. Несправедливо.&lt;&#x2F;p&gt;
&lt;p&gt;А вообще почта в данном случае не рулит. Я уже подумывал abuse писать в paypal, ибо непонятно, придет товар или нет, а срок подачи жалобы ограничен.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="ru">
        <title>Питер. Ранняя весна.</title>
        <published>2010-03-15T00:00:00+00:00</published>
        <updated>2010-11-29T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Bounz
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://bounz.net/blog/2010/piter-rannyaya-vesna/"/>
        <id>https://bounz.net/blog/2010/piter-rannyaya-vesna/</id>
        
        <content type="html" xml:base="https://bounz.net/blog/2010/piter-rannyaya-vesna/">&lt;p&gt;Съездили с Лерой в Питер. Давно я там не был, а Лера так вообще в первый раз.&lt;&#x2F;p&gt;
&lt;p&gt;Хорошо провели время: погуляли, я встретился с Ульяной, которую года два не видел, и Мишей; Лера же встретилась со своей подругой из Иркутска. Надо же: встречаться с подругой из Иркутска в Санкт-Петербурге, когда она приехала туда на концерт группы 30 Seconds To Mars.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="ru">
        <title>Як-7Б</title>
        <published>2010-03-04T00:00:00+00:00</published>
        <updated>2010-12-11T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Bounz
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://bounz.net/blog/2010/yak-7b/"/>
        <id>https://bounz.net/blog/2010/yak-7b/</id>
        
        <content type="html" xml:base="https://bounz.net/blog/2010/yak-7b/">&lt;p&gt;После того, как я &lt;a rel=&quot;external&quot; href=&quot;http:&#x2F;&#x2F;www.drive2.ru&#x2F;cars&#x2F;mazda&#x2F;626&#x2F;626_iii&#x2F;bounz&#x2F;journal&#x2F;4062246863888254298&#x2F;&quot;&gt;разбил машинку&lt;&#x2F;a&gt; (как же жалко, блин), образовалось большее количество свободного времени, не потраченного на пробки и т.п. Зато дошли руки до давно склеенного, но не покрашенного самолетика, который мне подарили ещё аж на день рождения (спасибо, Наташа!). Толчком к этому стало то, что Лера подарила мне на 23 февраля ещё 2 модели самолетов, одна из которых - Boeing 767-300, к которому я неровно дышу со времен MSFS 9 и модели Level-D B763, а вторая - высоко детализированная модель от Revell - Heinkel He 177 A-5 Grief. По такому поводу была предпринята вылазка в район Марьино за хорошими красками, кистями и клеем.&lt;&#x2F;p&gt;
&lt;p&gt;Однако перед тем, как взяться за новые модели я решил закончить начатую. В итоге за выходные мы с Лерой её докрасили, высушили, а теперь и декали наклеили. Вот что у нас получилось:&lt;&#x2F;p&gt;
&lt;div class=&quot;not-prose flex flex-wrap gap-2&quot;&gt;

  &lt;a href=&quot;https:&#x2F;&#x2F;bounz.net&#x2F;blog&#x2F;2010&#x2F;yak-7b&#x2F;yak7b-1.jpg&quot; target=&quot;_blank&quot;&gt;
    &lt;img class=&quot;rounded-lg&quot; src=&quot;https:&#x2F;&#x2F;bounz.net&#x2F;processed_images&#x2F;yak7b-1.d7af7d1b5e0d74ec.jpg&quot; &#x2F;&gt;
  &lt;&#x2F;a&gt;
  &lt;a href=&quot;https:&#x2F;&#x2F;bounz.net&#x2F;blog&#x2F;2010&#x2F;yak-7b&#x2F;yak7b-2.jpg&quot; target=&quot;_blank&quot;&gt;
    &lt;img class=&quot;rounded-lg&quot; src=&quot;https:&#x2F;&#x2F;bounz.net&#x2F;processed_images&#x2F;yak7b-2.b36bf4d1341d7257.jpg&quot; &#x2F;&gt;
  &lt;&#x2F;a&gt;
  &lt;a href=&quot;https:&#x2F;&#x2F;bounz.net&#x2F;blog&#x2F;2010&#x2F;yak-7b&#x2F;yak7b-3.jpg&quot; target=&quot;_blank&quot;&gt;
    &lt;img class=&quot;rounded-lg&quot; src=&quot;https:&#x2F;&#x2F;bounz.net&#x2F;processed_images&#x2F;yak7b-3.2d4c7df0a185f780.jpg&quot; &#x2F;&gt;
  &lt;&#x2F;a&gt;
  &lt;a href=&quot;https:&#x2F;&#x2F;bounz.net&#x2F;blog&#x2F;2010&#x2F;yak-7b&#x2F;yak7b-4.jpg&quot; target=&quot;_blank&quot;&gt;
    &lt;img class=&quot;rounded-lg&quot; src=&quot;https:&#x2F;&#x2F;bounz.net&#x2F;processed_images&#x2F;yak7b-4.885790b7c3fb9f7b.jpg&quot; &#x2F;&gt;
  &lt;&#x2F;a&gt;
&lt;&#x2F;div&gt;
</content>
        
    </entry>
    <entry xml:lang="ru">
        <title>Бауманец на колесах</title>
        <published>2009-11-07T00:00:00+00:00</published>
        <updated>2010-12-11T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Bounz
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://bounz.net/blog/2009/baumanec-na-kolesah/"/>
        <id>https://bounz.net/blog/2009/baumanec-na-kolesah/</id>
        
        <content type="html" xml:base="https://bounz.net/blog/2009/baumanec-na-kolesah/">&lt;p&gt;&lt;a href=&quot;..&#x2F;&#x2F;Drive2.png&quot; target=&quot;_blank&quot;&gt;
    &lt;img src=&quot;..&#x2F;&#x2F;Drive2.png&quot; class=&quot;imgl&quot; &#x2F;&gt;
&lt;&#x2F;a&gt;После покупки машины начало происходить много интересных вещей. Уж когда покупаешь не новую машину - поверьте мне, их предостаточно! О чем мы решили писать в специально предназначенном для этого месте - на Drive2.ru, и засветились на главной странице как новоприбывшие.&lt;&#x2F;p&gt;
&lt;p&gt;Так что, всем сочувствующим - &lt;a rel=&quot;external&quot; href=&quot;http:&#x2F;&#x2F;www.drive2.ru&#x2F;cars&#x2F;mazda&#x2F;626&#x2F;626_iii&#x2F;bounz&#x2F;&quot;&gt;велкам&lt;&#x2F;a&gt;!&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="ru">
        <title>Радуйтесь, жители Дедовска!</title>
        <published>2009-09-13T00:00:00+00:00</published>
        <updated>2010-12-11T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Bounz
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://bounz.net/blog/2009/raduites-zhiteli-dedovska/"/>
        <id>https://bounz.net/blog/2009/raduites-zhiteli-dedovska/</id>
        
        <content type="html" xml:base="https://bounz.net/blog/2009/raduites-zhiteli-dedovska/">&lt;p&gt;Радуйтесь, жители города Дедовск!&lt;&#x2F;p&gt;
&lt;p&gt;Сегодня мы сделали вам подарок, призванный радовать вас по утрам!&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;dedovsk1.jpg&quot; target=&quot;_blank&quot;&gt;
    &lt;img src=&quot;dedovsk1.jpg&quot; class=&quot;imglwc&quot; &#x2F;&gt;
&lt;&#x2F;a&gt; &lt;a href=&quot;dedovsk2.jpg&quot; target=&quot;_blank&quot;&gt;
    &lt;img src=&quot;dedovsk2.jpg&quot; class=&quot;imglwc&quot; &#x2F;&gt;
&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="ru">
        <title>Боинг-Боинг</title>
        <published>2009-07-05T00:00:00+00:00</published>
        <updated>2009-07-05T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Bounz
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://bounz.net/blog/2009/boeing-boeing/"/>
        <id>https://bounz.net/blog/2009/boeing-boeing/</id>
        
        <content type="html" xml:base="https://bounz.net/blog/2009/boeing-boeing/">&lt;p&gt;Не так давно выдалась возможность посетить два комедийных театральных представления в жанре авантюрной комедии, которой мы с Лерой непременули воспользоваться и очень этому порадовались. Несколько часов смеха оказались далеко не лишнеми в нашей жизни, полной подготовкой к диплому.&lt;&#x2F;p&gt;
&lt;p&gt;Первый спектакль назывался &quot;Не все дома&quot; (ДК ГПЗ, где я одно время занимался ирландскими танцами в Иридане) и повествует о доброй семейной афере. Рекоммендуется к просмотру.&lt;&#x2F;p&gt;
&lt;p&gt;А второй - Боинг-Боинг (Театриум на Серпуховке) - комедия-буфф, написанная французским драматургом Марком Камолетти в 1960-м году, до сих пор пользующаяся невероятным успехом. Шутки, звучащие в спектакле актуальны и для современного зрителя. В ролях - ныне популярные актеры, а Олеся Железняк aka &quot;Моя Lufthansa&quot; и Георгий Дронов (лучший друг главного героя) - были просто бесподобны...&lt;&#x2F;p&gt;
&lt;p&gt;Если будет возможность - обязательно сходите на этот спектакль. Надеюсь вам посчастливится увидеть его в исполнении того же актерского состава, в котором видели его мы. Покупайте билеты в партер и не забудьте цветы!&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="ru">
        <title>Кто инженер? Я - ИНЖЕНЕР!!!</title>
        <published>2009-07-05T00:00:00+00:00</published>
        <updated>2009-07-05T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Bounz
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://bounz.net/blog/2009/i-am-an-engineer/"/>
        <id>https://bounz.net/blog/2009/i-am-an-engineer/</id>
        
        <content type="html" xml:base="https://bounz.net/blog/2009/i-am-an-engineer/">&lt;p&gt;Ура!&lt;&#x2F;p&gt;
&lt;p&gt;Я - гигант!&lt;&#x2F;p&gt;
&lt;p&gt;Я - гений!&lt;&#x2F;p&gt;
&lt;p&gt;Я - ИНЖЕНЕР!&lt;&#x2F;p&gt;
&lt;p&gt;Это было сложно, долго и тяжело. Это было 2 недели БСС, месяц без танцев и несчетное количсество бессонных ночей...&lt;&#x2F;p&gt;
&lt;p&gt;Но оно того СТОИЛО!!!!!&lt;&#x2F;p&gt;
&lt;p&gt;Разумеется не обошлось и без традиционных празднований: обливание пивом, катание на тазах вокруг общаг, выкидывание бытовой техники с верхних этажей, ритуальное соожжение лекций и выбрасывание тубуса в Яузу (привет Диман!).&lt;&#x2F;p&gt;
&lt;p&gt;Катание на тазиках - это нечто! 55 км&#x2F;ч - ВАУ!!! И от пива действительно щиплет в глазах. Тема и Федя, использовать сноубордические очки - было чертовски верным решением!&lt;&#x2F;p&gt;
&lt;p&gt;Поздравляю всех инжеренров с защитой!&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="ru">
        <title>Гадко</title>
        <published>2009-05-15T00:00:00+00:00</published>
        <updated>2009-05-15T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Bounz
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://bounz.net/blog/2009/gadko/"/>
        <id>https://bounz.net/blog/2009/gadko/</id>
        
        <content type="html" xml:base="https://bounz.net/blog/2009/gadko/">&lt;p&gt;Видел недавно, как в метро у человека вырвали кошелек из рук, прямо перед закрытием дверей. Всеобщий ступор и общее ощущение мерзости. Гадко на душе от такого.&lt;&#x2F;p&gt;
&lt;p&gt;ИМХО, была возможность задержать вора, если бы сразу связались с машинистом и попросили открыть двери. Парнишка полстанции бежал. Его на выходе могла бы милиция принять. Но это ужасное едкое мерзкое чувство парализует...&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="ru">
        <title>Заведи себе Dropbox!</title>
        <published>2009-05-07T00:00:00+00:00</published>
        <updated>2011-01-13T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Bounz
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://bounz.net/blog/2009/get-a-dropbox/"/>
        <id>https://bounz.net/blog/2009/get-a-dropbox/</id>
        
        <content type="html" xml:base="https://bounz.net/blog/2009/get-a-dropbox/">&lt;p&gt;Решил попробовать на себе и мне понравилось!&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Dropbox&lt;&#x2F;strong&gt; поставляется в виде программки, которую можно скачать после регистрации, она сидит в трее и занимается синхронизацией файлов из папки Dropbox с папкой на сервере. Соответсвенно с дропбоксовской папкой работаешь как с обычной папкой, кидая туда нужные файлы драг&amp;amp;дропом. Соответственно можно установить программку на любом количестве компьютеров и папка дропбокса будет везде одинаковая. Гораздо удобнее для личного использования, нежели всякие рапидшары.&lt;&#x2F;p&gt;
&lt;p&gt;Так, дропбокс поддерживает версии файлов, веб-интерфейс, расшаренные папки. У веб интерфейса, кроме функции просмотра иерархии изменений файла, так же есть функции перемещения&#x2F;копирования, создания папок&#x2F;файлов, а еще можно сжимать папки в Zip и загружать.&lt;&#x2F;p&gt;
&lt;p&gt;В бесплатном варианте при регистрации дают 2 Гб дискового пространства для ваших файлов, но, приглашая друзей, можно увеличить этот объем до 5 Гб (за каждого друга дают по 250 Мб дополнительного места, причем не только вам, но и новому участнику, зарегистрировавшемуся по вашему приглашению). В платном варианте дают 50 Гб.&lt;&#x2F;p&gt;
&lt;p&gt;Кому интересно могут попробовать, &lt;del&gt;&lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;www.getdropbox.com&#x2F;referrals&#x2F;NTkzMDkyMTk&quot;&gt;зарегистрировавшись по моему приглашению&lt;&#x2F;a&gt;&lt;&#x2F;del&gt; (и получить 2,25 Гб) или как &lt;del&gt;&lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;www.getdropbox.com&#x2F;&quot;&gt;просто новый пользователь&lt;&#x2F;a&gt;&lt;&#x2F;del&gt; (недоступен) · &lt;a rel=&quot;external&quot; href=&quot;http:&#x2F;&#x2F;web.archive.org&#x2F;web&#x2F;20110305030836&#x2F;http:&#x2F;&#x2F;getdropbox.com&#x2F;&quot;&gt;копия в Web Archive&lt;&#x2F;a&gt; (2 Гб).&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="ru">
        <title>Все восхитительно, но все недовольны</title>
        <published>2009-04-09T00:00:00+00:00</published>
        <updated>2009-04-09T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Bounz
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://bounz.net/blog/2009/vse-voshititelno-no-vse-nedovolni/"/>
        <id>https://bounz.net/blog/2009/vse-voshititelno-no-vse-nedovolni/</id>
        
        <content type="html" xml:base="https://bounz.net/blog/2009/vse-voshititelno-no-vse-nedovolni/">&lt;p&gt;Не удержался, передрал с хабра...&lt;&#x2F;p&gt;
&lt;div 
    style=&quot;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%;&quot;&gt;
    &lt;iframe src=&quot;https:&#x2F;&#x2F;www.youtube.com&#x2F;embed&#x2F;UOCJua1Vwus&quot;
        style=&quot;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0;&quot; webkitallowfullscreen
        mozallowfullscreen allowfullscreen&gt;
    &lt;&#x2F;iframe&gt;
&lt;&#x2F;div&gt;</content>
        
    </entry>
    <entry xml:lang="ru">
        <title>Бегство от безопасности?</title>
        <published>2009-04-08T00:00:00+00:00</published>
        <updated>2010-11-29T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Bounz
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://bounz.net/blog/2009/begstvo-ot-bezopasnosti/"/>
        <id>https://bounz.net/blog/2009/begstvo-ot-bezopasnosti/</id>
        
        <content type="html" xml:base="https://bounz.net/blog/2009/begstvo-ot-bezopasnosti/">&lt;p&gt;Как много проблем и сложностей возникает порой от общего для всех нас желания иметь запасной вариант, план к отступлению.. Мы боимся принять решение и нести за него полную ответственность, и наше сознание начинает подсовывать нам различные уловки, ухищрения, хитрости, которые помогают нам оправдаться перед самими собой.&lt;&#x2F;p&gt;
&lt;p&gt;Печально все это.&lt;&#x2F;p&gt;
&lt;p&gt;Подумал, оценил, а потом взял - да сделал.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="ru">
        <title>Детские заморочки</title>
        <published>2009-04-04T00:00:00+00:00</published>
        <updated>2009-04-04T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Bounz
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://bounz.net/blog/2009/detskie-zamorochki/"/>
        <id>https://bounz.net/blog/2009/detskie-zamorochki/</id>
        
        <content type="html" xml:base="https://bounz.net/blog/2009/detskie-zamorochki/">&lt;p&gt;Недавно пришел к удивительнейшему выводу: вещи, которые в детстве нам не нравятся по причине того, что нас ими заставляют заниматься родители, в более зрелом возрасте кажутся нормальными и даже необходимыми. Т.е. начиют нравиться. Например - мыть сковородку. В детстве мама всегда заставляла мыть сковородку и не оставлять её грязной или с маслом. И теперь, когда мой сосед не моет её, аргументируя, что можно попозже ещё что-нибудь пожарить - это заставляет меня нервничать.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="ru">
        <title>Не будите программиста</title>
        <published>2009-03-04T00:00:00+00:00</published>
        <updated>2010-12-02T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Bounz
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://bounz.net/blog/2009/ne-budite-programmista/"/>
        <id>https://bounz.net/blog/2009/ne-budite-programmista/</id>
        
        <content type="html" xml:base="https://bounz.net/blog/2009/ne-budite-programmista/">&lt;p&gt;Наткнулся сегодня на очень интересную статью, про то, как работают программисты и про то, как не надо их отвлекать.&lt;&#x2F;p&gt;
&lt;p&gt;Почитать можно здесь: &amp;lt;&lt;del&gt;http:&#x2F;&#x2F;www.happy-pm.com&#x2F;blog&#x2F;?p=755&lt;&#x2F;del&gt; (недоступен) · &lt;a rel=&quot;external&quot; href=&quot;http:&#x2F;&#x2F;web.archive.org&#x2F;web&#x2F;20220527064808&#x2F;http:&#x2F;&#x2F;www.happy-pm.com&#x2F;blog&#x2F;?p=755&quot;&gt;копия в Web Archive&lt;&#x2F;a&gt;&amp;gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;em&gt;&quot;Если взять к примеру задачу нахождения пути выхода из лабиринта. Программист в решении этой задачи не перст который ведёт воображаемую маленькую заблудившуюся девочку незнакомой тропой к выходу. Он и не эта девочка тоже. И не стены лабиринта. Он не выход который надо найти. Он всё это вместе разом.&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;em&gt;Для решения задачи программисту приходится стать в своём сознании и лабиринтом, и искомым выходом, и заблудившейся девочкой, и тем перстом что ведёт её куда-то, и теми камушками которые она разбрасывает по дороге чтобы узнавать уже пройденные места. Всё это СНИТСЯ программисту во время работы.&quot;&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="ru">
        <title>Ich denk an</title>
        <published>2009-02-04T00:00:00+00:00</published>
        <updated>2009-02-04T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Bounz
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://bounz.net/blog/2009/ich-denk-an/"/>
        <id>https://bounz.net/blog/2009/ich-denk-an/</id>
        
        <content type="html" xml:base="https://bounz.net/blog/2009/ich-denk-an/">&lt;p&gt;2raumwohnung умеют делать хорошую музыку и хорошие песни.&lt;&#x2F;p&gt;
&lt;p&gt;Слова песни (на немецком):&lt;&#x2F;p&gt;
&lt;p&gt;ich denk an dich&lt;&#x2F;p&gt;
&lt;p&gt;ich kann nicht anders &lt;br &#x2F;&gt;
an jeder straßenecke bleibe ich stehen &lt;&#x2F;p&gt;
&lt;p&gt;ich denk an dich &lt;br &#x2F;&gt;
was soll ich machen &lt;br &#x2F;&gt;
meine gedanken wollen sich nur um dich drehen &lt;&#x2F;p&gt;
&lt;p&gt;ich sehe dich &lt;br &#x2F;&gt;
in jedem bild &lt;br &#x2F;&gt;
alle farben werden dein gesicht &lt;br &#x2F;&gt;
ich höre dich &lt;br &#x2F;&gt;
in jedem ton &lt;br &#x2F;&gt;
es gibt kein einziges geräusch ohne dich &lt;&#x2F;p&gt;
&lt;p&gt;ich denk an dich &lt;br &#x2F;&gt;
und all die menschen &lt;br &#x2F;&gt;
die vorübergehen seh`ich nicht &lt;&#x2F;p&gt;
&lt;p&gt;ich denk an dich &lt;br &#x2F;&gt;
wie du wohl aussiehst &lt;br &#x2F;&gt;
hier in dem hellen sonnenlicht &lt;&#x2F;p&gt;
&lt;p&gt;ich sehe dich &lt;br &#x2F;&gt;
wo niemand ist &lt;br &#x2F;&gt;
du wartest hinter jeder tür &lt;br &#x2F;&gt;
ich höre dich &lt;br &#x2F;&gt;
wenn alles schweigt &lt;br &#x2F;&gt;
deine stimme klingt für immer in mir &lt;&#x2F;p&gt;
&lt;p&gt;ich bin bei dir &lt;br &#x2F;&gt;
du bist mir nah &lt;br &#x2F;&gt;
ich wünsch mir nur &lt;br &#x2F;&gt;
du wärest da &lt;&#x2F;p&gt;
&lt;p&gt;ich denk an dich &lt;br &#x2F;&gt;
an deine haare &lt;br &#x2F;&gt;
die sind doch länger oder nicht &lt;&#x2F;p&gt;
&lt;p&gt;ich denk an dich &lt;br &#x2F;&gt;
wo bist du gerade &lt;br &#x2F;&gt;
vielleicht lachst du oder sprichst &lt;&#x2F;p&gt;
&lt;p&gt;ich sehe dich &lt;br &#x2F;&gt;
in anderer zeit &lt;br &#x2F;&gt;
ich weiß nicht mehr wie spät es ist &lt;br &#x2F;&gt;
ich höre dich &lt;br &#x2F;&gt;
von noch so weit &lt;br &#x2F;&gt;
weil du das allerschönste läuten bist &lt;&#x2F;p&gt;
&lt;p&gt;jetzt steh ich hier &lt;br &#x2F;&gt;
und sing für dich &lt;br &#x2F;&gt;
ein liebeslied&lt;&#x2F;p&gt;
&lt;p&gt;das wollte ich nicht&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="ru">
        <title>Поп-ап открытки</title>
        <published>2008-12-28T00:00:00+00:00</published>
        <updated>2008-12-28T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Bounz
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://bounz.net/blog/2008/popupcards/"/>
        <id>https://bounz.net/blog/2008/popupcards/</id>
        
        <content type="html" xml:base="https://bounz.net/blog/2008/popupcards/">&lt;p&gt;Поп-ап открытки известны нам с детства. Это те книжки, при чтении которых образуются трехмерные картинки: дома, избушки и проч. Ботая тему по работе с бумагой наткнулся на сообщество в ЖЖ, которое занимается такими открытками. Очень порадовало. Всем жаждущим идти по ссылке: &lt;a rel=&quot;external&quot; href=&quot;http:&#x2F;&#x2F;community.livejournal.com&#x2F;ru_pop_up&#x2F;&quot;&gt;http:&#x2F;&#x2F;community.livejournal.com&#x2F;ru_pop_up&#x2F;&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="ru">
        <title>Модели из бумаги</title>
        <published>2008-11-25T00:00:00+00:00</published>
        <updated>2008-11-25T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Bounz
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://bounz.net/blog/2008/modeli-iz-bumagi/"/>
        <id>https://bounz.net/blog/2008/modeli-iz-bumagi/</id>
        
        <content type="html" xml:base="https://bounz.net/blog/2008/modeli-iz-bumagi/">&lt;p&gt;Всем тем кто увлекается изготовлением различных прикольных вещей из бумаги. Набрел на клевый сайт: &lt;a rel=&quot;external&quot; href=&quot;http:&#x2F;&#x2F;paper-replika.com&#x2F;index.php&quot;&gt;http:&#x2F;&#x2F;paper-replika.com&lt;&#x2F;a&gt;. Очень много моделей. Вспоминая былое пока склеил одного Wall-E, в низкой детализации. Есть в HiRez, но распечатав развертки на лист А4 получилось ну очеь мелко. Надо найти ватман А3 и на работе на струйнике распечатать =)&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="ru">
        <title>Учет полетов</title>
        <published>2008-10-25T00:00:00+00:00</published>
        <updated>2010-11-29T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Bounz
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://bounz.net/blog/2008/uchet-poletov/"/>
        <id>https://bounz.net/blog/2008/uchet-poletov/</id>
        
        <content type="html" xml:base="https://bounz.net/blog/2008/uchet-poletov/">&lt;p&gt;Любителям все учитывать и записывать. А так же любителям неба, самолетов и полетов!&lt;br &#x2F;&gt;
Наткнулся на интересный сервис, позволяющий сохранять данные о совершенных вами полетах. После всего этого можно получить интересную статистику.&lt;&#x2F;p&gt;
&lt;p&gt;Желающие могут ознакомиться с моей: &lt;a rel=&quot;external&quot; href=&quot;http:&#x2F;&#x2F;my.flightmemory.com&#x2F;bounz&#x2F;ru&quot;&gt;http:&#x2F;&#x2F;my.flightmemory.com&#x2F;bounz&#x2F;ru&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;

&lt;link rel=&quot;stylesheet&quot; href=&quot;https:&#x2F;&#x2F;bounz.net&#x2F;admonition.css?h=98c1477488c4b2c9d71a&quot; type=&quot;text&#x2F;css&quot;&gt;

&lt;div
  class=&quot;my-4 flex flex-col rounded-lg bg-(--admonition-bg)&quot;
  style=&quot;--admonition-bg: var(--admonition-note);&quot;
&gt;
  &lt;div class=&quot;flex items-center rounded-t-lg bg-(--admonition-bg) p-1&quot;&gt;
    &lt;div
      class=&quot;mx-2 h-4 w-4 text-[0px] [background:var(--url)_center_center_no-repeat] dark:invert&quot;
      style=&quot;--url: url(icons&#x2F;note.svg);&quot;
    &gt;
      note
    &lt;&#x2F;div&gt;
    &lt;span&gt;&lt;strong&gt;Обновление от 2025 года&lt;&#x2F;strong&gt;&lt;&#x2F;span&gt;
  &lt;&#x2F;div&gt;
  &lt;div class=&quot;pl-4&quot;&gt;&lt;p&gt;Кажется flightmemory.com чувствует себя не очень. В целом уже давно я веду учет полетов на &lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;my.flightradar24.com&quot;&gt;https:&#x2F;&#x2F;my.flightradar24.com&lt;&#x2F;a&gt;, так как там автоматически подтягиваются бортовые номера самолетов, которые выполняли рейс.&lt;&#x2F;p&gt;
&lt;&#x2F;div&gt;
&lt;&#x2F;div&gt;
</content>
        
    </entry>
    <entry xml:lang="ru">
        <title>Продление срока действия платежа на Мегафоне на 100 лет</title>
        <published>2008-10-23T00:00:00+00:00</published>
        <updated>2010-12-12T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Bounz
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://bounz.net/blog/2008/prodlenie-sroka-deystviya-plateja-na-megafone-na-100-let/"/>
        <id>https://bounz.net/blog/2008/prodlenie-sroka-deystviya-plateja-na-megafone-na-100-let/</id>
        
        <content type="html" xml:base="https://bounz.net/blog/2008/prodlenie-sroka-deystviya-plateja-na-megafone-na-100-let/">&lt;p&gt;Недавно узнал, а сегодня успешно воплотил в жизнь метод, который позволяет за 150р. продлить срок действия платежа на Мегафоне на 100 лет. Для этого:&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;Заходим в &lt;strong&gt;Сервис-Гид&lt;&#x2F;strong&gt; (&amp;lt;&lt;del&gt;http:&#x2F;&#x2F;www.megafonmoscow.ru&#x2F;serviceguidelogin&lt;&#x2F;del&gt; (недоступен) · &lt;a rel=&quot;external&quot; href=&quot;http:&#x2F;&#x2F;web.archive.org&#x2F;web&#x2F;20090703170811&#x2F;http:&#x2F;&#x2F;www.megafonmoscow.ru:80&#x2F;serviceguidelogin&#x2F;&quot;&gt;копия в Web Archive&lt;&#x2F;a&gt;&amp;gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Открываем сверху вкладку &lt;strong&gt;Платежи&lt;&#x2F;strong&gt;&lt;&#x2F;li&gt;
&lt;li&gt;Выбираем слева меню &lt;strong&gt;Продление срока действия договора&lt;&#x2F;strong&gt;&lt;&#x2F;li&gt;
&lt;li&gt;Выбираем опцию &lt;strong&gt;Продлить на 36500 дней за 150р.&lt;&#x2F;strong&gt;&lt;&#x2F;li&gt;
&lt;li&gt;Радуемся!&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
</content>
        
    </entry>
    <entry xml:lang="ru">
        <title>Шнуровка ботинок</title>
        <published>2008-10-12T00:00:00+00:00</published>
        <updated>2010-11-29T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Bounz
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://bounz.net/blog/2008/lacingmethods/"/>
        <id>https://bounz.net/blog/2008/lacingmethods/</id>
        
        <content type="html" xml:base="https://bounz.net/blog/2008/lacingmethods/">&lt;p&gt;После покупки очередной пары обуви задумался: а почему мы все время шнуруем обувь так как нас научили в детстве (крест-на-крест) или как она зашнурована в магазине? Поискал в интернете и нашел замечательный сайт посвященный методам шнуровки, различным способам завязывания узлов и т.д.: &lt;a rel=&quot;external&quot; href=&quot;http:&#x2F;&#x2F;www.fieggen.com&#x2F;shoelace&#x2F;lacingmethods.htm&quot;&gt;http:&#x2F;&#x2F;www.fieggen.com&#x2F;shoelace&#x2F;lacingmethods.htm&lt;&#x2F;a&gt;. Для тех, кто по-английски не бачет есть рускоязычная версия: &amp;lt;&lt;del&gt;http:&#x2F;&#x2F;www.vsehobby.ru&#x2F;sposoby_shnurovki_botinok.html&lt;&#x2F;del&gt; (недоступен) · &lt;a rel=&quot;external&quot; href=&quot;http:&#x2F;&#x2F;web.archive.org&#x2F;web&#x2F;20180919093120&#x2F;http:&#x2F;&#x2F;www.vsehobby.ru:80&#x2F;sposoby_shnurovki_botinok.html&quot;&gt;копия в Web Archive&lt;&#x2F;a&gt;&amp;gt;&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="ru">
        <title>Валдай</title>
        <published>2008-08-04T00:00:00+00:00</published>
        <updated>2010-11-29T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Bounz
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://bounz.net/blog/2008/valday/"/>
        <id>https://bounz.net/blog/2008/valday/</id>
        
        <content type="html" xml:base="https://bounz.net/blog/2008/valday/">&lt;p&gt;Съездили с Лерой на Валдай в гости к Борису с Олей. Погода подкачала, конечно, но мы были к этому готовы.
После поездки на лодке с электромоторчиком по озеру я прихожу к выводу, что из меня получится отличный рулевой! Однако ещё я уяснил для себя, что обедать в пиратских ресторанах (по крайней мере в Веселом Роджере в Валдае) - не фонтан. Обычному городскому жителю не понять всей прелести чуть теплого мяса, которого он ждет около 40 минут, надеясь на горячий обед.
Однако получились замечательные фотографии нас, озера, и поездки на поезде. Скоро выложу их сюда.&lt;&#x2F;p&gt;
</content>
        
    </entry>
</feed>
