bash.im ithappens.me zadolba.li

Давным-давно

10918

Он и в Техасе лунолёт

Моим первым домашним компом была незабвенная «Электроника МК-61». Тоже баловался с еггогологией и «Лунолётами». Даже первый мой программистский заказ был именно на МК-61 — сделал для маминого института пару программок с очень длинными расчётами.

Естественно, набрав опыта с МК-61, я начал интересовался и другими калькуляторами. В том числе узнал и о чуде чудном, диве дивном — программируемом калькуляторе с графическим дисплеем, якобы выпускавшемся в мифической заморской фирме Texas Instruments. Сами понимаете, в конце восьмидесятых и начале девяностых завладеть такой волшебной техникой было нереально, и желание поиграть с крутым калькулятором плавно перешло в ту же группу желаний, что и мечты поймать золотую рыбку или говорящую щуку.

Прошло четверть века, мне уже сорок лет, я давно живу в США. Не так давно я почти случайно опять стал студентом — на этот раз в одном из университетов Лиги плюща. Совершенно неожиданно обнаружил, что на экзамене можно пользоваться калькулятором, но нельзя смартфоном-планшетом-ноутбуком. Но калькулятором-то можно! Как вы думаете, какая модель калькуляторов оказалась самой популярной среди студентов? Правильно — TI-84! Производства той самой Texas Instruments, чьё существование я когда-то считал чуть ли не мифом.

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

10890

Мёртвый груз электросокровищ

Когда я выходила замуж, мне был обещан персональный компьютер. К сожалению, мечта реализовалась только в 1988 году, но как! Сначала БК-0010, потом IBM-совместимая «Искра» с серым монохромом. А потом мужу (он подрабатывал ремонтом электроники) привезли в ремонт штук шесть советских «Электроник». Привезли поздно вечером, сгрузили в кучку.

Утром проснулись от детского рёва. Сын шести лет увидел такие сокровища, распаковал, правильно всё собрал, подключил, вставил загрузочную дискету (не умея читать, выбрал правильно), а оно не работает!

Мальчик не пошёл в IT, выучился на «финансы и кредит», на практике в банке был самым незаменимым.

10873

Логика — удел капиталистов

Служил я в шибко секретном радиолокационном пункте, и был он такой секретный, что самую важную аппаратуру держали в закрытом ангаре, а когда надо — вывозили её за полтора километра на основную точку. Ворота ангара были построены так, что подъехать к ним ближе чем на двадцать метров — ну никак.

Среди разной аппаратуры были две интересные вещи. Первая — огромная, метра полтора в диаметре, то ли катушка, то ли бобина — чёрт её знает. А вторая — это квадратный закрытый ящик. Те, кто постарше, говорили, что там какие-то хитрые конденсаторы.

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

Таким вот образом, пока нам не выдали тележку, полгода можно было узреть картину: солдаты несут круглое и катят квадратное. Вот вам и армейский способ.

10844

Ты у меня по-другому заговоришь!

Решил я поднять в фирме сервер. Локальная сеть у нас уже была, а зачем нужен сервер, было всем ещё не очень понятно. Это было время Novell и протокола IPX.

Согласие-то начальство дало, а деньги — нет. Ну, из обломков машин собрал я системник, но без видеокарты. Монитора нет — так зачем мне видеокарта? У NetWare 3.11 уже была встроенная удалённая консоль. Настрою сервер со своей видеокартой, потом выну и буду удалённо администрить. Ну, поставил (дистрибутив нашёлся только русский), настроил, проверил, что удалённо доступно, вынул видеокарту, и стали мы сервер использовать.

Понадобилось что-то ещё настроить. Запускаю утилиту удалённого администрирования — оппа, все окошечки пустые, ни словечка! Тут до меня доходит, что при удалённом администрировании по сети просто передаётся содержимое видеопамяти, а видеопамять на видеокарте, а видеокарты-то и нету…

Пошёл на Юнону (компьютерный рынок в Питере) и в куче помоечных плат нашёл за копейки видеокарту Hercules и даже монитор к ней. Дело в том, что в эту плату нельзя было программно загрузить шрифты. Какой знакогенератор в ПЗУ прошит, тем и пользуйся. А в этой плате шрифт был только родной, английский. Но за копейки!

Взял, потом стал думать. Ставить нерусифицированный Novell — не вариант. В конторе к серверу уже привыкли, а переустановка — это приключения. Значит, надо видеокарту русифицировать!

Сначала выпаять ПЗУ. Ножек много — все не нагреть. Я их откусил. Все. Потом по одной выпаял и припаял к микросхеме. Впаял кроватку в плату на место ПЗУ, поставил на кроватку искалеченную микросхему. Работает.

Теперь надо прочитать содержимое микросхемы. Программатор у друзей есть, но на другом конце города. Зато есть сетевая карта с кроваткой под микросхему BOOTP. Ставлю туда свою ПЗУ, пишу программульку, считываю содержимое микросхемы по адресам в памяти, пишу в файл. Образ ПЗУ у меня есть, но где там шрифт? Пишу вторую программульку — вывожу на экран каждый байт как восемь символов. 1 — весь символ белый, 0 — чёрный. Следующая строка — следующий байт. Ага, вот они! Теперь я знаю, где в ПЗУ лежит шрифт. Прогоняю эту же программку по русификатору. Нахожу в нём русифицированный шрифт и в образе ПЗУ меняю один на другой. Уф…

Еду к друзьям с программатором, записываю ПЗУ. А вдруг там контрольная сумма? Ставлю в кроватку на видеокарте новую ПЗУ. Включаю. Момент истины… О чудо, всё работает! Есть русский шрифт, есть английский!

Вот так просто и незамысловато я собирал свой первый сервер.

10843

Каскадом меньше, каскадом больше…

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

А потом случилось страшное: плеер сломался. Он стал страшно хрипеть даже на минимальной громкости. Красиво поставить его на стол, включить микроколонки и пригласить девушку стало уже невозможно.

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

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

— Серёжа, что ты делаешь?!

— Ремонтирую. Проверяй уже.

Я включил плеер, и он заработал нормально.

— Но как?!

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

Короче, хорошее образование было в СССР.

10842

Дожить до компиляции

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

Потом пришла эра самодельных «спектрумов». Но проверить свои программы на такой машине мой отец не смог: лень было переводить из Фортрана в Бейсик. А вскоре тетрадь потерялась.

Недавно мы её нашли. Молниеносно поставили G77 — странный программный пакет, автоматически переводящий программу из Фортрана в Си, а затем компилирующий входящей в комплект древней версией GCC, и всё это в DOSBox.
Программы из тетрадки вбиты, пора проверять. Несколько опечаток пришлось исправить. Работают!

А вот Ада Лавлейс проверку своих программ на практике увидела лишь с того света…

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 сделал шшшшшварк и сожрал колоду. И сразу затарахтело АЦПУ, выдав какой-то непонятный график длиной метров тридцать.

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

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