Собираю LUA.
<code>lua\lapi.c(1090): warning C4702: unreachable code
</code>
Смотрю на 1090-ю строчку:
<code>return 0; /* to avoid warnings */
</code>
История эта о буднях разработчика ОС в России. Работал я в компании, хоть и коммерческой, но по принципам госконторы устроенной. Занимался ОС для специфического оборудования. Установка ОС на него была нетривиальна, инструкция длинна, и техподдержка в ней разобраться ленилась. А уж если внештатная ситуация какая — немедленно звали на помощь разработчика.
И вот сразу три похожие ситуации с одинаковым началом.
Звонят из поддержки с вопросом по установке и переключают на меня специалиста от клиентов. На том конце провода немедленно начинается наезд: такие вы, мол, разэтакие, сроки горят, а ваш кривой софт не ставится! Всё по инструкции делается, а толку ноль. Чуть ли не судиться грозят и жаловаться куда только можно. Спустя пять минут возмущение немного утихает, и я берусь за дело. Лучшая тактика тут — максимальное спокойствие. А всё же — у всех ОС ставится, значит, тут что-то не чисто.
Ситуация один. Клиент уверяет, что всё по инструкции, но я чувствую подвох. Прошу по пунктам проделать все шаги, оставаясь на линии и описывая происходящее. Дойдя до разметки диска, «специалист» бормочет себе под нос: «Ну, тут я и сам всё знаю, не дурак», — и делает совсем не то, что надо, исходя из руководства. Десять минут убеждений — и пункт выполнен, а ОС установлена.
Ситуация два. Инструкцию проверили, всё так. Но не выходит каменный цветок. И тут я догадался спросить, а какая у них модель компьютера (дело в том, что выпускалось порядка восьми разновидностей, а официально мы поддерживаем только три из них). Так и есть — модель не из числа поддерживаемых.
Ситуация три. Инструкция выполняется. Компьютер правильной модели. И опять подвох. Озвучиваю своё сомнение: «А у вас дистрибутив случайно не битый? В договоре есть контрольные суммы, извольте проверить». И тут… А они его и не покупали вовсе. Нарезали им какие-то друзья друзей, которые имели от нас бета-версию из старой рассылки. То есть права устанавливать ОС формально попросту нет, не говоря уж про поддержку.
И общее у всех историй одно. Звонит человек уверенный, разъярённый. Ругает всех и вся, грозит. Но стоит только показать ему, что он на птичьих правах и сам виноват — и какая перемена! На том конце вежливый, интеллигентный, грустный голос вопрошает, нельзя ли их пожалеть и что-нибудь придумать в помощь, спасти сирых и убогих, пока их начальство не съело живьём. Ну чисто Янус за монитором.
А итог у историй один. Помог я всем троим двуликим, обиды не держа. Почему бы и нет — ведь себе они вредят по-любому больше всех.
Поздний вечер, спать пора. Плюхаюсь под теплый бок подруги. В голове при этом «дорабатываю напильником» софтварную реализацию I2C под AVR. Бормочу себе под нос:
— Так… Спрятать… Сдвинуть… Наложить маску…
— Чего?!
Подруга к моим шуткам привычная, но иногда мне удаётся её удивить. Посмеялись, объяснил. Через пять минут спрашивает:
— Как там было? Спрятать, сдвинуть, наложить крем?
Мания изобретательства — полезная штука! Расскажу свой случай.
Давным-давно спутниковая навигация была не для всех. Требовалось разрешение, а аппаратура была дорогой. И я придумал, как обойтись без того и другого. Группа энтузиастов договаривается с владельцами остановок и рекламных щитов, чтобы пустили развесить модули, питающиеся ночью от освещения, а днём — от солнечных батарей, передающие ближайшим мобильникам по Bluetooth свои координаты — хотя бы в виде имени устройства. Даже название придумал: ЛЮБЕНАС — любительская бесспутниковая навигационная система.
Мою идею не то чтобы разгромили, но ей досталось. В городе, говорят, навигация не нужна, а за городом не будет работать. И утверждали это жители мегаполисов! Интересно, что они сказали бы в ответ на своё «в городе навигация не нужна» сегодня? К удобному быстро привыкаешь!
Шли годы. Разрешение на спутниковую навигацию стало не нужно, техника подешевела. И вот у меня на ладони — смартфон с Symbian, умеющий определять свои координаты. Да ещё и Скайп работает!
Скайп для Symbian потом прикрыли. Но это меня не сильно огорчило: остальное же работает. Добило то, что я разбил простую «звонилку», которую носил для второй сим-карты. Дисплеев к ней в продаже не нашлось, и я созрел для покупки чего-нибудь с Андроидом.
Смарт был выбран самый дешёвый, какой удалось найти. И двухсимочный, чтобы не носить два аппарата. Ещё и Скайп заработал. Не сразу я сообразил, в чём подстава, почему он так дёшев. А потом из спецификации узнал: нет в нём ни ГЛОНАСС, ни GPS. Чего? Android 4.2 без GPS? Ага!
Но он же «навигирует»! И явно точнее, чем по базовым станциям. Оказывается, многие современные навигационные программы умеют ориентироваться по MAC-адресам вайфай-точек. Ещё элегантнее, чем я предлагал. Ничего не развешивать, а использовать не по назначению то, что в других целях с большей плотностью развесили.
Вот так я стал пользователем своего ЛЮБЕНАСа. Пусть не называющегося так, пусть изобретённого независимо от меня. Отрадно, что утверждения о ненужности такой системы оказались несостоятельны.
Позвал меня как-то знакомый посмотреть комп с формулировкой: «Не сохраняются „Одноклассники“ в Опере». Стоит упомянуть, что этот комп я лично собирал и устанавливал на него тогда ещё «хрюшу». Не то чтобы он такой уж старый, но всё же старше седьмого детища «мастдая».
В общем, то, что работы будет много, я понял уже на загрузке «форточек». Ужасные едкие цвета с гордой надписью «Вин8+64 бу Вася Пупкин» (кроме шуток, всё кириллицей, только имя автора изменено). Хозяин честно признался, что как-то относил компьютер в местный СЦ (читай: к мастерам-ломастерам из подвала) в связи с сильным шумом.
Итак, полупрозрачные с горем пополам загрузились. Картина оказалась не так уж и печальна: четыре браузера, два антивируса и три качалки из разряда скачиваемых по ссылке «скачать бесплатно без регистрации и смс» вместо самого требуемого файла. Ладно, потом, сейчас я хочу увидеть смысл фразы «Не сохраняются „Одноклассники“». Даю другу мышь в руки и прошу показать. Открывает Оперу, тут же загружается страница, забитая рекламой от
<head>
до
</body>
, и всплывает окошко с предложением скачать что-то с расширением EXE. Комментарий друга: «Эт фигня, она всегда появляется» сразу натолкнул на мысль, в чём весь подвох. Ну, дальше понятно: друг открывает «Одноклассников» в новой вкладке и со словами «вот щас закрою Оперу, они пропадут, а раньше не пропадали» закрывает Оперу. Ну, суть проблемы вроде понятна.
Открываю диспетчер задач и ищу подозрительное. Точнее, сразу выключаю то, что выглядит подозрительно. Дальше лезу в настройки Оперы и меняю стартовую страницу на гугловскую. Сохраняю, закрываю, запускаю опять — и… опять открывается страница с рекламой. Попытка номер два — тот же результат. На пятой попытке замечаю, что Опера запускается сразу со старыми открытыми вкладками. Точно!
Ярлык! Смотрю свойства, а там в конце после
opera.exe
приписан ключ с адресом сайта. Причём точно то же в остальных трёх браузерах, два из которых меня ещё и поприветствовали, будто я их только что поставил.
В общем, в итоге после перезагрузки и вглядывания в диспетчер задач был удалён (на самом деле бережно скопирован на мою флешку) зоопарк из семи вирусов (хвала богу, почти безвредных), в том числе один с названием того самого злополучного сайта в имени файла, изгнаны два антивируса, три качалки и три браузера, поставлен нормальный торрент-клиент и менеджер загрузок, более-менее нормальный антивирус (ну, копии тех вирей нашёл — и пойдёт), Тимвьюер, заменена термопаста и прочищен от пыли радиатор. Ну, и выпито два литра топлива.
Морали не будет: через неделю друг диск-криптор поймал, пришлось полностью весь диск форматировать.
Развалился у меня RAID-массив на линуксовом сервачке. Ну, бывает. Заменил вышедший из строя диск. Начинаю восстанавливать RAID. Сначала нужно скопировать структуру разделов с рабочего диска на новый. Подаю команду:
<code>sfdisk -d /dev/sdb | sfdisk /dev/sda
</code>
Дочитав до конца результат работы команды, сползаю под стол от смеха.
<code>Проверяется, чтобы сейчас никто не использовал этот диск…
ОК
[Бла-бла-бла]
sfdisk: Не нравятся мне эти разделы — ничего не изменено.
(Если вы действительно хотите этого, используйте опцию --force.)
</code>
Не нравится ему, видишь ли… Настроение поднялось на всё утро.
Спасибо разработчикам утилиты sfdisk!
Товарищ, как же ты прав!
Ровно год назад купил я ноут (точнее, помесь ноутбука и ультрабука) за …надцать тысяч киевских денег. Осенью он начал безбожно глючить вне зависимости от системы и жаловаться на ядро. Делать было нечего — отправился я в фирменный сервисный центр этого бренда. «Скорее всего, материнская плата. Гарантийный случай. Вам придёт уведомление, когда мы сделаем, ждите».
Спустя неделю ноутбук вернули. В квитанции русским по бумажному значилось: «Замена ОЗУ и мат. платы», «гарантийный ремонт». Бесплатно, включается — вроде всё хорошо… Стоп, а откуда тогда между матрицей дисплея и рамкой зазор в несколько миллиметров? И почему правая петля безбожно люфтит? Естественно, ехать обратно с претензиями было поздно. Что же, ждём конца гарантийного срока…
Сегодня гарантия наконец-то кончилась. Я вооружился отвёртками и полез смотреть, в чём дело. Результаты деятельности этих бандерлогов с отвёртками потрясли:
- недокрученные корпусные болты (рекорд — один оборот до изъятия вместо положенных семи-девяти);
- провода в крышке дисплея, вытащенные из желобков и пережатые в нескольких местах. Зачем вообще было трогать дисплей для замены матери — вопрос тот ещё;
- и в качестве достойного завершения — выломанное с мясом крепление «корыта» к основе. Как раз под правой петлёй, да.
«Послегарантийный ремонт» занял от силы час, из которых я минут двадцать потратил на полировку дисплея и ещё столько же извращался с креплением. В сухом остатке — восстановленный ноут и очередное подтверждение поговорки «хочешь сделать что-то хорошо — сделай это сам».
А подобным сервисным бандерлогам я искренне желаю таких же хирургов, стоматологов и автомехаников.
Угораздило меня прихватить весьма неуютную хроническую болезнь. Не страшно, но иногда побаливает. Плюс разные сопутствующие дискомфортные симптомы.
Само собой, прогулялся до врачей, прошёл обследование, получил внятную консультацию и пачку рецептов. Лечиться придётся долго, к тому же штука всё равно хроническая, постоянно всплывают какие-нибудь новые симптомы. Не буду же я каждый раз бедного районного терапевта дёргать по пустякам? Вот и пришла в голову совершенно идиотская мысль — погуглить, чего пишут такие же страдальцы на бесконечных форумах.
На форумах, само собой, традиционная национальная беда: каждый суслик в поле агроном, у всех непреодолимая тяга высказать своё оригинальное, неповторимое и всем нужное мнение. На сотню сообщений пара-тройка адекватных. «Это может быть то-то и то-то, но лучше всё-таки спросить у профессионалов». «У меня такое же было, это вполне легко лечится тем-то и тем-то, но лучше все же уточнить у терапевта». Все остальные посты — жутко безграмотная смесь многоточий, КАПСА и шизофренического бреда. Полный спектр народной медицины, уринотерапии, обёртывания подорожником и проч. И главное — эти странные существа (людьми их не могу назвать, сорри) имеют наглость хулить официальную медицину: дескать, ничего-то эти докторишки не знают и не умеют, то ли дело баба Клава из деревни Пердыкино, которая мастерски заговаривает ячмень.
Слушайте, врачи учатся десятилетиями, чтобы научиться хоть как-то разбираться в суперсложном человеческом организме. Это самое настоящее высшее образование. Ошибки тут чреваты кое-чем посерьёзнее, чем вопли директора о просроченном договоре. Эти люди выкладываются по полной, спасая наши никчёмные жизни, не получая взамен ни адекватной оплаты труда, ни элементарной благодарности от пациентов. И тут выскакивают какие-то недоделки (а как ещё назвать существ, которые за десять лет учёбы в школе даже русский язык не выучили?) и раздают абсолютно кретинские советы. Отдельный привет «верунам», которые после трудной жизненно важной операции бегут ставить свечки своим воображаемым небесным друзьям, даже не подумав поблагодарить хирурга и сестёр.
Да, к докторам иной раз идти совершенно не хочется — можно наслушаться многого… Но представьте себя на их месте: если ты весь день принимаешь таких вот «специалистов», которые, ясен пень, знают гораздо больше тебя, пожилого терапевта с 30-летним стажем — тут уж не до сантиментов. Если ты не выпендриваешься псевдопознаниями в строении организма, путая печень с позвоночником, врач выслушает, поймёт и пропишет адекватное лечение.
Задолбали вы, идиоты.
Довелось мне работать в российском производителе ОС. Клиенты — само собой, госконторы. И возникла в одной из них проблема с портированием их софта на новую платформу, ОС под которую выпускали мы. Ну, и выслали меня им в помощь, дабы поддержать хорошие отношения. На месте проблема стала яснее: два десятка начальников в строгой иерархии и один студент, занимающийся реальным делом, без опыта в Linux. Но речь не о нём. Софт тот нужно был портировать с i386 на MIPS под Linux. Сели мы со студентом и за вечер всё сделали, заодно показал ему, что к чему.
А теперь сама история. Был в этой организации мужик, которого все называли «экспертом по Linux». К софту и Linux он при мне, кстати, и не притрагивался, зато при каждом удобном случае говорил мне: «А ваша ОС-то — полное г.». На предложение назвать конкретные недостатки отвечал: «С ходу не могу, но ОС — точно г.». Ну, г. так г., что тут поделать.
И вот вернулся я в офис, а на следующий день звонок от этого молодца и вопросы по поводу установки и настройки ОС. А настройки эти, смею уверить, были связаны с самыми простейшими и наистандартнейшими вещами. Но начальство сказало помогать…
Спустя десять минут я объяснил ему, что такое ядро. Спустя двадцать — что такое раздел на жёстком диске. Спустя тридцать понял, что он не знает ни одной консольной команды. Спустя три часа диктовки команд по буквам и выслушивания по буквам же их вывода на экран проблема начала понемногу решаться. Причём «эксперт» чувствовал по моему голосу, что что-то не так. Сначала пытался подольститься: на мои фразы, что, мол, хорошо бы своего специалиста иметь, знающего Linux, отвечал: «Да проще вас спросить». Ладно, стиснув зубы, продолжаю. Дальше он, чувствуя уже явное недовольство, оправдывался: «Да я на самом деле по железу эксперт скорее, а не по Linux».
Но вот, наконец, возник вопрос и по железу. Нет, не что-то сложное или специфическое. Просто они выпускают свою модель MIPS-сервера, всего одну, и понадобилось мне уточнить у него (пусть не эксперта по Linux, но уж точно эксперта по hardware), сколько жёстких дисков в их сервере (единственный вариант конфигурации!). А он не знает! Вот где таких экспертов берут? Зато наша ОС — г., да…
Стоило только этому разговору завершиться, я пулей кинулся к начальству и добился разрешения послать в следующий раз этих товарищей куда подальше. Только вот они больше не звонили. Но я не жалею — без общения с такими «мастерами» мне и по сей день неплохо.
Восемь лет назад я только закончил школу и на заработанное с настроек компов друзьям, их друзьям и ещё половине городка купил себе коммуникатор на Windows Mobile — Toshiba Portege G900. Если кто помнит, это был увесистый кирпич с выдвижной QWERTY-клавиатурой и кучей датчиков. Флешки он поддерживал стандарта MiniSD — размером с половину стандартной SD-карты. Это был шикарный гаджет, ведь там можно было запустить Офис и даже сыграть в «косынку». Но любил я его за неубиваемость, гибкую настройку и лёгкость прошивки. Изначально на нём стояла WM 6.0, но она была кривовата, и через пару месяцев я решил девайс перепрошить.
Поиски прошивки, чтение мануалов, скачивание нужных драйверов и самого образа по медленному ADSL-соединению заняли несколько дней. И вот момент истины. Прошивка удалась успешно, и зверёк показал экран загрузки WM 6.5. Всё хорошо: и работать стал шустрее, и камера стала вроде как лучше, но сохранить снимок на карту она не позволяла. Поиск показал, что такого ни у кого не было. Начал копаться, переставлять карту, достал комплектную на 256 МБ — и её тоже девайс не видел… Но тут мне пришла в голову идею — лизнуть контакты на флешке и вставить её в тушку «тошибы». Девайс тут же издал «блиньк», и флешка определилась. Но работало всё только до следующей перезагрузки.
Так и работал с коммуникатором: перезагрузил, лизнул флешку, вставил — работает. Как потом выяснилось, был бракованный кардридер, но это открылось только после того, как девайс искупался в кружке чая и был восстановлен в сервисе умелым мастером.
Прослужил гаджет мне ещё пару лет и больше не проявлял такой тяги к слюне.