Смысла которых никто не знает:
1. Всплеснуть руками.
2. Трагически заламывать руки.
Как “всплескивают руками”? Когда это делают? Вспоминается только, что со словами “Какой кошмар!”. А заламывание рук – знак отчаяния.
Смысла которых никто не знает:
1. Всплеснуть руками.
2. Трагически заламывать руки.
Как “всплескивают руками”? Когда это делают? Вспоминается только, что со словами “Какой кошмар!”. А заламывание рук – знак отчаяния.
“Люди свободны. Люди не принадлежат сами себе. Каждое мгновение – развилка, определяющая, как дальше пойдёт история. Всё предрешено прошлым и будущим, изменить ничего нельзя. Любое наше действие порождает волны, которые расходятся по времени. Каждый проступок и каждое доброе дело отражаются снова и снова. Главное – быть храбрым. Любовь – это движущая сила вселенной. Негров обижать нельзя.
Мы как кванты, которые… в общем, кванты.”
Если забыть о прекрасной музыке, увлекательном сюжете и общей грандиозности, вы только что посмотрели “Облачный атлас”. В его обширном философском подтексте каждый найдёт свои любимые ответы на свои любимые вопросы.
В японской прозе постоянно встречается “обычная”, “повседневная” или “будничная одежда” (shifuku, 私服 ). “Навстречу мне вышел отец в обычной одежде”, “в коридоре стояла Кирино в обычной одежде”, “по пути нам встретился Акаги в повседневной одежде”.
Понятно, что это значит “не в школьной форме, не в костюме готик-лолиты и не в рабочем пиджаке”. Но переводить-то неудобно! Читатель скажет – вот заладили: обычная одежда, обычная одежда… Если она обычная, чего о ней говорить?
Дело в том, что в Японии значительно теплее, чем у нас.
В России десять месяцев из двенадцати на улице ветер, слякоть или мороз. Поэтому у нас существуют “домашняя” и “уличная одежда”. Мы привыкли к ним так же, как японцы привыкли к своей “обычной”. Нам не покажутся странными фразы:
“Навстречу мне вышел отец в домашней одежде”
“В коридоре стояла Кирино в уличной одежде”
“По пути нам встретился Акаги в уличной одежде”
Это какие-никакие, а уточнения. Конечно, лучше бы сказать “Акаги в джинсах и куртке поверх футболки”, но “Акаги в обычной одежде” звучит хуже, согласитесь.
Итак, если текст позволяет – если нет картинок – заменяйте “обычную одежду” на “домашнюю” или “уличную”, по обстоятельствам. Ничего страшного, если герой в “уличной одежде” сразу пройдёт к себе в комнату: в тёплом климате Японии это не вызовет вопросов (на самом деле ведь так и происходит).
А если мешают картинки (трудно назвать “уличной одеждой” майку с шортами) – просто замените “обычную одежду” её описанием.
Это вольность перевода, но результат того стоит.
Был у нас переходник с евророзетки на советскую. Маленький белый такой. Если присмотреться, он состоял из двух частей, воткнутых одна в другую и соединённых болтом.
Кто-то пришёл.
Болт выкрутил.
Унёс.
А две части оставил.
Вот нафига? Болтов других не было?
В пятом сезоне каждая серия – это очередной гвоздь в крышку гроба для симпатий к Волтеру Вайту. Столбик градусника приязни падает на глазах: теперь уже хочется, чтобы Волт проиграл. Он умудрился, не став по-настоящему крутым, как этого все ждали, стать по-настоящему плохим. Получился трусоватый и нелепенький, но жестокий учитель химии с манией величия.
Трусость, конечно, понемногу уходит, но заменяет её не уверенность в себе, а ощущение вседозволенности. Выходит, Breaking Bad показывает нам историю становления диктатора того сорта, который в глубине души остался кроликом, просто вырастил броню и когти-ножи.
Майк – старикан-убийца – сказал про Волтера: “Это бомба с часовым механизмом, который отстукивает: тик-так, тик-так, тик-так. Рано или поздно она рванёт, и уничтожит всех вокруг, и я не хочу в это время быть рядом”. Наверное, он говорил про манию величия: для химика нет правил, он никогда не удовлетворится тем, что имеет. Волт всегда будет рисковать, бросаться в огонь:
“You asked me if I’m in it for the money business or the drug business? I’m neither. I’m in it for the empire business.”
Я сочувствовал Волту первые сезоны, даже когда ему приходилось поступать жестоко – именно потому, что его вынуждали обстоятельства. Я сочувствовал ему даже тогда, когда Волт был сухарём и врал, что ему жалко погибшего ребёнка: некоторые люди просто лишены эмоций, тут ничего не поделаешь. Но теперь Волтера всерьёз решили сделать плохишом.
if AnsiCompareStr(uppercase(value),uppercase(s))<0 then r:=c else
if AnsiCompareStr(uppercase(value),uppercase(s))>0 then l:=c+1 else
if AnsiCompareStr(uppercase(value),uppercase(s))=0 then r:=c;
Мало того, что “<=” разбито на “<” и “=” с одинаковым исходом, так тут вообще достаточно одной проверки:
if AnsiCompareStr(uppercase(value),uppercase(s))<=0 then r:=c else l:=c+1;
UPD. Я в этот пост буду складывать все такие примеры!
if (doall) then
begin
if not doall then
beginПока рефакторю чужой код, постоянно ловлю себя на мысли из Стругацких:
Мы здесь не для того, чтобы их спасать.
Всем строкам кода не поможешь, их слишком много, а наши силы ограничены! Закрой глаза на это чудовищное условие для while из 15 строк. Отвернись, когда видишь, как одна и та же проверка снова и снова вызывается в цикле. Занимайся своим делом: переписывай самые медленные места, а остальное оставь как есть. Тут просто эпоха такая.
Ну вот, после моих переделок текст, который раньше переводился в Вакане минуту 10 секунд, переводится за 5 секунд.
Хо-хо!
Полюбуйтесь, что для этого пришлось нагородить:
{$IFDEF INTEGER_HELL}
{
Note on integer comparison optimization:
We're not checking if roma_t[i].hiragana has one or two 4-chars.
It's okay. If it has one, then roma_t[i].hiragana[5]==#00, and it wouldn't match
to any 4-char hex combination.
It also won't AV because the memory's dword aligned and hiragana[5] is accessible already.
}
if ((pinteger(ps)^=pinteger(roma_t[i].hiragana_ptr)^)
and (pinteger(integer(ps)+4)^=pinteger(integer(roma_t[i].hiragana_ptr)+4)^))
or ((pinteger(ps)^=pinteger(roma_t[i].katakana_ptr)^)
and (pinteger(integer(ps)+4)^=pinteger(integer(roma_t[i].katakana_ptr)+4)^)) then begin
{$ELSE}
if FcharCmp(ps, roma_t[i].hiragana_ptr, 2)
or FcharCmp(ps, roma_t[i].katakana_ptr, 2) then begin
{$ENDIF}
Это я здесь сравниваю строки из 4-символов (4 байта на хекс-код).