Читаем Bash.org.ru IT Happens Истории ## 11001 – 12000 полностью

— Как ты поставил NT4 на HPFS?! Ладно, как оно загрузится, драйвера от 3.51 работают. Но как оно бутится с HPFS?

— Честно, не помню, что по пьяни творил…

Мучил «четвёрку», как мог. В ней были DLL и от 3.51, и даже от 95-й. Вместо морды был Litestep и прочие извращения. Меня убил один инсталлятор. При запуске он мне заявил, что это не Виндоус, что это такое, он, понимаете ли, не знает, а потому и ставиться не будет. Вот так, господа.

<p>#11338: Фрине#%зди</p>

12:15 28.08.2013, IT happens

Взяли мы себе в отдел человека. Парень высокий, толстый, волосатый. Про наличие «харлея» забыли спросить. Народ вокруг винду да Novell Netware вертит, я тогда на цисках плотно сидел и баловался Slackware. А чудак с порога:

— Я профи во FreeBSD.

Ну, давай так. Будешь рулить банкоматы, а потом и воду в бассейн наль… ну, дадим тебе, то есть, развить свои таланты бздюшника.

Прошло время. Банкоматы рулит кое-как, скулит ежедневно про фряху. Заколебал в качель. Вот тебе тачка, шоб через неделю вертелся на ней Сквид!

Прошло больше месяца. Наконец-то фряха запустилась. Кое-как. Сквида не дождались. Но псевдобайкер ходил и после был уволен с гордым именем Фрине#%зди.

<p>#11339: На языке Шекспира и Гейтса</p>

12:15 28.08.2013, IT happens

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

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

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

Вам не нравится? Мне тоже. Поэтому я использую англоязычный интерфейс. Нет ничего сложного в том, чтобы запомнить смысл слов File и Options, несложно привыкнуть к понятиям Blur и Sharpen, а если вдруг попадётся что-то новое и незнакомое — есть Гугл. В любом случае это проще, чем разгадывать загадку: что означает «Отменить отмену» и как оно выглядело в оригинале?

<p>#11340: А стул догорал подо мной</p>

23:24 28.08.2013, IT happens

Занимаюсь программированием PLC Siemens. Есть такая возможность — передать со SCADA целых 4 КБ данных за один цикл, пусть байтовым массивом — но можно же! А при объёме оперативной памяти 128 КБ и под хранение программы 512 — это ой-ой-ой. Решил заняться этим вопросом, благо рецептурная база в пищёвке — вещь необходимая. Вышел я из отпуска — и понеслась…

Шаг первый: скачал пример. Работает, но выворачивает байты наизнанку. Моторола же ж. Ладно, выкурил учебник по C, пристрелял его к реалиям извращённой логики скрипта. Приходит случайно сгенерированный массив в нужном виде.

Шаг второй: ещё один пример для выборки данных из отданного на растерзание пользователю куска SQL-базы. Скурил Александрийскую библиотеку. Сделал. Выбирает данные, запихивает в сгенерированный массив, затем пишет в тэг по номерам байтов, взятым из номера шага и номера параметра.

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

Шаг четвертый (стул начал тлеть): два массива перебираются в трёх циклах по типу переменных — переменная времени, булева, real. Всё хорошо, но при переборе массива число итераций не увеличивается, что приводит к падению в стоп. Левый глаз дёргается, правый судорожно читает срач на форуме. Умный человек советует скурить книгу Бергера. Слава ему и честь, указывает главу. Смысл в том, что если ты собираешься вызывать один функциональный блок несколько раз, то тебе не надо ничего делать, но второй адресный регистр забирает компилятор под статпеременные, в которых лежат счётчики итераций. Эту возможность можно отключить только при создании блока. Но после — уже никак не изменить судьбу, быть ему навечно мультиэкземплярным.

Перейти на страницу:

Все книги серии Bash.org.ru IT Happens

Похожие книги