Monthly Archives: February 2012

Иврит вашу мать, или тупые американцы не рубят в раскладках

С момента появления 32-битных ОС Windows прошло уже чёрт-те сколько времени. Необходимость механизма ввода текста на разных языках появилась и того раньше. Так почему же она до сих пор не реализована по-человечески?

Складывается такое впечатление, что задача изначально ставилась так: все нормальные люди пользуются английским языком, а если им хочется ещё какого-то (вот странные какие), то так уж и быть, что-нибудь придумаем. А решалась задача так: да что там думать – пусть добавляют вторую раскладку и дело с концом. Ключевое слово тут – “вторую”. То есть уже на этапе разработки, видимо, было сделано предположение, что людей, пользующихся тремя языками просто напросто не существует, либо их настолько мало, что их не следует принимать их во внимание вовсе (кстати, общая проблема многих коммерческих продуктов). То есть автоматически подпадают “под раздачу” хохлы, белорусы, да что там – все жители бывших союзных республик. Я уж не говорю про несчастных русскоговорящих израильтян, которым ещё и морока с направлением текста добавляется.

Казалось бы, каков должен быть удобный способ переключения клавиатуры? Во-первых, он должен обеспечивать удобный ввод текста одновременно на двух языках: на родном, и на английском. То есть я должен иметь возможность набрать фразу “А не послать ли нам эту вашу CIA в жопу?”, не задумываясь над тем, как мне сменить русский на английский и обратно. Во-вторых, при необходимости должен быть обеспечен удобный ввод текста на двух любых других языках. Тот же русскоговорящий израильтянин должен иметь возможность писать текст на русском, вставляя в него слова на иврите, или же на иврите, вставляя в него слова на английском. Далее, при необходимости должна быть обеспечена и возможность ввода текста на трёх и более языках одновременно, но при этом удобство может и пострадать.

Что же мы имеем с гуся в реальности? Раскладки (и языки ввода) тупо переключаются последовательно. Добавление третьего языка ввода тут же на корню зарубает возможность сколь бы то ни было удобного ввода текста хотя на двух языках. На трёх – да, вводить можно, тут неудобство последовательного переключения оправдано. Есть возможность переключиться на определённую раскладку сразу, но она тоже жутко неудобна для ввода текста на двух языках: вам хотелось бы переключаться на английский нажатием Ctrl+1, а на русский – Ctrl+2? Мало того, что это нарушает привычную схему “туда-сюда-обратно, переключаться так приятно”, так ещё и конкретно эти сочетания страшно неудобно нажимать.

Есть ход конём: оставить языков два, но в один из них (а можно и в оба) добавить несколько дополнительных раскладок. В результате получаются прикольные названия раскладок типа “Английский – Русская” или “Русский – Иврит”. Между языками можно переключаться, например, с помощью Alt+Shift, а между раскладками – Ctrl+Shift. Проблем с этим, казалось бы, очень удобным способом масса. Фундаментальный корень всех этих проблем заключается в том, что понятия “язык ввода” и “раскладка клавиатуры” не зря именно так называются. Если выбран английский язык ввода, то независимо от выбранной в нём раскладки система будет думать, что вы набираете английский текст. В Word это приведёт к тому, что он пометит весь текст неправильным языком и найдёт кучу орфографических ошибок. Далее, если речь идёт об иврите, например, у программ начинает ехать крыша. Тот же Word набирает слова слева направо, но внутри слов буквы – справа налево. Впрочем, для ввода английского текста с отдельными словами на иврите это может и удобно. С японским языком свои проблемы – у него есть понятия “японская раскладка” (Хрен его знает что это такое) и Microsoft IME, который и есть нормальный способ ввода японского текста. Так вот, Microsoft IME можно включить только для японского языка ввода, поэтому вкорячить его в английский или русский не получится. Можно наоборот – вкорячить английскую раскладку в японский. Ну тогда тот же Word будет считать английский текст японским.

Другое решение проблемы – использовать для переключения раскладок какие-либо вспомогательные программы. Только я ни одной такой не нашёл. Не слишком старательно искал, правда. Пытался соорудить нечто с помощью AutoHotkey, но там тоже свои косяки. Например, оно не во всех программах работает.

А ведь напрашивается простое, понятное решение: достаточно было сделать так, чтобы Alt+Shift работал аналогично Alt+Tab. То есть чтобы переключение по умолчанию происходило на последнюю использованную перед этим раскладку. Для двух языков ничего не изменилось бы, ну а для нескольких стало бы однозначно лучше.

P. S. Поискав как следует, нашёл keyla. По крайней мере она позволяет исключить “лишние” раскладки из переключения. Дальше, настраиваем разные сочетания клавиш у keyla и в Windows. Первым переключаемся между двумя основными языками, а вторым – между всеми. Не идеальный вариант, но жить можно.

Желание

Продолжая читать “Харухи”, решил разбирать кандзи и записывать (для лучшего запоминания) результаты разбора. Глядишь кому пригодится – раз, а может не пройдёт и десяти лет как я их случайно все выучу – два. Если не забью раньше.

– кандзи “желание”, “надежда”, “амбиция” и всё в таком духе, Кун-ёми nozo, он-ёми bou и mou. Слова для запоминания чтений: nozomu (Kimi ga Nozomu Eien) и kibou (и одноимённый модуль МКС), mou встречается крайне редко. Zetsubou тоже сюда же.

Самое сложное – мнемоника. Радикалы – “умирать”, “луна” и “король”. Что-то ничего из этого не собирается. Король при луне желает смерти? Надежда умирает последней, в том числе после короля и луны? А, может быть, амбициям короля не помешает ни смерть, ни луна? Или наоборот, выше амбиций короля только смерть да луна. Последнее лучше всего подходит, так как луна и смерть изображены сверху короля.

Кстати, он-ёми совпадают с он-ёми радикала “умирать”, отсюда всякие там shibou и metsubou.

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

Сложность предложений в различных языках

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

“Программное обеспечение предназначено для передачи телеметрии из пункта Б1 в пункт Б2 с целью достижения пункта Б3, в котором Папанин и Водопьянов очутились после своих похождений, описанных Веничкой Ерофеевым.”

Как это будет по-английски? Может быть, как-то так:

“The software is designed for telemetry transmission from point B1 to point B2 in order to reach point B3 which Papanin and Vodopyanov reached after their adventures that were described by Venichka Yerofeev.”

Вроде перевелось, но во-первых ни одной запятой, а во-вторых некоторые конструкции некрасиво повисли в воздухе. К примеру, надо додумывать, к чему относится “in order”. Если читать, как читается, то можно подумать, что оно относится к “point B2” или к “point B1 to point B2”. Можно прочитать как “из пункта Б1 в пункт Б2 по порядку”.

Так вот, в русскоязычных мудрёных документах можно встретить предложения раза в 2-3 длиннее вышеприведённого. И не менее хитрожопые. Даже если данный пример формализовать, то надо заменить слово “телеметрия” на словосочетание “телеметрическая информация”, “пункт” тоже должен быть какой-нибудь (опорный, командный, промежуточный, целевой). Английский язык таких словосочетаний не любит. “Телеметрическая информация” переводится как “telemetry”, “программное обеспечение” как “software”.

Казалось бы, японцы с их морфологией, почти такой же убогой, как в английском языке, должны бы тоже страдать неизбежной простотой предложений. Хилая пунктуация тоже должна бы этому способствовать – да что там говорить, когда у них в языке даже пробелов нет. Разве можно составлять длинные предложения без пробелов так, чтобы они ещё и понятны были? Оказывается, можно. Этому способствует мудрёная грамматика, позволяющая за счёт использования нужных частиц и порядка слов вытворять что-то совсем уж несусветное. Например, можно взять предложение целиком, выкинуть из него подлежащее (если таковое имеется, что у японцев не всегда обязательно) и использовать то, что осталось, в качестве согласованного атрибута чего-нибудь. То есть если есть фраза “Папанин и Водопьянов, выбыв из своих пунктов Б1 и Б2, очутились в пункте Б3”, то если выкинуть из неё Папанина и Водопьянова, ничего больше не меняя, то получится нечто, что на русский язык можно перевести как “выбывшие из пунктов Б1 и Б2 и очутившиеся в пункте Б3”. Далее мы эту конструкцию прилепляем к кому-нибудь, например, всё к тем же Папанину и Водопьянову, и далее можем использовать в любом месте, где допустимо, например, существительное. Как это будет по-японски, попробую сообразить.

パパニンとヴォドピャノヴはポイントB1とB2を引き上げてポイントB3に辿り着いた。 (Папанин и Водопьянов, выбыв из пунктов Б1 и Б2, очутились в пункте Б3.)
Убираем подлежащее:
ポイントB1とB2を引き上げてポイントB3に辿り着いた (выбывшие из пунктов Б1 и Б2 и очутившиеся в пункте Б3)
Добавляем Папанина и Водопьянова с другой стороны:
ポイントB1とB2を引き上げてポイントB3に辿り着いたパパニンとヴォドピャノヴ (Папанин и Водопьянов, выбывшие из пунктов Б1 и Б2 и очутившиеся в пункте Б3)
А теперь делаем с ними всё, что заблагорассудится:
ポイントB1とB2を引き上げてポイントB3に辿り着いたパパニンとヴォドピャノヴは酒をたくさん飲んでポイントAを発明しようとした。 (Папанин и Водопьянов, выбывшие из пунктов Б1 и Б2 и очутившиеся в пункте Б3, выпили много саке и попытались изобрести пункт А.)

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

そんなこんなでオフクロがサンタにキスしているところを目撃《もくげき》したわけでもないのにクリスマスにしか仕事をしないジジイの存在を疑っていた賢《さか》しい俺なのだが、宇宙人や未来人や幽霊《ゆうれい》や妖怪《ようかい》や超能力《ちょうのうりょく》や悪の組織やそれらと戦うアニメ的|特撮《とくさつ》的漫画的ヒーローたちがこの世に存在しないのだということに気付いたのは相当後になってからだった。

Это не что иное, как один абзац (он же одно предложение) из “Меланхолии Судзумии Харухи”. Это, блин, так называемая “лёгкая новелла”. Лёгкая в том смысле, что простым языком написанная. Что же у них тогда называется сложным?
Попытка разобраться хотя бы в лёгком

Вирусы как разновидность malware

Вот уже прошло несколько недель, как я избавился от всех McAfee и пользуюсь MSSE. Оно работает, оно не мешает, оно меня слушается и есть денег не просит. Замечательно.

Теперь, когда с антивирусами покончено, немного о вирусах. Кто-нибудь задумывался вообще, что такое вирусы и почему они так называются? На интуитивном уровне очевидно, что вирус – это какая-то такая бяка, которая цепляется к нормальным программам и чем-то вредит. Может быть, более правильно было бы их называть не вирусами, а паразитами.

Если для вас компьютер – не просто загадочный ящик (а в особо запущенных случаях – “экран” с “мышью” и “кнопочками”), то вы должны понимать, что он лишь тупо исполняет программы. Вирусы, не вирусы – для компьютера разницы нет. Чтобы вирус начал свою деятельность, он должен, во-первых, попасть на компьютер, а во-вторых, быть компьютером выполнен.

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

Сначала рассмотрим случай с внешними носителями. Что вы с них на свой компьютер переписываете – зависит только от вас. Причём запускать это вас тоже никто не заставляет. Вывод простой: нефиг копировать невесть что, тем более нефиг запускать невесть что, а если уж надо, то просканируйте каким-нибудь бесплатным сканером. На VirusTotal залейте, например. Да, ещё есть такая мерзкая штука, как автозапуск. Отключить его в последних версиях винды стало легче, и сделать это следует в любом случае. Ну, и надо очень аккуратно обращаться со своими флешками, побывавшими воткнутыми в чужие компьютеры, так как весь софт на них автоматически попадает под категорию “невесть что”.

С сетью сложнее. Через сеть вирус может проникнуть двумя способами: либо пролезет сам без спроса, либо вы его сами пригласите. Рассмотрим оба случая.

Против вирусов, что лезут сами, нужен файервол. Идеальный вариант – подключение через аппаратный файервол. Но и встроенный в винду сойдёт, а есть и другие бесплатные. Если позакрыты все порты, вероятность пролезания чего-то извне стремится к нулю. Если какие-то порты открыты (для торрентов, например), нужно следить за обновлениями безопасности для программ, висящих на данных портах, и при обнаружении уязвимостей как можно быстрее обновляться. Ну, тут на сто процентов не застрахуешься. Но и антивирус стопроцентной гарантии не даст.

Наконец, вирусы по приглашению. Субъективно кажется, что это основной источник вирусов ныне. Ну, во всяком случае один из основных, наряду с автозапуском с флэшек (какой дурак, кстати, это придумал, это ведь не read-only CD). Первое, о чём тут надо подумать, это о нормальном браузере (Firefox сгодится) и о регулярных его обновлениях. Кстати, Windows Update тоже не надо забывать. Затем надо научиться пользоваться браузером. Кроме совершенно очевидного совета не качать что попало (включая, внезапно, пиратский софт и всякие кряки) и не соглашаться на крайне соблазнительные предложения увеличить пенис, грудь и жопу, есть и менее очевидные вещи. Например, реклама и скрипты. В современной паутине тьма-тьмущая всяких совершенно бесполезных и потенциально опасных динамических элементов. В лучшем случаи они просто тупо грузят ваш компьютер. Что ж, AdBlock и NoScript вам помогут. Без рекламы и без лишних скриптов жить становится гораздо веселее, даже если не думать о вирусах. Статическая страница, состоящая исключительно из текста и картинок, теоретически, способна нанести вред, но лишь при наличии определённых уязвимостей в коде, который всё это читает. Такая штука встречается достаточно редко, я только один раз слышал о чём-то подобном, да и то речь шла о чтении формата BMP, который уже сто лет в Сети не используется.

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