Большая команда в трёх городах. Второй день идет совещание по скайпу, посвящённое архитектуре одного из компонентов системы. Внезапно среди предложений по архитектуре и общего обсуждения достоинств и недостатков происходит такой диалог:
— Я уже сутки не коммитил. Надо уже что-то делать, а не обсуждать. — Ломка началась!
Суровые программисты не могут без общения с версионным контролем.
Однажды поздно ночью, дописывая на ноутбуке очередной проект, я заметил, что при нажатии на кавычку мой ноутбук странно подсвечивал клавиатуру и комнату, а при повторном нажатии эффект пропадал. Мистика?
При первом нажатии кавычки редактор окрашивал весь следующий текст серым как строку, экран становился немного светлее и ярче освещал окрестности. Закрывающая кавычка заканчивала строку, и следующий код опять становился зелёно-синим.
Ковыряю проект в Си-Билдере. Понадобилось узнать, какой тип имеют члены TRect. Меня вынесло в windef.h, где тип был заявлен как LONG. А что такое LONG? Правильно, в winnt.h есть замечательные строки:
#define VOID void typedef char CHAR; typedef short SHORT; typedef long LONG;
Обычно typedef используется либо для абстракции от конкретного типа, либо для повышения читаемости. До сих пор сижу в недоумении: неужели Microsoft старался улучшить понимание кода блондинками?
Каждый раз, генерируя GUID, я испытываю угрызения совести. Вот и теперь: мир лишён {6AD5F9B4-6EF4-4992-91A2-D9D37497D167}, {3B382174-E6E8-4E2F-A0C7-0AC9AB114113} и {51D863E3-BFB4-4E07-9236-5E23C09B3033}. Простите меня, уникальные идентификаторы!
Пропалываю работные сайты родного города. Обнаруживаю достаточно много вакансий с требованием знания языка C. Именно Си, а не «плюсов» и «шарпа». Вокруг требования сплошь и рядом какие-то эникейные задачи стоят, да и цена вопроса копеечная.
Стало мне странно — позвонил в несколько контор. Оказывается, многие считают, что язык C — это тот суржик, на котором пишутся скрипты к 1С.
Я админ, но успел немного потрудиться программистом. Из-за смены работы резко возросли доходы и расходы. Последнее не понравилось, и я решил поискать под свою N810 программку для домашней бухгалтерии. Нашёл, но слишком сложную.
Подумал, решил сделать таблицу в Экселе. Нет, будет сложно с выборкой по статьям расхода и автоматизацией. Решил написать программку сам.
Подумал ещё. Решил, что привязка к одной машине не по-современному — надо сайт. С регистрацией, чтобы делиться, с базой, чтобы удобнее. Открыл учебник по SQL и Perl...
Подумал, покурил и пошёл покупать блокнот и ручку.
Захотелось сделать свою ветку одного популярного фреймворка для разработки мобильных веб-приложений. Но вот ведь незадача: репозиторий весит 41 МБ, а я на даче — подключение не безлимитное. Странно... Так, стоп! Что здесь делает папка /videos? Американские разработчики впихнули в репозиторий несколько «видосов», совершенно не имеющих отношения к делу, для того, чтобы показать работу HTML5 на айфонах. Что же делать?!
VDS спешит на помощь! Подключаюсь по SSH, создаю ключ, скармливаю его Github’у, качаю репозиторий, наслаждаясь скоростью в мегабайт в секунду. Удаляю жирную и ненужную папку, «толкаю» изменения обратно. Ладно, так уже лучше. Выхожу из SSH и ставлю скачиваться к себе.
Так, стоп: уже 5 МБ скачалось. Не дело это. Скачиваю с Github архив — 225 КБ. Захожу на VDS опять. Вспоминаю, что распределённые системы контроля версий — они такие распределённые, что оставляют удалённые файлы. Вообще-то правильно: что-то важное удалил — revert и готово. Не надеясь ни на что, открываю Гугл. Быстро находится решение для удаления файла из всех ревизий. Уже почти получилось...
Смотрю вывод ifconfig — 30 МБ потратил. Мда, лучше бы скачал как есть.
Три дня уже сплю по два часа: горит проект, и после работы я продолжаю трудиться над ним дома. Мозг иногда стал идти на принцип и проверять, сплю я или нет.
Сажусь утром в маршрутку на переднее сиденье. Мимо по улице идёт хорошенькая серьёзная девушка. Никогда в обычном состоянии так не делаю — машу ей рукой и улыбаюсь во все 33 зуба, как будто мы хорошо знакомы и я к ней неравнодушен. Девушка оценила внимание: тоже махнула и лучезарно заулыбалась. Счёт 1:0. Мозг — аутсайдер.
Вечером записал проект на флешку, зачем-то зашёл в Проводник и выбрал пункт «Извлечь» два раза — а вдруг выползет? Всё же пришлось нагибаться и вытаскивать вручную. Счёт 1:1.
Всё, спать, спать, а то понапишу тут ещё сейчас! 2:1.
Работаю монтажником у самого зелёного сотового оператора. В экселевском файле — названия базовых станций и их адреса. Ввожу в поиск название очередной: «Хлеб». Следующие двадцать секунд я был сильно озадачен: с каких это пор Эксель стал таким умным? На этот запрос он нашёл строку с базовкой «Булка». Синонимы научился искать?
Как всегда, оказалось всё проще. Адрес «Булки» — улица Хлебозаводская. Мысль об искусственном интеллекте пришлось отогнать.