3386

Псевдодедуктор

Летняя сессия. Внезапно в полный рост встала необходимость сдавать курсовую работу. Вообще-то на неё отводилось два месяца, но всё это время ваш покорный слуга проводил, как истинный студент, а именно пинал балду. Пояснительная записка с никому не нужной теоретической ерундой у меня была (на неё я время когда-то выделил), а вот программы не было совсем. До сдачи пять дней. Тема работы, к слову, была достаточно серьёзная: анализ данных с помощью искусственных нейронных сетей. Предполагалось, что тему эту я изучу сам (своего рода исследовательская работа в рамках курсовой). На тот момент я имел представление только о том, как работа этой самой сети выглядит со стороны — ознакомился на примере пакета Deductor.

Ну что же. За три дня ускоренно изучается загрузка данных из таблиц Экселя с помощью ADO (исходные данные для анализа, пожалованные мне преподавателем, хранились в .xls), пишется оболочка с нехитрым, но солидным интерфейсом, примерно повторяющим виденное в Дедукторе, и прикручивается пара фич для большей напыщенности. В следующие два дня с сайта BaseGroup скачивается прекрасная open-source-библиотека с компонентами, реализующими нейросети в Delphi, быстро вкуривается, прикручивается к проге...

И тут встает вопрос: а каким образом оцифровываются данные перед обработкой? Тем более, что они у меня и числовые, и строковые, и «дата-время». Помедитировав, изобрёл метод: для каждого поля считались все уникальные значения, запоминались порядковые номера этих значений и подавались на вход нейросети. То есть обучающий пример выглядел как-то так: «Если в поле_1 значение №1/5 и в поле_2 значение №2/19, то в поле_3 значение № 3/7». Очень неплохая «оцифровка» вышла! Жутко довольный собой, запускаю это дело на тестовый прогон. Что и требовалось доказать: средняя ошибка расчетов более пяти тысяч, что совсем уж некошерно. Кроме того, на выходе сеть выдаёт значения вида 9,999999 и только на седьмом знаке после запятой начинает варьировать цифры. А я-то думал, она мне сейчас такие же порядковые номера выдаст, как я ей позагружал. Наивный... Понимая, что изучить верный метод оцифровки данных за последнюю ночь я не успею, в дело пускаю что? Конечно, Великий Рандом. Конечно, спрятанный табуляцией куда подальше за экран.

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

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

3385

Молния: велено не пущать

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

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

3383

То овцы, то бараны

Я мечтал поступить на биофак МГУ и посвятить свою жизнь изучению животных. В итоге я стал обычным айтишником, каких в Москве полным-полно. Хотя мечта работать с животными сбылась, да...

3382

Охлаждение на века

Пару лет назад купил себе домой новый комп. Машинка довольно шустрая, новые игрушки бегают без проблем —люблю после работы вечерами поучаствовать в кибербоях. Но всплыл интересный глюк: барахлил датчик температуры. Стоило доблестным электросетям выключить электричество (ИБП я ещё не успел купить), как BIOS стал верещать о перегреве процессора, хотя он даже толком нагружен не был. Сутки курения мануалов и сёрфинга по сети ничего не дали: все мудрые советы железных гуру сводились к замене термопасты. Были перепробованы все прошивки для этой ревизии мам — сдвигов не было. Пришлось искусственно зарезать частоту проца — только тогда уже система не ругалась на перегрев.

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

Дальнейшее вызвало истерический смех. Друг кричит в подсобку молодому помощнику:

— Вася, дай тюбик термопасты!

— А нету, кончилась.

— Не гони, у меня на столе лежит!

Вася выносит тюбик, морщит лоб и задумчиво произносит:

— А на что я тогда десять процов посадил?..

Оказалось, собирали они партию компов для госорганизации, а молодому доверили кулеры на процессоры устанавливать. Это чудо налепило десять кулеров на термоклей! Компьютеры уже благополучно уехали заказчику — до первого апгрейда можно не волноваться.

К слову, я потом решил проблему с датчиком. Суточные танцы с бубном дали быстрое решение из серии «клин клином вышибают». Компьютер обесточивался, нажималась кнопка включения, кулеры делали полоборота, выбирая остатки электричества. Вуаля — датчик больше не глючил.

3381

Права, техосмотр, активные процессы

Настраивал в фирмочке клиентам учётные записи под Windows Server 2003. Пароли, пути к базам 1С, принтеры, принтер по умолчанию, — нудная тягомотина, одним словом. При этом бухгалтеры всё норовят пробраться в 1С накладную распечатать, и когда я, не видя этого, захожу с сервера под их учёткой что-нибудь подкорректировать, их выкидывает, о чём те сразу же докладывают возмущённым голосом. «Ничего страшного, — говорю, — сейчас снова на сервер зайдёте, ничего у вас в 1С не закрылось».

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

3380

Земля уходит из-под ног

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

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

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

3379

Можно просто Ваня

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

— Какая операционная система установлена?

(бодро) Ну, %providername%, конечно!

— Windows XP? Vista? 7?

(растерянно) Вы знаете, наверное, Виндоус...

— Какую ошибку показывает при подключении? (Работаем через VPN.)

— Пишет: «Невозможно отобразить страницу».

Бывают и нестандартные ситуации.

— Скажите фамилию, на кого договор?

— Иван Петрович!

Пятисекундная пауза, разрыв шаблона, чувство, что где-то меня обманули.

— А фамилию можно?

— Да можно просто Ваня!

* * *

— Как давно сканировали на вирусы?

— Зачем мне сканировать, у меня их нет!

— Каким же образом вы это определили?

— Я их вчера все удалил.

— Сами?

— Сам.

— Скажите, а интернет когда перестал работать?..

Апофеозом же был следующий случай:

— Ко мне тут сегодня должны были приехать, но не приехали. Так я это... Я ваш ящик на чердаке вырвал и с крыши скинул на @#$!

3378

Пробежимся по-быстренькому

Если девушка вам говорит: «Милый, @#$, иди спать уже!», то её нужно слушаться.

Второй час ночи. PHP-код. Цикл, в котором должны выводиться из базы категории товаров. «Должны», потому что на самом деле выводится только последний элемент. Грешил на базу — двадцать минут проверял данные. Поубирал кучу условий выборки, оставив банальное WHERE 1. Потом просто закомментил всё внутри цикла и поставил вывод счётчика. Не помогает! Сношу всё, переписываю с нуля — работает. Возвращаю код назад и вижу такой ужас:

for ($i=0; $i<20; $i++);

Проверяйте наличие пустого оператора после цикла — сэкономит кучу времени!

3377

Пальцем в небо

Знакомый товарищ звонит проконсультироваться, задаёт различные вопросы по железу.

— Ай, @#$!

— Что, в кулер процессора пальцем попал?

Как ни странно, я оказался прав.

3376

На дядю?

Хорошо быть фрилансером! Там, где твой ноут и есть инет — твоё рабочее место. Когда смог — выходной, когда сам решил — отпуск. Устал — отдохни, устал отдыхать — поработай. Никто тебе не начальник, кроме тебя самого. Сколько заработал, почти всё — твое, не надо кормить вечно недовольных начальников, тёток-бухгалтерш и блондинок-секретарш.

На работу ездить не надо. Глаза продрал, комп включил — ты уже на работе. Не надо торчать в пробках после того, как час машину отогревал — тебе пофиг, какая температура на улице! Тебе не толкаться по автобусам-трамваям. У машины небольшой пробег, потому что на ней ты катаешься только отдыхать.

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

Ты никогда не опоздаешь на работу. Никто. Никогда. Тебя. Не. Уволит.

* * *

Плохо быть фрилансером! C работы никуда не убежишь: где бы ты ни был, там твоё рабочее место. Что бы ни случилось, ты работаешь. Спать пошел — ты всё равно на работе.

Если с денежкой напряг — забудь про отдых, работу тебе никто не принесёт, ты её должен отрыть сам. Ты должен доказать, что среди тысяч ты самый подходящий. У тебя нет коллег, у тебя есть только конкуренты.

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

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

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

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

Выбор за тобой.