4477

Ссылки до Киева доведут

Уехала жена с детьми на две недели к тёще. Дома стало пусто, тихо и непривычно. Дня через три решил скачать какую-нибудь порнушку. Открываю Оперу и вспоминаю, что еще не читал IT happens. Наталкиваюсь на историю про флешку, в фоне открываю iXBT и THG, попутно заглядывая в интернет-магазин на предмет наличия. Да за такие деньги лучше USB-винт купить! Плавно перехожу к винтам, от винтов — к модемам. Вспоминаю, что хотел на «Хакере» прочитать о заражении модемов троянами. После прочтения решил приколоться над соседским DIR-320 — хоть и не модем, но ничем не хуже. В процессе ковыряния теряюсь в дебрях opennet.ru и wl500g.info. Грёбаный линукс со своими зависимостями пакетов, как же ты меня за...

О, порнуха — скачать! Как второй час ночи? Спать, спать, вставать же рано, ехать в филиал. Завтра поищу. А ещё Башорг так и не читан...

4476

Как у них, но втрое круче

Только что помогал какому-то (или каким-то?) индусам на cplusplus.com. Эти удивительные «программисты» решили написать 3D-игруху на «плюсах», только начиная осваивать их. Но дело не в этом. Они упорно спрашивали, «как сделать GUI», а на мой вопрос, какой: виндоусный (а вдруг настройщик, снаружи валяющийся) или игровой, они лишь дали ссылку: «Как в этой игре». Мой вопрос про движок был проигнорирован — видимо, у них сейчас важное заседание на тему этого движка. Сначала мне хотелось смеяться, потом плакать. Жду не дождусь их нового сообщения.

4475

Ускорено серым веществом

Во времена моего программерского расцвета, в первой половине девяностых, из всех вменяемых междумордных библиотек (для DOS/Windows) существовало всего две: трубо-вижн-борландюшатник и Цинк. Были и ещё какие-то: либо со строго закрытым коммерческим API, доступным только за очень отдельные деньги, либо откровенно лажающие на самых примитивных контролах. В общем, всего две. И ни одна из них не прикручивалась к Clipper 5.x напрямую — всё равно надо было кодить пакет-посредник, что вдвое снижало время отклика.

В общем, мы с коллегой решили: нужен набор интерфейсных примитивов, написанный на самóм Клиппере (и примкнувшем к нему ассемблере). Благо 5.2+ уже в полной мере был вменяемым объектным языком, и всего лишь нужно было заэксплуатировать недокументированное. Сели, обдумали концепт, за пару недель создали ТЗ, ещё через пару месяцев на свет появилась библиотека (статическая, само собой: дело-то под «доской» происходило), которая из текстового описания динамически порождала экранные формы с полнофункциональными контролами. Это вам не из бинарных .FRM вынимать поток — это реальный конструктор форм. Вплоть до того, что сами описания форм можно было хранить в таблице БД и при необходимости править при помощи банального memoedit'а... Да-да, и мета-язык тоже был! Это оно сейчас, когда визуальноe программирование стало нормой, кажется смешным. У нас на тот момент выбор был небогатый.

В середине девяностых на моём домашнем компе умер винч. Умер зонами, в одну из которых попали исходники этой самой библиотеки. Причём и сама бибилиотека, и .OBJ для неё выжили. Пока ещё был некий коммерческий спрос на DOS-программы, эта либа честно поучаствовала в нескольких вполне продаваемых проектах. При этом переписать её не было никакой физической возможности: исходники вымерли вместе с винчестером, а Клиппер-декомпилятор смог возродить менее трети текстов. Остальное не воспроизводилось, так как опиралось на вскрытые, но таки недокументированные особенности языка.

Так к чему я это всё? Ах, да... Среди модальных диалогов был и прогресс-бар. Который, само собой, нельзя было перерисовывать при каждой итерации: обрабатываемые таблицы вполне могли содержать миллионы записей, а рантайм Клиппера — это интерпретатор прекомпилированных байт-кодов (Явы тогда ещё и в проекте не существовало). То есть, это сразу стало ясно, нужен вменяемый пересчёт отношения «current/total» в размер окна с прогресс-баром, то есть нормализация на единице квантования бара. Было немножко арифметики вне цикла, после чего внутри цикла отрабатывались только пороговые значения, которые продвигали бар на полоску вперёд. Правда, именно на Клиппере это решалось чуть проще: часть арифметики делал рантайм, подсаженный на коллбек (и это под ДОСом).

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

4474

Знай себе цену

Привет всем из вакуума. Я тот самый сферический счастливый линуксоид. Точнее, почти сферический, потому как уже несколько лет я не участвую в священных войнах, а просто делаю свою работу.

Не скрою, беру я за свою работу суммы ощутимые, если сравнивать с услугами по установке Windows. Хотя тут вопрос спорный: один мой товарищ-админ имеет статус сертифицированного тренера Microsoft, так он тоже берёт за свои услуги кругленькие суммы. Ещё два товарища-программиста пишут ПО для специфического оборудования. Пишут так, что «родное» ПО рядом не валялось ни по функционалу, ни по надёжности. Один из них вообще имеет бизнес по переводу магазинов, кафе и прочего на линукс. Берёт деньги один раз, раза в два больше, чем хотят товарищи, делающие на Windows, но после завершения пусконаладочных работ больше не приходит: нет потребности. Да и самому мне приходится в силу должностной инструкции поддерживать локальную сеть с полусотней машин под Windows плюс домен Active Directory. Знаете ли, на «здоровом» железе у меня проблем нет ни с одной ОС. Разве что Mac OS X не хочет дружить полноценно с Windows Server 2008 — всё обновлений ждём.

К чему это всё? Да к тому, что настоящему спецу плевать на названия. Он выберет наилучший инструмент для данной задачи и применит его. А ещё настоящий спец не может стоить дёшево — разве что вы лично ему чем-то дороги.

4473

Достучаться до небес

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

— Анонимность

— Армия

— Бизнес и услуги

— Благотворительные фонды

— Компьютеры и технологии

— Новости

— Нудисты (!)

— Образование и обучение

— Поиск работы

— Политика и закон

— Правительство

— Финансы

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

4472

То берёза, то рябина, куст ракиты над рекой

Служил в середине восьмидесятых под Москвой в части связи. За карманные приёмники нас гоняли под предлогом, что враг не дремлет, а приёмник — это не только приёмник, но и передатчик. Но хотелось же...

Начала появляться «Европа Плюс», да и «голоса» тоже хотелось послушать. Сослуживец, довольно далёкий от всяких наук, просветил меня, к тому времени прослушавшего в институте полкурса электротехники и электроники, что лучшей антенной для приёмника служит дерево. Я долго смеялся. Он же подключил антенное гнездо к гвоздю, вбитому в высокую берёзу. Мда, весной не только пень расцветает: мы принимали все возможные и невозможные радиостанции. По берёзе-то соки весной движутся. Вот тебе и деревянная антенна!

4471

Это не порнуха, это патч

Работаю сметчиком. Ежедневно пользуюсь программой одной из фирм-гигантов данной области. Недавно столкнулась с проблемой. При запросе поиска по шифру строительного материала программа писала: «Введн недопустимый символ», — и намертво висла. Проверила, не запала ли какая клавиша. Терпение кончилось, и я позвонила в службу поддержки.

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

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

263 ГБ свободного места — всё работает в штатном режиме.

4470

Похрустывая арматурой

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

— %myName%?

— Угу.

— УВД такого-то округа, такой-то. Когда вас ждать в гости?

Как известно, очко десантника во время прыжка способно перекусить арматурину. Я ведь не без греха: в связи с задержкой зарплаты не плачу по кредиту уже три месяца. Всё идёт по тексту: кабинет, ФИО, что сказать дежурному... Седлом чую неладное. Отвёз дочу домой. Захожу в кабинет, представляюсь. Ответ убил:

— Б#я, сколько вас ждать? У нас Ворд не работает, прокуратура с проверкой на подходе! Лечить срочно!

Как думаете, сколько нелицензионного софта и вирей я насчитал на машине, которая ещё билась в конвульсиях? 23 и 1047 единицы соответственно — и это на «зверской» сборке...

Когда всё доделал и вышел, прикуривая сигарету, я понял, как чувствуют себя досрочно освобождённые.

4469

Наполовину открыто

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

Через неделю встречаю ещё раз, спрашиваю, что да как. Оказалось, что всё не так; хотят уже сносить OpenOffice и ставить пакет от MS. Директору и заму по снабжению оставили MS Office, потому что контрагенты шлют свои XSLX-файлы с ценами. В результате директор задолбался объяснять пользователям, чтобы они сохраняли в DOC, а не в ODT, чтобы этот самый директор мог отчёты прочитать.

Ещё через пару недель встречаемся в курилке. Выясняется, что цены на MS Office для коммерческих компаний сильно кусаются, и они продолжают мучиться с двумя «офисами». Тут-то я ему и сказал, что MS Office и OpenOffice.org можно поставить на один компьютер одновременно. Таких глаз я больше нигде не увижу: за короткий миг в них пролетело удивление, радость и даже какая-то детская обида за бесцельно потраченные три недели.

4467

Техсаппорт на новом уровне

Разговор по телефону, дословно:

— Алё, я с утра не могу зайти в интернет! Что такое, б#я?! Почему вы меня отключили? Что за самоуправство, нах?

— Спокойно. Адрес назовите, пожалуйста.

— %address%. Так кто мне ответит, почему я полдня не могу пользоваться интернетом? Верните деньги, значит! А то как отключать без причины — это вы можете, нах, а как до денег, б#я, доходит, вы, б#я, отмораживаетесь, нах!

— Мужчина, не кричите. Я ваш модем не вижу. У вас ТВ работает? Проверьте.

— Да работает всё! С утра смотрю! А интернета как не было, так и нет, нах! Что за б#@дство?!

— Или перестаньте ругаться, или я положу трубку.

— Это я, б#я, ещё не ругаюсь! Я могу и покруче завернуть! Отвечайте, когда включите интернет, нах!

— Если вы, б#я, не проверите, включен ли у вас модем, то мы вам ещё и иск вкатим за оскорбление!

Пауза, шорох, ругань.

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

Надо уметь опускаться на уровень пользователя.