11501

Зерно истины

Сижу на работе, никого не трогаю, Type 59 по южному берегу гоняю. Стук в дверь. Заходит водитель сына президента компании и робко интересуется, не может ли кто посмотреть принтер. В ходе расспросов выясняется, что принтер (домашний струйник Canon) не протягивает бумагу при печати. Как обычно, «срочно надо».

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

11500

Дипломированный специалист по сущей ерунде

Вас удивляет преподаватель, не разбирающийся в предмете? Вот вам моя история.

C и C++ я увлёкся в армии. Ну, сначала в руки попала каким-то чудом оказавшаяся книжка по программированию, потом были добыты Керниган и Ричи, Бьёрн Страуструп… Да, компьютера не было. Тетрадка, ручка, нудные часы на ночных дежурствах, когда и спать нельзя, и делать особо нечего. Помнится, особенности работы с указателями на переменные изучал в карауле при гауптвахте.

Оторвался уже на «гражданке» — приобрёл компьютер, наконец-то опробовал теорию на практике. А в рекрутинговом агентстве, между тем, предлагали вакансии преподавателя по IT-специальностям. Как ни смешно, но мог бы пойти, просто преподавать было неинтересно. А кто-то ведь и пошёл…

Уже значительно позже имел дело с подобным учебным центром (писал им программу на заказ) — понабрали «преподавателей», по-модному названных тренерами, вручили им распечатанные методички, в которых были расписаны курсы по продуктам мелкомягкой компании. Шаг влево, шаг вправо — пустота. Упоминание альтернативных коммерческих продуктов исключительно в негативном контексте, а СПО — вообще сплошная дыра и мусор. Квалификация на нуле. Достаточно сказать, что IP-адреса в локальной сети вообще назначили от фонаря, из-за чего некоторые сайты не открывались (ещё бы — если адрес соответствует местному принтеру). Зато учебный центр — сертифицированный партнёр MS, выпускающий сертифицированных специалистов за очень неплохие деньги с носа. Ну, а чё такого? Курсы-то авторизованные, настоящие. Одни их читают, другие их слушают; первые получают деньги, вторые — бумажки с печатями. Просто специалисты узкоспециализированные, в пределах одной версии одной программы.

11499

Масоны ни при чём

Миром правит не тайная ложа, а обычная лажа.

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

Но лень не побороть. Поэтому вот вам, дорогие пользователи, один try/catch на всю инициализацию и сообщение об ошибке, если какая-то ошибка произошла. А что — в 99,9% случаев всё и так отлично работает.

11498

Минимал-электро

Вы не знаете, как звучит ток? По-разному!

Например, в детстве я прекрасно слышал, когда соседи по подъезду включали свои телевизоры. Нет, дело не в громкости звука — просто в телевизорах тогда были трансформаторы строчной развёртки. Они очень громко пищали на частоте 15 625 Гц, плохо слышимой для среднестатистического взрослого человека. С возрастом перестал слышать и я, а потом исчезли кинескопные телевизоры и ЭЛТ-мониторы.

Ещё в те же примерно времена были силовые трансформаторы — они гудели на частоте 50 Гц. Точнее, вибрировали пластины сердечников под воздействием магнитного поля. Иногда гудели так громко, что мешали слушать звук телевизора или радио. Сейчас в большинстве блоков питания используются высокочастотные трансформаторы — если они и гудят, то люди их уже не слышат.

Кстати, в военной технике использовались трансформаторы на 400 Гц. Примерно такой же звук можно сейчас услышать в новых вагонах метро.

Но кроме трансформаторов, существуют ещё и наводки от окружающих нас электрических полей. Дотроньтесь пальцем до линейного входа усилителя — и вы услышите всё те же 50 Гц от электропроводки, которая создаёт в вашем теле электрический ток. Это не усилитель гудит — это вы в него гудите. Точно так же фонят мощные длинно- и средневолновые радиостанции типа «Радио Маяк», которые работают до сих пор. Их плохо слышно за гулом 50 Гц, но всякое бывает. Например, известен случай, когда пломба в зубе у пациента сработала как детекторный приёмник на p-n-переходе между материалами, и выловленный радиосигнал начал воздействовать на зубной нерв. Пациент при этом жаловался на «голоса в голове». Замена пломбы всё исправила.

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

11497

Эникей-эникей, я тебя съем

Помимо основной работы подрабатываю эникеем. Очередной звонок — как обычно, упала «семёрка» и подниматься не желает. Если честно, не понимаю, как её можно уронить. Пытался долго и нудно. Но этот заказ оказался куда интереснее, чем обычно.

Квартира на окраине города, добирался почти час. Ну вот, всё, сижу рядом с пациентом. действительно, попытка запуска и перезагрузка. Отключил принудительный ребут. 0x0000007B — проблема с винтом. Флеха с лайв-системой всегда с собой. Проверка ничего не дала. Думаю, ладно, ещё раз пройдусь с диска восстановления системы. Открываю дисковод — и тут мозги начинают усердно обрабатывать окружающие данные. В приводе был диск с Win7 Ultimate x64, как гласила сделанная маркером надпись. Хозяин не мог, имея диск с установочником системы, сам переставить её? Тут что-то не то… Сделав вид, что не обратил внимания, в биосе поменял режим с AHCI на Native IDE. Перезапуск — начал появляться рабочий стол.

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

11496

The end is NULL

Обнаружил вдруг в корне диска С: файл без расширения, называется «END». Пустой, 0 байтов размером. Стало тревожно.

11495

Без шанса на успех

Есть у нас в городе компьютерная академия. Всё выглядит солидно, академия — филиал широкой сети по всей Европе.

У меня пытались работать три её выпускника. Высоких требований к ним не предъявлялось, но очень скоро я обнаруживал, что даже такие банальные действия, как скопировать файлы из папки в папку, у них вызывают трудности. То перетащат ярлыки вместо копирования, то сделают копию файлов в этой же папке, то скопируют в другую сторону с потерей данных. Задача «скопировать файлы с определённым расширением» их вообще в тупик ставила. Ну, может, я, как олдскульный человек, пользуюсь Far, но они-то любым своим способом это сделать не могут.

Я недоумевал по двум причинам: как и чему можно учиться, чтобы не уметь делать то, с чем совладает любой необученный юзер с домашним компьютером? И к чему идти учиться и платить свои кровные, если не выучил даже самое простое? Зная, как у нас учатся студенты, я это посчитал больше их личными качествами, а не проблемами с обучением. Но история имела продолжение.

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

— Какую свободно распространяемую и кроссплатформенную базу данных вы посоветуете?

— MS SQL.

— Она бесплатная и кроссплатформенная?

— Нет, но… — преподаватель принялся перечислять её достоинства.

Сбить его с панегирика Микрософту было почти невозможно. Другие базы назвать он отказывался. Когда я упомянул MySQL, FireBird, он реагировал в стиле «не читали, но осуждаем». Уже смешно, но дальше интересней.

Обсуждаем среду программирования. Опять на вопрос о свободной и кроссплатформенной среде он начал распинаться о MS Visual Studio. После моих упоминаний о QT и ещё нескольких свободных пакетах последовал железный аргумент: «Так это же C++ нужно знать». На уверения, что я уже лет пятнадцать пишу на C/C++, как и миллионы других людей в мире, он реагировал в стиле «та не, да вы что…» Так его и не убедил. Для него человек, пишущий на C++, это какой-то мифический персонаж, в существование которого он не верит. Я так понял по некоторым его фразам, что он участвовал в каких-то древнесоветских разработках и с наступлением эры персоналок из среды программирования выпал. Учил по учебнику, по примерам — и на своём опыте и опыте своих учеников пришёл к выводу, что человек не способен выучить C++.

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

11494

Адмирал без флота, генерал без армии

Как ни крути, а работа в большом проекте имеет свои особенности, особенно когда дело заходит об анализе требований и их реализации. Сегодня нашёл вот такое послание от архитектора в коде (коммент к одному из полей в enum’е):

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

11493

Яблочный пирог из подножного корма

А у меня вот на днях тоже разрыв шаблона случился. Беру я, значит, в руки сынишкин ноутбук, включаю, вижу привычный GRUB. Кладу ноутбук на стол и выхожу покурить. Захожу обратно и вижу Макось. На обычном Асусе трёхлетней давности.

Сначала даже дар речи потерял. Просто обалдел. А выяснилось, что сынишке просто очень нравилось маковое оформление, и он абсолютно самостоятельно, при помощи одних Гугла и Ктулху, подогнал Гнома один к одному. Растёт смена!

11492

Мы его собрали из того, что дали

В истории «Спаси, сохрани и забэкапь» приводился диалог ангелов-админов, прибежавших из-за внезапной остановки сердца:

— Так, быстро-быстро бэкапчик.

— Когда последний был?

— Ага, вот, тут он просыпается!

— Накатываем-накатываем. Всё!

Это было приведено в качестве шутки: что было бы, если бы Бог и его сотоварищи были компьютерщиками?

Господа и дамы, это не шутка. Это суровая правда жизни. Называется «апноэ во сне» — внезапная остановка дыхания. В тяжёлых случаях дыхание останавливается на срок до трёх минут, иногда более 30 раз в час. Бездыханное состояние может составлять до 60% всего времени сна. Человек наутро встаёт уставший и не отдохнувший, потому что вместо нормального сна он всю ночь пытался дышать.

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

Нет бы сразу, на стадии дизайна, нормальное «железо» запланировать, беспроблемное! Так нет же, хотели сэкономить — мол, в смету не укладывались, все деньги на спецэффекты, на сотворение звёзд, планет и многообразия животных ушли. На одних только динозавров сколько ресурсов угробили — подумать страшно! Вы Спилберга спросите, сколько хороший динозавр стоит. И где теперь те динозавры? А вот для людей из исходников удалось нарыть только кучку глины и ребро. Теперь мы все пожинаем плоды неудачного дизайна, а из-за недочёта в техзадании ангелы-админы всю ночь работают не покладая рук.

Ну серьёзно, неужели Господь и вся тамошняя канцелярия могут быть кем-то ещё, кроме компьютерщиков?!