Истории с тегом: мысли о вечном

Всего историй: 830

8910

К громким соседям

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

8840

Превозмогая боль от игл кактуса

Читаю IT happens и думаю: чего только люди не придумывают, лишь бы не ставить и не изучать линукс! А стоит таким намекнуть, что на линуксе это можно было сделать проще и быстрее или что там такой проблемы нет в принципе, — на тебя смотрят, будто ты предлагаешь джедаю перейти на тёмную сторону.

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

8800

Непорочный крылатый бульдозер

Взгляд программиста на разработку:

1. Тебе объясняют, чего хотят (назовём это первичным техзаданием, хотя ТЗ сам себе обычно пишешь, ибо заказчик не в состоянии составить вразумительное).

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

3. Заказчик смотрит, говорит: «Круто. А можно ещё добавить вот такую вот фичу?»

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

* * *

Проходит несколько итераций пунктов 3 и 4, и заказчик говорит: «Всё, готово». И ты с содроганием осознаёшь, что на свет произвёл очередного монстра, который ездит, летает, пыхает огнем, копает ямы, вышивает крестиком и изобретает велосипед. Красота кода — по хрену. Эффективность стремится к нулю. Код сложный, запутанный, куча шаманских костылей. Невзирая на то, что сам создал этого монстра, ты его боишься. Боишься тронуть даже что-нибудь незначительное и второстепенное — вся программа грозит осыпаться.

А всё почему? Нимб, крылья, ракетные установки и нож бульдозера надо планировать ещё на стадии первичного техзадания.

8785

Принцип эффективного фриланса

Перечитал кучу историй о том, как доблестные труженики мозга и клавиатуры не могут найти общий язык с заказчиком. Стало грустно. Кто-то сетует на несовместимость браузеров с требованиями пользователя. Кто-то на то, что клиент постоянно изменяет требования. Кстати, последнее встречается чаще всего.

Поделюсь опытом. У меня на сайте висит жирная красная строчка о том, что на «осла» я ориентируюсь в последнюю очередь. Всем, кому нужно что-либо браузерное, даю нужную ссылку. Вопрос о кроссбраузерности у заказчика в этом случае отпадает сразу. Предупредил? Предупредил. Ссылку дал? Дал. Прекрасно. Вопросы есть?

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

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

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

8749

root@world#

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

Человек, будь админом! Отбрось GUI, работай через консоль. Только так ты сможешь полностью управлять своей жизнью и собрать ядро своего мира.

user@world$ sudo -i

root@world#

8746

My name is the law

Специальность «Программная инженерия», 1-й курс. Пример кода из методички про константы :

Const

PI = 3.14; { Real constant }

KOEF_1 = 9; { Integer constant }

KOEF_2 = KOEF_1*PI − 1; { Real constant }

MY_OPINION = True; { Boolean constant }

Компьютерщики всё-таки захватят мир. Когда-нибудь…

8740

На разных каналах

Давно читаю IT happens и пришёл к заключению, что в межгендерных отношениях гиков кем-то свыше заложена системная ошибка, обойти которую невозможно, а обновлений системы никто и не думает выпускать. Вот и маются одни в бесконечных поисках других, себе подобных. До слёз обидно читать душевные излияния замечательных девушек, когда прекрасная половина человечества, которую мечтаешь встретить всю свою жизнь, жалуется на ровно ту же самую незадачу.

Читаю и думаю — вроде всё при мне: и сносная зарплата, и свитер в рабочей обстановке, и Ctrl+Shift со времён версии 3.х (а с недавнего времени даже Cmd+Space), и борщ люблю, и пивом не брезгую. Ну хоть бы одна просто умела готовить, не поставил бы у плиты — только по желанию. Да бес с ней, с готовкой! Где эти выдуманные IT-феи, которые одеваются не как бракованные «барби», не наносят тонны макияжа, при этом наповал сражают своей природной красотой, пусть даже спрятанной за ярким хайром или простой толстовкой и джинсами? Которые умеют сами разобраться в мелких проблемах, плюс ещё и по-крупному что-нибудь подскажут, заткнув за пояс каждого второго пишущего здесь вчерашнего школьника?

Честное слово, готов на всё: поменять свитер на костюм или, наоборот, отпустить ещё и бороду; заняться спортом или пить пиво литрами; забывать про компьютер после работы или торчать в домашней локалке до ночи; готовить ужин и приносить завтрак или с удовольствием лопать любые её шедевры; звонить и спрашивать, как дела, или весь день переписываться по интернету; смотреть вместе трогательные мелодрамы или рубиться в любимую сетевую игру. Честно, готов на многое ради такой встречи и каждый день верю, что она случится. Не тролли же пишут все эти милые женские истории на IT happens…

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

8725

Люди ремесла

Нильс Бор как-то сказал: «Профессионал — человек, который знает типичные ошибки в своей области и умеет их избегать». Вот несколько признаков профессионального айтишника.

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

Он никогда не будет и копировать через Ctrl+C. Как-то он так пытался скопировать с консоли сервера, а в результате погасил очень важный процесс.

Он точно не будет отвечать на вопрос, требующий булевого ответа, цифрой, так как знает, что 0 может быть обозначать не только false, но и быть кодом успешного завершения, а что обозначает 1 или −1, можно только гадать.

Таких мелких деталей можно назвать много. Но это точно не профессионал, а банальный ремесленник, который умеет делать (может быть, даже хорошо) только одно, но не более.

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

8702

Послушай клиента и сделай наоборот

Приходит к сапожнику клиент.

— Сделайте мне перчатки.

— Но я ведь сапожник!

— Ну правильно, я их на ноги надевать буду, но чтобы перчатки!

— Хорошо, сделаю.

Проходит день. Сапожник делает сапоги и ставит на полочку. Проходит ещё два дня.

— Знаете, я тут прикинул, у меня ведь пальцы на ногах короче, чем на руках. Мне нужны перчатки для ног, но чтобы пальцы короче. И нужно, чтобы они надевались через голову, так ведь куда удобнее!

— Хорошо, сделаю.

Сапожник отдыхает. Проходит пять дней.

— Сегодня я надевал шапку на ноги, и знаете, мне было гораздо теплее. Теперь я думаю, что если пальцы совместить в один рукав, то будет лучше, правда? Давайте вы так сделаете.

— Хорошо, сделаю.

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

— Заказ готов?

— Да, конечно.

Сапожник снимает с полки сапоги и клеит на них бирку: «Перчатки для ног».

— О, самое то! То, о чём я мечтал!

— Всегда пожалуйста — я же профессионал.

8696

Компоголизм

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

И надо же было такому случиться, что с разницей буквально в два дня я осталась вообще без ПК: сначала сгорел настольник, а потом пришлось отвезти ноут в сервис. Неожиданно появилась куча свободного времени. Убралась в квартире (ух ты, сколько места появилось!), порадовала домашних пирожками (оказывается, я неплохо готовлю), купила абонемент в фитнес в надежде улучшить фигуру к лету, дочитала начатую ещё зимой книжку, вернулась к давно заброшенной вышивке…

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