bash.im ithappens.me zadolba.li
9903

Машина — дура, админ — молодец

Когда в 1979 году я начала учиться в универе на факультете ВМК основам программирования (кстати, в те времена чисто женская специальность была), у нас ходила присказка: «Машина — дура: ей что скажешь, то она и делает».

Судя по большинству постов, теперь народу об этом не говорят.

9902

Фольга — не только для бутылок

21 сентября 2012, 07:15

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

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

Странное дело: при нажатии на любую кнопку та срабатывала раза три, а то и все четыре подряд. Кое-как дозвонился домой, набирая номер резкими, отрывочными нажатиями. Решив почистить плату и кнопочную резину, разобрал трубку и впал в ступор.

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

9901

Опять начинаешь, шакал?

20 сентября 2012, 07:45

В те времена, когда я ещё пользовался дайлапом и называл его тырнетом, была у меня одна учётка, до которой дозвониться можно было только раза с восьмидесятого. Я вбил в любимый MuxaSoft Dialer несколько номеров и настроил его на постоянный дозвон. Пару недель нужная мне информация практически круглосуточно закачивалась. Разрывы, конечно, происходили частенько, но модем коннектился в автоматическом режиме.

А одним чудесным воскресным вечером зазвонил телефон, и я узнал о себе много нового. Как оказалось, я ошибся в одном из номеров модемных пулов, и модем две недели звонил на чей-то домашний номер — круглосуточно и совершенно неожиданно. Пришлось соврать, что телефон у нас на блокираторе, а виноваты во всём соседи.

9900

Девятиступенчатая система защиты

20 сентября 2012, 07:45

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

Винда просит пароль. Спрашиваю у начальника СБ:

— Какой пароль?

И тут мне это сверхсекретное чудище с армейским прошлым (безопасник без него не бывает) молвит человеческим голосом:

— От 1 до 9, вон бумажка на мониторе приклеена.

9899

Обфускация тирьямпампацией

20 сентября 2012, 07:15

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

Вот что я обнаружил в листинге своего одногруппника:

procedure TFamPapam.BamBamClick(Sender: TObject);
var pam,pam_,tararam,tiryam_pam_pam:real;
tryam:integer;
begin
GetParam;tryam:=0;tararam:=0.0001;
repeat
inc(tryam);
pam:=papam*Param(pum,pum_)+pum;
pam_:=-1*(papam_*Param_(pum,pum_)-pum_);
tiryam_pam_pam:=sqrt(sqr(pam-pum)+sqr(pam_-pum_));
pum:=pam;pum_:=pam_;
until tiryam_pam_pam<tararam;
end;

И оно работает.

9898

Пожарьте яичницу сами

20 сентября 2012, 07:15

Я занимаюсь системным администрированием и эникействованием. За десяток лет оброс порядочным числом клиентов, так что имею возможность не ездить по квартирам. И вообще, нынче я выбираю заказчиков, а не заказчики меня. Но есть у меня один клиент, которого я выбрал. Это моя жена.

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

Мы приняли решение поставить специализированную программу для этого дела. Первым блином.com была бесплатная опенсорсная Calibre. Красивая и чудесная — но как, скажите меня, как можно написать простейшую программу реляционной БД с интерфейсом так, что она тормозит на двухъядерных 3 ГГц и 2 ГБ памяти? Честное слово, мои программы послеинститутской поры под досом и нетварью в 520 КБ доступной памяти обеспечивали торгово-складскую деятельность больших оптовых баз.

Ладно, проплевались на эту убогую поделку, которая очень широко рекламируется в сети, и купили коммерческую AllMyBooks. Дело пошло хорошо, мы успели вбить порядка 12 тысяч карточек. Всё было красиво, но… обновилась версия. Программа стала 3.0, Пушкин А. С. стал везде «А, С, П.», а бедный Айзек Азимов стал «Айзеком А.». Но это ещё что — оказывается, лицензия была на версию 2.х, а теперь она недействительна.

«Боже», — подумали мы и написали свою программу. Она работает, не тормозит и не требует лицензию. В базе 15 тысяч карточек, программа умеет сама лазить на сайты за информацией о книгах и не просит у нас никаких лицензий.

Ах да, о чём это я? Программу не дам. И совет: прежде чем задалбываться и крыть всех трёхэтажными словами, пожарьте яичницу сами, благо программирование не сложнее чесания котёнка за ухом.

9897

All systems go

20 сентября 2012, 07:15

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

Нос не заложен — тест пройден.
Голова не болит — тест пройден.
Не холодно — тест пройден.
Температуры нет — тест пройден.
Суставы не болят — тест пройден.

Активация…

9896

Свежемороженая админятина

Попросили как-то раз на одной бирже настроить VPN, чтоб торгаши из дома могли коннектится в систему и торговать. Админ тамошний заведует софтом для торгов, а вот с Керио не дружит. Ну ладно, где наша не пропадала?

Захожу в жалкое подобие серверной. Комнатуха два на два метра и пять высотой, на железной двери электронный кодовый замок с обеих сторон, а под потолком кондиционер дует на полную. На столе стоит «башенка», мониторчик 15" и клава.

Стою, молочу по клаве — и каким-то странным образом дверь закрывается.

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

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

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

ВЫПУСТИТЕ МЕНЯ

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

9895

Под тёплым виндовым крылышком

19 сентября 2012, 07:45

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

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

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

Ну и о чём эта история, скажете вы? Обычное дело, программистские будни. Просто я не начинаю с первых строк акцентировать внимание на том, что глючная библиотека — это MFC от MS, что у встроенного редактора ресурсов Visual Studio был неприятный баг с подвисанием при определённом сочетании условий, что теперь мне легко и комфортно работается в опенсорсе, где я фактически забыл о существовании дебаггеров за ненадобностью, что вынос пользовательских приложений в облако позволяет существенно сократить издержки на поддержание зоопарка ПК со всеми их вирусами-антивирусами и проч. Тем не менее, всё именно так.

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