Избранное

Позднее Ctrl + ↑

О наличии у человека носа

Важнейшее знание о человеческой анатомии заключается в том, что у человека на лице есть нос.

Нос — орган дыхания, обоняния и проявления нежности. В Википедии пишут: «Хорошо всем знакомая видимая часть носа, называемая наружным носом, состоит из корня, спинки, верхушки и крыльев». Лучше не скажешь!

У каждого ли человека есть нос? Спросите хоть Михайло Ломоносова, хоть Антона Носика — да что там, даже Николай Носков вам ответит, что, конечно, у каждого. Так ли важен нос? Представьте себе Пятачка и Буратино без носа. Можно ли обойтись без носа? Если бы можно было, история любопытной Варвары не была бы такой драматичной.

Применим это знание на практике.

Это — бессмысленные уродливые наборы знаков препинания:

:/   ;)   )))

Это — смайлики:

:-)   ;-(

Зарубим себе на носу.

Мастерхостовский облом

Мастерхост пипец блин тупит. У них есть привычка один раз из десяти отвечать на любое письмо в поддержку таким текстом:

Внимание! Напишите нам из панели управления:
https://cp.masterhost.ru/requests/generic?dept=4&ticket=36083191614

Подобная авторизация подтверждает, что заявку подал владелец текущих услуг. Также, уточните, пожалуйста, какую именно ошибку Вы наблюдаете.

Может показаться, что в некоторых случаях, действительно, нужно удостовериться в том, что пишет реальный владелец акаунта. Но история в том, что случай почти всегда один: я спрашиваю, какого хрена в очередной раз не работает сайт. И в девяти случаях из десяти мне отвечают что-нибудь там про извинения за неудобства в связи с техническими ДДОС-работами и профилактикой на площадке. А однажды выяснилось, что сайт не работал безо всяких вменяемых причин, просто что-то Апач решил забить и больше его не выдавать. Ребята подпнули Апач и сайт завёлся.

Дак вот с какого фига, когда у меня очередной раз сайт три часа лежал, мне отвечают, что я должен задать вопрос из панели управления?

Если это политика такая, то сделайте, чтобы я вообще по другому не мог задать вопрос, я тогда хотя бы привыкну. А то я пишу по почте как обычно, а меня на хрен посылают. Гнев.

Все люди — дизайнеры

В жизни отсутствует выбор — быть или не быть дизайнером.

Человеку постоянно приходится принимать дизайнерские решения. Избежать этого невозможно: какой бы работой ты ни занимался, с результатом твоего труда будет взаимодействовать кто-то ещё. Дизайнерские решения могут быть плохими или хорошими, но их не может не быть. Их нужно принимать, иначе ни в каком деле не сдвинешься с места.

Чтобы принимать дизайнерские решения, нужно быть компетентным. Поэтому дизайн — это базовая дисциплина, как родной язык. Отказаться изучать дизайн и совершенствовать свои дизайнерские навыки — такая же глупость, как отказаться совершенствовать свои писательские навыки. Дизайн должен изучаться с первого класса школы, он нужен решительно всем.

Нельзя сделать говно и сказать: «ну так я же не дизайнер». Понятия «не дизайнер» не существует. Если у тебя получилось говно, значит ты просто хреновый дизайнер. Исправляйся.

Адское такси в Москве

Такси в Москве — это ад. Жутко недоразвитая, средневековая система, построенная на костылях, просто стыд и позор. Дико бесят две вещи: то, что цену поездки ты узнаёшь после поездки и то, что водителю приходится что-то объяснять о маршруте и точке назначения.

Яндекс.Такси — небольшой шажок в сторону чего-то вменяемого, но до удобства тут как до Луны. Во-первых, там какая-то адова куча параметров. Зачем-то мне нужно пытаться угадать комбинацию условий, чтобы быстрее откликнулся водитель. Потом мне зачем-то показывают всех водителей вокруг меня, визуализируя процесс подбора. Это какие-то детали из мира такси, которые мне как пассажиру безразличны совершенно. Мне это настолько же пофигу, как конкретный сервер Гугля, который обрабатывает мой запрос, левая техзаумь.

Простое должно быть простым. В Челябинске такси работает как лифт. С водителем можно вообще не говорить. Указал на сайте откуда и куда едешь, тебе сразу посчитали сумму. Водитель приехал через несколько минут. Сел в машину, доехал без вопросиков, отдал деньги.

Меня-то в Челябинске бесит, что я должен какие-то деньги физические платить кому-то. Почему не списывать у меня их просто со счёта по прибытии в место назначения? Но по сравнении с Московскими ритуалами по вызову такси — у нас просто сказка.

Текстовые урлы в Эгее

Хочу рассказать о том, как устроены текстовые урлы в Эгее. Эту заметку я публикую, отчасти, для энтузиастов, которые пытаются изменять урлы своих заметок, ковыряясь в базе, чтобы они хотя бы поняли, как эта база устроена, и почему. Ну и просто для тех, кому это может быть любопытно.

Раньше урлы составлялись из дат: у этой заметки был бы урл /2012/08/30/1/, потому что это первая по счёту заметка за 30 августа 2012 года. Проблема таких урлов в полной бессмысленности и незапоминаемости. Более того, из-за того, что в таком урле содержится порядковый номер заметки в дне, чтобы его сгенерировать/разобрать, приходится делать запросы, затрагивающие соседние заметки, и пересчитывать каждую из них с учётом её часового пояса (да, ведь за день может быть написано несколько заметок из разных часовых поясов).

Ещё одна проблема была в том, что если удалить заметку, то урлы написанных после неё в тот же день съедут на единицу вниз. Соответственно, ссылки поломаются. Мало приятного, короче.

Я давно хотел реализовать текстовые урлы, но с ними всё тоже неоднозначно. Во-первых, их надо как-то генерировать. Транслитерировать? А как быть с многоязыковой поддержкой (например, как транслитерировать с иврита)? Или просто давать пользователю ввести самому? Или не обламываться писать по-русски, как делает Википедия? Во-вторых, что делать, если название заметки изменится после публикации? Оставлять старый урл? Менять? Но тогда снова сломаются ссылки. В-третих, что делать со старыми заметками? Оставить со старыми урлами или конвертировать автоматически?

В результате долгих раздумий я решил, что должно быть так:

  1. Урлы должны генериться автоматически, потому что большинству людей нет до них дела, и лишнее поле в форме написания заметки — это лажа.
  2. Любой язык должен уметь транслитерироваться в латиницу (то есть файл языка помимо всяких слов и предложений должен содержать функцию транслитерации).
  3. Пользователь должен иметь возможность поменять урл, если ему сильно надо, и при этом ссылки на старый адрес не должны сломаться. (Это касается только внутренней инфраструктуры; интерфейса для изменения урлов в версии 2.2 пока нет, потому что её нужно было выпустить, и это не входило в список фич для этого релиза. Тем не менее, важно было сразу под капотом всё сделать нормально, чтобы потом было легко добавить это.)
  4. Выходит, мы должны помнить историю урлов каждой заметки, и знать, какой из них «настоящий» (то есть последний). Все старые урлы должны редиректить (301) на новый.
  5. Урлы старых заметок при переходе на новую версию движка меняться не должны, потому что автор этого не увидит, а автоматически изменять что-то в блоге за спиной у автора — это нехорошо. Вдруг там что-то коряво получится. Я не хочу, чтобы моим заметкам прописались какие-то там непонятные урлы без меня.
  6. Каждая заметка должна знать, под каким урлом она была опубликована изначально — это нужно для того, чтобы корректно работали всякие социокнопочки. Им ведь нужен урл заметки, и они ничего не знают о том, что он может поменяться. Если заметку уже залайкали 20 человек под урлом X, то изменение её урла на Y не должно убить эти лайки.

В итоге я реализовал следующую структуру.

В таблице заметок Notes я добавил поле OriginalAlias — это исходный алиас заметки (название для урла), созданный при её публикации. Если это поле пустое, значит заметка была опубликована до Эгеи 2.2, когда алиасов не было, и поэтому её урл должен по старинке составляться из даты и порядкового номера. Поле OriginalAlias вообще никогда не должно меняться после публикации заметки. Соответственно, у «старых» заметок оно навсегда останется пустым (благодаря нему у них не сломаются социолайки, завязанные на урлы из дат, даже если пользователь их поменяет на текстовые).

Для хранения настоящих урлов теперь есть специальная таблица Aliases с полями ID (ключ), EntityID (ключ заметки в таблице Notes), Alias (сам алиас) и Stamp (таймштамп, когда этот алиас был назначен заметке). Для того, чтобы поменять заметке урл, нужно просто дописать в эту таблицу запись с новым алиасом и таймштампом. Урл заметки формируется из алиаса с наибольшим таймштампом, а все старые алиасы редиректят на новые.

Эпл победил

Ну что, Эпл победил.

Я внимательно следил за судом и всё удивлялся: чего там доказывать, всё ведь совершенно очевидно. Как хватает у судьи и присяжных терпения слушать выступления сторон? Ладно ещё Эпл, там был рассказ об истории создания Айфона, которую без этого суда бы мы никогда не узнали. Каждое выступление было подготовлено и отрепетировано как презентация нового продукта. Мне самому было бы страшно интересно поприсутствовать. Но слушать Самсунг должно было быть пыткой, ведь ясно, что они сами прекрасно знают, что виновны, и просто пытаются хоть как-то оправдаться.

Однако суд на то и суд, чтобы стороны имели равные возможности защиты своих позиций. Это в России «совершенно очевидно» работает как доказательство чьей-нибудь вины, а в странах с судебной системой приходится выслушивать и альтернативные мнения.

Мне нравится Эпл, их подход и продукты, но я не могу сказать, что я полностью доволен результатом этого суда. И, я думаю, присяжным было не так легко принять решение, как кажется.

Конечно, в самом факте наглого, бесстыжего слизывания Самсунгом эпловского дизайна сомнений нет. И присяжные решили, что Самсунг сознательно и целенаправленно слизывал его (а как ещё они могли решить после того, как в распоряжении суда оказался подробный внутрисамсунговый гайдлайн по правильному слизыванию Айфона?).

Но ведь Самсунг и зарабатывал намного меньше на своих телефонах. Неужели естественной работы рынка недостаточно? Важная роль Самсунга при этом была в том, что он заставлял Эпл бежать быстрее. Если бы вина Самсунга сейчас не была признана так отчётливо, Эплу нужно было придумывать новое решительнее. Эпл бы понимал, что всё равно все всё скопируют, нельзя сделать что-то клёвое и расслабиться.

Так может, для мира в целом был бы полезнее другой вердикт, даже, может быть, не совсем справедливый по отношению к Эплу?

Похоже, в Эпле понимали, что такие мысли могли прийти в голову и присяжным. Поэтому значительная часть их выступления была посвящена тому, как именно они пришли к тому дизайну, к которому пришли, и насколько это было опасно и рискованно.

Тогда было совершенно не очевидно, что они всё делали правильно. И компания была далеко не в таком устойчивом положении, как сейчас. Но они верили в свою правоту и сделали серьёзную ставку на Айфон. Вспомнить хотя бы, сколько инженеров внутри компании перешли работать над ним (из-за чего был сильно задержан выход МакОСа 10.5). Даже после презентации Айфона в 2007 году оставалось куча скептиков.

Эплу было важно, чтобы суд услышал именно эту историю, а не просто сравнивал пиксели на экранах Айфона и самсунгофона. Эплы хотели, чтобы их наградили за их старания, а не Самсунг наказали за его беспомощность.

Я уже высказывал свои переживания по поводу того, что кроме Эпла никто ничерта не делает. И того, как жалко, что тупорылый менеджмент «Эйч-пи» убил подразделение, которое делало то единственное, что могло бы составить в будущем реальную конкуренцию Эплу. Микрософты, конечно, молодцы с Виндоус-фоном, что пробуют что-то другое, но пока, к сожалению, о серьёзных успехах говорить рано.

Поэтому, с одной стороны, решение суда как бы говорит компаниям: «Слизывание не пройдёт, вам нужно придумывать что-то своё, даже если это рискованно, как это сделал Эпл». И это прекрасно, и вселяет надежду на то, что у Эплов когда-нибудь всё-таки появятся конкуренты. Но с другой стороны, это же решение как бы говорит Эплу: «Всё хорошо, можно продолжать грести бабло на старых достижениях». И это пугает.

Эгея 2.2

Версию 2.2 в сборке v2668 считаю окончательной, перехожу к работе над версией 2.3.

Коротко новые фичи:

  • текстовые урлы заметок,
  • новый текстовый форматтер Нисден,
  • новый интерфейс ввода тегов,
  • аудиоплеер «Жуэль» в комплекте,
  • автоматический бекап.

Читайте заметки к релизу. Там же — ссылка на документацию для разработчиков тем.

Ещё раз благодарности:

  • Артёму Поликарпову за то, что научил меня САССу и за Фотораму (которая теперь поддерживается в Эгее без проблем);
  • Мурату Шидакову за допил Чоузена до состояния, пригодного для использования в новом интерфейсе ввода тегов;
  • Игорю Васильковскому за скрипт бекапа базы данных;
  • Вадиму Макееву за СВГ-иконки для плеера;
  • Константину Савельеву за форматтер Каллиопе, который работал в Эгее много лет до появления Нисдена (да и всё ещё остаётся в комплекте для заметок, написанных до апгрейда).

Некоторые заметки по теме:

  1. Новый авторский тулбар в Эгее.
  2. Сборка Эгеи 2586.
  3. Сборка Эгеи 2637.
  4. Сборка Эгеи 2662.

О словах sharp и flat

В музыке слова sharp и flat означают диез и бемоль соответственно. Например:

Symphony No. 7 in C sharp minor 7-я симфония в до-диез миноре
Violin Concerto No. 1 in B flat major 1-й скрипичный концерт в си-бемоль мажоре

Интересно, что вне музыки эти слова означают точность и неизменность. Например, можно договориться о встрече at five sharp, и это будет означать «ровно в пять». О биржевом индексе скажут flat, имея в виду, что он не изменился. Как же получилось, что в музыке эти слова означают, наоборот, отклонения на полтона от «основной» ноты?

О том, что sharp — это диез, я знал сто лет, видимо, благодаря языку «Си-диез» (C#). А встречая flat в названиях тональностей, я был уверен, что речь идёт о неизменённой ноте, и удивлялся, зачем же вообще писать это слово. Но однажды моё удивление заставило меня всё-таки заглянуть в словарь.

Добавлено позже: внимательные читатели замечают, что если уж читать # в названии языка как «диез», то и C надо читать не как «си», а как «до». Пожалуй, это хороший аргумент в пользу того, чтобы говорить «Си-шарп».

Десятая симфония Шостаковича

Новое большое открытие — десятая симфония Шостаковича:

Видео надо не только слушать, но и смотреть: поведение и эмоции дирижёра (это Густаво Дудамель) сильно радуют (и вызывают зависть). Кстати, ему тут всего 26 лет.

Первая часть медленная, длинная и сложная. Первые несколько раз я просто проматывал после 2-3 минут, потому что не за что было зацепиться совсем. Слушал я симфонию, кстати, как 5-ю Малера, с конца — сначала понял, что крутая концовка, а потом и всё остальное распробовал.

Возможно, имеет смысл сразу переходить ко второй части (27:30), там движуха. Правда, первые два-три раза эта часть может казаться просто истерическим воплем, но постепенно всё сложится. Она совсем коротенькая.

Третья часть (32:00) начинается спокойно, но в ней есть пара ярких, на мой взгляд моментов. 33:19...34:22, например, кайф, ну а 39:50...40:37 так вообще. Ещё в ней важна концовка (44:10...44:28) — в четвёртой части эти четыре ноты будут особенно важны.

Четвёртая часть (44:45) — праздник. Начало, кажется, не предвещает ничего грандиозного. С 45:20 начинается красивая флейта (ну или что это, я не шарю). Это похоже на начало 5-й части 10-й симфонии Малера — прямо восточное звучание. Дальше эту восточную флейту задавят остальные инструменты, но она будет отчаянно сопротивляться.

Главное начинается с 49:40, дальше нельзя перематывать. В 50:20 вдруг настроение резко меняется, начинается быстрая радостная тема. Она развивается и изменяется в течение следующей минуты (на самом деле там всё разное, но после нескольких прослушиваний понимаешь, что всё сильно связано). В 51:20 всё начинается заново, но со второй попытки она приходит уже к самому сильному месту во всей симфонии — 51:33....54:27. Это просто ни с чем не сравнимый кайф: 52:00! 52:06! 52:11!!! 52:41! 52:52! 53:25! 53:53! 54:08! (обратите внимание, как сквозь всё это пытается прорваться наша «восточная флейта»). В 54:18 это фрагмент заканчивается теми же четырьмя нотами, на которые я обращал ваше внимание в конце третьей части.

Потом всё снова успокаивается — понадобится ещё один «заход» на финал (55:48). Честно говоря, по-моему этот фрагмент уже не такой мощный, как предыдущий, но именно его Шостакович оставил для финала. В 56:08 звучит знакомая весёлая мелодия, в 56:37 — снова самое крутое место всей симфонии, но в несколько урезанном виде, а с 57:10 — многочисленные повторы главных четырёх нот разными инструментами, и потом концовка.

Когда разбираешься в 2, 3 и 4-й частях, смысл обретает и первая. Какой бы скучной она не казалась вначале, теперь я её тоже люблю. Особенно хорошо с 7:15... и дальше с 8:15, 8:53, 9:13, 9:54, 10:11 и до 10:44. Или вот с 12:15 до 14:00. Или с 15:55, например. И дальше в 20:10 снова. М? Как бы так развить слух, чтобы сразу это всё слышать?

Наслаждайтесь! Научил Павел Урусов, за что ему спасибо.

Ранее Ctrl + ↓