google web font

вторник, 29 марта 2011 г.

resolved: invalid birth date

Коллега похвастался замечательным use-кейсом:

[16:09:31] <alexey> хотя у нас в банке однажды смешнее было
[16:09:55] <alexey> когда девчонки не смогли у клиента дату рождения ввести
[16:10:11] <alexey> грят мы вводим как в паспорте, а нам говорят ошибка
[16:10:19] <alexey> смотрю дату... 29.02
[16:10:24] <alexey> ну думаю приплыли
[16:10:33] <alexey> високосные годы не учитываются
[16:10:43] <alexey> потом смотрю, там год нечётный
[16:11:02] <alexey> говорю им, так всё правильно вам прога говорит
[16:11:07] <alexey> не бывает такой даты
[16:11:16] <alexey> а они мне скан паспорта показывают
[16:11:23] <alexey> бывает, вот сам смотри

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

суббота, 26 марта 2011 г.

три простых способа обмануть sudo

Юрик Ученик(107)
Помогите сделать себя админом на своём сервере

Минь Мастер(1118)
Ну и вопросы....
"Как из-под рута получить права рута?"

Предположим, что сервера принадлежат компании, которая даёт Вам только ограниченные права через sudo и то только согласованию. Либо собственный работодатель, который не уверен, что Вы не сломаете сервак своими кривыми руками, ограничил Вам свободу дйствий. Либо собственные родители залили все USB-порты эпоксидкой и сменили рутовый пароль, оставив только sudo для настройки и запуска локального ftp-сервера. Мало ли.

Так вот, если верить документации непосредственно на sudo, система эта крайне неудачная, на самом деле. После того, как я расскажу эти три простых способа, неудачность идеи станет очевидной, потому что для обхода — не взлома! — не надо вообще ничего делать, достаточно иметь недостаточно жестоко настроенный sudoers.

четверг, 24 марта 2011 г.

Отступы в консоли, расстановка аргументов по фэн-шую

Оказывается, в консоль можно-таки вставить символ <tab>, если очень нужно.

По дефолту при нажатии на кнопочку tab оболочка начинает подставлять команды и аргументы (tab expansion). Если нужно, чтоб так не делалось, можно нажать Insert, Tab — сначала Insert, потом Tab. Вместо Insert можно использовать Esc. Таким же способом можно вставить перевод строки.

Заметил случайно, промазав мимо бэкспейса. Работает и в bash, и  zsh. Прикольно. Жалко, что скопипастить этот Tab всё ещё нельзя: копируется соответствующее количество пробелов.

среда, 23 марта 2011 г.

varchar hell

Душераздирающая история про кодировки и размеры полей в БД, с героями, злодеями и поучительной развязкой.

Давным давно, кажется, в прошлую пятницу (на самом деле, уже пару лет прошло), прилетел к нам баг от крупного заказчика, суть такова. В некоторые поля базы данных, имеющие ограничение по длине, не влезает заявленное количество символов. Например, в некоторой таблице есть поле description, описанное как VARCHAR2(255). Так вот, если вписать туда 255 латинских символов, то всё норм, но если вписать "п. 13 ст.33 распоряжения бла-бла-бла", как это любит делать заказчик, то в интерфейсе будет опаньки.

Watch you style

У нас просто замечательный технический писатель, на мой взгляд :-D
[12:54:54] <name_no> хочу автотест написать
[12:55:01] <vladimir> какой ?
[12:55:17] <name_no> на документацию. чтоб он тебе баги репортил, если у тебя стиль хромает
[12:55:36] <name_no> а если запятую пропустишь — то чтоб начальника твоего в "копию" добавлял
[12:55:36] <vladimir> пипец )) стиль чего?
[12:55:44] <name_no> стиль изложения, Вова.
Вова — техписатель. Со стилем у него всё в порядке, а вот со взаимодействием иногда бывают проблемы.

понедельник, 21 марта 2011 г.

Дайте этим лентяям побольше работы

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

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

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

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

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

пятница, 11 марта 2011 г.

The POLICE!!!

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

пятница, 4 марта 2011 г.

Кстати, о зарплате: тарифы ЖКХ.

Что-то в этом году жутких новостей про цены на электричество не было, я даже забыл, что они выросли. Уже март, пора бы посмотреть, сколько оно стоит. В интернетах новостей кот наплакал, зато, как выяснилось, уже подтянулись информационные сайты, которые аггрегируют подобную информацию. Некоторые делают это в ужасной форме, некоторые в просто некрасивой, полной информации я не нашёл нигде, но принёс банальную копипасту вот отсюда (там есть не только про Москву) и с сайта правительства Москвы (а вот там нет даже подмосковья). Постановление правительства я ещё выложил на Google-docs, чтобы было.

alias против скриптов и правильная настройка против всех

Итак, я уже выяснил (и всем рассказал), что круче: alias'ы или функции, определённые в текущей интерактивной сессии командной оболочки. Кстати, рассуждения про bash-replay тоже иллюстрируют беспомощность alias'ов. Но мне не хотелось бы утверждать, что alias'ы не нужны, бесполезны, слабы в функциональном плане или что-то подобное. Как говорит один мой знакомый, «фичи всякие нужны, фичи всякие важны». Ранее я обещал вернуться к теме скриптов, с помощью которых можно легко и изящно устанавливать ssh-сессии с несколькими серверами. На этом примере я и покажу, что alias очень даже конкурентоспособен.

Как делаются отечественные телепередачи

Вдогонку к предыдущему посту решил сохранить ссылку на ещё одну инсайдерскую статью про телевидение.
Сотрудник телекомпании НТВ: «Глеб Пьяных — король таких вопросов. Важно задать острый вопрос из серии «куда вы потратили 7 миллиардов». И что бы герой в кадре ни ответил, он уже будет выглядеть странно. «О каких 7 миллиардах идет речь?» — дурацкий ответ. Либо он должен накидываться с кулаками, что не всем хочется делать, либо молчать. Ну вот они и получают за свое молчание»
Сотрудник телекомпании НТВ: «Человек спокойно говорит: «Тут хранятся останки жены, которую я убил». Вы включаете дурака: «Подождите, я не понимаю, какие вообще останки? Чьи?» Он начинает чуть раздражаться. Вы продолжаете: «Подождите, вы можете нормально сказать, что это такое тут лежит? Мне в Москве сказали, что тут что-то интересное, а вы даже и объяснить толком не можете!» В итоге человек выходит окончательно из себя и орет тебе в камеру: «Да как вы не понимаете-то, тут лежат останки жены, которую я убил!» Берете и отрезаете ровно то, что нужно.

среда, 2 марта 2011 г.

Начал читать текст и проникся. Автор явно прекрасно понимает, о чём идёт речь:
И не надо только говорить: "ах, ах, как это руководство телеканала и продюсер сериала "Обручальное кольцо" могут спать спокойно"?! Они, поверьте, в своих загородных домах вполне себе спокойно спят. Беспокоиться надо вам, потому что ваша панельная девятиэтажка битком набита любителями сериала "Обручальное кольцо" - и вот это вот действительно страшно.
И заодно уточните у них [ваших соседей], почему основной зрительской аудиторией канала НТВ, например, являются не угрюмые спившиеся мужики, а, сука, домохозяйки в возрасте 45+. Нахера домохозяйкам после 40 этот ебаный коктейль системы "кровь, говно, компот и слезы"?! Спросите у них, пожалуйста. Если вы их не боитесь. Потому что я, оснащенная знанием о вкусовых пристрастиях домохозяек, побаиваюсь их чуть меньше, чем серийных убийц.