?

Log in

No account? Create an account

все впереди



Как-то так, только даже язвы нет. :)

[reposted post] The End of Spacetime

Великолепный Nima Arkani-Hamed

Купил когда-то сыну телефон на андроиде, год он им пользовался нормально, а потом вдруг поставил на вход цифровой пароль и забыл его. Пытались подобрать, несколько сотен вариантов перебрали, не угадали. Штатный способ решения такой проблемы - залогиниться c другого устройства в его гугловский аккаунт, и как-то там можно удаленно повлиять, снять пароль. Но вот беда: аккаунт тот создавался полтора года назад, куда-то наверное был записан, но найти не получилось, и я не то, что пароля, я и логина-то не помню. И номер телефона тоже год назад менялся (симка протухла в какой-то момент), старый не сохранился, так что вспомнить хоть что-то про гугловскую учетку не получилось.
Сделали тогда hard reset, который должен привести телефон в исходное девственное состояние. Но и тут беда: про гуглоаккаунт он при этом не забывает, и при включении требует залогиниться тем аккаунтом, что там был раньше. Это, типа, защита такая от воров. А мы логин не помним.
Хорошо, что есть в интернете сорок миллионов вьетнамцев и триста миллионов китайцев, которые уже успели нажать на каждый пиксель экрана и каждую кнопку во всех возможных комбинациях и нащупали таки решения, для разных моделей разные. В нашем случае оказалось, что в поле ввода логина можно вызвать переключение языков, там выбрать скачивание дополнительных, будет показано лицензионное соглашение, в нем можно выделить слово, для выделения автоматически доступен поиск в гугле, так можно со все еще заблокированного телефона выйти в гугл и в браузер, там скачать google account manager, который ставится, но не запускается, и другую утилиту для делания шорткатов, которая умеет видеть отдельные потроха программ, т.е. ссылаться на активити внутри программ, и она позволяет вызвать некое гугловое окошко логина, которое штатным образом было недоступно, а оттуда можно уже создать новый аккаунт, после чего достаточно перезагрузиться и вуаля, телефон разблокирован, новый аккаунт задействован.
Т.е. все делается без каких-то радикальных мер, без подключения к компьютеру, без какого-то рутования, все как бы легальными методами, просто такая вот комбинация, которая в итоге обходит защиту. И подобные рецепты есть для самых разных моделей. В итоге, если телефон сопрут, то ворам гугловая защита особых проблем не создаст, а вот обычным забывчивым пользователям наказание. Не забывайте ваши логины, берегите их! :)

Tags:

สัตว์

Вечером на темной стоянке открываю машину, а там кто-то шевелится. Залез в приоткрытое окно.



А этого товарища нашел в траве в полутора метрах от дома:


Отправил за забор в лесок.

PS. В тайском слово "животное" пишется как санскритское "саттва" ("существо"), как в слове бодхисаттва, например. Но читается лишь первый слог.

Tags:

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

Тут черная дыра находится в начале координат, имеет радиус r_s, и уравнение говорит нам, что если мы находимся в момент t в точке с координатами (r, θ, φ), то при перемещении на малюсенький вектор (dr, dθ, dφ) за dt координатных секунд на наших часах пройдет dτ секунд, это "proper time", инвариант, не зависящий от системы отсчета. Поскольку нас интересует чисто геометрия, и никакие аспекты времени мы не визуализируем, то можно убрать из рассмотрения время. И поскольку такая ЧД сферически симметрична, а мы научились визуализировать двумерные искривленные многообразия, то возьмем плоскость, проходящую через "экватор" ЧД, т.е. выбросим еще одну из угловых координат, оставим лишь радиус r и угол u.
Тогда останется метрика
ds^2 = 1/(1 - R/r) * dr^2 + r^2 * du^2
или
ds^2 = (1 + R/(r-R)) * dr^2 + r^2 * du^2
где ds - длина маленького вектора (dr, du) в точке (r, u), а R - радиус ЧД.

Давайте, как в предыдущих частях, сделаем поверхность, вложенную в евклидово 3D пространство функцией (u,r) -> (x,y,z). x и z будут просто получаться из полярных координат привычным образом
x = r*cos(u), z = -r*sin(u)
как на обычной плоскости в евклидовой геометрии, а y будет задаваться некоторой функцией от радиуса F(r). Т.е.
X(u,r) = [r*cos(u), F(r), -r*sin(u)]
Тогда базисные вектора получатся
Xu = [-sin(u) * r, 0, -cos(u) * r]
Xr = [cos(u), dF(r), -sin(u)]
и метрика будет
ds^2 = (1 + dF(r)^2) * dr^2 + r^2 * du^2
Т.е. мы получим в точности наше сечение Шварцшильдовской черной дыры, если
dF(r)^2 = R/(r-R)
где dF(r) - производная F(r) по r
Тогда dF(r) = √(R/(r-R))
это можно проинтегрировать, получим
F(r) = 2√(R*(r-R))
Т.е. взяв радиус ЧД за 1, получим поверхность как результат вращения ф-ии 2√(r-1).

Кто видел исходное уравнение Шварцшильда, помнит, что у горизонта событий коэффициент при dt стремится к нулю (время замедляется), а коэффициент при dr ровно ему обратен, и во столько же раз растет, стремится к бесконечности. Пространство растягивается ровно настолько же, насколько сжимается время. В вакууме соблюдается инвариантность 4-мерного элемента объема.
И действительно, на нашей поверхности в r = 1 (или r=R более общем случае) у нас эта поверхность становится вертикальной, dF(r) обращается в бесконечность, и значит элемент длины в радиальном направлении обращается в бесконечность там. Но значит ли, что путь к горизонту бесконечно долог? Нарисовав поверхность, становится очевиден ответ: путь до горизонта это просто путь по поверхности, т.е. вдоль графика 2√(r-1), а он не так уж длинен, хоть, конечно и несколько длиннее, чем было бы на плоскости.
И второе наблюдение: продолжить поверхность на r < R так просто не получается, там у нас корень из отрицательной величины. В некоторых роликах рисуют уходящую бесконечно вниз воронку. По-моему, это не совсем корректно. Уклон воронки уже на горизонте вертикален, а дальше... Я не возьмусь пытаться изобразить внутренность черной дыры.

Tags:

Ну и вот. Написал я тогда модуль символьных вычислений, который умеет арифметику, умеет частные производные, в том числе тригонометрии и сложных ф-й, умеет немного упрощать (выносить за скобки, сокращать дроби, знает, что sin^2 + cos^2 = 1) и умеет генерить код. Этот модуль используется в компайл-тайме, и из одного лишь уравнения поверхности выводит все необходимые формулы и генерит код для каждой фигуры, который тут же компилятором оптимизируется. Посмотрим на примере все той же сферы.
Задаем уравнение поверхности, отображение 2D координат (u,v) в 3D (x,y,z).

Expr[] sphereEq() {
    auto R = new Var("R");
    return [mul(R, mul(new Cos("u"), new Cos("v"))),
            mul(R, new Sin("v")),
            mul(R, mul(new Sin("u"), new Cos("v")))  ];
}

Ф-я возвращает массив из трех выражений - для x, для y и для z. X у меня идет вправо, Y вверх и Z вдаль. Координата u это долгота, координата v - широта, считается от экватора. Имея эти выражения как три компоненты ф-ии
X(u,v) = [R * cos(u) * cos(v), R * sin(v), R * cos(v) * sin(u)]
первым делом находим базисные вектора - производные X(u,v) по u и по v:
    auto Xu = X.diff("u"); 
    auto Xv = X.diff("v");

Получаем вектора
Xu: [[-1 * R * cos(v) * sin(u)], 0, [R * cos(u) * cos(v)]]
Xv: [[-1 * R * cos(u) * sin(v)], [R * cos(v)], [-1 * R * sin(u) * sin(v)]]
Read more...Collapse )

Tags:

Когда читаешь в книжках по теории относительности про искривленное пространство-время, довольно сложно представить себе визуально как это все выглядит. И у меня давно засела в голове затея сделать самому рендерилку каких-нибудь не очень сложных, понятных пространств, где свет двигался бы по геодезическим, как и велит ОТО, увидеть, как это все изнутри смотрится. Потом был пост nponeccop'a, подкинувший идей. И вот, время пришло.
Какие бывают простые искривленные пространства? Одномерные пространства не имеют кривизны. А вот двумерные уже могут. Самое знакомое нам - поверхность сферы. Если двигаешься по сфере прямо, не сворачивая ни влево, ни вправо, на любой плоской карте такой путь будет выглядеть искривленным. Знаете ли вы, что корабль может доплыть из Пакистана на Камчатку, двигаясь по прямой, ни разу не поворачивая? Кстати, что вообще значит "двигаться прямо"? В случае таких вот 2D поверхностей, вложенных в обычное евклидово 3D пространство, ответ довольно простой. Если мы посмотрим на 3-хмерный вектор направления движения, вектор скорости, и посмотрим, как он изменяется по мере движения по нашей траектории на поверхности, возьмем предел разности между новым и старым значеними, это будет вектор ускорения, так вот, это ускорение всегда должно быть направлено ровно "вниз", перпендикулярно касательной плоскости к поверхности, и так в каждой точке пути. В каждой точке мы можем представить систему координат, где две оси лежат в касательной плоскости ("горизонтально"), а третья перпендикулярна поверхности. Такая система ближе всего к тому, как локально для нас поверхность выглядит, и в ней получается, что вектор ускорения в горизонтальных координатах нулевой (ускорение строго вертикально), т.е. какое бы у нас ни было направление движения, оно не меняется. Это называется параллельный перенос. И геодезическая определяется как траектория, получаемая параллельным переносом вектора направления движения вдоль него самого. Движение строго прямо, с сохранением направления движения. Кстати, не всегда это самый короткий путь - из Пакистана на Камчатку можно и покороче добраться, чем вокруг Африки. Геодезическая - это самый прямой путь. На сфере это большие окружности вроде меридианов и экватора. А вот ненулевая параллель - это уже не геодезическая, не прямая, чтобы лететь и на одной параллели оставаться, надо все время заворачивать, что особенно хорошо видно ближе к полюсам.Read more...Collapse )

Tags:

ตุ๊กแก

Вот такой крокодил живет у нас на чердаке. По вечерам гуляет по стенам и окнам снаружи, охотится, громко кукует.


Read more...Collapse )

Tags:

Больше белки

Видео с телефона:



в шапке

Мой младший член семьи спит в шапке. Залезает в нее с ногами и хвостом, и спит в ней.

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

photoCollapse )
Стали его дома растить. В англоязычном интернете в таких случаях рекомендуют обращаться в ближайший центр реабилитации белок. Позавидовали тем странам, где такое бывает. От нас до ближайшего часов десять на самолете лететь, небось. Но узнали, что надо его во-первых хорошо согревать, в таком возрасте они сами еще плохо с терморегуляцией справляются, а во-вторых кормить его стоит детским питанием ("формулой") для котят. Коровье молоко или там человечье детское питание им не годятся, от них белки мрут. Знакомая ветеринарша подкинула контакты местного специалиста, который уже много белок вырастил, пообщались с ним, да еще с другой ветеринаршей, у которой тоже белка росла. Тут это не редкость, бельчонка найти. Благодаря их советам, бельчонок у нас выжил и чувствует себя весьма неплохо. Первые несколько недель он жил с закрытыми глазами, почти не двигаясь. Утром возьмешь в руки, чувствуешь, что лапы у него холодные, мерзнет. Придумали рядом с его коробкой на ночь оставлять чайник с водой в режиме подогрева, этого небольшого источника допольнительного тепла хватило, мерзнуть перестал. Кормить его надо бы каждые 3-4 часа. Жена как к младенцу вставала по ночам, кормила. Если ночью бельчонок долго не ел, утром во время еды могут быть судороги из-за нехватки глюкозы. Исправляется небольшим количеством меда внутрибелочно. Мед очень любит!
Теперь ему уже ~два месяца, глаза открыл, подрос, покрылся густой шерсткой, мерзнуть перестал, ночью тоже сам справляется, можно не вставать. Бегает по дому, лазит по дивану, шторам и карнизам. Очень любит круги наматывать по джинсам на мне, как на дереве. Начинает есть фрукты. Очень любит яблоки, также ест гуаву и манго. Всякие орешки пока игнорирует, за еду не считает. Людей не боится, сам бежит в руки. Очень любит мыться в теплой воде, в ней млеет и расслабляется. В связи с этим норовит теперь в чашку с чаем залезть, приходится или рукой кружку закрывать, или на время чаепития закрывать бельчонка в комнате, за что он потом на нас ругается, цокает. Может во время еды забраться по штанам и по спине на руку и залезть прямо на вилку. Ночью спит теперь в дупле - корзинке, подвешенной у карниза. Днем может спать на карнизе и, поскольку тот скользкий, шлепаться оттуда вниз, когда крепко заснет. Очень славный зверь, такого дома держать прям не хуже кота, даже интересней. Со временем планируем выпустить на волю, когда подрастет и лучше с местными фруктами освоится.

more photosCollapse )