Истории с тегом: давным-давно

Всего историй: 506

10836

Были ножки — стали ручки

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

Я был молодой, горячий и первым делом сжёг на одном из роутеров консольный порт. А это катастрофа: поконфигурить оставшийся я ещё могу, а проверить взаимодействие на простейшей сети из двух узлов — уже нет. И времени ни на что тоже нет. И отремонтировать, конечно, нереально: импортных микросхем в стране не водится.

Иду к начальнику, как описавшийся пудель, опустив уши. Сам я был из программистов (Turbo Pascal, ага), а начальник из электронщиков.

— Александр Иванович, беда, я сжёг консольный порт, что делать?

— Ерунда, Саня, сейчас поправим!

Дальше было, как в плохом голливудском кино. Шеф открывает корпус, на какой-то микросхеме перекусывает пару ножек, припаивает пару проводков-перемычек и говорит:

— На, больше не жги.

Подключаю консоль — работает!

— Александр Иванович, как?!

— Фигня, Саня, это ж оригинал, с которого 155 серию содрали. Там пара лишних элементов «или — не», я их и задействовал.

Так что чудеса всё-таки бывают.

10833

От така фигня, малята

Представляете, интернета когда-то не было. То есть он был, но где-то там, далеко. А у нас об этом явлении никто не слышал. Но потребность заявить всему миру о себе существовала у пользователей компьютеров уже тогда. Надо было что-то с этим делать! И люди покупали модемы.

Кто не мог себе позволить модем, одалживал у друзей. Покупали старые, подержанные. Тащили с работы. Ходили в гости к друзьям с модемом. Тогда иметь модем считалось шиком. Интернета всё равно не было, поэтому люди звонили модемами друг другу. Поиграть, например, в Doom. Или Warcraft. Или пообщаться. Раньше ведь форумов и блогов не было, потому что не было интернета. Молодое поколение может и не знать о том, что форумы — это были такие большие тусовки всяких специалистов на определённую тему, вроде конференций. Политические обычно. Они собирались на несколько дней и что-то активно обсуждали. А блоги велись обозревателями в печатных изданиях. Читали все, но в комменты никто не срал. Потому что интернета не было.

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

Ещё были эхи. В них все писали всем. Это прообраз современных интернет-форумов с одной лишь разницей: если ты подписан на эху с определённым названием, например, GAMES, то получаешь все сообщения этой эхи, а не только те, что интересны тебе. Первые всплески массовых срачей как раз возникали в этих эхах. Кто-нибудь что-то напишет, ему ответят. Слово за слово, пошло-поехало — как и сейчас. А так как читают все, кто подписан, то в итоге доставалось всем ото всех.

Многие BBS входили во всемирную сеть FIDO и обменивались пакетами сообщений с вышестоящими по рангу узлами. Посылали почту своих пользователей дальше и принимали почту, адресованную своим пользователям. Если ты был абонентом такой BBS, то можно было читать городские, междугородние, международные и интернациональные эхи. Ну, и сраться, соответственно, со всем миром. Помню, подписался я на фидошную эху RU.REMONT, думал почитать о том, как обои правильно клеить. Очень удивился, что эха вовсе не про ремонт.

К тому времени интернет всё же появился, по крайней мере, в Москве. Можно было звонить модемом провайдеру и лазить по сайтам за 30 центов в минуту. Доллар тогда 8 рублей стоил, а зарплата в 800 баксов считалась очень хорошей. Да-да, такие вот бешеные деньги. От скорости твоего модема зависело, успеешь ты выкачать этот реферат или нет. Кстати, рефераты тогда найти было без проблем, они не были зарыты в дебрях порнухи и прочих флеш-баннеров. Но интернет был тогда очень недоступен, дорог — в общем, его не было. Приходилось искать рефераты на каких-нибудь BBS.

Кстати, время пользования BBS было ограничено. Если ты простой пользователь, у тебя было минут 15–20, если опытный — до двух часов. Чаще всего это зависело от количества зарегистрированных пользователей: если их мало, то времени больше. Можно было увеличить своё время, если сделать что-нибудь полезное. Закачать на BBS какой-нибудь нужный файл, например. Ага, BBS предлагали пользователям меняться не только сообщениями, но и файлами. Файлы надо было закачивать в определённые директории: игры там, программы, тексты. О музыке и фильмах речи не шло: модемы не могли быстро передавать такие объёмы. Максимум — это какая-нибудь игра в архиве размером мега полтора. Передача такого файла занимала час, если не больше. Помню очень хорошую многоканальную BBS от какой-то библиотеки на Тверской. Там было столько всего…

Однажды юношеский приятель, сосед по подъезду, стал счастливым обладателем модема. Когда эйфория от этого события несколько спала, мы пришли к выводу, что надо теперь что-то делать. Чтобы позвонить на BBS, нужен, по крайней мере, телефонный номер. А мы не знали. Обзванивали знакомых, кто-то в итоге дал какой-то номер. Дальше надо было прозвониться. А линия занята, кто-то сидит уже. Через два часа мы таки дозвонились и зарегистрировались. За это время умные люди подсказали, что первым делом надо заполучить актуальный список московских BBS. После лазания по дебрям файловой свалки и весьма познавательного чата с хозяином самой борды (он, по счастью, оказался у компа в тот момент) мы таки заполучили список. И началось… Занято — звоним дальше. Длинный гудок! Ура! Второй, третий. Кто-то взял трубку: «Алё». А ему в это время модем начал на своём языке пищать. Там в ярости что-то крикнули и положили трубку. После этого мы поняли, что определённый столбик в списке BBS означает время, когда она работает. Особо крутые работали круглосуточно, но подавляющее большинство — с полуночи до утра. Кто-то держал BBS на работе. Такие работали с семи-восьми часов вечера — очень удобно было.

Это был совсем другой мир. Сейчас всё проще и удобнее. Но многие BBS работают и по сей день. Представляете?

10829

С первого раза и десятой попытки

В конце 80-х в наш ВЦ в хорошем, крепком НИИ пришёл молодой чел в костюме, и, о боги, при галстухе. Потребовал аудиенции у начальника машины. Конклав начальников четырёх машин во главе с главным технологом почесал под белыми халатам на голое тело и поинтересовался:

— Какой именно машины?

— Самой мощной.

Начальник ПС-2000 скромно улыбнулся и поинтересовался: какого, собственно, нужно от суперкомпьютера?

— У вас есть Фортран?

— Фортран у нас есть, но чтоб получить к нему доступ, надо иметь веские основания. Машина не простаивает, и очередь жаждущих высоких вычислений расписана вперёд.

— Вот, — сказал чел и показал какую-то папочку.

Ознакомившись с папочкой, конклав почесал под халатами ещё раз и отправил чела к начальнику всея ВЦ.

Через час меня, скромного техника первой категории, оторвали от приятного занятия — ремонта армянской станции по подготовке данных на ГМД — и вызвали пред высокие очи.

— Вот, — сказали высокие очи, — это краснодипломник мехмата. Решающий при написании диплома Очень Важную Задачу. Ну, во всяком случае, так выходит по его бумагам — писаны деканом, подписаны ректором. Разрешение на машинное время я ему дам. А ты, разгвоздяй, будешь ему ассистировать. И ещё раз предупреждаю: шорты не носить! А то волосатые ноги из-под халата…

— Окэ, босс.

— И не босс я тебе! А начальник. И этта: ПС-2000 я ему не дам. Ковыряйтесь на ЕСке.

В машинном зале ЕС-1055 чел сразу раскрыл дипломат с перфокартами, ринулся к ридеру и, загрузив на удивление невеликую колоду, жмякнул красную кнопку. Кнопка «Сброс», обрадованная таким вниманием, загорелась. Чел завопил нечленораздельно и кинулся к резервному ридеру…

— Стоять, Зорька!

— Вы не понимаете! Очень! Надо срочно посчитать! Очень! Колоссальные ресурсы нужны. Вам же начальник сказал. Только у вас в ВЦ. Потому что это очень! Самые мощные в городе ЭВМ. Нужно для народного хозяйства. Математическая модель…

Я внимательно слушал поток шизофазии. Через полчаса мне надоело.

— Так. Чувак. Тут такое дело. Нельзя в машину сувать всяку каку. Ручонки от аппаратуры убери. Карты свои спрячь.

— Но ведь чрезвычайно…

— У тебя это что на картах?

— Программа!

— Зашибись. Уже странслированная? А для какой машины и какой системы?

— ???

— В объектном коде?

— ???

— Исходник?

— Да-да! Я сам написал.

— А на чём?

— На Фортране.

— На каком?

— ???

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

— Вот. Этим трудом я руководствовался…

— Ага. Фортран-77. Только у нас его в системе нету. Не пишет у нас в НИИ на нём никто. Надо собрать сначала.

На следующий день собираю из объектников компилятор 77-го Фортрана. Гоняю предписанные тесты. Врывается чел.

— Я все понял! Я выбрал не тот язык реализации. Вот! Я всё переписал. На Си. И на всякий случай на Паскале.

— Э-э-э? Си у нас тоже нету. То есть совсем нету. Не пишет у нас никто на Си. И на Паскале, Бейсике, Алголе, Аде, кстати, тоже. Вот PL/1 есть. Фортран 66. Ассемблер/370. Давай свои давешние карточки. Сейчас будем компилять твой Фортран-77.

— Эээ… А я их выкинул. Но у меня есть блок-схема (достаёт тетрадку) и исходный текст (достаёт большую тетрадку). Вы же мне их пробьёте?

— Нет, дружок. Я отведу тебя к общаковым перфораторам. И ты пробьёшь это сам.

— Но я никогда…

— Пробьёшь-пробьёшь.

Через два дня чел принёс восстановленную колоду. Выяснилось, что о фирменных фортрановских шести пробелах в начале строки он не знал. Ещё через два дня он принёс переделанную колоду. На следующей неделе он догадался подписывать карты. Перфораторы у нас были без надпечатки. Ещё через пару дней компилятор перестал ругаться на прохлопанные запятые.

— Ну вот, дорогой друг. Теперь ты готов к запуску программы. Клади карты в ридер. Оператор запустит считывание. А я пойду покурю пока.

Так вышло, что задержался я после перекура. Прихожу через пару часов, а в машзале истерика. Чел бегает за оператором с криками:

— Ещё! Ещё раз! У меня всё правильно! Мне компилятор сказал!

А операторша от него улепётывает с визгом:

— Уберите! Уберите! Буйный!

И только тут выяснилось, что чел вместо задания на выполнение с соответствующими JCL-операторами, запускающими задание в нужном классе и от нужной учётки, с нужным компилятором, линковщиком, библиотеками, данными, файлами и т. п. просто пихал в машину исходник на Фортране. И так два часа.

После лекции о JCL и нескольких походов к перфоратору чел наконец приготовил свою задачу к счету. Задачу всех времён и народов. Задачу с народно-хозяйственным значением. Задачу его красного диплома, отворяющую врата в аспирантуру и кандидатство.

Успокоенный оператор набрал на консоли START RDR UNIT=00E. Я приготовился понизить приоритет всем остальным задачам для освобождения всех восьми мегабайт ОЗУ. Ридер 00E сделал шшшшшварк и сожрал колоду. И сразу затарахтело АЦПУ, выдав какой-то непонятный график длиной метров тридцать.

— Э-э-э? — спросил я.

— Всё. — упавшим голосом сказал будущий аспирант. — Всё посчиталось… Уже…

Оторвал распечатку и ушёл. Больше в нашем ВЦ он не появлялся. Хотя красный диплом он, наверное, не совсем зря получил. Всё ж его программа, написанная на бумаге, после чистки опечаток правильно сработала с первого раза.

10823

В тютельку

В 1992 году прокладывали мы сети во всех московских загсах. Ещё не Ethernet и даже не ARCnet. Потом несколько месяцев, где бы я ни шёл, фиксировал боковым зрением все проложенные кабели и ошибки монтажа.

Пришлось просверлить немало стен. Тогда о перфораторах почти никто не слышал, и была у нас обычная дрель со сделанным на заводе по знакомству метровым сверлом.

Очередной загс, дом в старом фонде. Сверлю очередную стену. С другой стороны у стены стоит только платяной шкаф, остальная стена голая. Загнал в стену своё метровое сверло полностью — с другой стороны ничего не показалось. Ну, я же опытный (уже пятый загс) — понимаю, что попал в шкаф. Открываю шкаф — ничего. Вынимаю все вещи — пусто. Сверло нигде не торчит. Ничего себе стена! Значит, надо обходить по коридору. На всякий случай заглядываю за шкаф в узкую щель — и вижу сверло, уходящее в шкаф! Сверло диаметром 10 мм попало точно в боковую стенку шкафа толщиной 10 мм и прошло по ней вдоль сантиметров пятнадцать, не высунувшись ни изнутри шкафа, ни снаружи. По бокам отверстия остался только слой шпона. А перед этим сверло прошло через кирпичную стену сантиметров шестьдесят.

Чудеса бывают. Только поганые.

10812

Вирусы рубят — ошмётки летят

Давным-давно всё запускалось из командной строки. Вот девушка-оператор попыталась открыть редактор, но где-то ошиблась, и программа не запустилась. Девушка без всяких сомнений начала свою работу. Заносит строку текста в командную строку, нажимает «ввод», оно ей пишет: «Bad command or…», а она продолжает заносить дальше. И ничего же в душе не дрогнуло, что всё на экране по-другому! Я случайно заметил, когда она была на третьей странице своего текста.

Как положено бюджетникам, на работе я не работал, а играл. Играл в довольно людном помещении. И игры были достаточно динамичные и громкие. То есть на экране летает самолётик, мочит неизвестную инопланетную нечисть, раздаются звуки стрельбы и взрывов. Так продолжалось несколько лет, пока коллегам кто-то не сказал, что я играю. Они всё это время думали, что я работаю. Наверное, считали, что это у меня такой навороченный графический интерфейс. Это в Досе-то.

Когда нужно было взломать игру, я брал текущее количество ресурса, что мне нужно было увеличить, на калькуляторе переводил в шестнадцатеричный вид, менял порядок байтов. Но это ещё не всё. Я мог посмотреть файл в hex-кодах, но поскольку редактировать там было нельзя, то я замечал, какими символами были представлена моя последовательность, открывал save-файл текстовым редактором, искал её и заменял. Такой вот «Артмани» ручной работы.

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

10807

Пиксель к пикселю

Было это в 1993 году. Заканчивая ЛИТМО, я нашёл программистскую халтуру, чему был очень рад. Фирмочка, которая клепала «синклеры», продала штук тридцать в школу для компьютерного класса. Но школа поставила условие: с компьютерами должны быть две обучающие программы. Вот их мне и предстояло написать.

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

Выход был найден. На миллиметровке я нарисовал характерный силуэт Питера с названием фирмы сверху, разлиновал по 8 мм — и началась «оцифровка»! Закончилась, к слову, довольно быстро. И последнее извращение на закуску: чтоб не разбираться с графическим режимом, забил кусочки картинки в знакогенератор и вывел эту мозаику в текстовом режиме.

При сдаче заказчику на его восхищённое «Отсканировано?!» можно было небрежно бросить: «Ну да…»

10803

Внортонепоэфтрисампосмотри

В хорошем, крепком банке с конца восьмидесятых активно использовались несколько барабанных АЦПУ с интерфейсом ИРПР. А надо знать, что ИРПР — это штука хитрая и с привычным Centronix не особо совместимая. Поэтому к этому делу прилагался драйвер.

Изначально всё это было заточено под XT. К 93-му году экстишки себя совсем изжили и были переданы в филиалы райцентров, где после Robotron-1715, а кое-где и печатающих калькуляторов Elka-55 им сильно обрадовались. На смену заслуженным экстишкам пришли 286-е машины. Тут-то принтера и отвалились. Кооператив, который делал сопряжение интерфейсов, уже давно пукнул и испарился — разумеется, вместе с исходниками. Печатать сальдовки по сто метров надо. Оставшиеся экстишки отбирают в приказном порядке.

Давай разбираться, что не так. Тык-мык-тык-мык. Что первое в глаза бросается? Экстишка — 4,77 МГц, 286-ая — 12, а в турборежиме — 16. Перепаиваем кварц на экстишечный. Работает принтер. Значит, завязан на тактовую частоту и квитирование делает в зависимости от неё. Но кто ж позволит из работающей экстишки кварц попятить?

«Пишем драйвер», — говорит шеф. Пишем, чё! «За сутки управимся», — отвечаю я.

И тут выясняется, что спеков на ИРПР хоть чем жуй. А вот на ИРПР-М, он же Centronix, чё-то не видно нигде. Ну, пока всякие НИИ работали, можно было в их научных библиотеках покопаться. Или в какой ВЦ по старой дружбе заглянуть — спеки-то не секретные. Но на улице был 93 год, и почти всё уже загнулось и позакрывалось.

Хорошо, что драйвер был пару килобайт. Плохо, что в виде TSR-программки. Если что, Hiew и IDA появились заметно позже, а досовский debug дебагать TSR не очень умел. Даже хекс-режим «внортонепоэфтрисампосмотри», по-моему, ещё не появился. Поэтому сначала мы получили старую добрую распечатку хекс-дампа драйвера. Потом «дизассемблировали» карандашиком на бумажке. Нашли цикл задержки, который крутился в цикле управления квитированием, после чего рассчитали нужные значения для 12 МГц и попатчили драйвер. Найти под утро компилятор ассемблера тоже оказалось непростой задачей. Да и драйвер изначально не на ассемблере был писан. И мусорного кода было предостаточно.

Самое главное, что в цикле гонялось транспонирование каких-то мусорных матриц. Увеличение размеров матрицы и их количества позволило аналогично попатчить драйвер под 25, 33, 40 мегагерц. А вот, не приведи господи, считался бы там какой-нибудь факториал…

Потом появились 486 с кэшем, и всё накрылось тазом. Но к тому времени под рукой уже были и дебаггеры, и IDA, и компиляторы. И году в 96-м драйвер был-таки переписан.

10798

За зерно ответишь?

Хороший, крепкий банк начала девяностых был серьёзной конторой. Так как местный авиазавод нам был крепко должен, то не в падлу было взять самолёт на денёк и сгонять в первопрестольную за оргтехникой. И выбор там был неизмеримо больше, и за покупку наличкой без проблем делали все документы.

Одна была незадача. В те времена всех покупателей компов и периферии априори считали колхозниками и лохами. То CGA-монитор вместо VGA пытаются впарить, то вместо 286-го на 16 мегагерц втихаря на 12 подсовывают, то дисководы SS/SD вместо DS/HD.

Был в те времена такой весьма критичный момент — зерно монитора. Мониторы с зерном 0,21 мм стоили запредельно даже для хорошего, крепкого банка. Но уж 0,28 мы могли себе позволить. А так как все норовили подсунуть 0,39 или вообще 0,41 в формате 14", то был измыслен способ аппаратного контроля. А то тайваньцы или корейцы на коробке могли что угодно написать.

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

Прилетаем в столицу. Приезжаем в фирму. И каждый монитор включаем и поверяем на соответствие написанному на коробке. Красота! Партию забраковали. Через пару недель вторую. А там уже и уважать начали.

10795

Do you speak CP 866?

Кто тут хотел баек от сорокалетних спецов с двадцатилетним стажем? Их есть у меня.

Дело было лет двадцать назад, когда писишка была редкостью, стоила дорого и не всегда комплектовалась мышкой, а про локальные сети мало кто слышал. Действующие лица: студенты специальностей 220100, 220400 и 220500 в количестве пяти человек. Инвентарь: БК-0010 с дисководом и принтером СМ6337.

Один из студентов приносит дискету (5,25 дюйма на 800 КБ, «бэкашка» другие не понимала) с книжкой по IBM PC в виде голого текста. В книжке, по его рассказу, много интересного. Возникает идея распечатать, тем более что книжка специально порезана на кусочки по 8–10 килобайт, что позволяет напечатать её на БК (там всего чуть меньше 16 КБ для программ и данных выделено).

Мгновенно ваяется программочка, перекидывающая байтики в порт принтера, начиная с определённого адреса памяти. А чего? Несколько команд на ассемблере. В нужную область памяти грузится первый файл, программа запускается, принтер печатает несколько знаков… и затыкается. Программа завершает работу.

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

Печать пошла. Только вместо текста полезли кракозябры. «Опа! — говорит один из студентов. — На писишке кодировка 866-я, а тут КОИ-8». Возникает логичный вопрос: что делать? Таблиц с кодировками под рукой нет, посмотреть их негде (про интернет тогда никто и не слышал), а распечатку получить хочется.

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

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

10701

Колыбель бухгалтеризма

Вас спросили, в каком месте передней панели системного блока производитель замаскировал кнопку включения питания? Не спорю: чтобы не найти значок на этой кнопке, надо иметь некоторый талант. Однако проблема поиска кнопки навеяла воспоминания.

Был в стародосовые времена компьютер аглицкой фирмы «Амстрад» под названием PC1512. Внутри был 86-й процессор, полметра памяти, жёсткий диск (как бы ещё не MFM), пара флопиков калибра 5.25 и EGA-адаптер для графики. Комплектовался компьютер в зависимости от кармана покупателя монохромным или цветным монитором.

А теперь вопрос: где у него была кнопка включения питания? Не на морде, как у большинства нормальных компьютеров. И не на задней части боковой панели, как на популярных в начале 90-х десктопных корпусах. Кнопка включения на этом чуде британской инженерной мысли располагалась сзади на мониторе и включала/выключала и монитор, и системник.