Category: it

knot

Компьютерное

Note to myself. Если у тебя открыт VPN, и удаленная подсеть совпадает с локальной, то открыть ssh на локальные хосты ты не сможешь. Это не потому, что у тебя неправильная версия ssh (не надо ее переставлять!). Это не потому, что у тебя неправильные конфиги (не надо их менять!). Это не потому, что у тебя неправильные ключи (не надо их перегенерировать!). Это не потому, что у тебя firewall (не надо проверять его отсутствие!).

Это потому, что ты — побрекито.

This entry was originally posted at http://scholar-vit.dreamwidth.org/517528.html. Please comment there using OpenID.

comment count unavailablecomments

knot

Сапожники и сапоги

Дешевый USB hub после семи лет работы умер, утащив за собой в мир иной домашний backup server. Диск, на котором был файловая система самого сервера, перестал читаться. Как водится, бекапа именно этого сервера у меня не было.

К счастью, это был Raspberry Pi, и диск, о котором идет речь, на самом деле SD карточка от телефона. Я ее выкинул, нашел в закромах другую, поставил свежий Raspbian и воткнул в гнездо. Пожалуй, решение не бекапить этот сервер было правильным: там был ровно один нестандартный скрипт, копия которого у меня имелась. Настройка с нуля заняла полчаса; вряд ли я быстрее нашел бы бекап и восстановил сервер.

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

This entry was originally posted at http://scholar-vit.dreamwidth.org/511339.html. Please comment there using OpenID.

comment count unavailablecomments

knot

О неудобстве американской налоговой системы для преуспевающих бизнесменов

Маркс, как известно, считал капиталистическое государство комитетом по делам буржуазии в целом. Этот комитет, похоже, что-то имеет против крупной буржуазии, что доказывает форма 1040-V. Это бумажка, которую надо приложить к чеку, посылаемому в налоговое управление. Так вот, бумажка эта говорит, что налоговое ведомство, видите ли, не может принимать чеков на сумму в сто миллионов долларов и выше. Так что если вам нужно заплатить дяде Сэму сто миллионов десять долларов, то извольте мучиться, выписывая целых два чека: один на девяносто девять миллионов девятьсот девяносто девять тысяч девятьсот девяносто девять долларов, а второй на одиннадцать долларов. Или платите онлайн.

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

Возмутительно, вот что я вам скажу.

This entry was originally posted at http://scholar-vit.dreamwidth.org/503811.html. Please comment there using OpenID.

comment count unavailablecomments

knot

Товарищи изобретатели

От юристов пришел проект заявки на патент. Кстати, они нашли опечатку в одном моем уравнении: плюс вместо минуса. Молодцы. Правда, наши программисты нашли эту же опечатку раньше. Все-таки есть на свете люди, которые меня внимательно читают.

Так вот, там, как водится, были вопросы юристов. Почему-то они начинались с обращения "Inventors". Типа "Inventors, please explain what does this thingamajig do". Меня это обращение, направленное в наш с коллегой адрес, все время коробило. "Товарищи ученые"...

knot

Старая шутка: Turing test

Прислали замечательное из Hacker News; но по-моему, я это уже видел много лет назад.

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

knot

Ещё об индустриализации профессий

Комментируя мою предыдущую запись, pigbig указала на идеи Ритцера о Мак-Дональдизации общества (см. изложение концепции в рецензии на книгу Ритцера).

Книгу я ещё почитаю, но подмеченное автором стремление к воспроизводимости и предсказуемости мне кажется очень интересными наблюдением. При этом, если верить рецензенту, эта предсказуемость становится не средством, а целью: "Не надо лучше, надо по правилам!"

Это напомнило мне эпизод, про который я, кажется, уже рассказывал. В конце прошлого века судьба и воля начальства занесла меня на семинар для менеджеров программистских компаний. Ни до, ни после этого случая я этими вопросами не интересовался, поэтому я не могу сказать, насколько общепринятыми были взгляды преподавателя. Возможно, что это были его личные заморочки - а может, наоборот, так все менеджеры думают. Впрочем, это не так уж и важно.

Преподаватель начал с того, что всем присутствующим известны замечательные программисты, способные быстро писать прекрасный код, точно решающий поставленную задачу. Они на голову выше остальных сотрудников, и заменить их практически невозможно. Задача менеджера состоит в том, чтобы таких сотрудников выявить и немедленно уволить. Их наличие несовместимо с современным промышленным производством, которому нужна воспроизводимость. "В правильно организованной компании, - подчеркнул преподаватель, - вы можете дать одну и ту же задачу двум разным программистам, и получить практически одинаковый код. Именно в этом состоит ваша цель". Преподаватель не произносил слов про средневековье и шедевры, но мысль его была вполне узнаваема: программист должен, как рабочий у конвейера, стать типовой деталью стандартного механизма. Интересно, что про качество кода при этом ничего не говорилось: в полном соответствии с идеями Ритцера (как я их понял из краткого изложения), предсказуемость и воспроизводимость тут не средство, а цель.

Я не знаю, получилось ли с этим у менеджеров, но сам подход тогда поразил меня размахом, достойным сэра Томаса Мора или Угрюм-Бурчеева. Уходящие в бесконечность правильные геометрические ряды одинаковых серых кубиков, в которых сидят взаимозаменяемые программисты, пишущие стандартный код. Они едят стандартную еду в стандартных Мак-Дональдсах, лечат их от типовых болезней типовые доктора (если два врача увидят одинаковые симптомы, они должны выписать одинаковые рецепты!), а взаимозаменяемые юристы оформляют им типовые разводы.

См. мультипликационную заставку к "Иронии судьбы".

knot

О графике работы программистов

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

Я вспомнил этот анекдот, когда М. рассказала мне о проблеме, которую обсуждали на совещании на работе. Дело в том, что один из младших программистов - ярко выраженная "сова". Приходит и уходит он поздно. Но у них два раза в неделю получасовое совещание в 10:30 утра. И хотя парень живет в пяти минутах от работы, он все время опаздывает. А на последние два он просто не пришел: не успел. Возник вопрос, что с ним делать. Перенести совещание невозможно: у босса (кстати, бывшего программиста) день расписан.

В итоге решили подарить ему бегающий будильник.

knot

Совет консультантам

Собственно, не всем, а около IT-шным. Обещание "free lifetime support and bugfixes" клиентов, конечно привлекает. Ничего не скажу.

Но выходных у вас уже не будет.

Это я к тому, что клиент, получивший продукт в декабре 2008 года и приславший первый багрепорт неделю назад, в своем праве. Free lifetime support.

Хорошо, что ещё один совет: тщательно документируйте все, что делаете, и пользуйтесь version control, - я давным-давно себе дал. Иначе хрен бы я вспомнил, что там больше года назад ваял.

knot

О хакерском подходе к программированию

Прекрасная иллюстрация к тому, что такое настоящий хакер. В последнем номере TUGboat статья Дениса Рёгеля (Denis Roegel, Spheres, great circles and parallels, TUGboat, 30 (1), 80--87, 2009). Он рисовал параллели и большие круги на сфере в программе METAPOST, и для точного построения ему нужна была трехмерная векторная алгебра. Но в METAPOSTе нет типа данных "трехмерный вектор". Рёгель заметил, что программа умеет раскрашивать рисунки, и цвет точки задается тремя параметрами в пространстве rgb (т.е. смешением красного, зеленого и синего). После чего он спокойно пишет:

let vector=color;
let Xp=redpart; let Yp=greenpart; let Zp=bluepart;

def dotproduct (expr Vi, Vj)=
  (Xp(Vi)*Xp(Vj) + Yp(Vi)*Yp(Vj) + Zp(Vi)*Zp(Vj))
enddef;

def vecproduct (expr Vi, Vj) =
  (Yp(Vi)*Zp(Vj)-Zp(Vi)*Yp(Vj),
   Zp(Vi)*Xp(Vj)-Xp(Vi)*Zp(Vj),
   Xp(Vi)*Yp(Vj)-Yp(Vi)*Xp(Vj))
enddef;

def norm(expr V) = sqrt(dotproduct(V,V)) enddef;
def normed(expr V) = (V/norm(V)) enddef;

и дальше строит свои чертежи.

Вот это и есть Настоящее Хакерство(TM).

knot

Microsoft:RMS - 1:0

Сын на прошлой неделе съездил на программистскую конференцию в Монреаль. Среди прочих докладчиков там был и Столлман. После выступления он решил продать с аукциона пару вещей в пользу Free Software Foundation: сборник своих эссе и плюшевую антилопу-гну. Честно говоря, не всем в аудитории это понравилось: во-первых, там были в основном студенты, во-вторых, это было воспринято как коммерциализация выступления.

Перед моим сыном сидел Джуи Девилла, Developer Evangelist for Microsoft Canada (даже не знаю, как перевести название его работы - в общем, он за зарплату объясняет людям, какая хорошая штука Микрософт). Когда RMS выставил на аукцион гну, мой сын ткнул его в спину: "Ты должен выиграть этот аукцион!". Джуи начал торговаться и купил антилопу за 105 канадских долларов. Когда он поднялся на сцену, аудитория зааплодировала: все знали Джуи и понимали, откуда он. Для тех, кто не понимал, он на всякий случай продемонстрировал микрософтовскую корпоративную кредитную карточку. Столлман заметил, что даже деньги от Микрософта не смогут коррумпировать FSF. Тогда Джуи доказал, что не зря ест свой хлеб. Он повернулся и сказал в микрофон: "Присоединись ко мне, Столлман, - и мы вместе установим порядок в Галактике", - разумеется, голосом Дарта Вейдера.

Аудитория легла.

Кстати, сам Джуи описал этот эпизод в своем блоге. В нем реплика Столлмана звучит иначе, а мой сын фигурирует под гордым именем "Someone". "Видел я этого Некта..."