Захожу в жалкое подобие серверной. Комнатуха два на два метра и пять высотой, на железной двери электронный кодовый замок с обеих сторон, а под потолком кондиционер дует на полную. На столе стоит «башенка», мониторчик 15" и клава.
Стою, молочу по клаве — и каким-то странным образом дверь закрывается.
Минут через двадцать начинаю обмерзать (кондей-то всё ещё пашет). Пытаюсь найти пульт и осознаю: не зная код от двери, не выберусь отсюда без посторонней помощи. Мобила в этом сейфе не ловит. Ну и ладно, скоро должен админ придти.
Через полчаса понимаю, что куртку в гардеробную сдал я зря, а коленки уже трясутся. Колочу в дверь — бесполезно, никаких ответных реакций.
Вспоминаю: в соседнем помещении для торгов на стене висит плазма, подключённая к компу. Обмёрзшими руками нахожу диск с Радмином, через консольку умудряюсь закинуть сервер на ту машинку. Ура, коннект есть! Открываю Блокнот и пишу большими буквами:
ВЫПУСТИТЕ МЕНЯ
Через пять минут дверь открыл админ. Я выслушал историю о том, как во время торгов вместо объявлений и прочей информационной хрени на весь экран вдруг вылезла странная фраза. Некоторые испугались, некоторые рассмеялись, некоторые залипли, а админ в шоковом состоянии пошёл искать того, кто так жестоко балуется.
#9897: All systems go
12:15 20.09.2012, IT happens
Простудился. Вечером писал софт с юнит-тестами, потом ворочался от бессонницы. Наутро, не открывая глаз, получаю первые мысли:
Нос не заложен — тест пройден.
Голова не болит — тест пройден.
Не холодно — тест пройден.
Температуры нет — тест пройден.
Суставы не болят — тест пройден.
Активация…
#9898: Пожарьте яичницу сами
12:15 20.09.2012, IT happens
Я занимаюсь системным администрированием и эникействованием. За десяток лет оброс порядочным числом клиентов, так что имею возможность не ездить по квартирам. И вообще, нынче я выбираю заказчиков, а не заказчики меня. Но есть у меня один клиент, которого я выбрал. Это моя жена.
А у моей жены есть страсть неодолимая — чтение. Наша коллекция книг насчитывает больше 15 тысяч томов. Естественно, эти тонны текста надо каким-то образом каталогизировать. На первых порах всё решалось средствами Опен-офиса. Опенсорс, всё красиво, всё прекрасно. Но в один прекрасный момент при добавлении очередной карточки книги «мы упали». Ладно, заказчик вредничает, переводим всё в Эксель. Эксель выдержал ещё пару сотен карточек и тоже упал.
Мы приняли решение поставить специализированную программу для этого дела. Первым блином.com была бесплатная опенсорсная Calibre. Красивая и чудесная — но как, скажите меня, как можно написать простейшую программу реляционной БД с интерфейсом так, что она тормозит на двухъядерных 3 ГГц и 2 ГБ памяти? Честное слово, мои программы послеинститутской поры под досом и нетварью в 520 КБ доступной памяти обеспечивали торгово-складскую деятельность больших оптовых баз.
Ладно, проплевались на эту убогую поделку, которая очень широко рекламируется в сети, и купили коммерческую AllMyBooks. Дело пошло хорошо, мы успели вбить порядка 12 тысяч карточек. Всё было красиво, но… обновилась версия. Программа стала 3.0, Пушкин А. С. стал везде «А, С, П.», а бедный Айзек Азимов стал «Айзеком А.». Но это ещё что — оказывается, лицензия была на версию 2.х, а теперь она недействительна.
«Боже», — подумали мы и написали свою программу. Она работает, не тормозит и не требует лицензию. В базе 15 тысяч карточек, программа умеет сама лазить на сайты за информацией о книгах и не просит у нас никаких лицензий.
Ах да, о чём это я? Программу не дам. И совет: прежде чем задалбываться и крыть всех трёхэтажными словами, пожарьте яичницу сами, благо программирование не сложнее чесания котёнка за ухом.
#9899: Обфускация тирьямпампацией
12:15 20.09.2012, IT happens
Когда у программистов бывает хорошее настроение, они творят. И часто это настроение находит своё непосредственное выражение в самом родном и близком — в программном коде.
Вот что я обнаружил в листинге своего одногруппника:
procedure TFamPapam.BamBamClick(Sender: TObject);