Место для курения

Есть такая хрень в программировании как рекурсия. Можно сюдя приплесть и фрактал, но это больше к топологии, а не программированию.
И так, самый простой и понятный пример рекурсии - это берём зеркало впереди себя и сзади. и смотрим на картинку:

Но в программировании это выражается в вызовах функции самой себя, либо кругового вызова функций, например(для знающих Си-подобные языки):
int A(int a) {if(a & 1) a=a+1; return B(a); else return 17;}
int B(int a) {if(a > 500) a=a/3; return C(a); else return 113; }
int C(int a) {if(a ^ 1) return A(a); return -1;}
Грубо говоря, функция А, вызывает функцию Б, функция Б вызывает функцию С, а та уже снова вызывает функцию A. Вроде эти вызовы будут длиться бесконечно, но всегда должно быть условие выхода из рекурсии (под спойлером выше в каждой функции есть такое). Если что - писалось на коленке и практического, и математического смысла не имеет - чисто показать что да как.
А нафига такие сложности? Дело в том, что часто в программировании невозможно обойтись без рекурсий. Да, для понимания её надо сильно поломать свой мозг - именно ломать мышление, а не уставать от напряжённого мозгоштурма.
Однако есть определённый класс рекурсий (в него входят и так называемые "кольцевые", как в спойлере выше). И вот тут срабатывает "Ивент Вомбата", эти рекурсии называются ХВОСТОВЫМИ.
Фишка их в том, что их можно ВСЕГДА развернуть в цикл. Например вычисление числа Фиббоначи:
int Fibb(int a) {if (f<=0) return 1;/*условие выхода из рекурсии*/ return Fibb(a-1)+a;}
Тоже самое разворачивается в цикл вида
int a=123, result=1;
for(int i=0; i>a;;){result = result+a; a=a-1} /*тут мог ошибиться - просьба не пинать*/
return result;
Вроде бы много кода, строк и т.п. Но, рекурсия в общем виде использует стек (который не бесконечен), и дикие затраты на вызов функций внутри рекурсий (на i8086 надо было сохранять каждый процессорный регистр в стеке, а это 2 такта, в i80286 уже появилась pusha, но она так же требовала тактов, ну и переброс из стека в регистры переменных, возврат результата) - накладных расходов на рекурсию очень много, даже в современный процессорах.
Однако, всё что было описано выше прекрасно разворачивается в циклы "умными" компиляторами. Хотя многие алгоритмы с хвостовой рекурсией даже современные компиляторы не могут развернуть в цикл. Примером этого може служить сортировка бинарным жеревом. В рекурсивной форме эта сортировка - задачка студента второго курса (по моим старческим меркам), но компиляторы не способны её раскрутить в цикл, это делалось человеческими мозгами ещё в 80х годах прошлого века (сам разбирал борландовский алгоритм qsort(***) по запчастям обучаясь).
Так что не всё в мире нашем сводится к "хвостам", иногда приходится и сущности плодить поверх ненужного...

А вы делаете зарядку по субботам? Ну или вообще делаете?))
В этой статье предлагается простая система управления десятками и сотнями монстров в битвах D&D. Или в других системах.

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

Механика боя в D&D обычно предполагает, что в каждой битве персонажи столкнутся от трех до двенадцати плохих парней. Вот почему персонажи имеют огромнео превосходство в бою с немногочисленным противником. Наши истории не должны быть ограничены этой механикой. Приложив немного усилий, мы можем запустить против персонажей любое количество монстров. Десять? Двадцать? Двести? Десять тысяч? Всё это возможно.
В этой статье мы сосредоточимся на одном конкретном методе управления ордами. Я выбрал этот вариант по нескольким причинам:

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

Неуверенно шагая от проходной к своему судну, услышал я в наушниках эту композицию, как нельзя хорошо подходящую под состояние и души и тела.
Пожалуй, правильней было назвать этот пост "Очищение болью"
Пришли утром в порт. Почему-то привычной радости это не вызвало. Наверное, потому что зарплаты ещё не было, а 100 долларей, что взял в дорогу подходят к концу.
Из всех возможных развлекух и полезностей выбрал массаж. Не простой расслабляющий. Поехал в центр мануальной терапии.
Люди в белом ничуть не испугали.
Заплатил 120 000 дангов (1 доллар = 20 000 дангов) за 1.5 часа массажу и экспрессом на лифте до третьего этажа.
Привычно скинул шмот (тут ща прохладно конечно, весна, 26 в тени, но русскому нефтегазовому моряку и в футболке с бермудами и сандалЯми намана) и привычно брякнулся на стол.
Сначала мял мужик. Ну, парень. Пацан. Хрен ево знает какого возраста — по лицам возраст у вьетов не определяется.
Будто увидел где у меня мышцы подклинивают и начал именно их мять. БОЛЬНО? Неееет! Это тока разминка!
Не буду мусолить что как и зачем.
Чутка погодя пришли 2 девушки. Одна мяла руки, другая ноги.
Аналогичным макаром — здоровые мышцы почти не трогали, а вот закисшие во время ремонта СубарЯ — со всей силой.
Пока мял один — еще как-то удавалось отследить и даже запомнить движения и усилия. Но когда работают 6 рук — уже просто ощущаешь себя отбивной или… ну, не знаю, что там еще жёстким экзекуциям на кухне подвергают? Это больнее и намного обширней, чем у зубного. Там-то хоть как-то можно отключить канал и почти не ощущать, что в зубе ковыряются. А тут… От всего тела отключаться я ещё не умею.
Последние минут 20 наконец-то был массаж расслабляющий.
Итог? Ничего не хрустит, ничего не клинит. Тока плечи побаливают.
Пойду ли ещё? ДА! Кацца, я мазохист :-)
З.Ы. Потом получше фото сделаю — Кэнона ещё даже из кофра не доставал ни разу.




16 марта 2012

Я оставался неподвижным, едва дыша, боясь даже издать звук.
Может ли быть так, что эта тварь последовала за мной?
Как она вообще могла прийти сюда? Как она узнала где я? Я не мог снова оказаться в одной комнате с этим существом без возможности видеть его, после всего, что пережил. Кажется оно действительно зациклилось на мне, оно будет копировать меня, пока наконец не займет мое место. Я не знал, что произойдет, когда наступит этот день, и не хотел знать.
Спустя, казалось, несколько часов, экранный чтец нарушил тишину еще одним сообщением.
Morph: Итак, ее зовут Jenna_х98. Я дал ей твой контакт.
Я: Ее настоящее имя Дженна?
Morph: Это имеет значение? Тебе нужна помощь или нет?
Я: Ладно.
Рука потянулась к телефону, мной овладело желание позвонить кому-нибудь, кому угодно, кто мог видеть, кто мог бы прийти сюда и сказать, в одиночестве я или нет. Но остановился. В прошлый раз, когда я попросил о помощи, погибло два человека. И все из-за меня.
Что бы ни происходило с этой штукой, я должен был справиться с ней в одиночку. А это будет ой как непросто.
Я вступал в бой с завязанными глазами, в буквальном смысле.
***
Тем же вечером я поговорил с Дженной.
Я описал ей все в деталях и рассказал обо всем, что произошло. Меня удивило, как легко я могу говорить, ведь все это было так травматично для меня, и мне было невыносимо вспоминать об этом. Даже теперь, когда мои руки соприкасались с чем-то похожим на тот кошмар, тут же всплывали воспоминания о липких волосах Лизы на моих пальцах.
Казалось, что все провоцирует меня, все было не так и не на своем месте, все время, я злился и ненавидел каждую минуту своей жизни.
об этом я также рассказал Дженне.
После того как сообщение было отправлено, оставалось только ждать. Может быть, она собиралась отказаться от меня и просто не знала, как это сделать. Может, никто никогда не узнает, что я обречен быть вечно преследуемым штукой, которой я даже не могу дать название. Что это вообще было? Что он из себя представлял? Призрак? Или существо? А если да, то какое?
Я просто не мог ничего понять, и какое отношение это имеет к постоянной перемене в лестнице? Неужели проблема была в доме?
В конце концов, после, казалось, нескольких часов, которые я провел утопая в своих мыслях, Дженна ответила.
Jenna_х98: Я могу тебе позвонить?
Я: Зачем?
Jenna_х98: Мне нужно поговорить с тобой.
Мне бы это показалось странным, но мой мозг был сосредоточен на другом.
Ее голос звучал гораздо старше, чем я ожидал.
– Привет, Уилл.
– Привет.
– Прежде всего, мне очень жаль...
– Это не важно. Просто давай перейдем к делу.
Она сделала паузу, и я решил, что разозлил ее. Что ж, быть вежливым и любезным не было моим главным приоритетом в этот момент.
Голова начала болеть, и я был уверен, что оставил открытой дверь в спальню. С тех пор как я приехал в этот дом, меня не покидало ощущение, что за мной наблюдают, и самое ужасное, что я даже не знаю, так это или нет.
– Итак, то, с чем ты столкнулся, довольно необычно. Я не видела ничего подобного в реальной жизни, но слышала истории. И после того как просмотрела записи с камер я поняла, что это такое.
– Ты знаешь, что это такое?
Она сделала паузу.
– Возможно.
Все это время я постукивал пальцами по столу, потому что тишина между нашими репликами не давала мне покоя.
– Ты знаком с доппельгангером?
– С кем?
– Доппельгангеры. Знаешь, что это такое?
– Да, знаю.
– Но, вероятно, не знаешь, откуда они берутся.
Я прочистил горло.
– Что ты имеешь в виду?
– Ну, разве ты никогда не задумывался, почему они есть лишь у некоторых людей? Этому есть объяснение. Видишь ли, доппельгангеры не появляются из ниоткуда, они выглядят, действуют и думают так же, как ты. Наш мир не линеен. Наше пространство, реальность, в которой мы живем, вращается вокруг нас и иногда даже выходит за пределы нашего измерения. Эти измерения упрямы, эти реальности, их особенность в том, что они обладают собственным разумом и не стоят на одном месте. Они любопытны, текут вокруг и запутываются друг в друге. И иногда они соединяются. Вот поэтому иногда создаются проходы. Из одной реальности в другую.
– Как...
– ... твоя лестница? Да. Это точки высокой энергии, где реальность разрывается и запутывается в другой. Эти две реальности каким-то образом связываются. Там, в глубине, очевидно, тоже есть жизнь, или, если это не жизнь, то какая-то энергия, которая заставляет вещи двигаться. Эти темные места отчаянно цепляются за нас, потому что им нужно то, что есть у нас. Вот почему другое место, то, в которое ты попал спустившись по лестнице, продолжало пытаться заманить тебя туда. И вот что пыталось вырваться наружу. Другое место проникает в наш мир. То, что ты видел, было одним из его созданий. Искалеченное, извращенное, жуткое и бездушное. Но у него есть рефлексы и совесть. И среди десятков других жителей округи оно выбрало тебя. Возможно, из-за твоего... недостатка.
– Выбрало меня для чего?
– Чтобы стать твоим двойником. Эти существа выбирают людей, а потом пытаются стать ими. Любая история о двойниках, которую можно услышать, любой двойник, которого когда-либо видели, был когда-то подобным существом, у которого было достаточно времени, чтобы приспособиться и стать человеком, до такой степени, что никто никогда не мог отличить настоящего от копии. Даже сегодня они просто ходят среди нас, и никто об этом не знает. Они выходят из той ужасной, чудовищной области, в которой их оживили, и крадут человеческие жизни.
– А настоящие люди умирают?
– Как сказать... В большинстве случаев - да. Но иногда они попадают в ловушку в другом месте и остаются там так долго, что забывают, кто они такие. И тогда они становятся такими же существами и начинают инстинктивно искать жертву, чтобы заменить ее.
Мои пальцы начали отстукивать какой-то быстрый ритм, а нога то и дело подпрыгивала.
Мне было не по себе, и я не хотел, чтобы она продолжала, но знал, что она должна это сделать.
– Твой друг сказал, что, зациклившись на людях, они начинают преследовать их повсюду...
– Да... это может быть проблемой. Им становится легче выходить за пределы своей реальности, если они зацепились за тебя. Ты становишься как бы их якорем.
– Блядь.
Мы оба замолчали. Я даже перестал постукивать пальцами.
Я знал, о чем она собирается спросить и с ужасом ждал момента, когда она нарушит молчание.
– Можешь включить видеочат?
Я резко выдохнул.
– Ты уверена?
Ее голос слегка дрожал.
– Как думаешь, у меня могут быть причины, чтобы захотеть увидеть тебя? Твою комнату?
– Да.
– Хорошо, тогда я уверена.
Я запустил программу видеосвязи.
Вызов ожидается...
Вызов ожидается...
Затем я услышал звук, как она присоединилась к разговору.
Вы сейчас разговариваете по видеосвязи с Дженной_x98
– Ну как? Ты что-нибудь видишь?
– Не знаю. Темно. Я вижу только часть твоего лица, освещенную экраном.
– О, да, прости. Я вообще-то никогда не включаю свет. Знаешь, он мне не нужен.
– Понимаю... ты можешь просто включить фонарик на телефоне и посветить им.
Она говорила сухо, и я предположил, что она немного напугана, но старается этого не показывать.
Я потянулся к своему телефону.
– Сири, включи фонарик.
Я посветил за спину, в сторону коридора.
– Не шевелись, Уилл. Прежде всего, прежде чем я что-то увижу, и если я что-то увижу, ты должен пообещать мне, что не врешь.
– О чем, например? Разыгрываю ли я или что-то в этом роде?
– Да.
– Ты же видела газеты. Видеозаписи. К тому же я слеп, так что мне было бы трудно все это подстроить.
– Ладно. Так, в коридоре ничего нет.
– Хорошо. Как насчет этого? - Я переместил свет фонарика к окну.
– Ты двигаешь камеру слишком быстро, и я вижу множество теней! Просто медленно обведи эту чертову комнату!
– Я не знаю, как быстро я двигаюсь, равномерно ли, прямолинейно или неаккуратно, я не могу, блядь, этого увидеть!
Она вздохнула.
– Хорошо. Просто держи ровно.
Так я и сделал.
– Есть что-нибудь?
Она не ответила.
– Дженна?
Мне было неприятно это молчание, страх начал одолевать меня. Я представлял, что ей, должно быть, тоже нелегко. Вы встречаете в Интернете незнакомца, который рассказывает, что он слепой и его преследует это существо. Вы общаетесь с ним по видеочату, и, помимо того что вам приходится смотреть в его серые, дергающиеся глаза и бледное лицо в темной комнате, он еще и сканирует ее своим фонариком, чтобы вы заметили... ну... что-то.
Должно быть, это было ужасно.
– Есть что-нибудь?
Молчание было слишком долгим. Она ушла?
– Уилл... - ее голос прозвучал как шепот, почти молитва. - Ты хочешь честного ответа?
Я вздохнул. Я понял.
– Это... все выглядит плохо? Оно близко ко мне?
– Оно позади, слева от тебя... и оно выглядит прям как ты.
– Точь-в-точь?
– Ну, это сверхъестественно... оно не все сделало правильно. Кожа местами еще отслаивается, волосы странно свисают, рот... он просто стоит и смотрит.
– И что я могу сделать? Позвонить в полицию? Это существо вообще может умереть?
– Да, может, но я не знаю, как ты сможешь убить его, не видя... Может, стоит кого-нибудь позвать к тебе на помощь?
– Нет, я не могу сделать это снова. В прошлый раз...
– Я понимаю. Слушай, пока что просто уходи. На сегодня. Пока оно не выяснит, куда ты ушел, ты можешь придумать план.
– А что, если оно последует за мной и убьет кого-нибудь еще?
– Сними номер в отеле. Так ты выиграешь время. Оно не настолько умно, чтобы выследить тебя быстро. Продолжай звонить мне. Мы будем на связи.
Я вздохнул.
– Хорошо. Я сейчас повешу трубку и позвоню в отель.
– Давай. Странно оставлять тебя там с этой штукой. Просто... постарайся выжить.
– Ну, оно меня еще не окончательно стало мной, так что я ему еще нужен. И, раз ты сказала, что оно почти похоже на меня, у меня осталось не так много времени, пока это не произойдет.
– Да, тебе нужно действовать быстро.
– Да...
Я повесил трубку, и в комнате воцарилась тишина. Я не боялся, просто оцепенел, и на мгновение подумал, не проще ли просто умереть и позволить ему закончить свою работу.
Я оставил после себя записку: «Оно убило меня, пожалуйста, убейте его, даже если оно похоже на меня».
Еще один вздох вырвался из груди.
– Знаешь, тебе не нужно было их убивать. Они бы не причинили тебе вреда. Твоя проблема была во мне, а не в них, – сказал я вслух.
Я даже не знал, поняло ли оно меня.
– Твоя проблема была во мне, а не в них, - повторило оно хриплым голосом.
Я слушал это всю оставшуюся ночь, пока не удалось забронировать номер в отеле.
«Твоя проблема была во мне, а не в них»
«Твоя проблема была во мне, а не в них»
«Твоя проблема была во мне, а не в них»
С каждым разом оно говорило все лучше. Яснее, точнее.
Застегивая сумку и открывая дверь квартиры, я услышал эту фразу в последний раз.
Она звучала абсолютной копией моего голоса.
~
Телеграм-канал чтобы не пропустить новости проекта
Хотите больше переводов? Тогда вам сюда =)
Перевел Березин Дмитрий специально для Midnight Penguin.
Использование материала в любых целях допускается только с выраженного согласия команды Midnight Penguin. Ссылка на источник и кредитсы обязательны.
Судя по всему, этой рептилии очень повезло. Хозяин вовремя заметил пропажу пледа, ухудшение самочувствия питомца и сопоставил оба этих факта. Представляю удивление ветеринаров, когда на УЗИ вместо положенной крыски или кролика внутри змеюки нашли вот ЭТО!
К счастью, огромная тряпка не забила желудочно-кишечный тракт глупой рептилии и не продвинулась дальше. Врачи смогли вытащить из бездонного змеиного желудка всё обратно и спасти этим ей жизнь.
Исследователям из Токийского университета удалось перенести хлоропласты из растительных клеток в живые клетки хомячка.

Честно говоря, они сами не особо верили, что у них всё получится. Японцы ожидали, что животные клетки переварят растительные запчасти за несколько часов, но те продержались более 2 суток. И они даже выполняли свои функции! Теперь учёные поставили перед собой задачу увеличить срок работы хлоропластов внутри животных клеток.

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

Один котик случайно напугал второго, и тот подскочил, встал в боевую стойку.
Чтобы показать свои мирные намерения, котик номер раз упал в песочек и принялся в нём валяться. Котик номер два отзеркалил его действия, как бы показывая, что он не в обиде и тоже готов на мировую. 🐈🤝🐈
Поздней осенью и зимой миллиарды красных крабов на острове Рождества начинают свою великую маленькую миграцию. Из центра острова членистоногие перебирают лапками в сторону побережья чтобы продолжить свой род. Первыми к линии прибоя прибывают самцы. Они стараются захватить лучшие участки пляжа до прибытия дам и начала священного акта икрометания.
Вся эта миграция может длится более двух недель и практически все шоссе, дороги и тропинки в это время становятся путями миграции крабов. Очень много их находится в зоне риска гибели от колёс. Как здорово, что люди придумали такую штуку!
Мы привыкли, что верхняя часть клюва птиц больше нижней. Так вот, у водореза всё в точности наоборот. Нижняя часть щебетала длиннее верхней на треть! Зачем это нужно?

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

На таких харчах водорез живёт до 20 лет. Встретить его можно в Южной Америке, Африке и Индии. Подклювье у птенчиков начинает расти одновременно с оперением, — такое у них прощание с детством. А о готовности окончательно вступить во взрослую жизнь свидетельствует смена окраса перьев со светлого на черный.

Доп:


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