«Ёлки»

Спонтанно поехали вчера в кинотеатр, посмотреть фильм «Трон», но так как в зале с 3D было холодно, о чём всех предупреждало объявление на кассе, решили сходить на фильм «Ёлки», ничего особо не ожидая.

По-моему, отлично снятое, доброе, смешное новогоднее кино. Не пожалели, что сходили.

11 комментариев

«Трон: наследие»

Посмотрели «Трон» в 3D — история о том как Тимур Батрутдинов со своим отцом, обладающим суперспособностью стареть в виртуальном мире, и программой исскуственного интеллекта, злоупотребляющего косметикой, в гидрокостюмах живенько мочат врагов логотипами «Камеди Клаба».

Затянуто в два раза, но посмотреть можно.

Оставить комментарий

Сериал для программистов на JavaScript

Не пропустите новогодний сериал для программистов — мы с неким LO сокращаем мой второй вариант игры «Tank 1K», написанный по рождественским правилам конкурса JS1K (программ на JavaScript, умещающихся в 1КБ).

Уже сократили с 1023 до 773 770 759 752 723 байта (более чем на 29% и это на таком крошечном размере).

Для меня — полезное соревнование, тренинг, о котором только можно мечтать, у LO отлично варит голова. Для вас — возможность посмотреть как в JS можно сократить размер программы. Уже сейчас видно, что из некоторых ходов вполне можно вывести правила, например: «если у тебя в программе есть пустые скобки любого вида, посмотри нельзя ли их чем-нибудь занять».

Если какие-то места программы непонятны, можно смело спрашивать тут, в комментариях.

3 комментария

Аэрофлот подложил свинью

Совершенно случайно узнали, что наш рейс из Казани отменили. Должны были вылетать в 14:50, решили на всякий случай уточнить время (жена, умница, настояла, чтобы я позвонил).

Рейс отменили. Оказывается, из компании, чтобы сообщить это нам, звонили три раза (на московский номер, ага) и, не дозвонившись, бросили эту затею. Написать на электронную почту, как это обычно делают другие компании, они почему-то не догадались. При этом я зарегистрированный пользователь на их сайте, у них есть все мои данные, я не один раз получал от них письма.

Полетим десятого в шесть утра (боже, за что?), билеты нам поменяют при регистрации. Хорошо хоть места нашлись.

Добавлено позднее: цитата из Договора перевозки «Аэрофлота» (пункт 10):

Время, указанное в расписании и других документах, не гарантируется и не является составной частью настоящего договора. (…) Расписание может быть изменено без предупреждения пассажира.

Вот так вот. Так что я, видимо, должен ещё «спасибо» сказать, что вообще пытались дозвониться.

19 комментариев

Вернулись в Москву

Это не перелёт, а какой-то бег с препятствиями. Как я писал наш рейс отменили (это кстати, уже, кажется, пятая отмена наших рейсов в эти новогодние праздники). Рейс отменили, дали новые места, а билет не поменяли — он у нас не электронный, а представительства Аэрофлота (точнее — кассы) в Казани нет.

Билет не электронный, потому что их не продавали, в Москве мне пришлось прийти в офис Аэрофлота, чтобы купить билет на этот рейс. Как выяснилось позднее, это из-за того, что мы попали на таймшер-рейс, где 20 мест (в том числе и наши) были выкуплены авиакомпанией «Татарстан», хотя на билете написано «Аэрофлот».

Тётенька из колл-центра за день до вылета, сказала нам, что никаких проблем не будет, на новый рейс нас пустят со старыми билетами безо всяких проблемы.

Как бы не так. В аэропорту Казани нам сказали, что так нельзя. К счастью, получасового мотания нервов, разбирательств по телефону с колл-центром и сотрудниками «Аэрофлота» в аэропорту решили дело. Ура, мы в Москве. Надеюсь, новогодняя гонка с препятствиями уже позади и новых проблем не будет.

3 комментария

«Битва экстрасенсов»

Столкнулся с тем, что люди реально верят, что «экстрасенсы» из телевизионного шоу «Битва экстрасенсов» — настоящие. Типа «ну не могут же они так играть».

Вы когда в последний раз кино смотрели? Там люди плакали? Злились? Смеялись? Может на световых мечах дрались? Вы верите, что всё, что там происходило — это по-настоящему? А главный герой плакал потому что кто-то реально умер? Нет?

Телевизионное шоу — такое же кино. Ни один закон не заставляет показывать по телевизору что-то реальное, даже если это называется «реалити шоу».

C 1996 года существует Фонд Джеймса Рэнди. Там предлагают миллион долларов «любому человеку, или группе людей, кто будет в состоянии продемонстрировать любое умение экстрасенсорного, паранормального или сверхъестественного качества в условиях лабораторного контроля».

С 1996 года никто не смог доказать у себя наличия каких-либо сверхестественных способностей и получить выплаты от фонда.

Кстати, если тема заинтересовала, в газете «На грани возможного» есть статья «Разрушитель химер», где подробно описана деятельность фонда, есть перечень испытаний и описание одного реально проведённого тестирования.

45 комментариев

Рождественские яблоки

Яблоки «с Рождеством» (43.33КиБ)

Увидел в магазине «Метро К&К» (Казань), стоят, правда, дороговато — больше 200 рублей за кило.

5 комментариев

С годом зайца!

С годом зайца! (41.16КиБ)

С первым рабочим днём! Как вам там работается?

За фото спасибо Лере.

4 комментария

Что такое спойлер

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

Ребята, это неправильно! Спойлером может быть только информация, причём определённого рода:

Спойлером (от англ. spoiler — портящий, прерывающий, яп. ネタバレ) в интернетах обычно называют информацию, раскрывающую сюжетные подробности какого-либо художественного произведения. Нередко дальнейшее знакомство с произведением после прочитанного спойлера становится бессмысленным и скучным занятием.

Например, «Человек-паук — это Питер Паркер» или «в конце „Трона“ главный герой вернётся в наш мир». Это были спойлеры. А разметку можно назвать, например, «тегом для спойлера».

30 комментариев

ขี้แมลงวัน

Сегодня узнал, что тайцы называют милые моему сердцу веснушки «ขี้แมลงวัน», дословно — «помёт мухи».

5 комментариев

Что такое Вики

В стиле срывания покровов, который у меня доминирует в уютненьком в последнее время.

Оказывается, очень мало людей знают что такое «Вики». В лучшем случае они думают, что это «Википедия».

«Википедия» так называется, потому что эта энциклопедия построена на принципах Вики. «Вики» — это система для быстрого совместного редактирования структурированного текста.

15 комментариев

«Легендарное» венгерское песочное шоу «House of Sand Dreams»

Сходили с женой на песочное шоу «House of Sand Dreams», которое почему называется «легендарным» и «венгерским». По наполнению — утренник, позабавил фокусник, понравилась песочная часть, остальное… ребята старались. Впрочем, симпатичная девушка, танцевавшее какое-то подобие стриптиза без раздевания тоже стоит упоминания, хотя бы тем, что мужская пожилая часть публики занятно подалась вперёд.

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

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

Резюме такое: хорошо, что у нас была скидка 42% на это шоу, но если бы не конфетные подарки в конце, мы бы всё равно переплатили, плюсы — рисовать песком прикольно и ребята из труппы искреннее старались доставить удовольствие публике.

2 комментария

MakeCorner shell

MC Shell (31.42КиБ)

Хочу порекламировать MC Shell — графическую оболочку для моего консольного скруглятора картинок, которую пишет oldTV, в архив программы уже входит моя утилита, так что ничего дополнительно качать не нужно.

30 комментариев

Конструкцию «with» убрали в strict mode в ECMAScript 5?

with(){} statements are dead when strict mode is enabled — in fact it even appears as a syntax error. While the feature was certainly mis-understood and possibly mis-used I’m not convinced that it’s enough to be stricken from the record.

Я, конечно, понимаю чем плоха конструкция with, но отключать её в strict mode… Мне кажется излишним.

ECMAScript 5, кстати, будет в FireFox 4.

6 комментариев

WiMAX jammer

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

На «Хабре» и форумах люди рассказывают, что наиболее частая область применения находится далеко от таких учреждений. Например, сигнал WiMAX глушат в офисных центрах с «прикормленным» провайдером интернета.

Владельцам не хочется терять клиентов из-за того, что те могут подключиться, например, к «Йоте».

Кое-где ещё высказывалась теория, что сигнал глушат ещё и в местах с платным WiFi. Но в FAQ устройства, на которое я дал ссылку, написано, что WiFi тоже работать не будет, никакой, кроме категории «n», а устройства, работающие с этой категорией не очень-то распространены. Например, мой, довольно новый Dell Latitude E4200, категорию «n» не поддерживает. Наверное, частоты Wi-Fi и WiMAX частично перекрываются, проверять мне лень.

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

16 комментариев

Internet Explorer показывает не все GIF

Скриншот кода с ошибкой 56: «Смысл не найден» после команды «0109 повтор», имитирующей бесконечный цикл жизни.
IE, не покажи этот GIF!

Нашёл в ЖЖ DiBR’а GIF, который не показывает Internet Explorer. Забавно, хотя в отличие от JPEG, который не показывает современная «Опера», этот GIF несколько некорректен.

Вот текст комментария из ЖЖ, который разъясняет принцип:

Согласно описанию формата, сразу за заголовком («GIF89a») идет Logical Screen Descriptor (в котором как раз и прописан размер 80×80), затем Global Color Table, а уж за ним — всякие Extensions и данные изображений. В обсуждаемом файле Global Color Table просто отсутствует (так что IE ведет себя вполне адекватно). Зато присутствует картинка размером 100×100, которую и видят менее привередливые рендереры.

Оставить комментарий

Что я больше всего не люблю в метро

На жёрдочке (23.20КиБ)

Больше всего в метро я не люблю не толкучку, а когда спокойно сидишь у поручня в вагоне, а тебе на плечо неожиданно кто-то садится. Меня это очень сильно волнует. Я хочу поговорить об этом.

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

Обычно я стараюсь обратить на себя внимание и попросить так не делать, но бывают совершенно нечувствительные к добру люди, которых приходится ощутимо пихать пару раз, что портит настроение и мне, и им.

93 комментария

У̶в̶е̶д̶о̶м̶и̶т̶е̶л̶ь̶н̶а̶я̶ заявительная регистрация

Странно, но никто чепчики в воздух не кидает, хотя свершилось то, о чём долго говорили до Нового года — временная регистрация стала уведомительной:

Граждане вправе уведомить орган регистрационного учета о сроке и месте своего пребывания по почте или в электронной форме с использованием информационно-телекоммуникационных сетей общего доступа, в том числе сети Интернет, включая федеральную государственную информационную систему «Единый портал государственных и муниципальных услуг (функций)»

Кто-нибудь уже воспользовался? Утверждается, что это можно сделать через личный кабинет.

Добавлено позднее: оказывается, многие (в том числе и я) неверно поняли смысл изменений. Регистрация стала заявительной.

Добавлено ещё позднее: похоже, вся разница в том, что заявление теперь можно подать через интернет.

32 комментария

Права на изображения, расскажите?

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

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

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

27 комментариев

Тачскрин в 1983 году

В 1983 году сотрудники HP показали общественности компьютер HP Touch. Первый компьютер я увидел в 1989 году, тачскрин уже существовал! А мы сегодня считаем это современной технологией.

7 комментариев

Как сэкономить один байт в GIF

Trailer (7.79КиБ)

Я понимаю, один байт — не бог весть что, но, возможно, кому-то и такая мелочь будет приятна. Например, полезно во всяких конкурсах, вроде JS1K и т. п.

Файл в формате GIF должен заканчиваться символом с кодом 0x3B («;»), который называется «trailer». На самом деле, этот символ чаще всего не требуется декодерами (хотя обязателен в стандарте). Я проверил на сервисе скриншотов, все браузеры, которые там перечислены, кроме Konqueror 4.2 и выше, поддерживают файлы GIF без этого байта.

Я так же вывесил такой GIF у себя на сайте, обнаружилось, что его так же не поняли агенты, которые подписываются как Java/1.6.0_xx (думаю, это какие-то браузеры на J2ME).

Вывод: если вас это не смущает, то можете сократить свои GIFы на один байт. Или, напротив, проверьте имеют ли ваши GIF этот байт, если для вас почему-то важны эти браузеры (основанные на J2ME и Konqueror 4.xx).

4 комментария

Облокотиться

Ребята, ну вы чего, а?

Невозможно облокотиться попой, как вы вообще себе представляете такое? Я понимаю, сейчас наш национальный герой — Фома Неверующий, но хоть Далю поверьте:

ОБЛОКАЧИВАТЬСЯ, облокотиться обо что, на кого, налечь локтями, опереться локтем, облегать на что, прислоняться, упираясь локтем

И Ушакову:

ОБЛОКОТИ’ТЬСЯ, кочу́сь, ко́тишься, сов. (к облокачиваться), что. Опереться на кого-что-н. локтем, локтями; опереться (на руку)

33 комментария

Логин через OpenID ЖЖ

Ура, появился патч, который исправляет проблему библиотеки OpenID JanRain, которую я использую, с ЖЖ.

Теперь, у меня должно логинить через OpenID и пользователей ЖЖ.

17 комментариев

Inbox Zero: впечатления

Как я уже писал, несколько месяцев назад я попробовал Inbox Zero — это когда в папке входящие только письма, которые требуют какой-то на них реакции. Остальное отправляется в «архив».

Отличная методология, легко на неё перешёл, чувствую пользу.

Но это палка о двух концах. Inbox Zero отлично разгружает голову, очень легко поддаться соблазну (я поддался), выкинуть из головы вообще все дела и реагировать на что-то только в том случае, если есть письмо. В итоге, о некоторых вещах я забываю моментально, если их нет в почте (написали в джаббер или рассказали устно).

Это плохо. Как бороться пока не знаю, кроме как писать самому себе письма, что неудобно.

А ещё я попробовал вот что: отключил все уведомления на рабочем ноутбуке (включая уведомления почтового клиента и джаббера), плюс выключил звук SMS в телефоне. Работаю так уже около месяца, просматривая новую почту, сообщения в джаббере и SMS, только когда выдаётся свободная минута.

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

А что используете вы, чтобы уменьшить количество информации, которую нужно удерживать в голове и как вы решаете проблему концентрации на работе?

16 комментариев

Антиалиасинг шрифтов: кто прав, Microsoft или Apple (ответ — никто)

На «Хабре» перевод статьи «Разоблачение алгоритмов растеризации шрифтов» (в двух частях).

Рассматриваются различные алгоритмы растеризации шрифтов и очень интересные проблемы.

Кстати, в статье есть ответ почему текст в Linux смотрится так плохо.

21 комментарий

Невероятный JavaScript

Насколько запутанный JavaScript вы можете написать? Хотя JS-игра, которую мы сокращали на пару с LO, выглядит довольно запутанно, но можно писать куда более непонятно, если ваша цель не сократить объём, а сделать так, чтобы у читающих листинг вашего кода выпали глаза.

В блоге Shadowflux образчик хорошо запутанного кода с объяснением работы:

($=[$=[]][(__=!$+$)[_=-~-~-~$]+({}+$)[_/_]+
($$=($_=!''+$)[_/_]+$_[+$])])()[__[_/_]+__
[_+~$]+$_[_]+$$](_/_)

Выглядит довольно страшно, но, если разобраться, ничего сложного. Напоминает старый добрый Perl.

7 комментариев

Бры

Хозяйка квартиры, которую мы снимаем, так называет бра во множественном числе — «бры».

13 комментариев

Дожили

Мракобесие (60.23КиБ)

9 комментариев

Небольшая задача на Пайтоне

Вот вам небольшая задача на Пайтоне, для того, чтобы понять как у вас с функциональным программированием. Выполнить надо в уме (я смог, значит это возможно). Что вернёт следующее выражение:

(lambda x:x(x))(lambda z: lambda y:z)(1)(2)(3)

Добавлено позднее: если кому-то проще JavaScript, вот тот же код на JavaScript 1.8:

(function (x) x(x))(function (z) function (y) z)(1)(2)(3)

16 комментариев

Позитроний, нулевой элемент таблицы Менделеева

Ps (позитроний) — это нулевой элемент таблицы Менделеева. Теперь, когда я привлёк ваше внимание этим жёлтым заявлением, подробнее.

Строго говоря, позитроний не атом, а система, состоящая из электрона и позитрона. Позитрон (античастица электрона), попав в окружение электронов, чаще всего не аннигилирует моментально, а сталкивается с ними снова и снова, постепенно теряя энергию, пока не затормозится и не остановится. После чего он цепляет какой-то электрон из своего окружения и создаёт с ним связь, так рождается позитроний.

Эта атомоподобная система живёт недолго, в зависимости от спина: парапозитроний аннигилирует за 0,125 нс, а ортопозитроний — 142 нс. Как видите, это очень мало. Тем не менее, ортопозитроний живёт достаточно долго, чтобы успеть с чем-нибудь прореагировать, например, сам с собой, рождая молекулярный позитроний Ps2.

У этого необычного вещества, помимо исследовательской ценности, есть практическое применение — возможно с его помощью можно будет изготовить гамма-лазер.

Подробнее о том как рождается позитроний, чем он интересен и чем может быть полезен можно прочитать в статье «Бурная жизнь позитронов» из блога «Что интересного происходит в науке», который я хочу прорекламировать.

11 комментариев

Нужен сисадмин и разработчик на Пайтон

Привет!

Мне в группу внутренних сервисов компании «Яндекс» нужен разработчик на Пайтон. Так же ребята из группы администрирования попросили написать, что нам нужен системный администратор (Linux).

Пишите либо в комментарии, либо на почту (bolk@yandex-team.ru), отвечу на интересующие вопросы. У нас очень хорошие условия работы!

12 комментариев

Вот она, вот она…

Лебедев предложил у себя в ЖЖ вспомнить народное стихотворное творчество об недавних исторических событиях. Всё быстро скатилось на народное матерное, но тем интереснее — тема расширилась до воспоминаний любых народных стихов. Почитайте, там много смешного. Я, например, узнал, что известнейшая матерная частушка звучала совсем по-другому:

Я проснулся в шесть часов
с ощущением счастья:
нет резинки от трусов 
и Советской Власти.
Вот она! Вот она,
на х██ намотана.

Я застал вариант без «советской власти» и «счастья» и даже не подозревал, что это политическая частушка.

Добавлено позднее: просто исторический экскурс какой-то, «история СССР» в матерных частушках. Вот, например, Брежнев поднял цены на водку:

Водка стала по пяти?
Ну и мать её ети!
Будет стоить водка восемь,
Всё равно её не бросим,
Дружно скажем Ильичу:
«Нам и десять по-плечу!»
Ну а если двадцать пять —
Самогонку будем гнать.
Ну а если будет больше,
Значит сделаем как в Польше."

Кстати, вопрос — а как в Польше?

7 комментариев

Каким представляли компьютер 2000-го года в 1988

Я понимаю, что многие уже видели, наверное, но всё равно интересно.

Из журнала «Наука и жизнь» от 1988 г, № 12, страница 36 (в формате DjVu его можно скачать с сайта журнала):

Победители представляют себе компьютер близкого будущего как коробку размером с общую тетрадь. На одной стороне коробки — цветной экран на жидких кристаллах. Нет никаких клавиш или кнопок, кроме кнопки включения. Изображения клавиш с обычным набором цифр, букв и знаков появляется на экране при включении ЭВМ. Чтобы вводить в машину текст или цифры надо прикасаться к изображению этих клавиш на экране.

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

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

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

Почти вылитый «айПад»! Конкурс, победители которого цитируются, проводила фирма… «Эппл». Кстати, в 1988 году «Наука и жизнь» не обламывалась писать «Эппл», по-русски.

7 комментариев

Снова о ГМО

Читать мнение Каганова о ГМО забавно, он эмоционально и у́мно пишет, но он писатель-фантаст, а не учёный. Читать учёных, хорошо разбирающихся в теме всё-таки интереснее, они ближе к теме.

У доктора биологии Русланы Радчук, работающей в Институте генетики культурных растений Гатерслебена (Германия) есть ЖЖ, где она на русском языке пишет, в частности, о ГМО. Пишет хорошим, понятным языком, за что ей большое спасибо.

Кажется о тех вещах, которые она затрагивает, по-русски можно почитать только у неё.

Пока есть пять частей:

Часть 1. Вступление
Часть 2. Фирмы и фермеры
Часть 3. Нестабильная стабильность
Часть 4. Судьба ДНК в пищеварительном тракте и горизонтальный перенос генов
Часть 5. ГМО и прозрачность

Оставить комментарий

Самая читающая страна

Посмотрите во что превратилась «самая читающая страна»:

Уровень образования (22.49КиБ)

Это результаты тестирования пятнадцатилетних детей по чтению и математике. Читается график легко: цвет соответствует материку (на карте мира можно это увидеть), чем выше точка, тем лучше навыки чтения у детей в этой стране, чем правее, тем лучше у них с математикой.

50 комментариев

Внимание: MySQL считает, что буквы «ё» и «е» — одно и то же.

Увы, MySQL, если выбрать кодировку Unicode, считает, что «е» и «ё» — это одно и то же. Багом это не считается, в официальной таблице, где описано как MySQL 6.0 сравнивает символы, эти символы в одном ряду.

mysql> set names utf8 collate utf8_unicode_ci;
Query OK, 0 rows affected (0.00 sec)

mysql> select 'е'='ё', 'ё'='ѐ'\G
*************************** 1. row ***************************
'е'='ё': 1
'ё'='ѐ': 1
1 row in set (0.00 sec)

Самое печальное, это нелогичное поведение всплывает, если есть потребность перевести базу с CP1251 на UTF-8, так как в CP1251-то как раз всё хорошо:

mysql> set names cp1251;
Query OK, 0 rows affected (0.00 sec)

mysql> select 'е'='ё', 'ё'='ѐ'\G
*************************** 1. row ***************************
'е'='ё': 0
'ё'='ѐ': 0
1 row in set (0.00 sec)

Чем это может быть плохо? Например, у нас по какому-то текстовому полю имеется уникальный ключ. Для иллюстративности, пусть это будет словарь фамилий. Фамилии Рублев и Рублёв — разные, но MySQL так не считает (для простоты опускаю другие поля):

mysql> set names utf8 collate utf8_unicode_ci;
Query OK, 0 rows affected (0.00 sec)

mysql> create table surname(surname varchar(255) primary key);
Query OK, 0 rows affected (0.07 sec)

mysql> insert into surname values('Рублёв');
Query OK, 1 row affected, 1 warning (0.00 sec)

mysql> insert into surname values('Рублев');
ERROR 1062 (23000): Duplicate entry 'Рублев' for key 'PRIMARY'

Я придумал только один способ, исправляющий это поведение (но у него есть недостаток):

mysql> create table surname(surname varchar(255) primary key collate 'utf8_bin');
Query OK, 0 rows affected (0.02 sec)

mysql> insert into surname values('Рублёв');
Query OK, 1 row affected (0.00 sec)

mysql> insert into surname values('Рублев');
Query OK, 1 row affected (0.00 sec)

mysql> select * from surname where surname='рублев';
Empty set (0.00 sec)

Я выключил case insensitive у данного столбца, явным указанием «collate». Это полностью решает проблему с «ё», но лишает нас удовольствия искать, не заботясь о совпадении регистра.

18 комментариев

← сюда туда →