bash.im ithappens.me zadolba.li
4476

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

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

4475

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

20 октября 2010, 11:45

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

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

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

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

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

4474

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

20 октября 2010, 11:45

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

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

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

4473

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

20 октября 2010, 11:45

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

— Анонимность
— Армия
— Бизнес и услуги
— Благотворительные фонды
— Компьютеры и технологии
— Новости
— Нудисты (!)
— Образование и обучение
— Поиск работы
— Политика и закон
— Правительство
— Финансы

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

4472

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

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

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

4471

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

20 октября 2010, 10:00

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

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

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

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

4470

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

20 октября 2010, 10:00

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

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

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

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

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

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

4469

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

20 октября 2010, 10:00

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

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

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

4468

Высуньте язык и скажите «А-а-а»

20 октября 2010, 08:00

Работаю лаборантом (эникейщиком) в местной школе. Школа новая, только что сдана. Вскоре привезли нам по компу для каждого учителя. Да ещё и мощные какие: Core i3, офигенная видюха... Могли бы вместо этого заказать компов втрое больше, как по мне.

И вот сижу я и раскатываю образы виндового дистра. Картина: стоит десять компов в ряд, все работают, весело мигают синей кнопкой запуска. Тишина-а-а... Мне лень было организовывать «компьютерный класс» — я взял клаву, мышака и монитор и просто подсоединял их к каждому следующему блоку.

На шестом компе у меня возник вопрос: а на каком же блоке я развернул систему и настраиваю её? Вставать было лень: три часа катания на стуле дают о себе знать. Зашёл в «Мой компьютер», правокликнул по сидюку и скомандовал «Извлечь». Винда послушно показала мне, кто виноват и что с ним делать. Видать, Билли и это предусмотрел!