| BZIK.INFO |
|
BZIK.INFO |
|
|
{671} {670} {669} {668} {667} {666} {665} {664} {663} {662} {661} {660} {659} {658} {657} {656} {655} {654} {653} {652} {651} {650} {649} {648} {647} {646} {645} {644} {643} {642} {641} {640} {639} {638} {637} {636} {635} {634} {633} {632} {631} {630} {629} {628} {627} {626} {625} {624} {623} {622} {621} {620} {619} {618} {617} {616} {615} {614} {613} {612} {611} {610} {609} {608} {607} {606} {605} {604} {603} {602} {601} {600} {599} {598} {597} {596} {595} {594} {593} {592} {591} {590} {589} {588} {587} {586} {585} {584} {583} {582} {581} {580} {579} {578} {577} {576} {575} {574} {573} {572} {571} {570} {569} {568} {567} {566} {565} {564} {563} {562} {561} {560} {559} {558} {557} {556} {555} {554} {553} {552} {551} {550} {549} {548} {547} {546} {545} {544} {543} {542} {541} {540} {539} {538} {537} {536} {535} {534} {533} {532} {531} {530} {529} {528} {527} {526} {525} {524} {523} {522} {521} {520} {519} {518} {517} {516} {515} {514} {513} {512} {511} {510} {509} {508} {507} {506} {505} {504} {503} {502} {501} {500} {499} {498} {497} {496} {495} {494} {493} {492} {491} {490} {489} {488} {487} {486} {485} {484} {483} {482} {481} {480} {479} {478} {477} {476} {475} {474} {473} {472} {471} {470} {469} {468} {467} {466} {465} {464} {463} {462} {461} {460} {459} {458} {457} {456} {455} {454} {453} {452} {451} {450} {449} {448} {447} {446} {445} {444} {443} {442} {441} {440} {439} {438} {437} {436} {435} {434} {433} {432} {431} {430} {429} {428} {427} {426} {425} {424} {423} {422} {421} {420} {419} {418} {417} {416} {415} {414} {413} {412} {411} {410} {409} {408} {407} {406} {405} {404} {403} {402} {401} {400} {399} {398} {397} {396} {395} {394} {393} {392} {391} {390} {389} {388} {387} {386} {385} {384} {383} {382} {381} {380} {379} {378} {377} {376} {375} {374} {373} {372} {371} {370} {369} {368} {367} {366} {365} {364} {363} {362} {361} {360} {359} {358} {357} {356} {355} {354} {353} {352} {351} {350} {349} {348} {347} {346} {345} {344} {343} {342} {341} {340} {339} {338} {337} {336} {335} {334} {333} {332} {331} {330} {329} {328} {327} {326} {325} {324} {323} {322} {321} {320} {319} {318} {317} {316} {315} {314} {313} {312} {311} {310} {309} {308} {307} {306} {305} {304} {303} {302} {301} {300} {299} {298} {297} {296} {295} {294} {293} {292} {291} {290} {289} {288} {287} {286} {285} {284} {283} {282} {281} {280} {279} {278} {277} {276} {275} {274} {273} {272} {271} {270} {269} {268} {267} {266} {265} {264} {263} {262} {261} {260} {259} {258} {257} {256} {255} {254} {253} {252} {251} {250} {249} {248} {247} {246} {245} {244} {243} {242} {241} {240} {239} {238} {237} {236} {235} {234} {233} {232} {231} {230} {229} {228} {227} {226} {225} {224} {223} {222} {221} {220} {219} {218} {217} {216} {215} {214} {213} {212} {211} {210} {209} {208} {207} {206} {205} {204} {203} {202} {201} {200} {199} {198} {197} {196} {195} {194} {193} {192} {191} {190} {189} {188} {187} {186} {185} {184} {183} {182} {181} {180} {179} {178} {177} {176} {175} {174} {173} {172} {171} {170} {169} {168} {167} {166} {165} {164} {163} {162} {161} {160} {159} {158} {157} {156} {155} {154} {153} {152} {151} {150} {149} {148} {147} {146} {145} {144} {143} {142} {141} {140} {139} {138} {137} {136} {135} {134} {133} {132} {131} {130} {129} {128} {127} {126} {125} {124} {123} {122} {121} {120} {119} {118} {117} {116} {115} {114} {113} {112} {111} {110} {109} {108} {107} {106} {105} {104} {103} {102} {101} {100} {99} {98} {97} {96} {95} {94} {93} {92} {91} {90} {89} {88} {87} {86} {85} {84} {83} {82} {81} {80} {79} {78} {77} {76} {75} {74} {73} {72} {71} {70} {69} {68} {67} {66} {65} {64} {63} {62} {61} {60} {59} {58} {57} {56} {55} {54} {53} {52} {51} {50} {49} {48} {47} {46} {45} {44} {43} {42} {41} {40} {39} {38} {37} {36} {35} {34} {33} {32} {31} {30} {29} {28} {27} {26} {25} {24} {23} {22} {21} {20} {19} {18} {17} {16} {15} {14} {13} {12} {11} {10} {9} {8} {7} {6} {5} {4} {3} {2} {1} Однажды тихим вечером пятницы решил я обновить OpenWRT на своем домашнем роутере: иногда пропадал у него вайфай. Зря, как оказалось. Итак, забираю я из SVN последние исходники, собираю новую прошивку, скидываю на роутер и успешно прошиваю. Вместо того, чтобы перезагрузиться и весело заморгать светодиодами, роутер зависает. Передёргивание питания и полное отсутствие каких-либо пакетов на LAN-интерфейсе показывает, что без последовательной консоли тут не обойтись. Разобрав роутер, я лезу за преобразователем интерфейсов — и понимаю, что последний трёхвольтовый USB-UART у меня умер больше месяца назад, а новый сделать руки так и не дошли. Судорожный поиск чего-то на замену или хотя бы преобразователя уровней обнаружил лишь отладочную плату с процессором ARM. Не беда, UART есть и у него, а уровни совпадают. За полчаса изучен даташит и написана крохотная программка, отправляющая и принимающая строки, но тут появляется ещё одна проблема. Чтобы зайти в консоль загрузчика и прошить роутер вручную, нужно набрать команду в течение секунды после появления приглашения. А плата отладочная, и, конечно, никакого интерфейса с компьютером, кроме внутрисхемного отладчика, на ней нет: на интерактивную консоль можно не рассчитывать. Выход был найден такой: так как загружался девайс всегда одинаково, магическая комбинация «tpl» отправлялась после приёма символа с заданным номером. В одном из архивов найдена старая прошивка, TFTP-сервер запущен, команда на загрузку отдана… и примерно через десять пакетов меня ждёт таймаут с тем же результатом. «Акула проводов» подсказывает, что большая часть пакетов данных просто не доходит. Уж не знаю, какая рыжая муза мне подсказала, но выяснилось, что если параллельно с загрузкой зафлудить устройство пингами, то не теряется ни единого пакета. И это при том, что на сами пинги загрузчик отвечать в принципе не умеет! А роутер заработал. Только больше собирать свои прошивки я не буду. Делим с соседом интернет: у него DSL-модем с вайфаем, у меня ноут. Сосед живёт этажом выше. Сегодня с утра запускаю ноут, включаю поиск доступных сетей. Имя сети: «%name%, поднимись ко мне, у меня сотовый что-то тупит». Включил торренты и пошёл обуваться. Читаем ТЗ на подсистему программного учёта вагонного чего-то там, которое поступило на ревизию. Функции и задачи, выполняемые подсистемой, должны быть выполнены вне зависимости от отказов технических средств. Представляем, как будут проходить приёмо-сдаточные испытания. Установили систему, запустили — и хренась по тестовому стенду молотком! Потом питание отключить, провода повыдёргивать, залить сверху водой и отлакировать огнемётом. Всё ещё работает? Сдали! В начале девяностых моему отцу довелось работать в одной конторе в Санкт-Петербурге. Чем она занималась по существу, я так и не понял. Самый мощный в конторе компьютер стоял, как водится, у самого сильного специалиста, который писал программы для нужд компании. Все работники сидели в общих комнатах — о серверной и прочем территориальном разделении труда речи тогда идти не могло. Главный специалист был, по словам отца, очень суров как по виду, так и по характеру: в разговор всегда вступал сам и жутко злился, когда его самого отвлекали расспросами. После пары месяцев совместного труда «простые юзеры» вывели закономерность. Дело в том, что компьютер этого гуру был лишён каких-либо кулеров и охлаждался при помощи баночек из-под йода или зелёнки с налитой туда водой. Как вы сами понимаете, баночки ставились на всё, что могло греться, и вода испарялась. Закономерность же заключалась в том, что гуру использовал разное количество баночек на процессоре для разного рода работ: одна — заурядное задание, но всё равно лучше не соваться; три — желательно даже не дышать около производимых расчётов; две — гуру, что странно, открыт для беседы, ибо он играет, а значит, и поговорить не прочь. Работал не так давно в фирме по поддержке всем известной жёлтой программы. Среди клиентов была контора, находившаяся в другом городе. Зависали у них по несколько недель. Работали по техзаданию, но иногда приходилось выполнять что-то незапланированное. Надо заметить, что организация использовала в своей работе две разные конфигурации. Однажды главный бухгалтер завалилась к нам с претензией, что у неё не работает «перенос сотрудников». Задав серию наводящих вопросов, выяснили, что в обеих конфигурациях присутствовали справочники «Сотрудники», и тётушка хотела их, скажем так, синхронизировать. Некто, названный в процессе беседы «разбирающимся человеком», сказал главбуху, что в программе есть возможность обмена данными между конфигурациями, но не уточнил, как это нужно делать. Главбух продемонстрировала мне следующую последовательность действий: 1. Выделяется элемент справочника в конфигурации № 1. 2. Не отпуская кнопки мыши, элемент перетаскивается в окно конфигурации № 2. 3. Кнопка отпускается. 4. Результата нет. Пришлось объяснять, что такой drag’n’drop здесь работать не будет. Что ж вы хотели от жёлтой программы? Великая смена логинов для реализации контекстов безопасности — кто сталкивался с со сменой руководства в крупных компаниях, поймёт. Я, админ БД, и наш сисадмин (парень очень умный и учёный — только список его MS-сертификатов длиннее всего моего резюме за семь лет) выставляем новые логины. Попытки сделать это по виндостандарту заняли уже больше часа, а служба MSSQLServer всё продолжает сообщать нам, что мы отчаянно неправы. В какой-то момент времени до меня доходит идея сделать всё образом, не предусмотренным инструкциями. — Есть предложение сделать невиндовую аутентификацию, перезавести логин на обоих серверах, дать права db_owner на рабочих базах и право securityadmin. — Странно… По всем правилам и так должно работать. — Почему странно? Всё через жопу, так что правильность решения сомнений не вызывает! Через несколько минут: — Заработало! Если путь сообщения виндовых приложений вам кажется слишком вычурным и наполненным излишними деталями, знайте — он верный! Ввели в нашей школе систему дистанционного обучения. Если занятия в школах отменяют (мороз, карантин и всё такое), на сайте школы можно лицезреть домашнее задание. Как раз подвернулся морозный день. Занятия отменены, я лезу смотреть задание младшему брату на сайте. Всё понятно, но по истории предлагают скачать тест. Тест оказался диковинного формата SHS. Поначалу пытался открыть 2007-м Офисом, Опенофисом, на крайняк Блокнотом. Никак! Лезу в гугл. Выясняю, что это «файл фрагмента», что бы это ни значило, чем открывать — непонятно. Нахожу на заброшенном форуме обсуждение со ссылкой на конвертер. Хвала небесам! Получаю что-то вменяемое в виде RTF, где виден искомый тест. Ладно, я не поленился поискать, что это такое и с чем его едят. Но, простите, как это должны открывать дети? Неужели нельзя было сохранить в тёплый ламповый DOC? Отправил брата в школу — пускай оценку только за один такой квест требует. Работаю инженером-конструктором в небольшой производственной конторке. Офис маленький, админские функции раскиданы на тех, кто с техникой на «ты». Поразительно, но всякий раз находится кто-нибудь, кто сам ничего делать не будет, потому что не должен, но знает всё лучше всех. Сломался копир. Срочно зовут на помощь. О необходимости вызова сервисной службы начальница производства, восточная женщина предпенсионного возраста, слышать ничего не хочет: «Зачем сервис? Где-то гайка отвинтилась, её нужно подкрутить — и всё». От такой простоты даже и не знаешь, как возразить. Логично: если застряла бумага или тонер закончился, мигает соответствующий индикатор, а если мигает гаечный ключик? Понадобилось мне на днях установить прокси-сервер в одной госорганизации. Задача тривиальная: разделить канал на местный и внешний, причём доступ к внешнему полагается небольшому числу сотрудников. Как водится в госорганизациях, оказалось, что лишнего компьютера под проксю нет, а винду на главном сервере сносить категорически нельзя: там стоит важная сверхглючная программа. Оглядевшись, я заметил информационный киоск. Внутри стояло довольно сносное железо и, что главное, линукс (правда, какой-то экзотический, дебианоподобный). Недолго думая, приспособил киоск под прокси — iptables и Squid в помощь. Но это не всё: руководство организации, недолго думая, попросило разместить сайт-визитку организации внутри их сети. Киоск сдюжил. Я, конечно, много повидал программ со странностями. Некоторые нормально работают, только если папка программы находится в корне диска С:, некоторые по-разному реагируют на нажатие кнопки мыши и энтера, некоторые в упор не видят библиотеку под своим носом. Но догадаться поместить в INI-файл путь к INI-файлу (то есть к самому себе) — это уже, братцы, полная клиника и полтора часа потерянного времени. {671} {670} {669} {668} {667} {666} {665} {664} {663} {662} {661} {660} {659} {658} {657} {656} {655} {654} {653} {652} {651} {650} {649} {648} {647} {646} {645} {644} {643} {642} {641} {640} {639} {638} {637} {636} {635} {634} {633} {632} {631} {630} {629} {628} {627} {626} {625} {624} {623} {622} {621} {620} {619} {618} {617} {616} {615} {614} {613} {612} {611} {610} {609} {608} {607} {606} {605} {604} {603} {602} {601} {600} {599} {598} {597} {596} {595} {594} {593} {592} {591} {590} {589} {588} {587} {586} {585} {584} {583} {582} {581} {580} {579} {578} {577} {576} {575} {574} {573} {572} {571} {570} {569} {568} {567} {566} {565} {564} {563} {562} {561} {560} {559} {558} {557} {556} {555} {554} {553} {552} {551} {550} {549} {548} {547} {546} {545} {544} {543} {542} {541} {540} {539} {538} {537} {536} {535} {534} {533} {532} {531} {530} {529} {528} {527} {526} {525} {524} {523} {522} {521} {520} {519} {518} {517} {516} {515} {514} {513} {512} {511} {510} {509} {508} {507} {506} {505} {504} {503} {502} {501} {500} {499} {498} {497} {496} {495} {494} {493} {492} {491} {490} {489} {488} {487} {486} {485} {484} {483} {482} {481} {480} {479} {478} {477} {476} {475} {474} {473} {472} {471} {470} {469} {468} {467} {466} {465} {464} {463} {462} {461} {460} {459} {458} {457} {456} {455} {454} {453} {452} {451} {450} {449} {448} {447} {446} {445} {444} {443} {442} {441} {440} {439} {438} {437} {436} {435} {434} {433} {432} {431} {430} {429} {428} {427} {426} {425} {424} {423} {422} {421} {420} {419} {418} {417} {416} {415} {414} {413} {412} {411} {410} {409} {408} {407} {406} {405} {404} {403} {402} {401} {400} {399} {398} {397} {396} {395} {394} {393} {392} {391} {390} {389} {388} {387} {386} {385} {384} {383} {382} {381} {380} {379} {378} {377} {376} {375} {374} {373} {372} {371} {370} {369} {368} {367} {366} {365} {364} {363} {362} {361} {360} {359} {358} {357} {356} {355} {354} {353} {352} {351} {350} {349} {348} {347} {346} {345} {344} {343} {342} {341} {340} {339} {338} {337} {336} {335} {334} {333} {332} {331} {330} {329} {328} {327} {326} {325} {324} {323} {322} {321} {320} {319} {318} {317} {316} {315} {314} {313} {312} {311} {310} {309} {308} {307} {306} {305} {304} {303} {302} {301} {300} {299} {298} {297} {296} {295} {294} {293} {292} {291} {290} {289} {288} {287} {286} {285} {284} {283} {282} {281} {280} {279} {278} {277} {276} {275} {274} {273} {272} {271} {270} {269} {268} {267} {266} {265} {264} {263} {262} {261} {260} {259} {258} {257} {256} {255} {254} {253} {252} {251} {250} {249} {248} {247} {246} {245} {244} {243} {242} {241} {240} {239} {238} {237} {236} {235} {234} {233} {232} {231} {230} {229} {228} {227} {226} {225} {224} {223} {222} {221} {220} {219} {218} {217} {216} {215} {214} {213} {212} {211} {210} {209} {208} {207} {206} {205} {204} {203} {202} {201} {200} {199} {198} {197} {196} {195} {194} {193} {192} {191} {190} {189} {188} {187} {186} {185} {184} {183} {182} {181} {180} {179} {178} {177} {176} {175} {174} {173} {172} {171} {170} {169} {168} {167} {166} {165} {164} {163} {162} {161} {160} {159} {158} {157} {156} {155} {154} {153} {152} {151} {150} {149} {148} {147} {146} {145} {144} {143} {142} {141} {140} {139} {138} {137} {136} {135} {134} {133} {132} {131} {130} {129} {128} {127} {126} {125} {124} {123} {122} {121} {120} {119} {118} {117} {116} {115} {114} {113} {112} {111} {110} {109} {108} {107} {106} {105} {104} {103} {102} {101} {100} {99} {98} {97} {96} {95} {94} {93} {92} {91} {90} {89} {88} {87} {86} {85} {84} {83} {82} {81} {80} {79} {78} {77} {76} {75} {74} {73} {72} {71} {70} {69} {68} {67} {66} {65} {64} {63} {62} {61} {60} {59} {58} {57} {56} {55} {54} {53} {52} {51} {50} {49} {48} {47} {46} {45} {44} {43} {42} {41} {40} {39} {38} {37} {36} {35} {34} {33} {32} {31} {30} {29} {28} {27} {26} {25} {24} {23} {22} {21} {20} {19} {18} {17} {16} {15} {14} {13} {12} {11} {10} {9} {8} {7} {6} {5} {4} {3} {2} {1} |
|
| BZIK.INFO |
|
BZIK.INFO |