Яндекс.Ахтунг
Решил посмотреть Яндекс.Погоду в Москве и обнаружил забавную ссылку:

Решил посмотреть Яндекс.Погоду в Москве и обнаружил забавную ссылку:
В e2 Selecta будет новый «базовый» дизайн, который будет выглядеть примерно так (в качестве контента — недавний слепок Минвайла):
Когда в Виндоусе только появился СlearType, некоторые не использовали его, говоря, что шрифт выглядит размытым. А некоторые не используют его и сейчас.
Я его включил в первый же день и не выключал с тех пор: меня тошнит от лесенок на краях букв и я не понимаю, как они могут нравиться больше, чем гладенькие, красивые штрихи.
Текст без ClearType’а — это как моноширинный текст в тестовом режиме 80×25. Вызывает ностальгию и удивление: боже, неужели когда-то приходилось работать с таким ужасом!
В Mac OS X использует другая технология сглаживания шрифтов. На Маке шрифты выглядят более «фотошоповыми»: у букв есть толщина и форма. Что бы вы все не говорили о том, что шрифты на Маке размытые, шрифты на Маке для меня выглядят куда привлекательнее, чем под Виндой.
Я всегда завидовал пользователя Маков, когда видел любые их скриншоты, отмечая, насколько лучше у них выглядят шрифты. Мне раньше и в голову не приходило, что есть люди, которые предпочитают маковскому рендерингу куцый ClearType.
WWDC 2007: Новые док, рабочий стол и Файндер в Леопарде, Сафари для Виндоуса, AJAX-приложения на «Айфоне». Как будто бы скучновато. А вам как всё это?
На перекрёстке улицы Блюхера со строящейся улицей Курчатова (которую я предлагаю называть бульваром) повесили вот такие знаки:
Вместо того, чтобы по-человечески написать названия городов на полноценном синем фоне (вот так), они их написали на белом, но «выделили с шифтом». В чём смысл такого приёма? Стрелки какие-то уж очень жирные получились, а ещё пробел забыли после «ул.».
Зато «ж.-д. вокзал» написали правильно.
Логотип Олимпийских игр в 2012 году в Лондоне является самым уродским логотипом олимпийских игр который я когда-либо видел.
As one of my friends put it, it looks like a bunch of old people tried to imagine something that would appeal to young people. Unfortunately, they forgot that today’s young people don’t live in the 1980’s.
Пишет Реймонд Чен.
Кажется, Лебедев — единственный, кто нашёл в этом логотипе что-то хорошее.
А ведь ещё пару лет назад в Лондоне, когда он был кандидатом, можно было увидеть замечательные постеры, посвящённые Олимпийским играм.
Как я уже сказал, главным нововведением в e2 Selecta (release 1.3) будет подсистема черновиков.
Строго говоря, в e2 тысячу лет была возможность писать черновики. Эта «возможность» представляла собой поле IsVisible в таблице заметок и галочку «Отображать заметку» в интерфейсе. Я её сделал «на всякий случай» и быстро убедился, что это совсем не лишняя возможность. Но у неё было несколько проблем, которые последовательно решались через жопу, о чём я сейчас вам и расскажу. Это очень интересная история, вот смотрите.
Когда галочка «Отображать заметку» была только в форме редактирования, это было неудобно, потому, что за ней надо было идти в эту форму, поэтому галочке в пару была быстро добавлена ссылка под заметкой: «Скрыть заметку» или «Показать заметку».
Оказалось, однако, что с этой системой самая большая проблема в том, что дата заметки определялась в момент её создания, а не «первого делания видимой». То есть, если начать писать скрытую заметку, то она оставалась в календаре там, где ты её первый раз сохранил. В результате, если после такой недописанной заметки начать писать новые, имея в виду вернуться к недописанной через недельку-другую, то она постепенно вообще съезжала из поля зрения. Когда заметка была готова, приходилось идти в «Настройку заметки» и там править дату на текущую.
Вдобавок к тому, что это было неудобно, это ещё и порождало глюк. Допустим, заметка была создана 1 июня (скрытой). Потом вторая заметка в этот же день была сразу опубликована видимой и получила УРЛ вида ##адрес-блога/2007/06/01/2/##. На неё кто-нибудь поставил ссылку. Теперь, допустим, 6 июня мы, наконец, дописали ту, первую заметку, перетащили её на 6 июня и сделали видимой. Заметка от первого июня стала теперь видна по адресу ##адрес-блога/2007/06/01/1/## и ссылка на неё сломалась. И все подписчики RSS получили её по второму разу, потому, что УРЛ изменился. Классно?
Сначала я стал бороться с неудобством. В какой-то версии при редактировании скрытой заметки появилась галочка «Сохранить эту заметку так, будто я написал её только что (обновить дату-время)». Формулировка изысканная, но я не знал, как написать короче. Теперь при окончательной публикации заметки можно было не идти в её настройку, а просто поставить тут галочку.
Но это не решило проблемы «уезжания» заметки по мере написания других. Поэтому я решил, что эта галочка будет по умолчанию включена, чтобы заметка при редактировании всегда «всплывала».
Наверное, вы уже видите, что это удесятерило вероятность проявления глюка с ломающимися УРЛами и RSS; зато стало хоть чуть-чуть удобнее. Да, но это добавило ещё новый глюк. Некоторые заметки являются скрытыми не потому, что их ещё не сделали видимыми, а потому, что их скрыли. Я скрываю некоторые свои старые заметки, потерявшие актуальность для публики, но важные для меня. И вот, если такую заметку начать редактировать (например, чтобы опечатку исправить), то она вдруг всплывала в самом верху блога. Я так накололся один раз, но этого хватило. Естественно, я просто забыл убрать чёртову галочку.
Это ещё не всё. Всплывали всё новые проблемы. При создании заметки делались некоторые «волшебные» действия, такие, как отправка заметки в ЖЖ, рассылка трекбеков. Но нужно ли отправлять в ЖЖ заметку, созданную скрытой? Пожалуй, нет. Поэтому в коде создания заметке всё то, что отвечало за эти действия, было завёрнуто в if, который не давал всему этому произойти, если заметка была скрытой.
Тут был сделан важный вывод: нужно как-то отличать «черновики» от «скрытых заметок».
В очередном обновлении при создании скрытой заметки её идентификатор в базе стал сохраняться в реестр (##/system_data/drafts##, кажется). И она считалась «черновиком». Когда заметка становилась видимой, её идентификатор удалялся из реестра (если он там был, разумеется). Теперь для любой заметки критерием «черновиковости» было наличие идентификатора в реестре, и галочка с длинным названием отображалась только у «черновиков».
При переходе от скрытости к видимости для «черновиков» выполнялся тот набор действий, который выполнялся для заметок, сразу же публикующихся видимыми.
По мере того, как «черновики» становились более «удобными», я стал пользоваться ими всё чаще, делать всё больше заготовок заметок. Я всё чаще стал создавать заметки сначала невидимыми, чтобы посмотреть, что написал, перечитать не в редакторе, а просто на странице, а уже потом, убедившись, что всё в порядке, делать их видимыми. Постоянное снятие галочки «Отображать заметку» стало напрягать, — и в настройку движка добавилась опция, позволявшая сделать эту галочку выключенной по умолчанию.
Примерно в таком состоянии система прожила довольно длительное время. В последнем доступном релизе, Oranda Third Edition, всё работает именно так. То есть, если не знать всех подробностей, которые вы теперь знаете, более-менее неплохо. Но если подробности знать, то становится понятно, что всё это ни в какие ворота не лезет. Проблема со «съезжающими» УРЛами хоть и не сильно разрушительная, но всё же неприятная, так и не была решена.
В одном из внутренних билдов, появившихся уже после Oranda Third Edition, появилась незаметная фича, которая при обращении к заметке с несуществующим номером за данный день, открывала просто последнюю заметку этого дня. То есть в примере выше по адресу ##адрес-блога/2007/06/01/2/## заметка, ставшая номером 1, оставалась видимой. Эта фича делала всю конструкцию почти замечательной внешне.
И я не прекращал ей активно пользоваться. Настолько активно, что в какой-то момент у меня получилось так, что когда я залогинивался, на главной странице у меня показывались только скрытые заметки (то есть черновики), а все реально опубликованные заметки уезжали. Вкупе с ощущением общей корявости и громоздкости конструкции, это не давало мне покоя.
Важный вывод был сделан во второй раз с едва уловимой разницей: нужно как-то отличать черновики от скрытых заметок. Этот вывод воплотился в решении, которое должно было бы быть реализовано в тот день, когда я впервые начал использовать скрытые заметок в качестве «черновиков»:
ALTER TABLE Notes ADD IsPublished TINYINT (1) DEFAULT ’1’ NOT NULL AFTER Text
ALTER TABLE Notes CHANGE IsPublished IsPublished TINYINT (1) DEFAULT ’0’ NOT NULL
Начиная с v1511 черновик — это черновик, а не «черновик». В одной из следующих серий я расскажу, как прекрасно теперь всё работает, и даже покажу скриншоты. Последний внутренний билд называется v1648.
Для меня это была больная тема, и я очень рад, что наконец сделал всё по-людски.
С 19 по 28 июня я планирую быть в Москве.
4 июня. Неделю назад было под 30. Сейчас падает снежок. Клещи в растерянности.
Американцы для обозначения перекрёстков не используют слово «перекрёсток». На вопрос о местонахождении чего-либо они просто говорят, например, «Broadway and West 42 street». «And» тут как раз и обозначает, что речь о перекрёстке — Бродвея и Сорок второй улицы.
Я давно взял этот приём на вооружение, и говорю именно так по-русски. Где находится ресторан «Уральские пельмени»? Ленина и Энгельса. Я ни разу не столкнулся с непониманием или хотя бы лёгким смущением.
Графически для обозначения перекрёстков, возможно, подойдёт знак „×“:
Уральские пельмени | пр-т Ленина × ул. Энгельса |
Сицилия | ул. Пушкина × ул. Тимирязева |
Главпивтрест | ул. Молодогвардейцев × ул. Куйбышева |
Пересечение и произведение — это в известной степени одно и то же; поэтому вдобавок к графической понятности мы получаем ещё и математическую корректность.