Читать «Bash IT Happens Истории ## 5701 – 5800» онлайн - страница 2
Bash.org.ru IT
Не повторяйте моих ошибок. Если кого-то убиваете, пожалуйста, перепроверьте несколько раз, того ли. Иначе последствия будут серьёзными и, возможно, уже необратимыми.
#5705: «С» не как доллар
19:45 15.03.2011, IT happens
Новый ноут, чистая система с оригинального дистрибутива с нормальным серийником. Дрова с официального сайта под нужную систему не ставятся ну ни в какую — все вылетают с разными ошибками:
«Система не удовлетворяет минимальным требованиям».
«Недостаточно места на диске».
«Не удаётся создать сетевой путь».
После нескольких часов догадок, мучений, проверок системы и прочего была найдена проблема: в переменных окружения %TEMP% и %TMP% буква диска была написана по-русски, а остальное — по-английски. Да, глупая ошибка, зато сколько разных методов её обработки инсталляторами мы узнали!
#5706: В глубоком табе
12:00 16.03.2011, IT happens
Знаете, коллеги, я убедился, что университет с мировым именем — не гарантия, что вас не научат индийскому программированию.
Сдаю в бумажном виде госы.
— И где же у вас здесь протокол SMTP?
— Вот это всё — реализация. Вот список команд, вот список кодов ответов…
— Так, где создаётся сокет?
Тыкаю пальцем: server = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
— Та-а-ак! Но у вас же здесь TCP!
— Правильно. SMTP — протокол слоя приложения. А при создании сокета указывается транспортный.
— А как тогда отличить, что ваша программа работает про протоколу SMTP? Где это написано?
— По структуре заголовка пакета — никак. По порту разве что.
Показываю на строчку: addr.sin_port = htons(IPPORT_SMTP);
— О! Так вот эта константа. Но она должна быть в протоколе.
— Нет, она должна быть здесь. Даже по имени константы видно, что в протокол она не лезет. Давайте покажу на практике, попробуем подставить эту константу туда и запустить — получим INVALID_SOCKET.
— Так! Что ты тут со мной споришь? В книге было написано, что должен быть IPPORT_SMTP, и прилагались рабочие примеры!
— Покажите, пожалуйста.
— Нету, книга в библиотеке.
— Тогда давайте сейчас покажу на практике, — поворачиваюсь к ближайшей машине, — что моя программа работает. Заодно попробуем туда подставить этот IPPORT…
— Так, иди переделывай.
Позже дома проверил — действительно, сокет не создаётся, если подставить туда любую константу портов. Повторная попытка доказать это провалилась. Пришлось в глубоком табе писать: #define IPPROTO_SMTP IPPROTO_TCP.
#5707: Месячная терапия Вульфенштайном
12:00 16.03.2011, IT happens
Как-то я работал сервис-инженером в компьютерном магазине. Приносит мне в ремонт видеокарту один товарищ, не обременённый интеллектом. Жалоба: «В играх квадраты появляются и картинки совсем не видно». Я по неопытности решил, что надо этим заняться — может, с видеопамятью проблемы?
С клиентом и видеокартой я безуспешно боролся два месяца. После очередного визита к нам в сервис клиент подходит в торговом зале к Аймаку, на необъятном мониторе которого запущена третья «квака» в разрешении 1024?768, тычет пальцем на квадраты на несглаженных краях объектов в игре и восклицает: