beldmit: (Программизм)
[personal profile] beldmit
Когда-то в ТЦИ делали исследовательский проект по интернациональной почте (то есть с не-латиницей до собаки). Я в рамках этого проекта начал реализовывать драфт по поддержке таких адресов в X.509-сертификатах. Реализовал, понятно, с ошибками, но патч засабмитил, его почитали в OpenSSL и заставили переделать драфт. В итоге документ стал RFC 8398 только в этом году.

Автор документа меня, однако, запомнил, и спросил, не допилю ли я патч. Начал допиливать и стал изживать одну из претензий к собственно патчу — зависимость от лишней библиотеки в OpenSSL сочли недопустимой. Ок, всего одна функция. Причём частично прописана в RFC в формате C-шного кода.

А дальше, блин, начинается кино. Разбить доменное имя на части по точке. Сконвертировать каждую часть в последовательность байт (UTF8 же), склеить. Не вылезя нигде за пределы буфера. А длину буфера вернуть, чтобы вызывающая сторона знала, какой буфер передать. В общем, тут даже при готовых функциях то, что на Perl с использованием библиотеки — три вызова, split, map и join, на C даёт пол-экрана.

Написать я это написал. Даже скомпилировал. А вот запускать и отлаживать страшно.

Специально для [personal profile] ufm: нет, не-ASCII символы в именах доменов и email-адресах — не коварный замысел страшных любителей чебурнета, а нормальный ход нормальных любителей денег. Которым аудиторию по месту (нелатиноалфавитную) очень хочется расширить.

Date: 2018-07-18 10:40 pm (UTC)
ufm: (Default)
From: [personal profile] ufm
Не всё что хочет бизнес - надо делать. Потому что если сравнивать хотелки государства и бизнеса - внезапно выясняется что "оба хуже".

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

Впрочем, зачем я работаю КО - мне самому не понятно.

Date: 2018-07-18 10:52 pm (UTC)
ufm: (Default)
From: [personal profile] ufm
вася@some.net, вacя@some.net, ваcя@some.net
на какой сам сядешь

Date: 2018-07-19 09:37 am (UTC)
ufm: (Default)
From: [personal profile] ufm
Так админ тоже заказ бизнеса выполняет.

Date: 2018-07-19 02:36 pm (UTC)
ufm: (Default)
From: [personal profile] ufm
Меня - не устраивает.

P.S. Ну и удивляться что у меня отношение к людям, которые за деньги готовы делать что угодно - смысла нет.

Date: 2018-07-19 02:52 pm (UTC)
ufm: (Default)
From: [personal profile] ufm
Слушай, до декабря почти полгода еще. Я месяц назад на твой вопрос ответил-бы отрицательно, сейчас - положительно. Буду я добираться до Киева в начале декабря - откуда-ж я знаю.

Date: 2018-07-18 10:55 pm (UTC)
ufm: (Default)
From: [personal profile] ufm
И, да, _всё_ что теоретически можно использовать для ограничения общения - зло по определению.
Использование национальных алфавитов в базовых протоколах интернета - зло.

Date: 2018-07-19 10:04 am (UTC)
ufm: (Default)
From: [personal profile] ufm
Я вот прям с интересом представляю себе, как я тебе диктую по телефону емейл: "Эф, Э, Дэ, И, Эр, Собака, Ка, Ы, Йи, Вэ, точка, У, Ка, Эр". Точнее как я диктовать буду - ладно. А как ты сначала внезапно осознаешь что "и" и "ы" в этом тексте не то, что ты думаешь, а буква "йи" для тебя вобще неведома. А потом будешь набирать.

федір@київ.укр

И да, схалявить не получится - і - это ни разу не английская буква.

P.S. Господи, спасибо что вразумил телефонистов и не дал им "пойти на поводу у бизнеса".

Date: 2018-07-19 02:39 pm (UTC)
ufm: (Default)
From: [personal profile] ufm
Ну так я уже понял, что тебе в чебурнете будет жить хорошо и приятно. Ты-ж уже сам для себя объяснения придумал.

А вот мне - не приятно. И, да. Мне приходилось общаться с китайцами и в емейле и в чатике и голосом. И слава богу, что и у него и у меня были латинские буквы на клавиатуре. И мы оба худо-бедно, но английский оба знали. И свой емейл я смог продиктовать по телефону, а он его набрать.

Date: 2018-07-19 03:00 pm (UTC)
ufm: (Default)
From: [personal profile] ufm
Человек, сидящий за столом, может не уметь пользоваться ножом, вилкой, ложкой, ручкой, уметь писать. Давай на них тоже ориентироваться?

Мне, как умеющему всё выше перечисленное, можно иметь _только_один_ емейл который, при этом, не содержит национальных символов?

Можно я буду посылать нахер всех, кто попытается мне продиктовать емейл с национальными буквами, а я в этот момент буду сидеть за компьютером на котором нет данной локали?

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

Date: 2018-07-19 04:18 pm (UTC)
yurikhan: (Default)
From: [personal profile] yurikhan
Ну, положим, диктовать по телефону латинские буквы среднестатистическому русскоязычному собеседнику тоже больно. Потому что «сьерра» он не понимает, а учить таблицу «эс как доллар» — это унизительно.

Date: 2018-07-19 04:22 pm (UTC)
ufm: (Default)
From: [personal profile] ufm
Это унизительно, но технически возможно.
Если у тебя на клавиатуре нет украинской раскладки, хоть объобясняйся, ты этот адрес не введёш.

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

Date: 2018-07-19 08:49 am (UTC)
phd_ru: (Default)
From: [personal profile] phd_ru
> Использование национальных алфавитов в базовых протоколах интернета - зло.

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

Один еврей, не знающий английского (нормальная ситуация в Израиле) пересылает другому еврею, не знающему английского, ссылку на книгу в Интернете на иврите. Зачем им в этой ситуации латинские буквы в адресах?

Один китаец, не знающий английского, пересылает корейцу, не знающему английского, файл на японском языке. Зачем им в этой ситуации латинские буквы в адресах и именах файлов?

Краткое резюме сказанного: использование латинского алфавита в базовых протоколах интернета — пережиток западно-европейского империализьма, и это зло должно быть и будет искоренено.
Edited Date: 2018-07-19 08:50 am (UTC)

Date: 2018-07-19 09:35 am (UTC)
ufm: (Default)
From: [personal profile] ufm
uk.wikipedia.org/wiki/Київ

Я хотел-бы уточнить, если можно, как этот самый "один русский" этот адрес набирать будет?

Date: 2018-07-19 10:36 am (UTC)
phd_ru: (Default)
From: [personal profile] phd_ru
На ивритской клавиатуре может вообще не быть латиницы:



Символы и цифры есть.

Date: 2018-07-19 07:52 am (UTC)
gegmopo4: (Default)
From: [personal profile] gegmopo4
Выгляд совсем не сложно. Только тут скорее не пол-экрана, а полтора, если учитывать все случаи.

Есть причина конвертировать в UTF8 каждую часть отдельно?

Date: 2018-07-19 10:52 am (UTC)
gegmopo4: (Default)
From: [personal profile] gegmopo4
А как они закодированы, если не в UTF8?

Date: 2018-07-19 10:14 am (UTC)
elglin: (Default)
From: [personal profile] elglin
Давай я тебе накидаю тривиальной мотивирующей фигни.
Во-первых, ну, Си есть кроссплатформенный ассемблер, с уважением, ваш Кэп. Когда его писали, дороги не минировали обработку строк не поддерживал ни один процессор, да и вообще строки были менее популярны, чем числодробление.
Во-вторых, в те дни, когда мир был юн, на голом Си был написан, к примеру, awk, в котором была вся современная строковая магия и интерпретатор Тьюринг-полного языка.
В-третьих, всю строковую магию Питона до сих пор очень широко интерпретирует CPython, который написан на таком же голом Си.
В-четвертых, при современных отладчиках с их построчным выполнением, брейкпойнтами, отслеживанием значений переменных и т.п. отлаживаться не в пример проще, чем в те дни, когда мир был юн.

Profile

beldmit: (Default)
Dmitry Belyavskiy

December 2025

S M T W T F S
 123456
78910111213
14151617181920
2122 2324252627
28 293031   

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Dec. 29th, 2025 04:39 pm
Powered by Dreamwidth Studios