9681

Куплю однокомнатный сайт в вашем домене

— Сколько стоит сайт?

— Сколько стоит дом?

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

— Э-э… Ну, сколько стоит сайт для компании, которая занимается *****?

— Сколько стоит дом в городе N.?

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

— Разработка сайта будет стоить от X до 5X.

А цена конкретизируется в момент формирования ТЗ, лишь бы в интервал попасть.

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

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

9680

Not so Unicode

Была у нас одна девушка, которая внезапно с работы перестала выходить в аську. «Я дома меняла пароль (там какой-то суровый линуксовый клиент), а на работе он не влазит в поле ввода QIP, так что не могу зайти. Менять снова лень». Это ж как надо делать окно авторизации, что в поле ввода влазит меньше символов, чем поддерживается системой?

* * *

Есть такой сервис работы над проектами — TeamLab. В веб-морду встроена общалка на основе Jabber. Товарищи, у которых Миранда основным IM-клиентом служит, тут же додумались подцепить общалку через Jabber-плагин, ибо веб-версия не столь неудобна. После получасовых танцев с бубном у одного из товарищей всё заработало и даже сообщения начались с веб-мордой синхронизироваться, а у другого коннект так и не пошёл. Спустя ещё час выяснилось, что пароль в кириллице, введённый в UTF-8 на сайте, не совпадает с тем, который пересылает Миранда в в том же UTF-8. Поменяли на латинский, списали на веб-магию.

9679

Удовольствие в процессе

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

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

9678

Антить-колотить

Лекция по информатике. Преподаватель рассказывает про оператор UNTIL. С задней парты голос:

— Антил, антю и буду антить!

9677

Бар «Двойной инкремент»

Нужно было добавить на одну из страниц проекта счётчик просмотров. Самый-самый простой: если кто-то запросил страницу, то увеличиваем на один предыдущее значение в базе. Но такая простая задача заняла ровно один вечер и одно утро, почти заставив меня поверить в сверхъестественное, прежде чем была реализована.

В качестве библиотеки для общения с базой MySQL на сайте используется библиотека ActiveRecord. Соответственно, весь код составил пару строк:

$faq = Faq::find($id);

$faq->views++;

$faq->save();

Получаем нужную запись, увеличиваем значение поля на единицу и сохраняем.

При тестировании выяснилось, что счётчик посещений при заходе увеличивается не на один, а на два. Перепроверил на всякий случай структуру таблицы в базе данных, попробовал на всякий случай обновить значение другим способом (вдруг ошибка в библиотеке?), погуглил по запросу «activerecord double increment problem» — всё без толку. Не понимая, что может быть не так в коде, ушёл спать, так как обычно это помогает — за ночь мозг переосмысляет проблему и утром выдаёт свежее решение.

Решения утром не оказалось, и я уже был готов поверить в сверхъестественное и выводить количество посещений как значение поля, делённое на два, но в очередной раз перезагружая страницу с этим адским счётчиком, в статусной строке браузера я заметил промелькнувшее на мгновение слово «yandex». Да, я тестировал сайт в Firefox с установленной панелью RDS bar, которая дёргала страницу синхронно со мной, увеличивая счетчик ещё на единицу.

9676

Без трёх одиннадцать

Работаю админом в госорганизации. Для передачи платёжек и прочего в банк на одном из бухгалтерских компов стоит банк-клиент с круглым зелёно-белым логотипом.

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

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

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

В недрах великого Гугла находится непонятно когда и непонятно кем созданная тема, как восстановить пароль. Надо в %foldername% удалить %filename% и заново всех перерегистрировать. Деваться некуда, приступаю. Бэкап, удаление файла, начало новой регистрации. Программа предлагает сразу ввести новый пароль для админа два раза, как водится. Печатаю я вслепую, а тут пароль крипкостойкий, и смотрю я на клавиатуру, поэтому не сразу замечаю, что из 11 вводимых символов в форму добавляется только восемь!

Меня осеняет. Отменяю всё, восстанавливаю из бэкапа файл, ввожу восемь символов нового пароля — получается! То бишь при замене пароля в форму можно вбить только восемь символов, а при авторизации — сколько угодно. Спасибо программистам из банка за два дня нервов.

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

9675

Коричневый картридж

— Принтер не печатает.

Смотрю — а в принтере застряла шоколадка.

— Как она туда попала?

— Я не знаю, я ничего не делала.

Шоколад по всему принтеру размазан — ролики, валы… Подача бумаги снизу. Это очаровательное создание положило шоколадку на бумажку и послало на печать.

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

Шоколадку! Одну! Беззащитную! В пекло! Зато в принтере так приятно пахнет…

9674

Ликбез в картинках и стрелках

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

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

Свою проблему я решил, но грусть никуда не ушла. За всю работу админом компьютерно-несовместимых людей я встречал крайне мало. Остальные были простыми лентяями. Если человек чего-то не знает, но интересуется и хочет научиться, это вызывает у меня восторг, и я потрачу даже личное время, чтобы помочь. Но чаще хочется дать в тыкву, когда очередное чванливое чмо требует, чтобы ты делал его работу.

9673

В дальнее плаванье

Свой первый системник я собрал в 16 лет из целой горы комплектующих. Отец привёз тогда меня к себе на работу и сказал: «Если соберёшь и сможешь запустить, он твой». Я собрал древнее нечто с процом на 300 МГц и 64 МБ оперативы, шуршащее под 98-й (хотя тогда ХР уже пробралась в массы).

С тех пор прошло много времени. Апгрейд за апгрейдом, я улучшал его настолько, насколько это позволяла древняя материнка. Потом был универ. Много бессонных ночей провёл за классикой конца девяностых — вторыми Diablo и Fallout. А сколько раз комп спасал по учёбе! Друзья ржали, но всё равно удивлялись его живучести и производительности.

А потом родители купили мне ноутбук. Долго уговаривали меня выкинуть этот «трактор» на свалку и удивлялись тому, как рьяно я защищал его до последнего. Три года он простоял на чердаке как памятник игрострою и моим стальным нервам.

Пришло время. Этому динозавру всё-таки нашлось применение. Сегодня я подарил его человеку, который за 50 лет ни разу не пользовался компьютером, но действительно хочет учиться.

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

9672

Двенадцать? Так бы и сказали

Решил попробовать свежую Microsoft Visual Studio 2012 RC. Фраза во время установки слегка меня подвесила:

На диске 1022 недостаточно места. Освободите C: МБ.