11481

На одной ноге и честном слове

Работаю эникеем. Очередной вызов: «Компьютер не включается». На пороге тётечка лет пятидесяти. Ведёт в комнату, там старая тачка. Включаю. Сигнал одинарный. «Уф, ну, хоть признаки жизни есть», — думаю я. И тут перед моими глазами возникает GRUB. «А у вас что, линукс стоит?» — удивляюсь я. «Ну да, мне сынок установил…» Ещё раз удивляюсь.

Спустя тридцать секунд тачка вырубается. Разобрав, увидел кулер на ЦП, который просто болтался на одном креплении. Удивившись, как он не сгорел, мажу заново термопастой и ищу второе крепление… но его нет. Мать старая, крепления нового не найти. Как быть? Но я нашёл выход. Крепление подпилил ножом сбоку и закрепил кулер за выступ, выпиленный в пластмассе. Ну и что, что криво стоит, зато радиатор полностью на камне расположен и комп не выключается. Работает как часы.

А тётечка та ещё и пакет яблок всучила помимо денег, добрая душа.

11480

Как уснувший в ночи светлячок

У антенны мигает неонка,

Как уснувший в ночи светлячок.

На столе притулилась колонка,

И DX’ы летят, как в сачок.

Прохождение нынче на славу,

И Австралию слышно порой.

Ох, друзья мои, как мне по нраву

Слушать корреспондентов сквозь вой!

Отдохну, погляжу на дипломы,

Полюбуюсь скупой их красой.

Как же здорово здесь, сидя дома,

Разговаривать с целой Землёй!

Всей ладонью, как грушу на клизме,

Обниму чёрный шарик ключа.

Пальцы сами, на автоматизме

Этот опус тебе настучат.

На ключе позолочены клеммы,

Приоткрыт аппаратный журнал.

Дорогая, сквозь все QRM’ы

Я тебе эти строки послал.

Пусть морзянка найдёт тебя где-то,

Пусть напевы её просвистят,

Что кладу я на ваши тырнеты

Вот такую вот ГУ-50!

На Скайлинки кладу и на Йоты,

На вайфай, эзернет и ваймакс,

На модемы, смартфоны и соты

Я кладу вот такой WeatherFax,

И на все социальные сети,

И на Скайп, и на Флеш, и на SDRAM,

А особенно в вашем тырнете

Я кладу на тупой Инстаграм.

Не понять вам, с планшетом в сортире,

Быдлокодерам и ламерам,

Красоту путешествий в эфире,

Где бродить только нам, мастерам,

Где морзянка чирикает звонко,

И, похожая на маячок,

У антенны мигает неонка,

Как уснувший в ночи светлячок.

11479

Эффект плацебо второго уровня

Принёс наш товарищ на работу что-то кактусообразное, поставил около монитора. Уж не знаю, «собирать радиацию» или ещё что. В общем, поливает, к свету поворачивает, ухаживает. Через две недели уходит в отпуск и просит позаботиться о «питомце». Я в течение месяца эту колючку-переросток обхаживаю, а так как отношения с цветами плохие, искренне беспокоюсь, чтоб кактус не сдох. И вот возвращается хозяин из отпуска:

— Кактус поливал?

— Поливал!

— К свету поворачивал?

— Поворачивал!

— А он вообще-то искусственный… Поржать принёс!

11478

Тест на вшивость

Процессы в разработке софта печальные, тестируются продукты плохо…

Работаю в довольно крупной компании, занимающейся в числе прочего QA (обеспечением качества). Мне таки есть что сказать об автоматизированном тестировании. Большинство решений в кровавом энтерпрайзе — лютый ад. Конечно же, поскольку автотесты — тот же программный продукт, то для них характерны всё те же проблемы, что и для ПО, только всё ещё печальнее.

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

1) Бывшие функциональные тестировщики. Эти ребята обычно хорошо понимают процессы QA, но плохо понимают, как этого добиться с помощью имеющегося инструментария, а уж тем более как этот самый инструментарий подобрать исходя из задач. Хуже всего — когда они примеряют на себя роль «очень-крутого-парня-который-теперь-лучше-других».

2) Технические специалисты, уровня знаний которых достаточно, чтобы делать грамотные решения автотестов, но недостаточно для разработки. Как правило, далеки от QA и мечтают вырасти или в менеджеров, или в разработчиков.

3) Автоматизатор-единорог: технически подкован, чётко понимает процессы и задачи QA. В природе практически не встречается.

С таким составом, конечно тоже, можно добиться результатов, но это дело практически такое же лёгкое, как и найти работника из третьей категории.

4) Индусы и примкнувшие к ним. Люди, умудряющиеся сделать предположение, что KDT — это Keyboard Driven Testing, рисующие XPath-локаторы вроде //*[@id='some_id'] и т. п.

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

В-третьих, есть неслабая мода устраивать псевдо-agile, когда тесты пишутся по новой функциональности, а подход в разработке не BDD/TDD (или банально не выделяется времени на поддержку тестов в актуальном состоянии).

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

Может, коллеги меня поправят, и всё не так грустно где-нибудь в другом месте. Пожалуйста…

11477

Без мануала жить опасно

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

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

Вообще-то даме и не требовались эти курсы — ей просто хотелось их закончить ради самого факта. А моя директриса уж очень сильно просила ей в этом помочь.

В конце всей истории обнаружился очень интересный факт, который отложился у меня в подкорке на всю жизнь. Зайдя как-то к ней в кабинет, под стеклом увидел записку от руки:

Нечётные дни месяца: 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31

Чётные дни месяца: 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30

Пока сам не увидел — не поверил бы.

11476

Дай дураку стеклянный &#йборд

15 минут назад коллега-француз умудрился порезаться… клавиатурой! Чинил-чинил и порезался.

«Какого Ктулху?!» — спросите вы… Увы, последние 15 минут (из которых минут пять мы его забинтовывали) допытываемся. Но ведь молчит, как партизан на допросе! Так что, к сожалению, ваш немой вопрос остаётся без ответа. Сижу рядом, пишу историю и кошусь, как коллега продолжает возиться с клавиатурой четырьмя забинтованными пальцами.

Вот так, коллеги: не только электрического или «весового» урона нужно бояться.

11475

За мишурой методов

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

Программисты — не исключение. Те, кому посчастливилось поработать в крупной софтверной компании, начинают мыслить категориями проектов, дедлайнов, тест-кейсов и так далее.

Между тем их заказчики, кроме случаев разработки серийного массового продукта «для всех», мыслят вполне конкретными категориями практической полезности здесь и сейчас. Им глубоко наплевать на процесс разработки, мнение тимлида, адекватность тест-кейсов, количество вовлечённых в проект кодеров и знакомство архитекторов с гайдлайнами. Им нужно, чтобы программа «делала вот так». А завтра — чтобы делала иначе. Потому что сегодня у них отгрузка, а завтра анализ эффективности работы склада, и ждать разработки «теории всего» они просто не хотят.

Просто не забывайте об этом за мишурой методов разработки — никому, кроме вас самих, они не интересны.

11474

Переучи учёного

Никто не побежит переучивать старых сотрудников? Извините, но с таким отношением к IT-части вашего бизнеса вы довольно быстро пойдёте на дно. Надо идти и переучивать!

Некоторое время в связи с острой нехваткой денег при фрилансе работал в обычном колл-центре обычного интернет-магазина. Была у нас программка, которую писала пара прогеров, работающих в соседнем кабинете. Кривая настолько, что на заведение клиента в базу уходило минут пятнадцать.

За полгода работы уговорил руководство на эксперимент: переписать интерфейс. Если получится — получал премию, нет — не получал зарплату. Терять было нечего, и с двумя авторами мы неделю ночевали в офисе. В итоге — ровно три дня на переучивание половины менеджеров. Через месяц на стол руководства лёг отчёт об увеличении продаж «переученных» на треть. Полчаса на донесение мысли, что если сотрудник настолько туп, что не смог постигнуть логичный и простой интерфейс, насколько же он тогда туп?

11473

Интернет загадок полон

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

Ходит к нам одна мадам лет эдак сорока пяти, полная блондинка. Скажу честно, до её появления в нашем зале я не думала, что есть персонажи, которые и впрямь соответствуют стереотипу. Приведу несколько примеров нашего общения.

* * *

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

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

— А почему так долго? Мне вот на эту… на флешку очень быстро записали.

Я начинаю объяснять, что инет медленный, и дальше по тексту. Что придётся ждать, пока фотографии переправятся на сервер «Одноклассников». Она удивляется:

— А разве это не у вас здесь?

Я объясняю, что сервера могут быть где угодно, хоть в Зимбабве, а у нас она только видит отображение этой информации в браузере, как можно более простыми словами. Она умно кивает. Ждёт ещё минуту.

— Может быть, всё-таки можно быстрее?

Я повторяю объяснение по второму разу. Проходит ещё минута молчания.

— Нет, ну я всё же не понимаю! Ведь на флешку мне быстро записали, почему сюда нельзя?

* * *

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

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

— Но оно же отправилось! Вот!

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

— А разве это не у вас здесь на компьютере?

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

* * *

И это только пара примеров. Были у неё и попытки узнать у меня пароль от ящика, который ей кто-то зарегистрировал, и вопросы, почему она не может зайти на сайт, вместо логина набирая имейл, и почему существуют хакеры, ведь зачем это им нужно… Я понимаю, она домохозяйка, ей нечего делать, дети разъехались, а муж по полгода в море (про свою семейную жизнь она уже успела мне основательно рассказать). Заниматься чем-то или даже собой (мадам весит под сто кило и носит обтягивающие штаны и юбки, которые, когда она сидит, съезжают до не то что неприличия, а до отвращения) она не хочет. Но мне-то есть что делать, кроме как отвечать на её вопросы, ответы к которым она не то что не понимает, но просто не хочет понимать!

Так что вменяемых вам клиентов, коллеги-админы.

11472

but1, but2, butwhy

Наткнулся сегодня на JS одного сайта. Полторы тысячи с лишним закомментированных строк кода. Сам код вырезал, оставил только комментарии.

// Закомментировал, пока не разобрался, что и зачем. Работает и без этого.

// Это просто и легко, всё понятно

// Тут для массива картинок, состоящего из более чем одной картинки

// Разблокируем возможность листать дальше. ОК

// Размер картинки должен быть не меньше 1×1! Ну, ладно

// Смещение картинки ВЛЕВО, сцуко. На хрена?

// Это кнопки.

// Кнопка вперёд

// Кнопка назад

// Кнопка вниз? Вверх? Пауза? Плей? Какой урод это писал?

// Почему, ссука, but1, but2, but3?

// Кнопка хренпоймизачем2

// Кнопка хренпоймизачем3

// Кнопка хренпоймизачем4

// Ещё одна хренпойминахуа. Валидола мне.

// Это явно для костыля ниже

// Это хрень закомментирована не мной, и не написано зачем

// и что это значит. Подозреваю, что это костыль.

// Но мы зачем-то блокируем возможность листать в этом костыле

// Тут количество фоток уменьшаем на три. Почему на три?

// Почему не на четыре?

// А тут разблокируем возможность листать. Хм…

// Умри, ссука.