<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xml:base="http://aether.ru"  xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
 <title>AETHER</title>
 <link>http://aether.ru</link>
 <description>Aether.ru — это личный сайт веб-разработчика Александра Шабуневича. Здесь я пишу о веб-разработке и других интересных мне темах.</description>
 <language>ru</language>
<item>
 <title>О переносе RSS-ленты и закрытии Гугл Ридера</title>
 <link>http://aether.ru/blog/2013/03/14/about-rss-and-google-reader</link>
 <description>&lt;p&gt;&lt;!--break--&gt;
&lt;strong&gt;Сразу самое важное: я переношу RSS от Feedburner обратно на свой домен. Теперь RSS будет располагаться по адресу: &lt;a href=&quot;http://feeds.aether.ru/EyeBeholder&quot;&gt;http://feeds.aether.ru/EyeBeholder&lt;/a&gt;. Пожалуйста, обновите свою подписку, если вы всё еще хотите меня читать.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;O технологии RSS вообще&lt;/h2&gt;

&lt;p&gt;Вчера Гугл &lt;a href=&quot;http://googlereader.blogspot.ru/2013/03/powering-down-google-reader.html&quot;&gt;объявил&lt;/a&gt; о будущем закрытии &lt;em&gt;Гугл Ридера&lt;/em&gt; — одного из самых своих популярных продуктов в среде гиков. О популярности его можно судить хотя бы по тому, что 310 из 337 RSS-подписчиков данного блога пользуются именно им.&lt;/p&gt;

&lt;p&gt;RSS так и не смог выйти в мейнстрим — о нём знают только гики и компьютерщики, а «простые» люди порой даже не догадываются. Firefox убрал иконку RSS из адресной строки еще в 4-й версии, Эппл &lt;a href=&quot;http://www.smh.com.au/digital-life/computers/blogs/gadgets-on-the-go/apple-joins-the-war-on-rss-20120731-23d8y.html&quot;&gt;отказался от RSS в Mountain Lion&lt;/a&gt;, теперь к ним, похоже, присоединяется и Гугл.&lt;/p&gt;

&lt;p&gt;Надо сказать, что сама по себе технология RSS — классная штука, я к ней никаких претензий не имею. Но лично я не заходил в свой ридер уже наверное больше года. Правда, от Гугл Ридера я отказался еще раньше, сменив его на &lt;a href=&quot;http://tt-rss.org&quot;&gt;Tiny Tiny RSS&lt;/a&gt;, который хостится на моём сервере. А не заходил я в него из-за того, что информации для меня стало слишком много.&lt;/p&gt;

&lt;p&gt;Через RSS я был подписан на 200+ сайтов, многие из которых ежедневно публиковали новости. Это всё или нужно прочитать, или оставить &lt;em&gt;на потом&lt;/em&gt;, или пропустить и отметить &lt;em&gt;как прочитанное&lt;/em&gt;. К последнему варианту приходилось прибегать всё чаще, но это убивает саму идею, а читать всё у меня ну никак не выходило. В общем, я отказался от чтения &lt;em&gt;всех&lt;/em&gt; новостей подряд, о чем я &lt;a href=&quot;/blog/2012/05/28/information&quot;&gt;уже писал&lt;/a&gt;, перейдя к форме фильтрации лучшего. В этом помогают твиттер, &lt;a href=&quot;http://getprismatic.com/&quot;&gt;Призматик&lt;/a&gt; и сайты вроде &lt;a href=&quot;https://news.ycombinator.com/&quot;&gt;Hacker News&lt;/a&gt;. Лично мне пока хватает и этого.&lt;/p&gt;

&lt;p&gt;RSS задумывался как средство облегчения жизни рядовому веб-серферу: вместо ежедневного посещения всех любимых сайтов, соберите их в единую ленту обновлений. И это работает, но лишь до тех пор пока сайтов не становится больше сотни или двух. Дальше, по крайней мере у меня, наступает информационная перегрузка. Но, судя по тому, что одной из причин закрытия Ридера назван спад активности пользователей — данная проблема характерна для большинства людей, даже учитывая тот факт, что RSS пользуются, в основном, лишь «информационные накроманы».&lt;/p&gt;

&lt;p&gt;Вывод: RSS становится скорее мета-технологией «для роботов», поверх которой уже будут строиться продукты «для людей». Умные и удобные интерфейсы, выбирающие интересные лично для вас новости. Тот же Призматик или Флипборд. Да, они таят в себе опасность &lt;a href=&quot;http://en.wikipedia.org/wiki/Filter_bubble&quot;&gt;информационных пузырей&lt;/a&gt;, но за всё приходится расплачиваться.&lt;/p&gt;

&lt;h2&gt;О переносе RSS-ленты блога&lt;/h2&gt;

&lt;p&gt;Как всё это связано с переносом ленты блога? Когда-то давно (в далёкой галактике, еще на другом домене) я перенёс свою RSS-ленту на платформу сервиса Feedburner. Тогда он еще был независимым (потом его купил Гугл) и модным сервисом, которым многие пользовались. Зачем он был нужен? Ну, как минимум для:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;получения статистики подписчиков, которую еще можно выводить в виде анимированного виджета&lt;/li&gt;
&lt;li&gt;настройки автоматической почтовой рассылки на основе обновлений RSS-ленты&lt;/li&gt;
&lt;li&gt;(мифической?) совместимости с разными клиентами&lt;/li&gt;
&lt;li&gt;возможности поменять домен, оставляя своих подписчиков (чем мне пришлось воспользоваться, хотя это, скорее, исключение)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Есть и минус, конечно: &lt;em&gt;все ваши подписчики принадлежат другой компании&lt;/em&gt;, т.к. в их RSS-ридерах вбит чужой домен. Если сервис работает стабильно, то этот момент можно игнорировать, но рано или поздно Гугл (наверняка) &lt;a href=&quot;http://techcrunch.com/2013/03/13/the-google-reader-shutdown-is-yet-another-nail-in-feedburners-coffin/&quot;&gt;захочет прикрыть и Feedburner&lt;/a&gt;. И если закрытие ридера — это лишь клиентская проблема, то с пропавшим адресом RSS мало что сделаешь, если не озаботиться заранее.&lt;/p&gt;

&lt;p&gt;Если вы хотите вернуть себе адрес RSS, у вас два варианта:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;попросить всех пользователей заменить адрес RSS на новый и отказаться от Feedburner (и при этом потерять какой-то процент подписчиков)&lt;/li&gt;
&lt;li&gt;продолжить пользоваться Feedburner &lt;a href=&quot;http://support.google.com/feedburner/answer/79586/&quot;&gt;на своём домене с myBrand&lt;/a&gt;, что даст больший контроль над адресом в будущем&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Второй вариант менее радикален: до закрытия сервиса ваши прежние подписчики будут получать новости по старому адресу, а новые — уже на вашем домене. Но когда (если) Feedburner закроют, старые подписчики останутся ни с чем, а оповестить &lt;em&gt;именно их&lt;/em&gt; о смене адреса будет уже невозможно. Идеального способа нет.&lt;/p&gt;

&lt;p&gt;Я пока выбрал второй вариант: Feedburner + свой домен, так как о судьбе Feedburner пока ничего не известно: возможно он проработает еще не один год. Таким образом, &lt;a href=&quot;http://feeds2.feedburner.com/EyeBeholder&quot;&gt;старый адрес RSS&lt;/a&gt; &lt;em&gt;пока&lt;/em&gt; остаётся действующим. Но будет гораздо лучше если вы &lt;strong&gt;смените его сейчас на новый&lt;/strong&gt;, чтобы в будущем избежать путаницы.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Повторю: я переношу RSS от Feedburner обратно на свой домен. Теперь RSS будет располагаться по адресу: &lt;a href=&quot;http://feeds.aether.ru/EyeBeholder&quot;&gt;http://feeds.aether.ru/EyeBeholder&lt;/a&gt;. Пожалуйста, обновите свою подписку, если вы всё еще хотите меня читать.&lt;/strong&gt;&lt;/p&gt;
</description>
 <comments>http://aether.ru/blog/2013/03/14/about-rss-and-google-reader#comments</comments>
 <category domain="http://aether.ru/tags/rss">RSS</category>
 <category domain="http://aether.ru/tags/blog">Блог</category>
 <wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://aether.ru/crss/node/96</wfw:commentRss>
 <pubDate>Thu, 14 Mar 2013 08:22:31 +0000</pubDate>
 <dc:creator>Александр Шабуневич</dc:creator>
 <guid isPermaLink="false">96 at http://aether.ru</guid>
</item>
<item>
 <title>Две книги про тесты</title>
 <link>http://aether.ru/blog/2013/02/02/two-books-of-tests</link>
 <description>&lt;p&gt;&lt;!--break--&gt;
Две последние книги, которые я прочитал, оказались про тесты: «The Art of Unit Testing with Examples in .NET» и «The RSpec Book: Behaviour-Driven Development with RSpec, Cucumber, and Friends». Последовательность прочтения как раз соответствует историческому развитию методологий.&lt;/p&gt;

&lt;h2&gt;The Art of Unit Testing&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;http://amzn.to/12hBJIy&quot;&gt;&lt;img class=&quot;img right&quot; src=&quot;/files/book-art-unit-testing-cover.png&quot; width=&quot;250&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Книга «&lt;a href=&quot;http://amzn.to/12hBJIy&quot;&gt;Искусство юнит-тестирования c примерами на .NET&lt;/a&gt;» («The Art of Unit Testing with Examples in .NET») посвящена даже не методологии TDD (Test Driven Development) в целом (про это как раз вторая книга), а теме написания &lt;em&gt;правильных&lt;/em&gt; тестов. Это важный вопрос сам по себе, ведь тесты можно использовать и без строгого следования принципам TDD (то есть писать тесты не до кода, а после). При этом, плохо написанные тесты могут даже навредить (например, вселяя необоснованную уверенность в коде при рефакторинге).&lt;/p&gt;

&lt;p&gt;Очень важно чтобы тесты были читаемыми (как и код), ведь тесты — это еще и &lt;em&gt;документация&lt;/em&gt;. Например, не стоит делать в одном тесте более одного assert-а (чтобы не маскировать их при ошибках) или слишком увлекаться DRY (Don&#039;t Repeat Yourself), вынося инициализацию объектов из отдельных тестов в общие методы.&lt;/p&gt;

&lt;p&gt;Кроме этого, в книге рассматриваются следующие вопросы:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Разные способы внедрения зависимостей: Inversion of Control (для конструкторов), Dependency Injection (для свойств), extract and override — их преимущества и недостатки.&lt;/li&gt;
&lt;li&gt;Поясняется разница между mock (проверяют вызовы и фейлят тесты, вызывая assert) и stub, которые служат лишь «заглушками».&lt;/li&gt;
&lt;li&gt;Даются советы, вроде того, что не стоит использовать более одного mock в каждом тесте (stub может быть сколько угодно), так как mock-и являются основным предметом проверки каждого теста.&lt;/li&gt;
&lt;li&gt;Описаны основые «западни», при написании тестов, например, случаи, когда тесты недостаточно хорошо изолированы и зависят от других тестов.&lt;/li&gt;
&lt;li&gt;Вопросы правильной организации, наименования тестов и прочие полезные приёмы.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Книга написана не для новичков, а скорее для тех, кто уже знаком с основами написания тестов и теперь хочет узнать рекомендованные способы и практики. Несмотря на то, что книга использует примеры на .NET, они будут понятны всем программистам, знакомым с ООП. Конечно, в книге рассматриваются и специфические .NET-фреймворки, которые мне не интересны, а потому их описания я пропускал, но большая часть книги подходит для любых языков программирования.&lt;/p&gt;

&lt;p&gt;Тесты уже прочно прижились в инструментарии программистов. Но как и любая другая область написание тестов требует своей культуры. Даже если не следовать в полной мере TDD, тесты писать скорее всего придётся — сейчас для этого созданы все условия (благодаря библиотекам и другим инструментам). А как их лучше писать расскажет данная книга. Уверен, что даже человек с опытом написания тестов сможет найти в ней что-то полезное. ★★★★☆&lt;/p&gt;

&lt;h2&gt;The RSpec Book&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;http://amzn.to/VDDAlv&quot;&gt;&lt;img class=&quot;img right&quot; src=&quot;/files/book-rspec-cover.png&quot; width=&quot;250&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;С &lt;a href=&quot;http://amzn.to/VDDAlv&quot;&gt;этой книгой&lt;/a&gt; я решил ознакомиться так как в последнее время всё чаще встречаюсь с понятием BDD (Behavior Driven Development) — своего рода, следующей версией TDD. Почти во всех языках программирования это сейчас является трендом: постоянно появляются новые библиотеки и фреймворки в этом стиле, и все большее количество проектов выбирают BDD для написания тестов. Сначала мне было не слишком понятно, чем вообще отличается BDD от TDD. Данная книга как раз ответила на этот вопрос.&lt;/p&gt;

&lt;h3&gt;Небольшое отступление про TDD/BDD&lt;/h3&gt;

&lt;p&gt;TDD, если вкратце, является такой практикой программирования, в которой тесты пишутся &lt;em&gt;до&lt;/em&gt; рабочего кода. Это может показаться несколько нелогичным, ведь программистам платят именно за написание кода. Кроме того, писать код — наше самое любимое занятие. Но, думаю, многие знакомы с ситуацией, когда начинаешь писать код без особого предварительного планирования, а потом получается полная каша, которую несколько раз приходится переписывать. Так при чем тут тесты?&lt;/p&gt;

&lt;p&gt;Если следовать традиционному подходу — разработке в стиле «&lt;a href=&quot;http://en.wikipedia.org/wiki/Waterfall_model&quot;&gt;водопад&lt;/a&gt;», то сначала пишутся технические задания и спецификации, затем составляются умные диаграммы, а потом пишется код и тесты для него. И весь процесс обычно растягивается на месяцы. Более того, если на последних этапах обнаружены какие-то принципиальные ошибки первых этапов, то стоимость их исправления зачастую становится слишком велика, ведь приходится всё повторять заново.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Agile_software_development&quot;&gt;Agile-методология&lt;/a&gt; стала альтернативой традиционному подходу в разработке: вместо большого запланированного каскада используются мини-итерации по реализации фич. Одним из решений по оптимизации процесса разработки стала идея о том, что тесты можно (и нужно) писать до кода, добавляя к ним функцию документирования. Иногда тесты даже рекомендуют называть не тестами, а &lt;em&gt;примерами&lt;/em&gt;:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;A general rule of thumb is that if the code is hard to use in examples, it’s going to be hard to use everywhere else.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;То есть вы не пишете тесты, чтобы проверить, правильно ли работает код, а пишете код, чтобы проверить, правильно ли исполняются функциональные требования в виде тестов. И тесты теперь становятся не просто инструментом для проверки ошибок: теперь они являются &lt;em&gt;формальным документом&lt;/em&gt; (протоколом), по которому работает программист. Более того, написание тестов по сути является &lt;em&gt;фазой дизайна&lt;/em&gt; — именно в этот момент вы проверяете, насколько ваши API будут удобны в использовании.&lt;/p&gt;

&lt;p&gt;Данный подход характерен и для TDD, и для BDD, но последний пошел несколько дальше, меняя формат тестов на более «человеческий». Если TDD-тесты пишутся тестерами (или самими программистами) для программистов, то BDD-тесты пишутся еще и для заказчика. Более того, кроме тестирования юнитов (отдельных объектов), большое внимание уделяется тестированию поведения системы в целом (behavior) — в каком-то смысле это замена интеграционному тестированию и ATDP (Acceptance Test–Driven Planning).&lt;/p&gt;

&lt;h3&gt;Rspec и Cucumber&lt;/h3&gt;

&lt;p&gt;Книга рассказывает о двух основных продуктах для BDD-тестирования в мире Ruby: &lt;em&gt;RSpec&lt;/em&gt; и &lt;em&gt;&lt;a href=&quot;http://cukes.info/&quot;&gt;Cucumber&lt;/a&gt;&lt;/em&gt;. Первый отвечает за тестирование объектов (аналог TDD), второй — за описание и тестирование поведения системы (аналог ATDP). Одно из главных отличий от более традиционных методов заключается в упрощении восприятия тестов и спецификаций.&lt;/p&gt;

&lt;p&gt;Восприятие упрощается даже из-за использования языка, относящегося не к тестам, а к поведению: &lt;code&gt;Given/When/Then&lt;/code&gt;. Спецификации Кукумбера вообще пишутся просто на английском (их можно писать даже на русском). При этом в Кукумбере есть несколько очень интересных фич: например, работа с шаблонами и таблицами подставляемых данных. Тесты RSpec очень похожи на TDD, только вместо &lt;code&gt;assert&lt;/code&gt; обычно используется &lt;code&gt;should&lt;/code&gt;, а вместо названий методов (типа &lt;code&gt;testEmptyStringShouldBeNil&lt;/code&gt;) — строки (&lt;code&gt;it &quot;should return nil with empty string&quot;&lt;/code&gt;).&lt;/p&gt;

&lt;p&gt;Но отличие не только в синтаксисе, а скорее в общем подходе. BDD-подход &lt;a href=&quot;http://www.slideshare.net/bmabey/the-why-behind-tddbdd-and-the-how-with-rspec&quot;&gt;был разработан&lt;/a&gt; как ответ на запросы программистов, которые не знали с чего начать в TDD. Предполагается, что разработка должна проходить в виде цикла:&lt;/p&gt;

&lt;p&gt;&lt;img class=&quot;img center&quot; src=&quot;/files/bdd-cycle.png&quot; width=&quot;319&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Сначала вы пишете спецификацию в Кукумбере, затем опускаетесь на уровень реализации и пишете тесты RSpec (понятно, что ни те, ни другие тесты сначала не проходят). Затем вы пишете код, подгоняя его под тесты, пока они не начинают исполняться без ошибок. После этого вы возвращаетесь на уровень программы в целом — к Кукумберу — и пишете новые тесты-спецификации.&lt;/p&gt;

&lt;p&gt;Плюс подобной схемы в том, что вы связываете сразу два уровня: общий, который можно обсудить с заказчиком, и частный, который отвечает за конкретную реализацию алгоритма. Если делать всё как задумано, получается некий эффект «скольжения»: когда каждый новый шаг логически следует за предыдущим. И хотя может показаться, что работы становится в два раза больше, в более длительной перспективе это даёт свои преимущества при поддержке и рефакторинге программ.&lt;/p&gt;

&lt;p&gt;Читая книгу, вы одновременно делаете упражнение по написанию маленькой игры, заключающейся в угадывании случайных цифр. Советую параллельно с чтением действительно писать код, так как «прорабатывание» его в уме не даёт полного эффекта погружения в процесс.&lt;/p&gt;

&lt;p&gt;Все примеры в книге даны на Ruby, но это не мешает тем, кто пишет на других языках. На некоторых платформах тот же Кукумбер можно легко применять для тестирования без изменений синтаксиса (например, для разработки iOS/андроид-приложений есть &lt;a href=&quot;http://calaba.sh/&quot;&gt;Calabash&lt;/a&gt;), а синтаксис RSpec послужил источником вдохновения для многих библиотек. Например, для JavaScript есть &lt;a href=&quot;http://pivotal.github.com/jasmine/&quot;&gt;Jasmine&lt;/a&gt;, которую использует Angular.js.&lt;/p&gt;

&lt;p&gt;В общем, я рекомендую книгу к прочтению: в ней есть и обоснование современных подходов к разработке и конкретный пример следования этим подходам. И даже если вы не будете использовать все описанные подходы в разработке, что-то полезное из них наверняка почерпнёте. ★★★★☆&lt;/p&gt;

&lt;h3&gt;Ссылки по теме:&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://habrahabr.ru/post/62958/&quot;&gt;BDD с помощью Cucumber&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://habrahabr.ru/company/evilmartians/blog/149335/&quot;&gt;Практика TDD/BDD на примере JavaScript&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
 <comments>http://aether.ru/blog/2013/02/02/two-books-of-tests#comments</comments>
 <category domain="http://aether.ru/tags/books">Книги</category>
 <category domain="http://aether.ru/tags/code">Код</category>
 <wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://aether.ru/crss/node/95</wfw:commentRss>
 <pubDate>Sat, 02 Feb 2013 11:11:57 +0000</pubDate>
 <dc:creator>Александр Шабуневич</dc:creator>
 <guid isPermaLink="false">95 at http://aether.ru</guid>
</item>
<item>
 <title>Kindle Paperwhite против Nook with GlowLight</title>
 <link>http://aether.ru/blog/2013/01/27/kindle-paperwhite-vs-nook-glow-light</link>
 <description>&lt;p&gt;&lt;!--break--&gt;
Полгода назад я написал &lt;a href=&quot;/blog/2012/06/30/nook-simple-touch-glow-light-ideal-reader&quot;&gt;заметку&lt;/a&gt; о ридере Nook Simple Touch with GlowLight. Тогда я его назвал «идеальным ридером». И на то были причины. Единственный из (современных) ридеров на е-инке с подсветкой, да еще и на базе Андроида, что открывает широкие возможности для кастомизации и хаков.&lt;/p&gt;

&lt;p&gt;Но спустя несколько месяцев главный конкурент Барнса и Нобеля — Амазон — ответил выпуском Kindle Paperwhite, который кроме подсветки имеет еще и новый экран с большим разрешением. И вот теперь, когда я стал счастливым обладателем обоих девайсов, я могу их субъективно сравнить и решить, какой же из них лучше.&lt;/p&gt;

&lt;h2&gt;Железо&lt;/h2&gt;

&lt;p&gt;Сначала о экране. Тут без вариантов: Киндл круче. И сам экран и его подсветка. Буквы более контрастные и чёткие (пикселей совсем не видно) — практически, ретина. Даже если присматриваться, приблизив экран вплотную к глазам, пикселей не разглядишь. В сочетании с высоким контрастом складывается полное впечатление, что текст напечатан на бумаге.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;/files/readers_light.jpg&quot;&gt;&lt;img src=&quot;/files/readers_light_preview.jpg&quot; alt=&quot;Kindle vs Nook днем&quot; width=&quot;800&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Подсветка у Киндла равномернее и ярче. При этом она слегка желтоватая — то есть теплее, чем холодная синеватая подсветка Нука. Лично у меня это создаёт приятное впечатление, будто читаешь старую книгу на пожелтевшей бумаге, а не безжизненный флуорисцентный экран. Хотя не исключаю, что кому-то это может и не понравиться.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;/files/readers_dark.jpg&quot;&gt;&lt;img src=&quot;/files/readers_dark_preview.jpg&quot; alt=&quot;Kindle vs Nook ночью&quot; width=&quot;800&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;У Нука есть преимущество: аппаратные кнопки по бокам. Это действительно удобно, когда держишь устройство одной рукой: не обязательно не тянуться до сенсорного экрана. Но, как показала практика, жить можно и без этих кнопок. Особенно удачно тут у Киндла наличие жестов. Например, простой тап вызывает переход на следующую страницу, а смахивание справа-на-лево — на предыдущую. Это позволяет обходиться без кнопок, легко управляясь одной рукой.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;/files/readers_screen.jpg&quot;&gt;&lt;img src=&quot;/files/readers_screen_preview.jpg&quot; alt=&quot;Kindle vs Nook ночью&quot; width=&quot;800&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p class=&quot;note&quot;&gt;Экран Нука (сверху) против Киндла (снизу): шрифт разный, но сразу видно, что у Киндла разрешение выше, а буквы контрастнее.&lt;/p&gt;

&lt;p&gt;Для кого-то будет преимуществом Нука и наличие у него карты памяти. Не спорю, это может быть полезно, хотя лично я от недостатка места на ридере никогда не страдал.&lt;/p&gt;

&lt;p&gt;Качество изготовления обоих устройств на очень хорошем уровне: никаких скрипов, люфтов и прочих неприятностей. Например, в моём стареньком PocketBook 360 очень быстро что-то отвалилось внутри и потом всё время перекатывалось, гремя как в погремушке. Тут такого нет — в руках приятно держать.&lt;/p&gt;

&lt;p&gt;Но в чём Киндл ещё выигрывает, на мой взгляд, так это в компактности с учётом родной обложки. Нуковская обложка прилегает не плотно и защищает только переднюю и заднюю стороны, Киндловская же охватывает ридер со всех сторон, и при этом почти не увеличивает размер устройства — он в ней легко влазит в карман пальто, например. А уж автоматическое включение при раскрытии обложки (от магнита) — отдельная мелкая, но очень приятная фишка.&lt;/p&gt;

&lt;h2&gt;Софт&lt;/h2&gt;

&lt;p&gt;А вот с точки зрения программного обеспечения оба ридера уже могут посоревноваться (при определённых условиях). Я рассматриваю два принципиальных варианта: устройства «стандартной поставки» и «прокаченные» устройства после джейлбрейка (или рута, в случае с Нуком), который доступен для обоих ридеров (и делается это довольно просто).&lt;/p&gt;

&lt;h3&gt;Стандартные устройства&lt;/h3&gt;

&lt;p&gt;«Из коробки» устройства обладают похожей функциональностью: они могут читать «свои» форматы (хотя формат Нука — epub — более привычен), имеют словари и кое-какие другие фишки. Наверное, единственным преимуществом Нука над Киндлом я могу назвать чуть более продвинутый стандартный ридер. Во-первых, он умеет переносить слова, чего Киндл никак не научится делать. Во-вторых, открывает PDF в текстовом виде (т.н. режим reflow) — что лично для меня важно, так как читать обычный PDF на таком маленьком экране — удовольствие для мазохистов. Формат EPUB лично мне тоже более понятен — он чаще встречается в интернете.&lt;/p&gt;

&lt;p&gt;Правда, у Киндла тоже есть свои преимущества. И главное из них — &lt;em&gt;облачная инфраструктура&lt;/em&gt; и экосистема Амазона, а именно, одна, но очень крутая фишка: отправка документов на специальный адрес почты, которые затем попадают на ваши устройства. Более того, этот сервис умеет конвертировать документы (PDF, DOC и другие) и странички сайтов в книги, которые потом очень приятно читать с е-инка. По сути, это аналог сервиса Pocket, для которого я даже писал &lt;a href=&quot;/blog/2012/12/13/pocketbox&quot;&gt;свой хак&lt;/a&gt;, чтобы подружить его с Нуком. Так вот, для Киндла этого не нужно — всё работает из коробки.&lt;/p&gt;

&lt;p&gt;Вот парочка сервисов, которые занимаются отправкой веб-страниц на Киндл: &lt;a href=&quot;http://fivefilters.org/kindle-it/&quot;&gt;FiveFilters Kindle-It&lt;/a&gt;, &lt;a href=&quot;http://www.klip.me/&quot;&gt;Klip.me&lt;/a&gt;. Кроме того, Instapaper и Readability тоже умеют делать периодические дайджесты ваших сохранённых статей. Раньше я считал, что такая связь является &lt;em&gt;односторонней&lt;/em&gt;, но я был не совсем прав: если поставить на все устройства программу-клиент от Амазона, то статус прочитанных статей, автоматически сохраняемый в облаке, будет синхронизирован на всех устройствах.&lt;/p&gt;

&lt;p&gt;Еще парочка преимуществ Киндла без джейлбрейка:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Можно установить &lt;a href=&quot;http://kindle.copiny.com/question/details/id/69103&quot;&gt;англо-русский словарь&lt;/a&gt; (в Нуке есть только английский толковый)&lt;/li&gt;
&lt;li&gt;Можно закачать &lt;a href=&quot;http://blog.the-ebook-reader.com/2013/01/06/how-to-easily-add-custom-fonts-to-kindle-paperwhite-no-hacks/&quot;&gt;свои шрифты&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Несколько слов о конвертации&lt;/h3&gt;

&lt;p&gt;Во-первых, конвертировать документы в MOBI оказалось проще, чем я думал. Через программу &lt;a href=&quot;http://calibre-ebook.com/&quot;&gt;Calibre&lt;/a&gt; или через облачный сервис самого Амазона практически любой документ можно качественно сконвертировать. Например, FB2→MOBI сохраняет форматирование, содержание и сноски. EPUB→MOBI на Киндле выглядит местами даже лучше, чем родной EPUB на Нуке. Конечно, конвертация — это дополнительный шаг, который иногда делать лень, но если вы купили Киндл и не хотите делать джейл с этим придётся смириться.&lt;/p&gt;

&lt;p&gt;Мои личные наблюдения:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;FB2, EPUB лучше конвертировать в MOBI через Calibre.&lt;/li&gt;
&lt;li&gt;PDF лучше отсылать на почту &lt;em&gt;yourname@kindle.com&lt;/em&gt; с темой «convert». Calibre тоже умеет конвертировать PDF, но выглядит он при этом совершенно ужасно.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Если в PDF много картинок, которые Амазон порой вырезает, то можно попробовать прогнать его через утилиту &lt;a href=&quot;http://www.willus.com/k2pdfopt/&quot;&gt;k2pdfopt&lt;/a&gt;, которая преобразует его в набор картинок с рефлоу. Но это не всегда бывает удобно и скорее пригодится в крайнем случае.&lt;/p&gt;

&lt;h3&gt;Устройства с джейлбрейком/рутом&lt;/h3&gt;

&lt;p&gt;Сделать &lt;a href=&quot;http://www.mobileread.com/forums/showthread.php?t=198446&quot;&gt;джейлбрейк&lt;/a&gt; на Киндле просто — закидываете файл на Киндл, перезагружаете и всё готово. Сделав джейлбрейк, вы сможете:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Установив &lt;a href=&quot;http://www.mobileread.com/forums/showthread.php?t=175512&quot;&gt;JBPatch&lt;/a&gt;, настроить встроенную читалку: уменьшить поля, добавить переносы (для русских и английских текстов), сделать поиск по всем словарям сразу и т.д.&lt;/li&gt;
&lt;li&gt;Поставить &lt;a href=&quot;https://github.com/CrazyCoder/coolreader-kindle-qt/&quot;&gt;Coolreader&lt;/a&gt; (или &lt;a href=&quot;http://www.mobileread.com/forums/showthread.php?t=170436&quot;&gt;HackedUpReader&lt;/a&gt; — правда его я так и не смог установить), которые позволяют читать fb2/epub и обладают более гибкими настройками, чем встроенная читалка&lt;/li&gt;
&lt;li&gt;Настроить синхронизацию коллекций (у Киндла нет папок) с Calibre при помощи &lt;a href=&quot;http://www.mobileread.com/forums/showthread.php?t=186305&quot;&gt;Collections Manager&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Убрать рекламу, которая, хоть и не мешает, но заставляет делать лишний жест при открытии обложки (лично я рекламу убрал за деньги, но есть и другие способы)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://wiki.mobileread.com/wiki/K5_Index&quot;&gt;Много ссылок&lt;/a&gt; по теме хаков для Киндла Тач/Paperwhite&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Это то, что интересовало лично меня, хотя джейл позволяет делать не только это. Надо сказать, что возможности Киндла (даже с джейлом) сильно уступают Нуку, так как Нук работает на Андроиде, что, конечно же, гораздо круче, чем простой линукс. Сделав рут для Нука, вы получаете доступ ко всему маркету (правда, не все программы работают на Андроид 2.1), а Киндл имеет лишь несколько самописных программ.&lt;/p&gt;

&lt;p&gt;Взять тот же Coolreader: на Нуке это отличная программа с поддержкой множества функций (сторонние словари, нормальные настройки, заметки и т.д.), а на Киндле — всего лишь адаптация, которая хоть и работает, но выглядит довольно скромно: нет клавиатуры, системные шрифты толком не поддерживаются, жуткий интерфейс открытия файлов и т.д. На полноценную замену стандартного ридера он никак не тянет, а значит придётся конвертировать книги и пользоваться коллекциями вместо папок.&lt;/p&gt;

&lt;h3&gt;Проблемы с типографикой&lt;/h3&gt;

&lt;p&gt;&lt;img class=&quot;img right&quot; src=&quot;/files/readers_gap.png&quot; width=&quot;300&quot; alt=&quot;Дырки в русских текстах на Киндле&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Проблемы у Киндла есть и в области типографики. Встроенный ридер не даёт выбирать выравнивание текста: оно всегда берётся из настроек книги. Самое обидное, что все документы, пришедшие из облака Амазона, имеют полную выключку.&lt;/p&gt;

&lt;p&gt;При этом Киндл не умеет расставлять переносы ни в английских, ни в русских текстах. Это можно поправить с помощью джейлбрейка, но лишь для формата MOBI, а для нового родного формата (AZW3) пока ничего не поделаешь.&lt;/p&gt;

&lt;p class=&quot;note&quot;&gt;Правда, некоторые сервисы (в частности те, что я привёл выше), отправляющие документы через личный адрес почты @kindle.com, сами вставляют мягкие переносы в английские тексты, что несколько облегчает ситуацию.&lt;/p&gt;

&lt;p&gt;Получается, Амазон принял самое идиотское решение в этом вопросе: не сделав механизм переносов, полностью выравнивает тексты, создавая порой огромные дыры между словами (особенно это актуально для русского языка). На это &lt;a href=&quot;http://daringfireball.net/2012/10/kindle_paperwhite&quot;&gt;ругается&lt;/a&gt; и Грубер:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;Another typographic boner: the Kindle still lacks hyphenation but yet insists upon full-justified text. Full justification without hyphenation inevitably results in unsightly gaps between words on a few lines each page. Any layout engine that doesn’t do hyphenation should default to ragged-right justification — but a dedicated e-reader in 2012 has no excuse for not including a good auto-hyphenation algorithm.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Пока что я не понял, как до конца решить эту проблему. Сейчас я прогоняю все свои книги через Calibre, которая умеет сохранять их в старом формате (MOBI) и делать выравнивание по левому краю. Как вариант, можно читать FB2 в Coolreader (хотя на мой взгляд он ещё сыроват). Но для документов, пришедших из облака, остаётся лишь терпеть и стараться не замечать этих дыр.&lt;/p&gt;

&lt;h2&gt;Выводы&lt;/h2&gt;

&lt;p&gt;С точки зрения железа Киндл безусловный чемпион. Что касается программного обеспечения: встроенная читалка хоть и обладает рядом преимуществ перед нуковской, кое в чем ему и проигрывает. Самое обидное, что возможности расширения функциональности сильно ограничены: доступных альтернатив мало, а энтузиастов платформы недостаточно по сравнению с огромным рынком андроид-приложений.&lt;/p&gt;

&lt;p&gt;Если вы сейчас собираетесь покупать новый ридер, то не прогадаете, выбрав Киндл. Если же у вас уже есть Нук с подсветкой и вы раздумываете, не поменять ли его на Paperwhite, то тут всё зависит от ваших потребностей:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Если вас не интересуют хаки и джейлы (и вас устраивает стандартная функциональность), то смело берите Киндл, ведь от Barnes &amp;amp; Noble ждать крутой облачной функциональности не стоит.&lt;/li&gt;
&lt;li&gt;Если же вы не против слегка поковырять устройство, чтобы заставить его работать так, как надо вам, то я советую подождать, пока не выйдет новая модель Нука. Уверен, она будет не хуже амазоновской по экрану, зато андроид позволит вам настроить всё так, как захотите.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Обновление&lt;/strong&gt; (29 января 2013): недолго музыка играла. Сегодня Киндл самостоятельно обновился до прошивки 5.3.3, что снесло и джейлбрейк и jbpatch. Джейлбрейк частично сохраняется (хотя сам по себе он довольно бесполезен), а вот с jbpatch — сложнее. Его пока нет для этой версии прошивки, а без него ни переносов, ни уменьшения полей не видать. И главное, отключить OTA (обновления по воздуху) никак не получится, если вы пользуетесь вайфаем. Остаётся ждать, пока чудесный ixtab сделает обновление. А Амазону еще один минус с точки зрения кастомизации.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Обновление 2&lt;/strong&gt; (11 февраля 2013): чтобы прошивка не обновлялась автоматически, нужно поставить &lt;a href=&quot;http://www.mobileread.com/forums/showthread.php?t=201572&quot;&gt;USBNetwork патч&lt;/a&gt; — это даёт возможность заходить на Киндл по SSH (при входе по SSH нужно ввести команду &lt;code&gt;mntroot rw&lt;/code&gt;, а при выходе: &lt;code&gt;mntroot ro&lt;/code&gt;, чтобы поулчить права на редактирование файлов). Затем нужно следовать &lt;a href=&quot;http://www.mobileread.com/forums/showpost.php?p=2008593&amp;amp;postcount=13&quot;&gt;этой инструкции&lt;/a&gt;. Но чтобы точно убедиться, что обновления теперь отключены, нужно ждать до следующего апдейта.&lt;/p&gt;

&lt;p&gt;Если вас интересуют обновления по этой теме, то подписывайтесь на мой &lt;a href=&quot;http://twitter.com/beholdr&quot;&gt;твитер&lt;/a&gt;.&lt;/p&gt;
</description>
 <comments>http://aether.ru/blog/2013/01/27/kindle-paperwhite-vs-nook-glow-light#comments</comments>
 <category domain="http://aether.ru/tags/gadzhety">гаджеты</category>
 <category domain="http://aether.ru/tags/books">Книги</category>
 <wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://aether.ru/crss/node/94</wfw:commentRss>
 <pubDate>Sun, 27 Jan 2013 09:30:53 +0000</pubDate>
 <dc:creator>Александр Шабуневич</dc:creator>
 <guid isPermaLink="false">94 at http://aether.ru</guid>
</item>
<item>
 <title>Обзор книги «97 Things Every Programmer Should Know»</title>
 <link>http://aether.ru/blog/2013/01/16/97-things-every-programmer-should-know</link>
 <description>&lt;!--break--&gt;
&lt;p&gt;Решил писать небольшие отзывы по прочтённым книгам технического толка. Первой прочтённой книгой в этом году стала «&lt;a href=&quot;http://amzn.to/11sk9Bw&quot;&gt;97 вещей, которые должен знать каждый программист&lt;/a&gt;» («97 Things Every Programmer Should Know»). Это книга о программировании «вообще», best practices, так сказать.&lt;/p&gt;

&lt;a href=&quot;http://amzn.to/11sk9Bw&quot;&gt;&lt;img width=&quot;250&quot; class=&quot;img right&quot; src=&quot;/files/book-97thing.png&quot;&gt;&lt;/a&gt;

&lt;p&gt;Книга небольшая: меньше 200 страниц. Разделена на 97 маленьких (по две страницы) глав, каждая из которых посвящена какому-то одному вопросу или совету. Конечно, в таком формате о предмете подробно не расскажешь, но зато и читать проще.&lt;/p&gt;

&lt;p&gt;Советы даются вроде таких:&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;Изучайте больше языков программирования (можно каждый год учить новый): это расширяет кругозор;
&lt;/li&gt;&lt;li&gt;пишите тесты (для людей) — они не просто помогают искать ошибки, а служат своего рода документацией и планированием для кода;
&lt;/li&gt;&lt;li&gt;упрощайте всё и вся, не повторяйте код, разделяйте методы и т.д.;
&lt;/li&gt;&lt;li&gt;знайте свой следующий коммит;
&lt;/li&gt;&lt;li&gt;не злоупотребляйте комментариями: старайтесь комментировать лишь то, что код не может рассказать сам;
&lt;/li&gt;&lt;li&gt;знайте свои инструменты (IDE) и изучите unix tools;
&lt;/li&gt;&lt;li&gt;и тому подобное — достаточно посмотреть содержание книги.
&lt;/li&gt;&lt;/ul&gt;

&lt;p&gt;Советы часто из рода капитанских, но я такие вещи воспринимаю положительно: повторение мать учения. Книга, конечно, не на уровне с каким-нибудь легендарным &lt;a href=&quot;http://amzn.to/XOUQSE&quot;&gt;Code Complete&lt;/a&gt; — всё же краткий формат скорее служит шпаргалкой, а не полноценным учебником. Но почитать книгу, чтобы «освежить знания», вполне можно. ★★★☆☆&lt;/p&gt;</description>
 <comments>http://aether.ru/blog/2013/01/16/97-things-every-programmer-should-know#comments</comments>
 <category domain="http://aether.ru/tags/books">Книги</category>
 <wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://aether.ru/crss/node/92</wfw:commentRss>
 <pubDate>Wed, 16 Jan 2013 18:54:57 +0000</pubDate>
 <dc:creator>Александр Шабуневич</dc:creator>
 <guid isPermaLink="false">92 at http://aether.ru</guid>
</item>
<item>
 <title>Про мою схему метро</title>
 <link>http://aether.ru/blog/2013/01/11/metro</link>
 <description>&lt;!--break--&gt;
&lt;p&gt;Ну ладно, если уж другие &lt;a href=&quot;http://quillcraft.livejournal.com/231396.html&quot;&gt;участники&lt;/a&gt; &lt;a href=&quot;http://users.livejournal.com/_randir/105532.html&quot;&gt;написали&lt;/a&gt; о &lt;a href=&quot;http://andreyko.livejournal.com/107461.html&quot;&gt;своих&lt;/a&gt; &lt;a href=&quot;http://discriminant.livejournal.com/32918.html&quot;&gt;схемах&lt;/a&gt;, напишу и я.&lt;/p&gt;

&lt;p&gt;В 2008 году я &lt;a href=&quot;http://www.aether.ru/blog/2008/08/04/metro-map&quot;&gt;сделал&lt;/a&gt; свою &lt;a href=&quot;http://www.aether.ru/metro&quot;&gt;схему метро&lt;/a&gt;. Делая её, я преследовал единственную цель: получить &lt;em&gt;компактную&lt;/em&gt; схему для экрана компьютера, чтобы использовать исключительно &lt;em&gt;на сайтах&lt;/em&gt;. Исходя из этой задачи (компактности), я решил максимально её ужать и для этого выбрал нетрадиционную форму кольца — квадрат. В принципе, схема эта мне кажется вполне удобной и со своей задачей справляющейся (хотя и не без недостатков, конечно). Но &lt;a href=&quot;http://city4people.ru/projects/posts/posts_71.html&quot;&gt;конкурс&lt;/a&gt;, который в конце прошлого года объявил московский метрополитен предполагал совсем иную задачу — сделать полноценную схему метро, которую надо размещать в вагонах и на станциях.&lt;/p&gt;

&lt;p&gt;Сначала я не хотел принимать участия в конкурсе, решив, что и без меня достаточно титулованных участников. Но потом подумал, что хуже от этого никому не будет, а я лишний раз потренируюсь в Иллюстраторе.&lt;/p&gt;

&lt;p&gt;Схему я решил делать с нуля, так как задачи перед ней стояли иные. Правда, изначально, я все же взял свою основу: с квадратной кольцевой. С одной cтороны, хотелось больше площади внутри кольца (в этом квадрат выигрывает) — ведь понятно, что там корень всех зол московской схемы, а с другой — пугала формулировка из брифа:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;«Схема должна сохранить узнаваемость, быть выполненной с учетом необходимости наследования основных удачных принципов построения предшествующих схем московского метрополитена»&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Понятно, что предыдущие схемы &lt;a href=&quot;http://metro.ru/map/&quot;&gt;не всегда имели&lt;/a&gt; круглую кольцевую, но все же этот момент меня сильно смущал. Первый черновой вариант выглядел как-то так:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/files/metro-project-1.png&quot; alt=&quot;Черновик схемы метро&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Как видно, я сменил кружки на пеньки (дань моде, да, но кроме того и более однозначное маркирование станций, которые могут располагаться рядом с разных сторон линий). &lt;/p&gt;

&lt;p&gt;Я сознательно пренебрёг запутанными переходами узла Библиотеки им. Ленина, Арбатской, Боровицкой и Александровского сада. Это, конечно, отход от реальности, но я считаю, что даже если станции не соединены напрямую, но на них присутствует грамотная внутристанционная навигация, то никаких проблем от этого не будет. Зато я обозначил &lt;a href=&quot;http://ru.wikipedia.org/wiki/Кроссплатформенная_пересадка&quot;&gt;кроссплатформенные пересадки&lt;/a&gt;, т.е. такие пересадки, в которых переход на другую ветку заключается в переходе через платформу.&lt;/p&gt;

&lt;p&gt;Я оставил объединение станций с одинаковыми названиями (как и на моей прошлой схеме), что, наверное, является неким промежуточным вариантом между всеми отдельными станциями и всеми объединёнными. Такое решение может показаться спорным, но это одна из фишек моей предыдущей схемы, от которых мне не хотелось отказываться.&lt;/p&gt;

&lt;p&gt;Дальше я все же поддался своим сомнениям и решил схему сделать с круглой кольцевой. Это следующий черновой вариант:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/files/metro-project-2.png&quot; alt=&quot;Черновик схемы метро&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Я решил остановиться на этом варианте, как менее рисковом. Дальше уже пошла работа над деталями. Пустые места заполнялись, плотные, по возможности, разряжались. В целом, получилось что-то, что меня устраивало. На каком-то этапе я скруглил углы линий (так как прямые углы больше подходили для пиксельной графики экрана, чем для печати):&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/files/metro-project-3.png&quot; alt=&quot;Черновик схемы метро&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Потом я эту схему распечатал и понял, что шрифты слишком тонкие (я использовал бесплатный шрифт PT Sans Narrow). Его хорошо видно вблизи, но при печати и рассматривании на расстоянии он читался слишком тяжело (на мой взгляд, от этого же страдала схема Лебедева, например). В общем, я решил использовать полужирное начертание, которое, хотя и было слишком плотным, на мой взгляд, все же читалось гораздо легче обыкновенного. В метро немало людей со слабым зрением и доступность тут важнее визуальной равномерности информации.&lt;/p&gt;

&lt;p&gt;В общем, потом были добавлены другие детали: река, всякие подписи, необходимые по ТЗ и прочая информация (необходимость которой порой находилась под вопросом). Что получилось можете увидеть сами. Раз уж в финал я не прошел, можно похвастаться тут:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;/files/metro-project-4.png&quot;&gt;&lt;img width=&quot;620&quot; src=&quot;/files/metro-project-4.png&quot; alt=&quot;Черновик схемы метро&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;/files/metro-project-outline.pdf&quot;&gt;PDF, отосланный на конкурс&lt;/a&gt; (есть еще вариант с будущими ветками).&lt;/p&gt;

&lt;p&gt;Главным минусом конкурса, точнее его требований, я считаю необходимость указывать английские подписи у станций. Поверьте, для иностранцев они практически бесполезны без навигации внутри станций (а там по-английски вообще ни слова нет), а русскоговорящим мешают, создавая много (на самом деле очень много) информационного шума. Гораздо лучше было бы организовать продажу англоязычных схем в кассах метрополитена для всех желающих.&lt;/p&gt;

&lt;p&gt;В целом, не мне судить о том, что получилось, а что нет. Посмотрим, что покажут другие участники (я пока видел только версию от &lt;a href=&quot;http://ria.ru/news_company/20130109/917356482.html&quot;&gt;РИА Новости&lt;/a&gt;). В любом случае я рад, что московский метрополитен пошел на такой шаг и объявил народный конкурс. Любая из схем, представленных в финале будет лучше той, что сейчас красуется в вагонах. И это самое главное.&lt;/p&gt;</description>
 <comments>http://aether.ru/blog/2013/01/11/metro#comments</comments>
 <category domain="http://aether.ru/tags/design">Дизайн</category>
 <category domain="http://aether.ru/tags/metro">Метро</category>
 <wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://aether.ru/crss/node/91</wfw:commentRss>
 <pubDate>Fri, 11 Jan 2013 11:30:41 +0000</pubDate>
 <dc:creator>Александр Шабуневич</dc:creator>
 <guid isPermaLink="false">91 at http://aether.ru</guid>
</item>
</channel>
</rss>
