bash.im ithappens.me zadolba.li

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

13494

Нужны сильные программисты

1999 год. Армия. Первые месяцы службы. Тяжеловато. Однажды спрашивают, есть ли музыканты. Вызвались трое, думали в оркестр заберут или в солдатский клуб… Оказалось, надо какому то генералу тащить рояль на восьмой этаж. Потом искали художника, был у нас один талантливый, вызвался, думал посадят стенгазеты рисовать… Оказалось, надо покрасить ворота на КПП, сам КПП и ограждение вокруг военного городка, и это в мороз -40. Вот ищут пару компьютерщиков. У меня и товарища вышка по IT. Думали, думали, где может быть подлянка, ничего не придумали, рискнули, вызвались. Приводят в штаб дивизии, много белых компьютеров, мониторов, принтеров… Дают по ведру для воды, мыло, тряпки — отмыть все за два дня!

Правда, все же удалось зацепиться — показали пару фишек в Word и Excel. Потом среди штабных офицеров за нас чуть ли не драка была.

13460

Кручу-верчу, обмануть хочу

Первый компьютер (я имею в виду именно комп, а не кворум с телевизором) появился у меня в 2000 году. По тем временам это было круто: Celeron-466, 128 метров памяти (да-да, когда я спросил в магазине про 256, меня обозвали маньяком и сказали, что будет очень дорого!), винт на 10 Гб и дорогой по тем временам привод Sony (про остальное железо промолчу, ибо это неважно для истории).

Так вот. Спустя ровно полгода у этого привода что-то умерло внутри, и он отказался читать диски. Ну, то есть совсем. Любые обращения к CD оборачивались чуть менее чем полным зависанием системы в целом. Да, ресет был почти универсальным решением. Но играть-то хотелось, а игры на дисках…

Следующие полгода я развлекался так: снял морду с сидюка, поставил только появившуюся тогда Virtual CD, а дальше всё просто — я брал диск с игрой, запускал процесс создания образа, и чем-нибудь тонким (обычно стержнем от шариковой ручки или спичкой) раскручивал диск «с толкача». Диск раскручивался, дальше крутился нормально, и если его не сильно царапали — образ получался. Иногда, когда очень хотелось, я по полдня сидел, пытаясь создать образ.

Сейчас работаю в сфере виртуализации. Знал бы тогда!

13450

Квантовая неопределённость

Эффект присутствия при ловле багов? Попробуйте отсутствовать. Непонятно? Сейчас объясню.

В стародавние времена была у нас похожая история: вис один из офисных компьютеров. Ни с того ни с сего он наглухо зависал, не реагируя ни на что, кроме кнопки Reset.

Сидели над ним по часу, слушали музыку, читали книги — не виснет. Уйдёшь, оставив на попечение владельца — виснет.

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

Вот что вы делаете, когда тупо сидите у компа и чего-то ждёте? Даже если вы с ним ничего полезного не делаете — кто-то гоняет курсор мыши по экрану, кто-то постукивает по столу пальцами, заставляя мышь елозить туда-сюда на 1−2 пикселя, кто-то щёлкает кнопками.

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

Вылечили переустановкой системы, так как это было банально быстрее, поэтому настоящая причина зависания так и осталась невыясненной. Да и нужно ли это было?

13448

Дело было не в бобине

Это было в начале 2000-х в небольшом провинциальном городке. У моей мамы на работе был компьютер, который постоянно перезагружался. Вот так, без видимых причин, просто перезагружался, и всё тут. И мышь не работала. Это был, кажется, AMD Athlon 233, если я ничего не путаю.

И вот попросили меня его вылечить. Мышь была вылечена простой чисткой шарика. А вот перезагрузку я с ходу вылечить не смог — в менеджере процессов ничего криминального не наблюдалось, и я решил переустановить Windows. Переустановил, отчитался, мол, всё, процесс восстановления завершён. И буквально через пять минут компьютер снова перезагрузился…

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

13442

В ответе присутствует замена

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

У меня сразу же начались проблемы — входящий звонок есть, но модем трубку не берёт. Игры с регистрами и командами результата не приносили. Что интересно, в T-Mail'e (кто помнит такую) всё было прекрасно, входящие звонки в FIDO обрабатывались без проблем, в терминале T-Mail'a тоже всё было замечательно. Техподдержка была бессильна помочь.

С неделю бился над проблемой. Запустил Hyper Terminal и что я вижу — на команды модем отвечает не как обычно «Ok», а цифрами «1», «2».

Начал я искать файлы, связанные с этим модемом, откопал *.inf, который шёл с его драйвером. И там обнаружил интересную вещь — были прописаны типа макросов. Т. е. когда модем выдаёт «Ok», это подменяется на «1», «RING», например, на «2» и т. д. А из-за того, что в скрипте колбэка были строки, которые ждали определённого ответа — «Ok», «RING», а на самом деле в ответ получали цифры — ничего не работало.

Пришлось подредактировать *.inf, хотя, конечно, можно было поставить и стандартный драйвер. А в T-Mail'е всё работало, ведь он не общался с модемом через виндовый драйвер.

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

13440

Голь на выдумки хитра

Напишу и я немного о «кулибинстве». Тяжёлое детство, 8-битные игрушки, Spectrum, i286, AMD 5×86… Ой, не об этом. Это совсем древность. Сегодня возьмём время чуть поновее…

Итак. Есть мама EPoX 8KTA3-Pro на старом добром Via133. Есть к ней проц AMD Athlon XP 1.6+ GHz. Мама эта замечательна тем, что на ней 1 AGP + 6 PCI + 1 ISA слотов. Именно поэтому я и выбрал её в своё время для домашнего компа. Воткнуто туда было следующее: видео в AGP (профессиональный Matrox), SCSI-контроллер (Tekram), звуковуха (Awe64), две сетевухи (3com 905) и ISA-шный модем. Вдобавок четыре модуля памяти. Кроме того, проц был слегка погнан (так как был из «хорошей пластиковой» серии) до 2.0 реальных ГГц (ясное дело, с поднятием напряжения).

И всё было хорошо (даже глюк чипсета по работе с дисками не доставал, ибо Linux умеет его обходить), но разъём питания у мамы был ATX 2.0 (2.4 тогда ещё не придумали). И в какой-то момент я почуял запах гари (а комп-то работал, не выключаясь).

Анализ ситуации показал, что обгорели и обуглились все ножки питания +5 В в разъёме на маме. Дело в том, что эта плата почти не использовала +3.3 В с блока питания и получала нужные ей напряжения вторичным стабилизатором из +5 В, установленным уже на самой плате, тем самым недогружая линии 3.3 В и перегружая линии 5 В.

Решение родилось мгновенно: с обратной стороны платы было найдено четыре участка с крупными дорожками +5 В (рядом с разъёмом), они были зачищены, и к ним были припаяны провода по четыре квадрата. Ответные стороны проводов обжаты в разъёмы и подключены в БП (блок питания был мощный и имел достаточно разъёмов). В результате вместо трёх линий на маму стало идти семь линий +5 В.

И жизнь наладилась, а этот комп без всяких изменений до сих пор трудится у моих родителей — теперь, правда, уже не круглосуточно.

P.S. Проц все ещё работает в разогнанном виде, не умер и не глючит.

13433

Длина имеет значение

Дело было в 98−99 году, когда, скопив приблизительно 1000 $, я наконец-то приобрёл свой первый комп (кстати, он неплохо работает до сих пор в качестве маршрутизатора под FreeBSD в режиме 24/7/365, пару раз в год чистится от пыли, и меняются кулеры).

Эпопея началась в процессе освоения, Windows я на тот момент не видел даже в книжках и свежая 98 была откровением. Через год товарищ из параллели открыл для меня NT4 Workstation (не буду рассказывать, как я первый раз ставил её пять часов без smartdrv), на которой я просидел следующие несколько лет (года аж до 2002, несмотря на Win2000), что меня и спасло. Система была офигительно стабильна, по сравнению с 95/98, и падала, только когда я сковыривал в ней что-то руками. Не припомню ни одного случая, чтобы она упала сама.

У NT было ещё одно большое «но» — DirectX for NT застрял на версии 5, и та была unofficial сборкой, игры же уже требовали шестую версию. Это и спасло меня от бесцельного прожигания времени. Хотя через несколько лет я с помощью Win32Dasm и Hiew убедил The Sims запуститься, заNOPав все проверки версии ОС наличия DirectX, но это уже отдельная история.

Так как играть я не мог, всё времяпровождение за компом тратилось на изучение и исследование. В том числе чрезвычайно внимательно были изучены все бумажки, прилагавшиеся к компу, практически целиком прочитан весь встроенный в винду хелп (Пуск → Справка, кстати до сих пор есть множество описанных там вещей, о которых знакомые айтишники знать не знают) и методом тыка изучено содержимое CD-диска с драйверами-утилитами от ASUS’овской материнки. Знание английского у меня тоже было никакое, поэтому буржуинские мануалы воспринимались со словарём с большим трудом. В конечном итоге я понял главное — на диске записаны драйвера. Это программы для лучшего взаимодействия Windows с железом. И если установлены «родные» драйвера, то производительность будет лучше. Эпопея «как уронить Windows» стартовала.

В принципе, всё обходилось спокойно, кроме одного пункта. На диске были UDMA66 драйвера, в комментариях к которым было сказано, что эти драйвера ощутимо ускоряют работу с диском (что с 32 MB оперативки и уползанием в своп было актуально), и я решил, что установить их просто критически необходимо. После установки картинки грузиться отказались… Восстановив работоспособность винды, я перечитал readme.txt буквально по словам со словарём, и из него я постиг, что с этими драйверами винт сможет работать только с родным же асусовским шлейфом, потому что он имеет определённую capacity в отличие от других.

Вскрыв машину я обнаружил, что на родном асусовском шлейфе висит CD-ROM, а винт подключён на шлейф без эмблемы ASUS. Поменял шлейфы — и вуаля! Винда стартанула! Выключил машину, снял шлейфы и приложил друг к другу. Замерял разницу линейкой. Как сейчас помню: родной асусовский был на 12 с лишним сантиметров (!) короче… Впрочем, помогло мне это не сильно — двухгиговый Fujitsu (работает в «роутере» до сих пор) отказался стабильно работать в UDMA66, и NT-шка буквально через пару минут засыпала меня сообщениями об ошибках чтения-записи. Пришлось откатиться на UDMA33.

Следи за длиной шлейфов, %username%, провода не идеальны и тоже имеют своё сопротивление и ёмкость.

13428

Опасные игры

Дело было в середине девяностых. Учились в универе в нашей группе три товарища. Нещадно прогуливали пары, особенно по непрофильным предметам. Мотивировали тем, что работают программистами в одной крупной софтверной фирме, и мы все им немного завидовали.

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

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

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

И вот прошли все, остались только те три геймера. Взглянул на них «Вассерман» с улыбкой и сказал: «Ну что ж, для вас у меня особый экзамен, чем весь семестр занимались, то и будете сдавать». И дал он им три задания — завалить его в Quake в мультиплее трое против одного, побить его рекорды на всех трассах в NFS II и пройти созданный им уровень в Warcraft II (если уровень не проходится с первого раза, то на пересдаче даётся новый уровень). Сдавали они этот экзамен всю сессию долго и упорно, и однажды кто-то из студентов или преподавателей не выдержал и спросил его, зачем он их так мучает, они же ведь работают. «Знаю я, как они работают, — ответил „Вассерман“. — Я генеральный директор той фирмы, в которой они якобы работают».

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

13414

Чудеса да и только

У меня в стародавние времена был комп с процессором AMD K6 233 MHz, так у него встал кулер в прекрасный день, т. к. играл Винамп, а в те времена он грузил проц на 40 процентов, проц быстро нагрелся до температуры сковородки, и комп завис. Играло техно, я на диване почитывал Лавкрафта, заевшая музыка зациклилась на отлично, и я не мог понять, откуда у меня такой трек классный. Через минут 20 пошёл запах от подгорающего пластика кулера. Комп был выключен, кулер поменян на менее бэушный и намного менее оплавленный, но проц был мёртв и казался безнадёжным.

За две последующие недели в материнке побывали различные Пентиумы-1 с и без MMX, Сайриксы, K5 и даже проц с маркировкой IBM. Я был безутешен. Они все не дотягивали по мегагерцам (а значит, и по производительности) до моего ненаглядного трупчика AMD.

Через какое-то время я попробовал вставить его на место, и он запустился. Не на 233 поначалу, только на 150, но потом раскочегарился и через несколько дней опять работал в полную силу, и Винамп грузил его на каких-то 40 процентов, можно было параллельно даже в Матлабе работать. Вот.

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

13395

Попади в таблицу, если сможешь

Я один из многих, кто помнит Tetcolor. В моей семье тоже была своя «секретная» стратегия для набора большого количества очков, но проблема оказалась в другом…

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

Шок был неописуем. То ли произошёл сбой, то ли это так было задумано, то ли автор просто не подразумевал, что будут такие игроки...

С этих пор целью людей стало не набрать как можно больше очков, а максимально приблизиться к злополучному барьеру (следует отметить, что на высоких уровнях очки начислялись даже за просто положенную фигуру). Рекорд — 99987 очков. Держится уже лет пятнадцать. А таблица с тех пор постоянно бэкапится.

13392

По последнему слову техники

Лет десять назад то ли кто-то рассказал, то ли прочитал где, не помню уже. Может, история ещё старше.

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

Ближе к концу курса он начал лекцию с типа задачки. Нужно сделать устройство, накопительную ёмкость для воды. По внешнему сигналу она должна быстро опустошиться, после чего медленно наполниться до исходного уровня. Студенты сказали: «Тьфу, говно вопрос! Мы тут уже чуть ли не АЭС проектировали, а это вообще фигня!»

Предлагали операционники и микроконтроллеры. Датчики уровня жидкости резистивные и элетромеханические. Клапаны электромеханические и задвижки с сервоприводами. Кто-то даже предложил поставить компрессор атмосфер на 10 и обратные клапаны, чтобы вообще влёт воду выгонять.

Препод внимательно слушал, с чем-то соглашался, с чем-то — нет. Когда варианты подошли к концу, он хитро улыбнулся и сказал: «А теперь вспоминаем устройство сливного бачка унитаза».

13385

Спасибо, неплохо

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

— И как они там плавают по вакууму?

Теперь им по жидким кристаллам плавать удобнее.

13231

Кесарю — чижевское

Хоть я и юрист, я регулярно почитываю IT happens. И недавно вспомнил, что и у меня есть история из мира IT, которую я могу рассказать.

Дело было в далёком 1997 году, мне было десять лет, и я вовсю развлекался своим первым компом с Pentium 133 на борту. Немножко программирования, изучение винды и, само собой, игры. Играл я по вечерам, сделав уроки, и во время, когда случилась эта история, в Caesar III.

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

Прошло несколько недель. Однажды, когда моя мама ушла в детскую укладывать спать моего младшего брата, снова начались сбои. Внезапно смутная догадка посетила меня, и я направился в комнату. Открыв дверь, я увидел её — люстру Чижевского, подвешенную к потолку. Уже зная, что я прав, как во сне я наблюдал непрерывный цикл: щёлк — две секунды — щёлк — две секунды. Не слыша вопросов матери, почему я им мешаю, я выключил аппарат и побежал к компу.

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

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

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

13221

Во времена кассетные

Оказывал один дед в нашем городе услугу по записи компьютерных программ на кассеты. Естественно, не один, но бесплатно — только он.

Сейчас, может, бесплатный сыр бывает не только в мышеловках. А тогда подвох был. Давал ему клиент кассету и уходил. Через день приходил за записанной.

Кассету он назад получал ту же. И на ней действительно было качественно записано то, что он просил. Подвох был в ленте.

Если сдавалась советская 60-минутная кассета, она возвращалась как есть. А если 90-минутная, а тем паче — импортная, возвращалась она с лентой от советской 60-минутной. Открыть корпус и поменять ленту — дело недолгое.

За несколько лет работы конторы подвоха не заметил никто. Наоборот, хвалили: кто запишет не то, что просили, кто — так, что читается раз через три, а у деда всё аккуратно было и читалось всегда.

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

А сейчас он не дед, а прадед.

13212

Стоит тысячи слов

Ретрофанаты, наверное, помнят распечатки «голых девушек» в виде бумажных «простыней», на которых изображение создавалось циферками и буковками. Такие часто можно было встретить у разнокалиберных АСУшников. Вот некоторые и тут страдают по поводу ASCII-порнухи, которая, возможно, где-то есть.

Где-то и есть, а может быть у вас: просто сохраните картинку в формате XPM. Лучше в восьмибитном качестве, чтобы один пиксель был представлен одним символом — так нагляднее.

И не благодарите: я не понимаю ретромании, и в чём прикол неспособности старых принтеров печатать графику — тоже не понимаю.

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