spamsink: (Default)
Из серии "I just couldn't resist".

Разбавляем рабочие будни небольшим количеством классики кино:

    if (expr.op() == OP_COND && expr.operand2().op() == OP_COND) {
        // I think this is the beginning of a beautiful priority encoder.
        ...
    }
spamsink: (Default)
Стал у меня в прошлый четверг на работе один из мониторов портиться: вдруг ни с того, ни с сего выключается и с частотой 1-2 герца безуспешно пытается включиться, мигая индикатором питания и мелькая то заставкой, то изображением, а то просто попискивая, и не реагируя на кнопку питания. Если выдернуть из розетки и дать ему отдохнуть, то включается и работает некоторое время от нескольких минут до нескольких часов.

Ну что, в пятницу 21 апреля зафайлил тикет подал заявку в IT-отдел. В ответ было сказано

IT does not keep inventory on equipment. You will need to either order that on Ariba Buyer of find one online and expense it.

Раз так, чем самому что-то там где-то там выбирать а потом финансовый отчет писать, пошел заказал на арибе через компанейский аккаунт одну из высочайше утвержденных моделей (в двух экземплярах, конечно; не портить же себе глаза двумя разными мониторами). Пока ее IT утвердило, пока начальник вернулся из командировки и утвердил... В общем, предполагаемая дата доставки - 1 мая, после чего надо будет обновить заявку, и, будем надеяться, вот тогда из слёз, из темноты через относительно короткое время появится your friendly IT officer и прикрутит мне новые мониторы. Итого, если повезет, 10 календарных дней с момента сообщения о проблеме, а если не повезет, то и побольше. А вот в стародавние времена, когда IT did keep inventory on equipment, в тот же день пришли бы и заменили на новый со склада, и я бы горя не знал.

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

Ради прикола: дата производства обоих мониторов - июнь 2005 года. Второй надо будет куда-нибудь заныкать в качестве подменного, чтобы очередному коллеге не пришлось ждать две недели, если у него монитор испортится.
spamsink: (Default)
Повесть о том, как работа с хэш-таблицей в манере Робин Гуда может внезапно стать квадратичной сложности: (https://accidentallyquadratic.tumblr.com/post/153545455987/rust-hash-iteration-reinsertion) и как с этим бороться.

Вообще, весь блог весьма познавателен.
spamsink: (Default)
Ответ на музыкально-совещательный вопрос -

Эли Картан (Élie Cartan).

Объясните мне, пожалуйста, как он связан с квинтовым кругом.
spamsink: (Default)
Как я когда-то писал, в нашем офисе все комнаты для совещаний названы в честь замечательных людей (учёных) или в честь замечательных идей (операционных систем, языков программирования). На стеклянной двери каждой комнаты есть иллюстрация, как-то ассоциирующаяся с родом деятельности человека или функциональностью системы, и пара абзацев с объяснением, чем человек или идея так замечательны.
Так вот, на одной из дверей на этаже, куда наш отдел на прошлой неделе в очередной раз переехал, картинка такая:


Предлагается угадать, именем какого математика XIX или XX века она названа. Если никто до конца понедельника не угадает, я скажу ответ и предложу объяснить, в чем связь, потому что из объяснения на двери я не понял.
spamsink: (Default)
(Заголовок по-английски, а то уж очень много стало нынче последних времён наставать.)

Через неделю-другую больше не надо будет носить на связке ключей RSA SecurID®, а надо будет поставить на смартфон Okta Verify™. Что с одной стороны для обладателей смартфонов удобно, а с другой - хошь-не хошь, а смартфончик-то имей. Нет своего, так компанейский дадут, но в любом случае не отвертишься.

Поступь прогресса неумолима, сложению по модулю 2 не поддаётся.
spamsink: (Default)
There was some network problem in Mountain View, because of which the web server was not working.
IT has fixed the issue and the web server is back online.

Sorry for any incontinence caused.
spamsink: (Default)
У нас на работе сегодня забастовка - не работает кафетерий и кейтеринг.

В письме, сообщающем об этом, происходящее стыдливо названо interruption of services related to a national boycott.
spamsink: (lenin)
С сегодняшнего вечера все компьютеры, принадлежащие работодателю, где бы они ни находились, в целях пущей сохранности секретов фирмы утратили возможность соединяться с почтовыми и файлообменными сервисами (VirtualBox тоже перестал работать). Причем это делается именно ради безопасности, а вовсе не ради повышения производительности труда - новостные и финансовые сайты, а также социальные сети остались открыты.

Поэтому с завтрашнего в рабочие дни я буду отвечать на комменты гораздо реже, чем раньше.
spamsink: (lenin)
Интересно, сколько мегаватт-часов электроэнергии было потрачено впустую, и ещё будет потрачено из-за того, что гораздо проще написать C++ )
spamsink: (lenin)
Разбирая рабочую почту:

Что за безобразие, вообще, что модель памяти размером 8192x1036 занимает аж 231 36-килобитный блок даже в режиме оптимизации ёмкости.

Вот и не угадали, русскоязычный израильтянин.

Я, понятное дело, смог с собой побороться настолько, чтобы спросить лишь "А сколько ожидалось?"
spamsink: (lenin)
И слегка относящийся к работе, но это не очень важно; для работы он не критичен, а так, в порядке делового бреда. Ключевых слов, чтобы попробовать погуглить возможные решения, я навскидку не придумаю, так что предлагайте ваши варианты.

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

Продемонстрирую на человеческих примерах:

Например, если один набор (корова, ворона, корона, собака), а другой (солнце, лошадь, молоко, дерево), то ответом будет [6] (в 6-й позиции в одном наборе буква А, а в другом - не А).

Или если один набор (голова, окорок), а другой (смалец, яичник), то ответом будет, например [1,2] - в одном наборе в этих позициях количество согласных чётное, а в другом - нечётное.

Ну и, естественно, в худшем случае окажется, что количество позиций в минимальном наборе равно длине строки. Это положение дел хотелось бы уметь определять как можно более эффективно.
spamsink: (lenin)
Несколько дней назад мне в рабочем Microsoft Outlook внезапно начали приходить приглашения на совещания на японском языке. Я несколько раз отвечал явным отказом (decline and send the response) - не помогало. Потом вчера я оказался включен в Cc: какой-то дискуссии на японском. На это я написал в ответ (по-английски), что они меня с кем-то путают. Ответили мне двое: японец с извинениями и некий мой тёзка — сообщая, что меня путают с ним (он уже был в том Cc: ).
Ну, думаю, слава богу, разобрались. Не тут-то было. Сегодня я оказался впутан в другую японскую дискуссию, где в списке получателей не было ни вчерашнего апологетического японца, ни моего тёзки. Я ответил, добавив тёзку в Cc: и попросив исключить меня. В ответ пришло:

I’m sorry to bother with you.

We will delete your name in this email chain after this email.


Я всё ещё похохатываю.
spamsink: (lenin)
Сегодня я нарушил свой режим и не пошел, как обычно делаю по пятницам, в тренажерный зал, а сидел допоздна на работе.
потому что постигал причину и искал корень зла )
spamsink: (lenin)
Как было правильно замечено древними, the most exciting phrase to hear in science, the one that heralds new discoveries, is not “Eureka” but “That's funny...”

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

А у вас часто бывает смех на рабочем месте по рабочему поводу?
spamsink: (lenin)
Сегодня я исправил ошибку в собственном коде, которой практически ровно 10 лет. Интересно, что за всё это время она ни разу не проявлялась ни на примерах из реальной жизни, ни на стандартном пакете тестов, а была обнаружена при очередном раунде улучшения тестирования. посему задачка для даже не программистов, и не для хардверщиков, а для численных методиков )
spamsink: (lenin)
Дешевый и сердитый способ получить 128-битную целую арифметику в GCC: под катом для интересующихся )
spamsink: (Default)
В пятницу ближе к концу рабочего дня внезапно обнаружилось, что мне могут потребоваться алгоритмы поиска ассоциаций. На момент обнаружения я об этих алгоритмах был ни сном, ни духом, а гугление выкристаллизовавшейся в голове фразы "frequent set search" принесло в первую очередь словосочетание "Apriori algorithm", которое мне почему-то показалось смутно знакомым, но я так и не вспомнил, почему.

До конца рабочего дня я успел скачать парочку реализаций и поиграть с ними.
Вечером с помощью эллиптического тренажера — кстати, очень полезный для программиста инструмент — я понял, что именно мне от этих алгоритмов надо, и какие эксперименты стоит делать. Теперь хожу и полирую в голове экспериментальную глюкалу, которую буду в понедельник писать; а работать в выходные из дома, если это не аврал типа "у заказчика всё пропало, он рвёт и мечет", я решил себе не позволять.

Profile

spamsink: (Default)
spamsink

October 2017

S M T W T F S
12 345 67
89 1011121314
15 1617 18 192021
22232425262728
293031    

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Oct. 22nd, 2017 10:05 am
Powered by Dreamwidth Studios