spamsink: (Default)
поражает полное отсутствие в 80-е сжимающих данные универсальных программ-упаковщиков-архиваторов.

IBM-370 применяли примитивное RLL-кодирование (run length - повторы двумя байтами, значение и количество) и никакой декорреляции, как ZIP, LZH и подобные, разработанные в 50-годах.


"В 50-х годах", ах, если бы так!

(Typo/thinko "RLL" вместо "RLE" игнорируем.)

А какие еще иллюзии древности приходят в голову? Мне так только "Надо же, а я думал(а), что он(а) давно умер(ла)!" про разных писателей, ученых, а то и актеров.
spamsink: (Default)
Оказывается, процент удачных предсказаний будущего у известного футуролога Рэя Курцвейла составляет...
вы не поверите )
spamsink: (Default)
Во время оно довелось мне читать в каком-то из многочисленных сборников НФ один короткий рассказ, от которого я расчувствовался. Название его я помнил, но и только. Сколько-то лет назад я выяснил, кто автор, а сейчас я вдруг взял и нашел весь текст, потому что внезапно вспомнил название сборника. Рассказ, действительно, очень короткий, меньше тысячи слов.
Для удобства прочтения приводится и здесь в качестве fair quotation. Туча )
spamsink: (Default)
Например, можно решить одну из задач Джона Конвея, за решение любой из которых обещается премия.

Одну из задач (пятую) недавно решили:

Пусть n - целое положительное число. Запишем его разложение на простые множители обычным образом, например, 60 = 22·3·5, где простые числа записаны в порядке возрастания, а показатель степени 1 не пишется. Опустим показатели степени в строку и удалим знаки умножения, получив число f(n). Повторим.

Таким образом, f(60) = f(22·3·5) = 2235. Далее, т. к. 2235 = 3·5·149, его образ 35149, а т. к. 35149 - простое, его образ - оно само. Следовательно, 60 → 2235 → 35149 → 35149 → ..., мы долезли до простого числа и остановились на нём.

Предполагается, что с любого числа можно долезть до простого, хотя для числа 20 это не было показано. Заметим, что 20 → 225 → 3252 → 223271 → ..., достигая числа из более чем 100 цифр, но всё ещё не простого.

Был найден контрпример:
13532385396179 = 13·532·3853·96179.

Почти по $22.73 за бит.
spamsink: (Default)
1. Найдите ближайшую к вам (или куда не жалко денег позвонить) организацию, занимающуюся прокатом байдарок.
2. В часы ее работы позвоните туда и спросите "Это прачечная?"
3. Ожидайте ответа.
4. Получив правильный ответ, скажите "Есть контакт".
spamsink: (Default)
Когда деревья были большими, а память в компьютерах - маленькой, дети развлекались написанием программ на языке BASIC. Язык был простой и незамысловатый, но с появлением пиксельной графики на микрокомпьютерах и, соответственно, операторов отрисовки точек, отрезков и дуг окружностей или эллипсов, какая-то добрая душа добавила в язык и оператор закраски замкнутой области (PAINT или FILL).

Ну а что ж, надо же как-то удобно рисовать закрашенные кружочки и многоугольнички?

Одни разработчики были умные. Они решили сделать так: перед рисованием контура фигуры программист должен сказать "приготовься закрашивать то, что я сейчас буду рисовать", а после окончания рисования контура - "давай закрашивай". Фигура при этом должна быть "выпуклая по горизонтали", т.е. пересечение любой горизонтальной прямой и контура должно быть не более чем две точки или отрезка (а если кто не читает инструкции, тот ССЗБ). Процедура закраски должна всего лишь запоминать, какие были самая левая и самая правая точки контура в каждой строке экрана, и по заключительной команде закрасить всё между ними.
Алгоритм простой, памяти много не требует, но рисовать таким образом, например, кремлевскую стену довольно утомительно.

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

Третьи разработчики были добрые. Они решили сделать так: операция закраски будет пытаться красить любые фигуры, пользуясь фиксированным количеством памяти, а если фигура окажется слишком сложная, то нефиг было программисту выпендриваться — подождёт.
Алгоритм совершенно бешеный, и описание на естественном языке, и псевдокод; и на многосвязных фигурах медленный, как моя жизнь. Курсор бегает по лабиринту кругами, как крыса, а толку через час по чайной ложке (скажем, для закраски квадрата 50х50 с 13% случайно расставленных точек может потребоваться больше 100 тысяч шагов).
В псевдокоде особенно восхищает вот это:
cur, mark, and mark2 each hold either pixel coordinates or a null value
         NOTE: when mark is set to null, do not erase its previous coordinate value.
               Keep those coordinates available to be recalled if necessary.

(Поняли теперь, как nullable references должны быть устроены?)

Самое смешное, что алгоритм всё же действительно работает.
spamsink: (Default)
Вопрос к математикам и к примкнувшим к ним.

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

Как определить минимальную размерность пространства, в котором эти точки могут быть расположены, если этих точек не так уж много (скажем, всего несколько десятков), и они могут быть сильно неслучайные, поэтому корреляционную размерность особо не посчитаешь?
spamsink: (Default)
Sverd по-норвежски значит sword, меч.
Lov по-норвежски значит law, закон.

Sverd lov, таким образом, — это sword law, закон меча, право сильного.

С датского, который недалеко ушел, совсем хорошо.

Я бы в википедию написал, но увы, это original research.
spamsink: (Default)
Вчера на сон грядущий я узнал, как отличить сон от яви: нужно найти в окружающем мире какую-нибудь надпись и прочитать ее. Если написана чушь или если надпись изменяется при повторном прочтении - значит, это сон.
Ну и немедленно попробовал. Работает!

В примерах в ролике полностью меняются даже короткие надписи. Память у меня, вроде, еще не насколько плохая - в моем случае первая пара слов оставалась та же, что и раньше, но остальная чушь, действительно, менялась. И шрифт менялся, что характерно.

spamsink: (Default)
Согласно современным исследованиям, самая интересная (критерий интересности оказывается NP-трудный, как это обычно бывает) анаграмма в английском языке - megachiropteran cinematographer (гигантская летучая мышь-кинооператор).

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

В русском языке, если брать анаграммы, упомянутые в википедии, самой интересной оказывается "ватерполистка-австралопитек".

Также хороша "необязательная пегость" (dispensable piebaldness). Гуглотранслейт пока затрудняется, переводит как "неопровержимая пегиличность".

Мне еще нравятся timesaving negativism (экономящий время негативизм), peripatetic precipitate (странствующий осадок), shortened threnodes (укороченные погребальные песни; заодно узнал новое слово), soapstone teaspoons (чайные ложки из стеатита) и др.

В полном списке можно найти и еще жемчужины, например, прекрасное название для фармацевтической компании Adrenotropic, Incorporated
spamsink: (Default)
Клинический психолог, основатель гендерного центра для детей и подростков в Сан Франциско, Diane Ehrensaft: В то время как число трансгендерных клиентов, интересующихся психотерапией и поддержкой, существенно возросло, число тех, кто хочет сменить пол с мужского на женский или с женского на мужской, неуклонно снижается.

Вот и славно, а то восхищение лечением культурно-обусловленной невротической дисморфомании путем отрезания или пришивания мне всегда претило.
spamsink: (Default)
В прошлые выходные я впервые увидел объявление на фермерском рынке с просьбой возвращать пластиковые корзиночки из-под клубники виктории земляники садовой (strawberry, короче) при следующем посещении рынка.
spamsink: (Default)
А продолжительность жизни разных плацентарных млекопитающих наиболее правильно выражать в длительности гестации соответствующего вида.
Так, например, Вольфрамова Альфа знает, что жизнь человеческая равна 88 беременностям (при этом human lifespan по-ихнему - 66 лет), а ни про собак, ни про мышей, ни про слонов не знает; говорит, недостаточно данных.

Зато знает про кошек. От 110 до 130, говорит. Так что далеко еще людишкам до кошек в плане долговечности.
spamsink: (Default)
На давно любимом сайте - очередная задачка:

Возьмем, скажем, строку "CABACB" - в ней между буквами А - один символ, между буквами В - два символа, а между буквами С - три. Если увеличивать количество разных букв, то без пробела/дефиса не обойтись. Например, для пяти букв вариантом ответа будет "ADAEC-DBCEB".

все 11 принципиально различных вариантов )

Требуется найти строку, в которой имеется по паре каждой буквы латинского алфавита и не более одного дополнительного символа, т. е. длиной 52 или 53 символа.

Раз они там так спрашивают, то надо, значит, писать программу. Как и положено программисту, я ленив и нетерпелив, поэтому меня хватило только на программу из пяти строк (190 байт), которая выдала результат секунд через 5, если не ошибаюсь (а если ошибаюсь, то через 10), но в таком виде, что пришлось писать еще одну программу, переводящую числа в буквы.

Внимание, вопрос: на каком языке я написал программу?

Ради интереса я попытался изменить программу, чтобы она нашла лексикографически первый из возможных ответов. Попытка искать по шаблону ABACBDECFGDHEI.F.G..H..I... пока к успеху не привела. По шаблону ABACBDECFGDHE..F.G..H... находится много, но буква, следующая после второго E, обычно ближе к концу алфавита.
spamsink: (Default)
Ниже приводится выборка из 27 "трудных" вопросов, задаваемых людям на интервью. Если бы мне любой из этой выборки задали, я бы послал их счастливо оставаться.

“How do you explain a vending machine to someone who hasn’t seen or used one before?”

“If your current employer had an anniversary party for you, what five words would be written on the cake to describe you?”

“Who in history would you want to go to dinner with and why?”

“Name a brand that represents you as a person.”

“If you could take anyone on a road trip with you, who would you take and why?”

“If you had to take only one item to a deserted island, what would that be?”

“Sell me on one idea, and then sell me on the opposite of that idea.”

“If you were a Muppet, which character would you be?”

“What part of the newspaper do you read first? What does this say about you?”

“Throw your resume aside and tell me what makes you you.”

Большинство других перечисленных там вопросов я нахожу маргинально приемлемыми. Например,

“How many fire hydrants are there in Los Angeles County?”

“What’s the capital of Canada?” (OMG)

“What is the first thing you’d print with a 3D printer if you had one?”

“How do you reverse a text string on the Unix command line?”

“What is the probability of an integer from 1 to 60,000 not having the digit 6?”


Отсюда следует прекрасная идея для мета-интервью: давать человеку список этих вопросов и говорить, что он может ответить на те 5-7 из них, на которые пожелает. Тут тебе сразу и aptitude test, и skills test, и чёрт в ступе.

делов-то куча )
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 года. Второй надо будет куда-нибудь заныкать в качестве подменного, чтобы очередному коллеге не пришлось ждать две недели, если у него монитор испортится.

Profile

spamsink: (Default)
spamsink

August 2017

S M T W T F S
  1 234 5
67 89101112
13 141516171819
20212223242526
2728293031  

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Aug. 16th, 2017 03:02 pm
Powered by Dreamwidth Studios