1. Куча / Говнокод #25756

    +2

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    Я заведую информ. отделом. 
    В подчинении у меня четверо сотрудниц разных возрастов.
    Но, вне зависимости от возраста, все они - тэпэ, слепо верящие в авторитет прежнего шефа.
    А он был своего рода звездой... После его рукожопства мне приходится в одиночку поднимать всю техническую базу. 
    Хуже некуда: болтающиеся кулера, горелые адаптеры, принтеры с выработанным на 101% ресурсом, дряблые мониторы с корябанными, вздутыми емкостями. 
    Даже провода витой пары приходится соединять пайкой. Всем стараюсь помогать, общаюсь с техподдержкой.
    Но коллектив меня ненавидит.
    
    Вчера поспорил с наиболее молодой тэпэшкой - она с пеной у рта доказывала, что отключать системник кнопкой - опасно, якобы это вызывает сбои. 
    По ее мнению, нужно программно - из меню "пуск". Я посоветовал ей почитать про ACPI, после чего демонстративно выключил кнопкой.
    Видели бы Вы, как они работают - напоминает ритуал по вызову дождя. Подозреваю, что дипломы у них купленные. Не может оператор быть таким нубом.
    
    Вот такая грустная история.

    Свалю я наверно.

    Запостил: cmepmop, 08 Августа 2019

    Комментарии (118) RSS

    • >> приходится соединять пайкой

      Баландой чтоли смачиваешь?
      Ответить
    • > выключать кнопкой
      Выключаю красной кнопкой на пилоте. Быстро и удобно.
      Ответить
    • Стетор, ты конечно эникейщик опытный, бумагу в принтер с закрытыми глазами заправишь, но скажи мне: ты правда думаешь, что на курсах оператов ПК учат про power states в ACPI?
      Ответить
    • А ведь раньше не было никакого ACPI, и после завершения работы винды на экране красовалась надпись "Теперь питание компьютера можно отключить"...
      Ответить
      • Интересно, а если ACPI таблицы наебнуть, покажет ли десятка подобное сообщение?
        Ответить
        • Windows 95 показывала это сообщение всегда: и при наличии ACPI, и без.

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

          На материнках ATX после этой картинки выключался блок питания (эта картинка появлялась на доли секунды).

          Были материнки с двумя разъёмами, к которым можно было подключать и блок питания ATX, и блок питания AT. Если подключить БП AT, было видно картинку. Если подключить БП ATX, компьютер выключался.

          Выключение работало даже на машинах без ACPI. Винда вызывала соответствующую функцию BIOS INT 15h (так называемый APM, который упомянул гость), которая была позаимствована из биоса... древних ноутбуков.
          Ответить
          • Все так, только про APCI Win95 конечно ничего не занала, я даже удивлен, что она занала про APM
            Ответить
          • Не знаю как сейчас, но раньше ради бесперебойников на линуксовых серваках подобный костыль делали. Когда батарейки оставалось совсем мало, ось не выключала питание через ACPI, а тупо уходила в холостой цикл. Иначе материнка потом могла не запуститься автоматом когда восстановится питание.
            Ответить
      • Был APM который никогда не работал нормально, а до этого -- да. Был AT. Винда завершала процессы, парковала hdd, и можно было нажимать power off.

        Этот файл был обычной bmpшкой внутри c:\windows. Мы как-то написали там "неустраняемая ошибка 232342, обратитесь в Microsoft"
        Ответить
        • Какой багор )))
          Ответить
          • ну там багор случился у папы одклассинка, который попытался выключитьк омптютер
            Ответить
            • > багор
              Я бы подумал: "да и хуй с ним, всё равно выключать собирался".
              Ответить
              • А ведь есть люди, которых запугали, что если они неправильно выключат компьютер, то он больше не включится и его придётся нести в ремонт. У них начинается паника: «Ай, что делать, у меня компьютер не выключается».
                Ответить
                • Ну строго говоря в эпоху до журналов и софтапдейтов ФС, вполне можно было сломать невправлиьно выключив
                  Ответить
        • >> Винда
          >> парковала hdd
          Чего несёт...
          Ответить
          • что не так, дурачок?
            Ответить
            • HDD сам паркует свои головы. Именно поэтому внешние HDD можно тупо выдергивать, разумеется, если в этот момент нет операций ввода-вывода, не пользуясь пунктом "Безопасное отключение". Да он и не сработает.

              Есть мнение, что как только внешнее питание отключается, двигатель, продолжающий вращаться по инерции начинает работать в режиме генератора. Полученной энергии хватает, чтобы припарковать головы. Читал лет 15 назад, инфа могла устареть.
              Ответить
              • Особенно хорошо он это делал в 1994 году, когда вышел Win95
                Ответить
              • На свежих тупо пружинка паркует когда напряжение на катушке пропадёт.
                Ответить
                • Друзья, ну я же написал про "Wi95"!

                  Что делала функция AH = 19h у биоса (13H) ?
                  Ответить
                  • Она это делала на 286, а Win95 на нем не работает
                    Ответить
                    • Я ковырял «Windows 95». После выбора завершения работы он вызывал win.com с ключом /Z (этого ключа нет в хелпе). Он в свою очередь перед показом знаменитой картинки вызывал какую-то функцию BIOS. Помню, что нашёл её у Ральфа Брауна и там значилось... «PARK HEADS».
                      Ответить
                      • ахаха! Значит, все таки соснул гость!))))

                        Винда ПАРКОВАЛА голову!
                        эта была функцыя 19h?
                        Ответить
                        • Достаём из установочного комплекта win.cnf (Винда собирает из него win.com, прикрепив к нему bmp-файл с облачками). Прогоняем идой...

                          Нашёл только AH=0: RESET DISK SYSTEM. Может быть, парковка была в userinit.exe или в другой версии?

                          Зато нашёл вызовы INT 15H:
                          mov ax, 5300h
                          mov ax, 5301h
                          mov ax, 530Eh
                          mov ax, 530Fh
                          mov ax, 5308h
                          mov ax, 5307h
                          mov ax, 5304h

                          Гуглим... это APM.

                          Windows 3.x ещё ни про какой APM не знала, а 95 уже знает про APM.

                          Надо будет ещё userinit покопать.
                          Ответить
                          • Так APM вроде и запилили MS и Intel году так в 1992-м.

                            Ты хочешь сказать что 5304h это функция 15hго прерывания, которое биосное?

                            Кста, единственная книжка по ACPI от Intel, которую мне удалрось почитать, первые три страницы хуесосила APM.

                            классический пример это когда ты смотриш презентацию померпоинт, а комп вырубается бо ты давно не трогал мыш
                            Ответить
                            • Кокококой интересный фрагмент:
                              mov ax, 5307h
                              mov	 bx, 1
                              mov	 cx, 3
                              int 15h

                              5307 — это послать команду устройству.
                              bx = 1 — это все устройства.
                              cx = 3 — это выключить.
                              Ответить
                              • ох уж блядь мне эти до-ACPIные биосные API.

                                Это видимо выключить все устройства, О которых знает бивис.
                                Оче Актуально для всяких ноутов

                                зы: скажи
                                ты ведь тут прочитал
                                http://www.oldlinux.org/Linux.old/docs/interrupts/int-html/rb-1401.htm
                                ?
                                Ответить
                                • Я прочитал, где было менее подробно.

                                  0003h  off (not supported for device ID 0001h in APM v1.0)

                                  Какой багор ))) А Винда именно отправляет состояние 3 устройству 1. Видимо, она требует наличия как минимум APM 1.1.
                                  Ответить
                                  • Я думаю, что APM 1.0 был реализован нигде, как это часто бывает с хардварными спеками:)
                                    Ответить
                                • Офтопик. В установочном комплекте Windows 95/98/Me лежит файл MINI.CAB — это урезанный комплект Windows 3.1 (не 3.11, не fwg, а именно 3.1). Распаковав его, можно получить рабочую копию Windows 3.1, которая влезает на дискету 1,44М с DOS'ом. Я так делал загрузочную дискету с «Сапёром» и с «Пасьянсом».

                                  Положили Windows 3.1 туда для того, чтобы... запускать из неё инсталлятор Windows 95/98/Me.
                                  Ответить
                                  • а я-то думал: почему там кнопочки такие, как в Win3.11
                                    а он просто под Win311 написан;)))

                                    Акак ставились винды до висты (когда все переехало на winpe)?
                                    Ответить
                                    • У NT была своя среда. До «XP» даже были образы загрузочных дискет, на которых была «Windows NT» без гуя. Там cmd.exe стартовал вместо рабочего стола. По сути это предшественник winpe.

                                      А вот у 95/98/Me ничего своего не было, именно поэтому они для установки использовали Windows 3.1 (DOS для запуска Windows 3.1 они использовали либо свой из IO.SYS, либо тот, которым был загружен компьютер). Можно было запустить инсталлятор из имеющейся на компе Windows 3.x, тогда MINI.CAB не потребуется.
                                      Ответить
                                      • Помню что 2k я сначала ставил из win98 (года до 2002-го было полезно иметь рядышком w98, бо не всё и не всегда нормально работало в 2k): там было два сетапа: 16битный (для доса) и 32битный для винды

                                        XP уже ставил без 98 конечно.

                                        А WinPE нормальное решение, странно что так не сделали сразу.
                                        Все юниксы известные мне именно так и ставятся: запускается юникс (разве что с немного другим загрузчиком) и оттудава запускается сетап

                                        И всегда можно починить что-то если не загрузиться
                                        А в 2K/XP с его ебаным рекавыри консоль это бло больно
                                        Ответить
                              • Не работает с APM 1.2
                                Ответить
                          • Не userinit, а wininit.exe. В нём парковки нет... Где же я её тогда видел?
                            Ответить
                            • может все таки в драйвере диска какомнить?
                              Ответить
                              • Или я reset спутал с парковкой? Reset я только что нашёл, а у него: «pulls heads to track 0».
                                Ответить
                          • Скачай лучше кокойн-ебуть park.com и посмотри что перед cli hlt
                            Ответить
                            • клянусь твоей головой, что там int 13h с функциекй 19h
                              Ответить
                              • ААААА!

                                https://archive.org/details/PARK.COM

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

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


                                          Кто-то тут писал, что 19H завезли в AT, то-есть в двойке его не было, может в этом дело?

                                          Ваще гря AT это AT-Attachemnt

                                          его не было в XT
                                          Ответить
                                          • >> клянусь твоей головой, что там int 13h с функциекй 19h

                                            Кстати, как быть с этим? Или поищем другую реализацию PARK.COM? Вроде была какая-то в дурдосе и какая-то в Norton Utulities или типа того.
                                            Ответить
                                            • никак, придется ему голову отрубить
                                              слово есть слово

                                              качни отсюдава
                                              http://ibm-pc.org/utilities/hdd/hdd.htm
                                              Ответить
                                              • A Tool To Allow Using a HDD Not Supported In The BIOS

                                                Качаю, пригодится для APCHI в ХР!
                                                Ответить
                                                • автор утилиты зашил в нее все известные ему HDD.
                                                  Все пять
                                                  Ответить
                                                • > APCHI
                                                  Будь здоров.
                                                  Ответить
                                              • А программы из этого списка просто сикают. Ну в смысле делают seek на цилиндр с определённым номером.

                                                Кстати, для чего в бивисе функция seek, если уже есть функция чтения произвольного блока?
                                                Ответить
                                                • болядь, так они все паркуют головку посредством двигания ее на нулевой блок?
                                                  вотжежблядь

                                                  > в бивисе функция seek, если уже есть функция чтения произвольного блока?

                                                  ну может чтобы сик руками не писать?
                                                  Ответить
                                                  • Не на нулевой, а на последний. Там какая-то арифметическая формула, вычисляющая номер нужного цилиндра.

                                                    >> ну может чтобы сик руками не писать?

                                                    У меня два варианта:
                                                    1. Чтобы перед чтением-записью проверить, что такой блок действительно доступен.
                                                    2. Для парковки (если передать специальное значение).

                                                    Функция seek (судя по её номеру) появилась вместе с функциями «длинного чтения» и «длинной записи» (которые умеют за раз читать/писать несколько блоков). Видимо, чтобы не получить облом в конце операции, и ввели функцию seek для предварительной проверки.
                                                    Ответить
                                • > parks the heads in ST-506/ST-412 interface drives
                                  Не совсем то, однако.
                                  Где-то я уже видел упоминания сигейта.
                                  Ответить
                                  • бля
                                    это же воозе еще не ATA даже

                                    это же тупой диск с контроллером на плате
                                    Ответить
                                    • >> ATA
                                      >>
                                      Это даже не IDE.

                                      С шаговым блять двигателем.
                                      Ответить
                                      • ATA/IDE использовались как сисисномины, но на самом деле это не совсем так.

                                        Первая фирма, которая перенесла контроллер в HDD (кажется это был компак) удлинила обычную шину (это была ISA, но тогда она так еще называлась).

                                        получивашуюся хуню она назвала IDE: Integrated Device Electronics.

                                        Потом решили список команд специфициролвать и тогда выпустили спеку ATA (это подспека ISA на самом деле)

                                        Так что тот сигейт это не IDE, как ты написал верно, бо электроника езще не в диске, а в отедьной плате
                                        Ответить
                                        • ATA-1 это стандартизация IDE после его успеха, только и всего.
                                          Ответить
                                          • ну я написил же тоже сасмое
                                            [quote]
                                            Потом решили список команд специфициролвать и тогда выпустили спеку ATA (это подспека ISA на самом деле)
                                            [/quote]
                                            Ответить
                                  • >> 17 Views

                                    Кроме юзеров «Говнокода» это старое говно ещё кто-то искал?
                                    Ответить
                        • А что делает функция 0? Пишут, что это сброс контроллера (reset). В чём он заключается?
                          Ответить
                          • * pulls heads to track 0
                            * causes the disk to recalibrate on the next disk operation

                            ну ищи видимо сбрасывает его состояние, регистры всякие
                            Ответить
                    • >Она это делала на 286,
                      AT and NEWER
                      Ответить
                  • > Int 13/AH=19h - FIXED DISK - PARK HEADS ON ESDI DRIVE
                    Ну ты хотя бы подгугливал незнакомые слова
                    Ответить
                    • ES:DI
                      Ответить
                    • Большинство функций BIOS работало со всеми интерфейсами (IDE, ESDI, MFM, RLL), на то он и BIOS. Другое дело, что у многих жёстких дисков с интерфейсом IDE уже была пружина, которая парковала автоматически, поэтому в команде парковки они не нуждались.
                      Ответить
                      • Я думаю что правильнее всего почитать спеку по ATA коммандам.
                        Если там есть паркование головы, то соснул гость. А иначе соснул гость
                        Ответить
                        • Йоу, старое говно! Я слыхал, вы любите старое говно, поэтому я принес старое говно в ваше старое говно!

                          https://www.youtube.com/watch?v=M0kxcc67l0w
                          Ответить
                          • Бамп RAMDACу р­усни!
                            Ответить
                          • А поломается ли принтер, если не парковать головку прерыванием?
                            Ответить
                          • Я паял ковокс для LPT-порта на матрице резисторов R-2R. Вообще элементарная схема.
                            Ответить
                          • Модель с синей наклейкой самая годная.
                            Разве с параллельного порта можно взять 5В для питания колонки?
                            Ответить
                          • 5:50. На клавиатуре между клавишами «G» и «H» джойстик. Вживую я таких клавиатур не видел.
                            Ответить
                          • Офтопик. Смотрите, что нашёл:
                            EMS64.EXE       Device Driver & Program
                            
                            Purpose:        A device driver & program that emulates the Lotus/Intel/Microsoft
                            Expanded Memory Specification, Version 4.0, in software, permitting extended memory
                            above 4GB in x64 machines to be used as expanded memory. It uses unreal mode that
                            cannot work in virtual 8086 mode. The XMS driver must be installed before EMS64.EXE
                            because it uses XMS memory for handles, handle names and paging tables.
                            
                            Format: DEVICE=[d:\][path\]EMS64.EXE
                            Ответить
                            • Кто-то реально юзал дос на машинах с овер 4 гигами?
                              Ответить
                              • Сомневаюсь. Да даже когда требуется меньше четырёх гигов, всё равно под реальный режим пишут только маленькие программки, а требовательные программы пишут под защищённый, ибо EMS — отстой. Посредством EMS ты смотришь на память через маленькое окошко (размером 32К или 64К). Недаром эти ваши «Doom», «Duke Nukem», «Quake» сразу писа́ли под защищённый режим.

                                В принципе, можно занять овер 4 гига под RAMDRIVE и закэшировать весь раздел с досовскими программами туда для буста пирфоманса.
                                Ответить
                      • The Unload feature of the IDLE IMMEDIATE command causes a device that has movable read/write heads to
                        move them to a safe position.
                        Upon receiving an IDLE IMMEDIATE command with the Unload feature, the device shall:
                        a) stop read look-ahead if that operation is in process;
                        b) stop writing cached data to the media if that operation is in process;
                        c) retract the heads onto the ramp if the device implements unloading its heads onto a ramp;

                        d) park its heads in the landing zone if the device implements parking its heads in a landing zone on the
                        media; and

                        e) transition to the Idle mode

                        http://www.t13.org/Documents/UploadedDocuments/docs2013/d2161r5-ATAATAPI_Command_Set_-_3.pdf
                        Ответить
                    • подгуглил тебе в рот, проверь
                      http://stanislavs.org/helppc/int_13-19.html
                      Ответить
                      • > Park Fixed Disk Heads
                        > DL = drive number (0=A:, 1=2nd floppy
                        WTF?
                        Ответить
                        • Что тебя смущает? У FDD тоже есть головка
                          Ответить
                          • >> Fixed
                            >>
                            Ответить
                            • ой, ну автору текста надо дать по руками за лишнее слово
                              но ему уже лет шестьдесят поди, прости ему это
                              Ответить
                      • stanislavs ёбнулся и постит какую-то ватную политоту постоянно
                        Сёма, фас!
                        Ответить
                        • Ага, как Сёма такое пропустил?

                          http://stanislavs.org/wp-content/uploads/2017/05/remember.png
                          Ответить
                          • Есть ещё SemaReal.
                            Ответить
                          • Лишнехромосомные, вы же сами этого ва́тника зачем-то форсили вместо того, чтобы просто использовать RBIL кинуть DMCA жалобу и помочь вернуться в родную гавань. Еще и закладки поставили.
                            Ответить
                • В HiFi ЭПУ Unitra G*** была такая же фишка. В целях безопасности головки, рычаг микролифта фиксировался электромагнитом, который удерживал его, пока на соленоид поступала энергия. Как только проигрыватель отключали, либо пропадало питание из сети, мощная пружина поднимала тонарм над диском.
                  Ответить
                • Есть видео, где хдд паркует головы?
                  Ответить
                  • Я думаю есть, спроси у ютуба.
                    Ответить
                  • Конечно: https://www.youtube.com/watch?v=gtAJTb0WFUI.
                    Ответить
                    • Я не очень понимаю где именно паркуются головки. Они же всё равно над блинами.
                      Ответить
                      • Они уходят чуть в сторону от блина, если я не туплю.
                        Ответить
                      • В технологической области, где ничего не хранится.
                        Осуждали же выше, запрашивает кокой innermost cylinder и двигает за него, цилиндры нумеруются от края к центру, броманд тупит.
                        Ответить
                • свежих?????!
                  Ответить
              • >> Именно поэтому внешние HDD можно тупо выдергивать, разумеется, если в этот момент нет операций ввода-вывода

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

                  >предложит проверить диск на ошибки.
                  в случае журналируемых ФС (то-есть почти всех современных кроме одной ЛучшейОС) это займет меньше секунды ибо надо просто проиграть журнал
                  Ответить
                  • У FAT изначально не было, потом Винда какой-то из зарезервированных байтиков приспособила под этот флаг.
                    Ответить
                    • ну мож быть. DOS этого не делал
                      А вот Win95 уже запускала scandisk, я помню
                      Ответить
      • А давайте стертору в качестве чарити напишем на Visual Delphi такую надпись, он обучит своих русоматок и будет иметь больше времени общаться с нами на говнокоде!
        Ответить
    • https://habr.com/ru/post/448530/

      Человек, называющий себя grey-hat hacker решил погуглить что такое "свободные inodes"
      Ответить
    • https://youtu.be/gYv2rzsgz8E
      Ответить

    Добавить комментарий