8:00. Звоню на 122. Отвечает голосовой помощник: "Здравствуйте, то-сё, какой у вас вопрос". И тут я простодушно допускаю ошибку №1: говорю, что хочу вызвать врача на дом.
Искусственный интеллект бодро переключает меня на автоответчик с алгоритмом создания заявки вызова врача на дом. И дальше эта срань, простите за мой китайский, медленно и подробно выспрашивает меня про номер полиса, ФИО заболевшего, дату рождения, ФИО законного представителя, адрес проживания, подъезд, этаж, домофон, симптомы, имеются ли какие-то ограничения по здоровью и прочее. Всё это каждый раз с повторным прослушиванием и моими многократными подтверждениями.
Потом, вдоволь наговорившись, ИИ переключает меня (!) на живого Оператора. Трубку берет женщина, которая выспрашивает у меня всё то же самое, один в один, опять-таки каждый раз требуя подтверждения. К концу 20 минуты разговора тётка задает свой коронный вопрос: имеются ли у заболевшего какие-то ограничения для самостоятельного похода в поликлинику? "У 4 летнего ребенка с температурой 38?" - уточняю я. "Да, инвалидности и прочие ограничения". Я чувствую подвох, но как честная говорю - таких ограничений нет. И дальше она выдаёт: перевожу вас на скорую помощь, досвидания. Типа, если очень надо, вызывайте их, а врача из поликлиники вам не положено.
Изрядно удивившись, извиняюсь перед скорой и объясняю, что нам неотложка не нужна и вообще это какая-то ошибка.
Опять звоню 122. Только теперь на все попытки ИИ узнать про мою проблему отвечаю: "Оператор", и через пару минут, снова пройдя верификацию 16 цифрами полиса, наконец слышу новую женщину-оператора.
В голове крутится мысль: как же пройти этого боса.. но на ум ничего дельного не приходит и снова следуют 10 минут подробного опроса. В финале коронная фраза: имеются ли у заболевшего какие-то ограничения для самостоятельного похода в поликлинику?
Тут я понимаю, что меня опять готовятся кинуть, и кричу, что нам просто нужен врач из поликлиники, почему вы это снова спрашиваете, зачем нужны были вопросы про адреса, телефоны и фамилии? И если нам врач не положен, то так и скажите, зачем морочить голову. Но женщина изворачивается, и снова три раза повторяет свой последний вопрос, уверяя, что это такая форма для выдачи заявки. Я опять говорю, что нет ограничений, женщина быстро произносит фразу про скорую и досвидания, и переключает меня дальше, в трубке щёлкает, и я отменяю вызов.
Ровно 30 минут разговоров с ботами впустую. Ощущаю себя, тем мужиком из мема, который кидается песком на пляже.
Дальше неожиданный хэппи энд. Звонит скорая. Спрашивают, что случилось, я объясняю, что 2 раза пыталась вызвать врача из поликлиники. Они задают ещё пару вопросов про самочувствие ребёнка и говорят, что вызовут нам участкового врача сами (у них есть такая возможность). И ещё добавляют, что сейчас творится что-то странное.
Мне приходит смс:
И днем приходит врач. Классный квест?
А вы говорите скучно жить в цифровом мире. Да обхохочешься.)))
1) в жилище первым не заходить, следить, чтоб дверь за вами не заперли на ключ;
2) не верить про "собачка не кусается". Не убрали собаку, особенно крупную - в жилище не заходим;
3) бахилы на свой страх и риск. Зимой переломать ноги очень просто. У нас в ковид медсестра красиво переломалась;
4) перцовку иметь в близком доступе. Хорошо нажимается большим пальцем. Заранее потренироваться в поле - есть свои особенности;
5) при опасности взгляд от угрозы не отводить, желательно научиться наощупь помощь вызывать. С психически нездоровыми лучше аккуратно соглашаться и медленно двигаться к выходу;
6) спиной ни кому не поворачиваться по возможности ;
7) разувания/переобувания по возможности исключить, как и остальные наклоны перед кем-то;
8) сумку ставить на отдельный стул, желательно не мягкий. Не на пол/диван/кресло. В лучшем случае унесете кота, в худшем - клопов и тараканов;
9) если что-то случилось на вызове и нужна помощь, а вы выскочили в подъезд - кричите "Пожар" и "Трындец". Можно матом. На "Помогите" не выйдет никто, особенно если вызов к известным ненадежным личностям. Видите знакомое лицо - кидайтесь за помощью к нему;
Как разозлить терапевта? Легко. Расскажу вам целых 2 способа
Способ первый: вызовите на дом врача по ерунде, а оператору просто соврите. Из ковидного - бабушка около 80 лет, повод к вызову "температура 39". Заходим в квартиру, медсестра уже расчехляет палочки для мазка на ковид, а я начинаю допрос:
- Расскажите, что случилось?
- Ой, знаете, что-то в последнее время голова кружится, шумит. Да и давление пошаливает
- Что с температурой?
- Я так сказала, чтоб вы приехали. Хочу анализы сдать, дайте мне на кровь и мочу. Я вчера к участковому приходила, а у него время почему-то неприемное.
Способ второй: если нужен больничный - ломайте комедию. История: у женщины больничный по артрозу уже 15 дней (значит дальше продление через комиссию). Живёт напротив поликлиники. За пару дней до моего визита сделала рентген, анализы, забрала результаты лично в поликлинике и в тот же день вызвала врача домой. Доктор ей продлил больничный на 2 дня и велел прийти в поликлинику на прием. В день моего дежурства вызов. Приехала, опрашиваю:
- Больничный есть?
- Да
- Кто открывал?
*Называет мою фамилию*
- Вы уверены, что именно она вам открывала?
- Да
- Точно уверены?
- Да
- И прям по субботу открыла?
- Ну да. А что не так?
- Понимаете, я вас с декабря не видела и точно не могла вам больничный открыть. Скажите, почему вы не пришли в поликлинику, как вас просил предыдущий доктор?
- Ну я вчера мужа поднимала и спина хрустнула. А ещё ухо застудила. Сегодня же так ветрено, как я в поликлинику пойду?
- Что вы пили из лекарств?
- Ой, тут доктор написала, но я ещё не купила
- Это листок с первого посещения врача 2 недели назад и вы до сих пор не купили?
- Это не тот. Щас дам другой
- Это почерк врача, который был у вас 2 дня назад. И это вы тоже не купили?
Слово ивента такое, что как не крути, а на памятники или достопримечательности не налезет, при этом поучаствовать хочется. Посему решено в виде исключения притянуть актуалочку, а именно процедуру выборов папы римского.
Все начинается с того, что папское кресло становится вакантным, причем не обязательно в связи со смертью прежнего папы: в истории трижды бывали случаи, когда глава Католической церкви добровольно покидал престол (последним это в 2013 году сделал Бенедикт XVI, а предыдущая «отставка» папы произошла в 1415 году). Затем на Генеральную конгрегацию в Ватикане собирается коллегия кардиналов. Они обсуждают общие вопросы и будущих кандидатов.
Следующий этап — конклав. Он начинается спустя 15–20 дней
после смерти или отставки папы — в конце апреля стало известно, что в
2025 году конклав соберется 7 мая. Согласно действующим правилам,
принимать в нем участие могут только члены коллегии кардиналов моложе 80
лет. Таким образом, избирать преемника Франциска имеют право 135
кардиналов, представляющие около 90 стран, что делает грядущий конклав
самым представительным в истории.
Формально
стать римским папой может любой дееспособный мужчина-католик, вне
зависимости от сана (необязательно даже его наличие), однако на практике
понтифика выбирают из числа участников конклава.
Практика выборов нового понтифика на конклавах появилась гораздо
позже, чем институт папства. Предположительно, считающийся первым папой в
истории Святой Петр, а также несколько понтификов, занимавших Святой
престол после него, сами назначали своих преемников. Однако так
продолжалось недолго — вскоре понтифика стал избирать местный клир, так
же, как епископа любого другого города.
После
легализации христианства в Римской империи в IV веке ее правители
неоднократно вмешивались в процедуру выборов папы, а в VI веке император
Византии Юстиниан I
постановил, что новый понтифик не может быть возведен в сан без
одобрения светской власти. Этим правом пользовались как его преемники на
троне Византии, так и императоры Священной Римской империи. В X–XI вв.
Оттон I и Генрих III и вовсе назначали римских пап.
Отон I Великий точно знал кто в Риме "папа"
К идее проведения выборов понтифика на конклаве Церковь пришла спустя почти 100 лет, после того как в 1268 году скончался папа Климент IV. Тогда в расположенный к северу от Рима город Витербо, где была резиденция покойного понтифика, съехались 19 кардиналов, чтобы избрать его преемника. Ожидалось, что выборы продлятся не более нескольких недель, но в итоге они растянулись на два года и девять месяцев. Вероятно, кардиналы спорили бы еще долго, но раздраженные жители города решили ускорить процесс. Сперва они замуровали двери и окна во дворце, где заседали кардиналы, и ограничили рацион церковных иерархов хлебом и водой. Когда голод так и не привел к избранию папы римского, со здания сняли крышу. Наконец, в сентябре 1271 года продрогшие и голодные прелаты избрали папой участника Крестовых походов епископа Леона Теобальдо Висконти, принявшего имя Григория X. Двое кардиналов не дожили до этого события. Спустя три года созванный Григорием Второй Лионский собор одобрил процедуру избрания понтифика на конклаве, в целом дошедшую до наших дней и предусматривающую строгую изоляцию кардиналов, ежедневные голосования и ограничения в материальных благах до тех пор, пока не будет избран новый папа.
Перед началом конклава в соборе Святого Петра проводится
торжественная месса, а голосование кардиналов по традиции проходит в
Сикстинской капелле Апостольского дворца, которая тщательно проверяется
на наличие подслушивающих устройств. Перед тем как войти внутрь,
участники конклава торжественно клянутся, что процедура будет проходить в
атмосфере полной секретности.
Сикстинская капелла, (мечтаю побывать), не самое плохое место для заседаний
После того как прозвучат слова распорядителя extra omnes
(«всем выйти»), относящиеся ко всем, кроме кардиналов с правом голоса,
двери Сикстинской капеллы закрываются. Согласно действующим правилам,
внутри также могут находиться несколько священнослужителей,
сопровождающие кардиналов, медсестры и пара врачей.
В
первый день конклава может пройти один тур голосования, но он не
является обязательным — кардиналы могут посвятить этот день обсуждению
кандидатур. Во все последующие дни проводится до четырех туров
голосования: по два утром и днем. Для волеизъявления кардиналы получают
бюллетени с напечатанной фразой Eligo in summum pontificem («Я
избираю верховным понтификом»), под которой выборщики должны вписать
одно имя. На время заполнения бюллетеней помещение покидают все, кто не
обладает правом голоса.
Заполненные и сложенные бюллетени
кардиналы в порядке старшинства опускают в стоящую у алтаря чашу под
надзором трех членов счетной комиссии, состоящей из девяти кардиналов.
Состав этой комиссии определяется путем жеребьевки, которая проводится
ежедневно перед утренними и дневными турами голосования.
Прежде
чем опустить бюллетень, каждый кардинал, призывая в свидетели Христа,
клянется, что выбрал угодного Господу кандидата. Затем в чашу
отправляются бюллетени находящихся в Сикстинской капелле кардиналов,
которые не в состоянии сами отнести их к алтарю (это делает член счетной
комиссии), а также на всякий случай пересчитанные бюллетени из
переносной урны, с которой три других члена счетной комиссии обходили
комнаты кардиналов, не присутствовавших в капелле в момент голосования
по состоянию здоровья. Сегодня, как и в XII веке, стать новым понтификом может только кандидат, набравший не менее двух третей голосов участвующих в конклаве кардиналов. Если после четырех дней конклава, в течение которых могут пройти 6 или 7 туров, определить победителя не удается, в голосовании объявляется перерыв на день, который кардиналы должны посвятить молитве. Также к ним с призывом выбрать понтифика обращается кардинал-протодьякон. После следующих семи туров ситуация повторяется, но кардиналов вразумляет уже кардинал-протопресвитер, а если и следующие семь туров не помогают выявить победителя — кардинал-протоепископ.
Затем проводятся еще семь туров голосования. Если и они оканчиваются безрезультатно, то в гонке остаются только два кандидата, набравшие наибольшее число голосов в последнем проведенном туре. Сами они уже не могут принимать участие в голосовании, а победитель по-прежнему должен получить хотя бы две трети голосов, так что голосование продолжается до победного конца. Правила 1996 года позволяли выбрать папу простым большинством голосов после 33 (или 34, если голосование проводилось и в первый день) туров, но в 2007-м это послабление было отменено.
Бюллетени и другие документы, касающиеся каждого тура голосования на конклаве, отправляются в печь Сикстинской капеллы. Их сжигают немедленно после голосования в первый день, если оно проводится, и после каждой пары туров во второй и последующие дни конклава. О том, был ли избран новый папа, собравшиеся на площади Святого Петра католики узнают по цвету дыма, который идет из трубы Сикстинской капеллы: черный дым означает, что кардиналы не смогли выбрать достойнейшего, а белый возвещает об успешном окончании выборов.
А трубу то устанавливают совсем по простецки
Ранее для придания дыму нужного цвета использовали сухую или сырую солому, но теперь в печь подкладывают смесь серы, перхлората калия и антрацена для получения черного дыма и смесь канифоли, лактозы и бертолетовой соли, если дым должен быть белым. Однако при плохой погоде даже это не гарантирует, что цвет дыма можно будет определить однозначно. Во избежание конфузов с 2005 года в честь избрания папы тут же начинают звонить колокола собора Святого Петра.
дым можно делать по разному
По завершении последнего тура выборов декан коллегии кардиналов
спрашивает победившего кандидата, согласен ли он стать новым папой
римским и какое имя (в случае согласия) намерен принять. После этого
кардиналы клянутся в послушании новому главе Католической церкви,
которого отводят в смежную Комнату слез, где облачают в белые сутану и
шапочку пилеолус и в красные туфли. Чтобы одежда пришлась впору, портные
Ватикана заранее готовят три комплекта облачения разных размеров.
В это время кардинал-протодьякон выходит на балкон собора Святого Петра и произносит фразу Annuntio vobis gaudium magnum: habemus Papam
(«Возвещаю вам великую радость: у нас есть папа»). Следом на балконе
появляется и новый понтифик в белых одеждах, который обращается к
собравшимся на площади верующим с традиционным торжественным
благословением под названием Urbi et orbi («К городу и к миру»).
Пока искал информацию вспомнил о том, что после избрания папы проходили важную процедуру идентификации как мужчины
Будущего понтифика провожали в специальную комнату,
где его переодевали в простую белую рубаху. Затем его вели в зал, где
стоял тот самый знаменитый стул – Sella Stercoraria.
Процедура проверки имела два варианта исполнения.
По
первой, более публичной версии, избранный папа должен был сесть на
мраморное кресло с отверстием в центре сиденья. Камерарий, которому
выпадала эта деликатная миссия, должен был просунуть руку под сиденье и
нащупав соответствующие части тела, громко провозгласить историческую
фразу: "Mas nobis dominus est!" ("Наш господин – муж!"). После этого все
присутствующие кардиналы разражались аплодисментами и радостными
возгласами "uovo" ("ово"), что, по одной из версий, и дало начало слову
"овация".
По
другой версии, все кардиналы, присутствовавшие на церемонии избрания
Понтифика, должны были подойти и пощупать гениталии нового Папы
Римского. После этого провозглашались такие слова:
"Подтверждаю, яйца и пенис есть! ("Habet duos testiculos et bene pendentes")
Жаль что эта необычная процедура, которая просуществовала несколько столетий, была отменена
папой Львом X в начале XVI века. К тому времени она стала
восприниматься как архаичная и унизительная для достоинства папского
престола. Более того, сама легенда о папессе Иоанне, послужившая
причиной появления этой традиции, к тому времени уже подвергалась
серьёзным сомнениям.
Всем здравствовать! Сегодня по быстрому подведём итоги и выберем новое слово недели. Что-то как-то неожиданно много работы навалилось. Не забывайте, пожалуйста, переходить по ссылкам, все они кликабельны. Читайте, оценивайте, комментируйте, всё-таки народ не зря старается. 1. Фаерстартером прошлой недели, как ни странно, стал Генерал которого все знают, ну или почти все.
Ну вы, блин, даёте!
2. Вторым, на этот раз, стал наш мастер резьбы по дереву @kaktusovoe с его грустящим бабайкой. А почему он загрустил?
3. @dewqas напомнил нам про ещё одного генерала, оплота порядка и точности. Кто знает что за генерал?
4. А вот здесь, Ещё одно упоминание генерала! наш уважаемый @dewqas предлагает посмотреть КВН и немного погрустить от того, куда катится этот мир юмор.
7. А тут я попытался в электронную музыку, но как-то не особо получилось.
8. А вот наш товарисч @lovefst последовал моей рекомендации и влился в ивент с Генералами песчаных карьеров. Там не только клип, но и небольшая историческая справка.
10. Наш не частый, но всегда желанный участник ивента @Forest.river рассказала нам про свою нелегкую женскую долюнеравную борьбу с пассифлорами. Кто такие и чем закончилось знаете?
13. Пословицы, поговорки и цитаты от @ElenaSalut второй пост от новичка в этом деле (ивент Вомбата) Добро пожаловать! Только часть заснял, остальное лучше прочесть самостоятельно.
15. Да, генералами могут быть не только люди, но и поезда, например. А в качестве доказательства читайте Паровоз Генерал от @UrmasTormas Краткий экскурс в историю. Там ещё и видео прилагается.
А на этом всё, расходимся.
Ах да, нужно же новое слово выбрать. Барабанная дробь! Точно, оно же в заголовке прописано... нужно что-то придумать, не люблю спойлеры.
Ну всё, новое слово выбрали. Ждём множество новых историй с приятными или наоборот процедурами, а ведь тут не только массажные или медицинские процедуры можно притянуть ;-) Я серьёзно, давайте, давайте! Не стесняйтесь! Вливайтесь в наш Ивент Вомбата, вместе веселее!
Напоминаем правила ивента: 1. Раз в неделю, по понедельникам случайно генерится слово. Это слово будет основой для ваших постов. Неважно что вы сделаете, слепите, нарисуете, напишите стих с этим словом, расскажете анекдот, свою историю с этим словом, даже с помощью генератора мемов можно, абсолютно неважно.
2. Ивент с данным словом длится до следующего понедельника, когда будет озвучено новое, случайно сгенерированное слово.
3. Необязательно чтобы выпавшее слово было лейтмотивом. Ну например выпадет слово кит - может быть картинка загадка о морских существах, на которой изображен один кит, а найти надо дельфина. Или созданный комикс/мем, в котором вообще речь о другом, но на пряжке у героя изображен кит. Или может у вас завалялась история из жизни, где кит просто был второстепенным объектом, или названием бара где все происходило. Т.е. слово обязательно должно присутствовать в работе, но может не являться ее заглавной темой. А может и являться.
4. Все посты публикуйте под тегом "Ивент Вомбата" и "Процедура".
@vombat Ваша помощь требуется. Закрепите, пожалуйста, пост в соответствующем месте, а то у меня стремянка коротковата.
Пару недель назад стали мы тут счастливыми заводчиками двух милейших сирийских хомяков.
Вот они.
Дочь назвала их Рыжик и Серик.
И внезапно оказалось, что они очень любят бегать! Никогда бы не поверила, если бы сама не увидела.
Мы повесили им в клетку колесо, и вот в 8 часов вечера хомяки просыпаются (они кстати ночные животные), выходят из своего домика, потягиваются, умываются, завтракают
и по-тихоньку идут на беговую дорожку.
Но сразу марафонскую дистанцию не бегут: сначала немного разомнутся, сменят друг друга, походят по клетке... а потом как втопят... Только лапки мелькают.
GIF
И вот так бегают попеременно до утра с перерывами на перекус и попить.
Супруг прикрепил к колесу два магнита и велокомпьютер, который считывает число оборотов колеса. И оказалось, что хомяки напару за ночь пробегают 13-14 км.
То чувство, когда даже хомяк бегает, а ты -нет
Сначала напрочь не могла понять их мотивацию. Зачем?? Потом почитала, и оказалось, что в природе хомяки постоянно бегают марафоны, спасаясь от хищников и в поисках еды. Бег способствует выработке хомячиного эндорфина и снижает уровень стресса.
Поэтому наши хомяки через какое-то время уверенно подходят к занятому колесу и прямо настойчиво требуют пустить их черёд побегать.
GIF
Так что всем желаю брать пример с хомяков и больше двигаться.
А засим низкий поклон всем прочитавшим, бодрости духа и здоровья.
2017 год. Я – студент театрального факультета, выпускной курс. На носу сдача экзаменов по фехтованию, танцам. Подработки, связанные со сценическим движением. И внезапно в и без того насыщенную жизнь врывается острая боль в пятке.
"Благородный дон поражён в пятку"
Много мастерил руками, подумал тогда, что просто наступил на какую-то опилку или занозу, бывает. Осмотрел ногу как мог, ну есть вроде какая-то мелкая чёрная точка, а вроде и нет. Поковырял, ничего не вытащил. День хожу, другой, неделю, другую. Вроде как не самое сильное болевое ощущение в жизни, но каждый день по сотне раз словно иголкой в пятку (а не ходить я не могу) – это как-бы отвлекает. В итоге уже педагоги отправили к врачу, мол, что за "хромота" на экзамене.
Записался в студенческую поликлинику, прошёл квест "вам в тот кабинет", "а где карточка?", "А, так вам не сюда", "У нас перерыв", "Врач отошёл", "А зачем вы ко мне без рентгена пришли?" и т.д.
Хожу. Хожу. Хожу 😈
Когда всё-таки дело дошло до осмотра, врач, взглянув на пятку острым глазом с полутора метров, вынес научный вердикт "Ничего нету". Ну ё-моё! А делать-то что? Таблетки пить, пальцы скрестить, пятку на сантиметр сошлифовать? Доктор, помоги! Мне же не откосить от занятий, мне, блин, нужно вернуть нормальную ходьбу и учиться/работать дальше.
Почесал мудрец седую щетину и молча выписал бумажку, которую я предъявляю на суд:
Внимание на диагноз.
Безусловно – спасибо, что ногу не отрезал. Спасибо и за то, что я увидел улыбающимися преподавателей. Но с ощущением "иголки" в ноге я проходил примерно до июня.
Кто-то из знакомых потом посоветовал использовать чёрную мазь, которая пахнет дёгтем (ихтизоловая, что-ли). Она помогла или что-то там в итоге само вышло – не знаю. Но люди порой... удивляют.
Сегодня произошла ситуация, которая меня одновременно злит и веселит.
Какие-то светлые умы решили в очередной раз оптимизировать нашу многострадальную медицину и влезли в организацию вызова врача на дом из детской поликлиники. Раньше можно было позвонить в регистратуру своей поликлиники и оформить вызов. Теперь у нас единый колл-центр, на весь 250 000 город. Т.к. сейчас пора вирусных заболеваний дозвониться туда просто невозможно. Но на сайте поликлиники есть форма вызова врача на дом. Которая начинает работать в 7:30 (даже она по расписанию, пиздец). В остальное время поля ввода залочены.
У меня заболел ребенок, решил вызвать ему врача. Жду подходящего времени, проверяю - форма залочена, проверяю каждые 5-10 минут - ничего не меняется. Вспоминаю что я web-разработчик, лезу в панель браузера, нахожу форму и убираю аттрибуты readonly с каждого поля. Заполняю форму, отправляю.
Считая что форма все-таки не работает, решил заехать в поликлинику. Оказывается мой запрос к ним все-таки поступил. Т.е. это работает только для IT-шников )) Людям не разбирающимся в IT видно лечиться не надо.
Как ни удивительно, но развал СССР дал сильный толчок к развитию в РФ и странах СНГ методам криптоанализа, которые превзошли зарубежные аналоги.
При этом данные процедуры хорошо были изложены в учебной литературе для ВУЗов господином П.А. Трушевым.
К сожалению книга очень и очень дефицитная - ознакомится не удалось
Данные отечественные средства имеют высокую степень успешного взлома всех криптоалгоритмов, таких как DES, 3DES, AES, Blowfish, Twofish, Serpent, Кузнечик, Магма, ГОСТ 28147-89 и даже "одноразовый блокнот". Вероятность успешного взлома достигает 99.9%, причём одна десятая процента неудачных взломов образуется исключительно на подготовительных этапах - выбор носителя ключевой информации и выбора самой процедуры.
Что самое примечательное, то оборудование, необходимое для проведения данных процедур стоит копейки и реализуется через обычную розничную сеть:
Его величество ЭПСН 100ВТ 220В выполненный по ГОСТ 7219-83 "Терморектальный криптоанализатор, устройство, принципы действия, технические условия производства".
Различают два способа проведения процедуры криптоанализа:
1. Терморектальный криптоанализ - прибор непосредственно применяется к «цели» УЖЕ прогретым до рабочих температур, что обеспечивает высокую скорость и точность взлома шифра, однако в этом методе имеется недостаток - носитель криптоключа будет значительно повреждён и в некоторых случаях это может привести к его непреднамеренному уничтожению до окончания процедуры взлома.
2. Ректотермальный криптоанализ - тот же прибор изначально вводится в "целеуказатель" и только потом начинается его прогрев. Применяется при работе со старыми, имеющими дефекты вспомогательных систем (сердце, сосуды и т.п.), т.е. там, где есть риск непреднамеренного уничтожения носителя ключевой информации, работая по первому способу. При этом эффективность несколько ниже, а время проведения криптоанализа увеличивается.
Замечено множество случаев, когда при проведении этих процедур добывалась ключевая информация даже если носитель ею не обладал.
Некоторые факты о б этом приборе:
* При использовании терморектального криптоанализатора скорость перебора пароля прямо пропорциональна квадрату температуры.
* В отличие от разработок западных ученых, использующих для взлома пароля сложные технические изделия, терморектальный криптоанализатор использует обычную бытовую сеть 220 Вольт/50 Герц и не требует специальной технической подготовки оператора.
* Сложность задачи в случае использования криптоанализатора не зависит от длины ключа и типа используемого алгоритма шифрования.
* Есть свидетельства успешных взломов даже если носитель ранее не обладал ключевой информацией, изучив данные свидетельства Донецкий завод паяльников выпустил новую и улучшенную серию полиграфов «Электровспоминатель-3000».
Зарубежные системы криптоанализа не так эффективны и сложны технически, доказательство ниже:
Информация, представленная в этом посте получена из достовернейших источников: 123
1. Приводят на прием ребенка, который проглотил магнит. Сделали рентген. Ничего опасного. Сказал родителям, что надо подождать, когда магнит выйдет естественным образом. На следующий день снова приводят этого ребенка. Он проглотил еще один магнит. В этот раз не так повезло. Оба магнита примагнитились через стенку кишечника и вызвали непроходимость. Пришлось их доставать хирургическим путем. Я спросил у родителей, где ребенок берет эти магниты. Отец сказал, что в его комнате их целая коробка. А убрать ее не приходило в голову?
2. Пришла на прием молодая пара. Девушка недавно забеременела. Я просматриваю ее медицинскую карту и задаю вопросы. «Вы курите?» «Да, около пачки в день». «Вам однозначно стоит бросить курить». Дама округляет глаза и говорит: «Да как так? А вот сестра мне сказала, что если я сейчас брошу, у эмбриона начнутся отходняки и он может погибнуть». «Что??????????»
3. Мой отец работает хирургом. У него была пациентка, которая на полном серьезе считала, что при операции на бедре сначала отрезают ногу, потом делают операцию, потом пришивают ногу обратно.
4. Я глазной хирург. Можете не верить, но каждый четвертый пациент считает, что мы при операции вынимаем глаза, потом вставляем их обратно. А какой-то пациент спросил, можно ли оставить для операции глаз, а потом приехать снова, чтобы его вставили обратно.
5. К отцу на прием пришел человек, который утверждал, что где-то схватил большую дозу радиации. Он почесал бровь, и выпало две волосинки, а он смотрел какой-то фильм, и там показывали, что волосы выпадают при облучении.
6. Работаю на скорой. Вызывают на инсульт. У пациентки обвисшее лицо и все остальные признаки инсульта. Она говорит, что ощущения такие, как и в прошлый раз 10 лет назад. Спрашиваю, давно ли это случилось. Говорит, что 4 дня назад. «Так почему вы сразу нас не вызвали?» «Думала, что на этот раз само пройдет».
7. Мать привела на прием 17-летнюю дочь с жалобами на аллергию на алкоголь. Да, вы все правильно прочитали, и это не прикол. Мать сказала, что когда дочь выпивает 200-300 грамм водки, у нее появляется покраснение кожных покровов, а на утро тошнота и рвота. Пришлось объяснять, что это не аллергия, а обычное похмелье.
8. Ко мне в аптеку пришла девушка и попросила противозачаточные таблетки. Я заглянул в компьютер и увидел, что она покупала месячную упаковку две недели назад. Сказал ей об этом. Оказывается, они с парнем принимали их вместе. Они думали, что только так можно избежать нежелательной беременности.
9. Перед операцией представился пациенту и сказал, что буду у него врачом-анестезиологом. На что получил ответ, что анестезиолог это не врач.
10. Я онколог, у меня была пациентка с ранней стадией рака. Я предложил ей прооперироваться, но она отказалась. Предпочла лечиться спринцеваниями, клизмами, какими-то травками и медитациями. Со своей проблемой она умудрилась добраться до Далай Ламы, который посоветовал ей вернуться к врачу.
11. В травмпункт приехала простуженная пациентка и потребовала, чтобы я выписал ей антибиотики. Я объяснил, что их не принимают при вирусных симптомах. Она не поверила. Пришлось прочитать лекцию про микробы и вирусы. Надеюсь, она сдаст экзамены медицинском вузе, в котором учится.
12. Пришла 20-летняя девушка с характерными симптомами. Я сразу определил беременность. Девушка очень удивилась и сказала, что этого не может быть, потому что она принимала таблетки. Спросил, как она их принимала, каждый ли день, как положено. Она ответила, что половая жизнь у нее не регулярная, и она их пила только после ночи со своим парнем. Раз в неделю, иногда два раза. Жаль, что врач, который прописал ей таблетки, не смог объяснить, как их нужно принимать.
13. К нам в больницу приехала целая семья. Кошка принесла в их дом дохлую мышь, и они испугались, что теперь чем-нибудь больны.
14. Я ветеринар, но мне тоже есть, что сказать. Я поинтересовался, почему хозяйка не хочет вакцинировать своего пса. Оказывается, она где-то читала, что прививки приводят к собачьему аутизму.
15. Я офтальмолог. Сказал пациенту, что ему нужны очки для чтения. Тот стал отнекиваться, что все это ерунда. Я объяснял, что старческие изменения зрения это нормально, они происходят у всех. Тогда он выдал неубиваемый аргумент, что Джорджу Клуни очки для чтения не нужны. Ну, на самом деле он носит такие очки. И почему вообще ты сравниваешь себя с ним?
16. Мне врач прописал очки, но родители запрещали их носить. Они считали, что в нормальном организме все исправится само. Не исправилось. Мне приходилось дома постоянно щуриться, а близорукость становилась только сильнее.
17. Осматриваю ребенка с корью. Его родители антипрививочники. Мать орет: «Неужели у современной медицины нет средств справится с этой болезнью!» Говорю, что есть, но вы сами не захотели им воспользоваться. Отец спрашивает: «И что это за средство?». Я отвечаю, что прививка. «А, да ты тоже, козел, из фармакологического лобби!»
18. Работаю электриком в поликлинике. Поступила заявка поменять в кабинете терапевта перегоревшую лампу. Потолки высокие, поэтому беру лестницу и иду. На входе в кабинет меня хватает за лестницу бабка и орет: «Ты куда без очереди?» Ага, можно подумать, я специально притащил из дома стремянку, чтобы без очереди попасть на прием.
19. Работаю гинекологом. Мать приводит дочь 17 лет и просит дать справку, что дочь девственница. Я говорю, что мы не выдаем таких справок, у нас даже бланков подобных нет. Мать просит справку, иначе их за границей куда-то не пустят. Распечатал им справку на компьютере. Уж не знаю, куда они там собрались.
20. Обратился пациент, который жаловался, что несколько дней не может сходить в туалет, вроде как запор. Я осмотрел его, спросил про питание. Оказывается, он решил быстренько сбросить несколько килограммов, и три дня ничего не ест, только воду пьет.
21. Работаю на скорой. Вызвали в поселок недалеко от города. В заявке значилось, что кровотечение из раны. Приезжаем, а там женщина показывает царапину на скуле и говорит, что ее клюнул соседский петух. К слову, когда мы приехал, крови уже не было. Помазали ей царапину перекисью. Поинтересовался, как петух достал до лица, вроде, они не летают. Оказалось, она наклонилась, чтобы «погладить птичку». Я мысленно выматерился и написал в документах «клюнутая рана». Птичку, блин, погладить.
Эта зима в Петербурге выдалась
очень не очень, ставились рекорды тепла и осадков, но ещё 200 лет назад зимы в
Петербурге были весьма суровы, и малый ледниковый период XIV-XIXвеков сковывал реки надёжным ледяным
покровом.
Зимой 1740 года для свадьбы
придворных шутов Анны Иоановны на льду Невы между Адмиралтейством и Зимним
дворцом был поставлен «Ледяной дом».
Архитектором проекта был Петр Еропкин, разработчик
первого Генерального плана Санкт-Петербурга. Научно-техническую базу
обеспечил академик Г.В. Крафт. Размеры дома были невелики. Глыбы льда
распили, уложили друг на друга при помощи рычагов и облили
водой, которая в лютый мороз схватила их лучше всякого цемента.
Внутри были вырезаны интерьеры гостиной
и буфета, спальни и туалета. В камине спальни горели ледяные
дрова, вымазанные нефтью.
В центре фасада красовалось крыльцо
с резным фронтоном, по периметру крыши тянулась балюстрада
со статуями.
Молодыми былиАвдотья Буженинова, некрасивая тридцатилетняя
калмычка, и князь Михаил Алексеевич Голицын, который за смену вероисповедания
был разжалован в придворные шуты и получил кличку Квасник (в его обязанности
входило обносить квасом императорский двор).
Картина на тему В. Якоби 1878 года
Картина на тему В. Ермолаева 1991 года
В феврале 2006 года на Дворцовой площади
легендарный ледяной дом был воссоздан по гравюрам и расчётам Георга Вольфганга
Крафта.
восстановленный ледяной дом 2006 года
До этого ледяной дом воссоздавали в 1888 году в
саду "Аквариум" (Каменноостровский пр., ныне "Ленфильм") и
в 1889 году на льду Фонтанки.
Я уже рассказывала, что мама постоянно на меня кричала, обзывала, бывало, что и била меня. Честно говоря, я её боялась. Сейчас она совершенно другой человек, считает, что детей бить нельзя, и кричать на них не следует. А "надо с детьми разговаривать и всё им объяснять". О том, как она воспитывала меня, совершенно не помнит. "Ну один разок-то всего и отшлёпала тебя. А ты и запомнила. Какая же ты злопамятная!" И вы знаете, я пришла к выводу, что она действительно не помнит всего этого. Такова психология людей - они забывают те действия, за которые им стыдно, или о которых неудобно вспоминать. Сейчас моя мама совершенно другой человек - спокойный, уравновешенный, сентиментальный. Но не в то время...
С начальных классов школы и до восьмого класса я дружила с одноклассницей Ириной. После уроков мы забирали её брата (он был младше нас на два года) и шли к ней домой. За давностью лет не помню, заносила я портфель домой или нет, но это и не важно. Ирина жила в частном доме в двух с половиной километрах от нашей школы (или через две остановки автобуса). Но на автобусе мы не ездили. Не было денег. Мне деньги тогда не полагались, а в семье Ирины денег не хватало. Её отец погиб, когда Ирина ещё в садик ходила, оставив жену с двумя детьми и недостроенный дом.
Мама Ирины работала воспитательницей в детском саду. К Ирине в гости я ходила не каждый день, но частенько и всегда, когда мама её была на работе. Возвращалась она обычно часам к восьми вечера. И я понимала, что пора домой, чтобы до девяти вернуться. Тогда мама ругаться не будет.
У Ирины мне нравилось. Я ей помогала с заданиями, которые оставляла ей её мама: истопить печь, подмести пол, почистить картошку. Именно Ирина научила меня стругать лучину, растапливать печь с одной спички и чистить картофель так, чтобы кожура была тонкий и завивалась спиралькой. Высший шик было почистить картошку так, чтобы очисток ни разу не прервался. . Мне очень нравилось там бывать, наверное, потому, что чувствовала себя нужной и взрослой. Ведь я научилась делать то, что большинство моих знакомых девочек не умело делать. А ещё там вкусно пахло печкой, как у бабушки. Впрочем, я отвлеклась. Продолжу историю побега.
В тот раз мама Ирины задержалась. Какого-то ребёнка забрали очень поздно родители, и маме Ирины пришлось их ждать. Домой она вернулась в девять вечера:
- Лада! Ты почему ещё здесь? Десятый час уже.
Я пулей вылетела из дома. Всю дорогу думала, что мама опять будет орать и бить меня. Чем ближе к дому подходила, тем медленнее были мои шаги. Мне что-то так стало тоскливо и страшно, что я решила уйти из дома прямо сейчас, а ночь переночевать где-нибудь в другом месте. Например в подвале соседнего дома.
Через подвальное окно я попала внутрь дома. Для начала поплакала, жалея себя. Потом улеглась на трубы на какие-то тряпки и стала думать о том, как завтра, когда мама пойдёт на работу, я приду домой, соберу вещи и уйду далеко-далеко. Куда именно пока не решила, зато стала думать, что именно с собой надо взять. С этими мыслями и заснула.
Проснулась рано утром. Сколько было времени не знала. Решила перебежать в свой подвал. Почему так поступила, что мной двигало - не знаю. Только я пролезла в подвальное окошко своего дома как услышала голос бабушки:
- Лада. Вылезай. Пойдём домой.
- Не вылезу, - ответила я.
- Ну почему? Пойдём домой. Мы же тебя потеряли. Мама беспокоится.
- Не выйду. Она меня бить будет. Она всё время меня бьёт, - и я заревела.
- Она не будет больше тебя бить. Я поговорю с ней, - ответила бабушка. Я ей поверила и вылезла.
И ведь действительно, мама несколько лет на меня руку не поднимала. Только орала и оскорбляла. А потом сорвалась, и всё началось снова - к оскорблениям и ору присоединились побои. Последний раз она подняла на меня руку, когда мне было уже двадцать лет. Тогда я впервые сдала сдачу, и на этом попытки меня побить прекратились. А тогда, когда меня выманили из подвала, мама даже ругаться не стала. И в школу я не пошла.
Позднее я узнала, что вечером после девяти мама обошла моих подружек в моих поисках. Естественно, меня там не нашла. Затем позвонила отцу в город, в котором он жил с другой семьёй. Он приехал, заехал к бабушке, но меня и там не было. Забрал бабушку и приехал к нам. Потом позвонили в милицию. После полуночи стали прочёсывать местность. Что интересно, я не помню, чтобы мне пришлось общаться с милицией. Почему-то никто не поинтересовался у ребёнка, отчего он сбежал из дома.
Городок у нас тогда был маленький, все друг друга знали, и тайн не было. Уже на следующий день в школе было известно о моём поступке. И к другим обидным прозвищами добавилось ещё одно - "подвальная".
***
По прошествии многих лет, когда у меня было двое несовершеннолетних детей, а муж ушел к более молодой и свободной женщине, я была вынуждена много работать. Муж платил мизерные алименты и то не регулярно. Работала я тогда на скорой на полторы ставки и еще подрабатывала в оптике на ставку. Моя мама заявила:
- Тебя надо лишить родительских прав!
- Это ещё почему? - возмутилась я. - Я не алкашка, не наркоманка. Детей ращу, деньги как могу, так и зарабатываю. В чём дело? За что прав то лишать?
- А ты плохая мать - слишком много работаешь. Дети тебя не видят.
И так мне стало обидно. Бьюсь как рыба об лёд, стараюсь как могу, а меня прав родительских лишить надо и плохой матерью называют. Но я не нашлась, что ответить, кроме как:
- Зато мои дети, в отличии от твоих, из дома не сбегают и не боятся меня. Они, между прочим, очень рады меня видеть.
На этом разговор прекратился. Мама на меня обиделась и ушла домой, надувшись.
К чему все это? Да ни к чему. Просто не орите на своих детей и не поднимайте на них руку, ведь они такие маленькие, хрупкие и беззащитные. А детские обиды очень долго не забываются, и очень сильно влияют на дальнейшее развитие человека как личности. Берегите их и любите больше чем себя.
Не рекомендуется принимать данную статью близко к сердцу или как истину в последней инстанции. Скорее как научпоп-грелку для мозгов. Тут довольно много упрощений, упущений или просто странно написанных моментов. Если что-то объяснено совсем криво, то добро пожаловать в комментарии.
Все сказанное далее применимо везде, но детали описаны для защищенного режима x86 (только я опустил префиксEдля регистров) и языков семейства C (в основном C и C++, местами C#). Для понимания рекомендуется знать про указатели и базово представлять, что происходит в процессоре.
Приятного чтения.
Думаю все помнят, что такое функция в математике
Начнем со сложного
Глоссарий
Чувствую, что большинство не имеет ни малейшего представления об указателях
В части про x86 я упоминал о том, что процессор представляет из себя бешенный самоуправляемый калькулятор, которому указом может быть разве что хранилище кода, аппаратный сброс и немаскируемое прерывание. И что у него есть системная шина, состоящая из шины адреса, шины данных и шины управления, к которой подключена память, хранящая данные и код.
А память это огромная одномерная полоска, в которой каждая ячейка имеет свой порядковый номер от 0 до 2^(разрядность шины адреса)-1. И указатель представляет из себя самую обычную численную переменную, хранящую номер (адрес) любой ячейки.
Я не понимаю, почему для многих это настолько сложная тема, а существенное количество новичков забрасывают изучение C после встречи с ними. Они в своей сути максимально элементарны (до тех пор, пока не нужно исправлять уязвимости и ошибки, которые появились в результате злоупотребления или неполного понимания нюансов).
Также существуют ссылки, так или иначе представляющие из себя подвид указателей, но обычно с запретом на арифметику с ними (основная сложность и опасность указателей) и/или подсчетом количества активных ссылок для сборки мусора.
Все языки или имеют указатели (Pascal, C, C++, блоки unsafe в C# и Rust), или являются ссылочными (Java, C#, Python, JS, т.д. (почти все современные языки)). С++ тоже имеет ссылки, но как синтаксический сахар над указателями, призванный упростить их передачу в функции и избавиться от проблемы нулевых указателей.
Ассемблер - если вы даже примерно не знаете, что это такое, то первую часть статьи вероятно можно пролистать и перейти на обсуждение парадигм.
Регистр - именованная численная переменная внутри процессора. Может иметь особое предназначение, а может просто использоваться для хранения любых чисел и арифметики. Их немного.
Инструкция - одиночная команда, представляет из себя последовательность из нескольких байт со специальным значением. Любая программа представляет из себя последовательность инструкций внутри памяти. Указатель на инструкцию, которая будет выполнена следующей, содержится в регистре IP, который сам увеличивается после выполнения каждой инструкции. По-хорошему стоило нарисовать пошаговую наглядную анимацию с демонстрацией всех регистров и куском ассемблерного кода, но мне лень, а в гугле я ничего толкового не нашел.
Метка - константа, содержащая адрес чего-либо. К примеру процедуры или глобальной переменной. Примерно как метка для goto в высокоуровневых языках, но универсальнее. Применяются при написании на ассемблере, в процессоре как таковые не существуют и разрушаются до обычных чисел при ассемблировании и линковке.
Разыменование - операция над указателем, когда тот превращается в переменную с адресом, который был записан в указателе (своеобразный пульт Д/У для переменной).
Парадигма - "стиль" написания и постройки архитектуры программы, частично определяется языком. Технически на том же C можно писать в практически любой парадигме (через костыли можно писать в стиле ООП, через макросы реализовать метапрограммирование, а через нестандартные расширения вообще ядерный бред), но родная для него - процедурная. А Go, к примеру, хоть и имеет недоклассы и методы, но лишен практически всех благ ООП и не сильно далеко ушел от C.
Синтаксический сахар - необязательная возможность, которая сокращает количество кода, повышает его читаемость или удобство поддержки
Стек
Большинство процессоров Фон-Неймановской архитектуры в своей конструкции предлагают механизмы стека. Кто играл в покер должны вспомнить стеки фишек. То есть некие значения, сложенные друг на друга (обычно это переменные, в частности адреса в памяти). При этом основными операциями являются добавление фишки на вершину (инструкция PUSH) и ее снятие (инструкция POP). Еще можно косвенно читать и заменять (перезаписывать) фишки относительно вершины (на вершину указывает регистр SP, неявно обновляется через POP и PUSH) или основания (указывает регистр BP) вглубь.
Стеки можно переключать (но не в MOS6502), это нужно для многозадачности
Помимо хранения локальных переменных стек позволяет делать довольно интересную вещь: мы можем положить на стек все необходимые аргументы (x в математике, но их может быть несколько), адрес следующей инструкции (взяв из указателя инструкции IP, это будет адрес возврата), после чего совершить прыжок на какой-нибудь другой адрес (сохранение адреса и прыжок делаются инструкцией CALL).
А на этом адресе может быть функция. Сначала она кладет текущий BP на стек, после чего приравнивает основание к вершине (BP к SP), тем самым создав для себя "новый стек" сразу после предыдущего (это еще называется стековым кадром), в котором якобы лежит только значение старого основания стека (BP), чтобы можно было восстановить его перед возвратом.
Серое это стековый кадр от предыдущей функции
После чего функция может прочитать переданные ей аргументы относительно основания своего стека вниз (технически это будет выход за границы текущего стека), выполнить с этим какие-либо действия (записать в файл, вывести в консоль, просто перемножить) и сохранить результат (обычно результат сохраняется не на стек, а в регистр AX).
После чего функция восстанавливает старое значение BP, сняв его со стека, и выполняет команду RET, которая снимает со стека адрес возврата и совершает переход на него, тем самым переключившись на инструкцию сразу после CALL.
И эта система так или иначе перекочевала в большинство высокоуровневых языков начиная с FORTRAN. К примеру в C CALL превратился в круглые скобки, RET в return, а адреса и метки в имена (при этом без скобок они все еще являются указателями, то есть адресами).
Пример кода (к сожалению, штатного форматирования не предусмотрено):
#include <stdio.h> int pow2(int x) { return x * x; } int main() { int y = pow2(16); // Вызов функции. В y будет сохранено число 256 printf("%p", pow2); // Без скобок вместо вызова просто выведет адрес функции return 0; // Возврат нуля из главной функции означает отсутствие ошибок. }
Такой стиль программирования называется процедурным (выделение кода в блоки называется структурным). А вот называть процедурный язык функциональным совершенно неправильно, ибо функциональное программирование ≠ процедурное, они даже в разных категориях (императивное и декларативное).
А теперь скомпилируем этот код и разберем ассемблерный листинг
Важно понимать, что стек в большинстве архитектур традиционно растет от больших адресов к меньшим (и в x86). То есть для того, чтобы отодвинуть его вершину вверх, от регистра SP нужно отнимать значения, а вот для ужимания и съедания ненужных значений к указателю на вершину значения прибавляют. И для доступа к значениям относительно основания или вершины это тоже важно учитывать. Это может звучать запутанно, но через время привыкаешь и всё становится очевидным.
Надеюсь это возможно будет разобрать. Код скомпилирован MSVC v19.28 для x86 со стандартными настройками в Godbolt
Post scriptum
Это всё довольно упрощенно. Как минимум, в защищенном режиме используется больше 5 разных соглашений о вызове, которые отличаются деталями реализации. Это было описание для cdecl, обычно используемого в C. Еще часто используются соглашения pascal, fastcall, thiscall, winapi и другие. Fastcall, к примеру, избегает хранения аргументов на стеке, если их возможно передать через регистры, что улучшает производительность. А winapi отличается от cdecl тем, что функция сама очищает стек от аргументов для себя при возврате. А еще я упустил, к примеру, сохранение регистров, которые функция может перезаписать и испортить, а потому обязана предварительно сохранить и перед возвратом восстановить, передачу переменного количества аргументов (как в printf) и возврат значений шире 32 бит (которые не влезут в EAX).
Плюс сейчас мало кто компилирует ПО под защищенный 32-битный режим, а в длинном режиме (AMD64) используется пара других соглашений, основанных на fastcall и имеющих несколько отличий друг от друга.
Так процедура или функция? Или подпрограмма?
Процедурное программирование предлагает делить код на подпрограммы, которые принято называть функциями и процедурами (функция обычно является наиболее понятным, частым и обобщенным названием, поэтому я его использую).
Процедура от функции отличается только тем, что функция возвращает какое-то значение (как в математике), а вот процедура этого не делает. Не во всех языках явно есть процедуры (в Pascal есть, но не в C). В таком случае их заменяют функции, возвращающие ничего (void, Unit, undefined, None).
Хотя и тут есть свои особенности. К примеру функция, возвращающая void в C и Java является прямым аналогом процедур, как-либо использовать возвращенное значение из такой функции невозможно, ибо его нет физически. А вот Unit в Kotlin это синглтон (а-ля единственная и уникальная константа уникального типа), ссылку на который можно присвоить в переменную, но в этом особого смысла нет. Undefined в JS и None в Python тоже уникальные константы специальных типов.
Но не тут-то было
Вроде бы процедура никогда не может ничего вернуть...
Только она этого никогда не делает напрямую. При она этом может записать результат в глобальную переменную, а еще часто принимает в себя указатели или ссылки, по которым может записать результат. Это еще удобно тем, что можно "вернуть" несколько значений. Пример:
void procedure(int x1, int *x2, int *x3) { // Функция ничего не возвращает, то есть это процедура *x2 = x1 * x1; // Разыменовываем указатель и записываем по его адресу результат. *x3 = x1 * x1 * x1; // Разыменовываем другой указатель и записываем по его адресу результат. } int y1, y2; procedure(16, &y1, &y2); // В y1 оказался результат, аналогичный прошлому примеру. А в y2 куб числа.
PS: оператор звездочка при указании типа превращает его в тип-указатель, а при применении на переменную-указатель разыменовывает ее до изначальной переменной. Амперсанд превращает переменную в указатель на нее (иногда еще называется оператором получения адреса).
То есть мы вернули сразу 2 разных значения из процедуры, которая якобы ничего не возвращает. Чудеса. Подобные чудеса есть в том числе в Pascal с явным делением на процедуры и функции (плюс там это сделано немного удобнее). Хотя механизм тут отличается от того, который используется в возврате значения из функции и совпадает с механизмом передачи обычных аргументов, поэтому никакой магии.
Еще про связь с математикой
Главное отличие функций в программировании от функций в математике в том, что они могут делать что-то на стороне и не обязаны возвращать одинаковый результат при одинаковых аргументах.
К примеру функция получения случайного числа по определению не может существовать в математике, если она не принимает в себя предыдущее случайное число или зерно для его видоизменения. Или функция записи в файл, возвращающая 0 в случае успеха и другое число при провале. Ко всему прочему, такая функция имеет побочный нематематический эффект, то есть запись в файл, что тоже недопустимо традиционной математикой без высоких абстракций.
Поэтому придумали чистые функции. По сути это ограничитель, которые делают функцию полным отражением таковой в математике. Им запрещено возвращать разные значения при одинаковых аргументах (точнее запрещено всё, что может такое позволить сделать), запрещено обращаться к нечистым функциям, запрещено обращаться к тому, что не является аргументом или локальной переменной, запрещены вообще любые действия, которые могут сделать что-то на стороне (даже функция sin() в C не всегда является чистой, ибо может зависеть от состояния FPU).
Чистые функции через ключевое слово pure явно есть в D и FORTRAN (проверка на чистоту во время компиляции), а также являются основой функционального программирования.
Чистая процедура тоже имеет право на жизнь, используя механизм со ссылками (на счет указателей не уверен из-за возможности арифметики над ними).
Функциональное программирование
Это очень сложная категория, которую постоянно путают с процедурным программированием. А еще это де-факто противоположный стиль: декларативный. Традиционное императивное программирование детально описывает процесс получения результата, а декларативное сам результат, без деталей реализации (хотя разделение обычно довольно нечеткое). При этом второй типичен для языков разметки типа HTML и CSS. То есть, условно, как одна и та же операция могла бы выглядеть в императивном и декларативном стиле:
document.tags.A.color = "blue" /* Императивный (JSSS). Сделать ссылки синими */
a { color: blue } /* Декларативный (CSS). Ссылки должны быть синими */
Почувствуйте разницу.
И функциональное программирование я никогда не изучал и слишком мало о нем знаю. Так что готовьтесь к ошибкам и не воспринимайте всё за чистую монету.
Внутри чистого функционального программирования
Основано полностью на математике, все функции обязаны быть чистыми. Операция присваивания запрещена (разрешены константы), переменных в привычном виде нет. Прикольно? Очень!
Во многих процедурных языках функции и процедуры являются объектами второго класса (не путать с классами из ООП), что не позволяет их свободно присваивать в переменные, передавать как аргументы в другие функции или возвращать из них (только через указатели). Функциональные языки расценивают функцию как объект первого класса, то есть их можно, а часто нужно передавать в другие функции напрямую.
Это дает некоторые преимущества, особенно в плане безопасности и при работе с многопоточностью (по причине неизменяемости данных и отсутствия глобального состояния), но вся концепция имеет один фатальный недостаток: вы мало чего полезного можете сделать, ибо что ввод, что вывод являются математически нечистыми, а потому запрещены. Вот такое вот гениальное изобретение безумных математиков.
Функциональное и процедурное программирование. Холст, масло
Каждый чисто функциональный язык выкручивается из этого по-своему, к примеру через монады. Это позволяет им существовать вне шуток и даже использоваться на практике.
Это не все особенности функциональных языков, но одни из самых важных. Самый известный такой язык: Haskell. Функциональные F#, Lisp, ML и многие другие не являются 100% чистыми.
Смешанное функциональное программирование
Последнее время часто используются смешанные языки, к примеру вместе с процедурным или объектно-ориентированным программированием, что избавляет от ограничений математики, но дает гибкость в том, что функциями можно оперировать как с любыми другими типами данных, а еще дает много очень удобного сахара вроде замыканий и лямбд. Это C#, Python, JS, частично Java и C++ (в них нужны костыли в виде интерфейсов из одного метода или оберток над указателями).
Особенности
Функции как объект первого класса. К примеру в C# это реализовано через систему делегатов, которые представляют из себя тип-обертку для функций:
Action<string> printer = Console.WriteLine; // Action<string> - тип-делегат. Неявно создаем его объект и присваиваем туда функцию printer("Hello, World!"); // Вызываем функцию через делегат
Локальные функции: как обычные, только вложенные в другую функцию (объявленные внутри нее)
void Func1() { // Глобальная функция void Func2() { // Локальная функция Console.WriteLine("В локальной функции"); } Func2(); }
Лямбды: возможность объявить безымянную функцию посреди кода (часто удобнее локальных)
var pow2AsLambda = x => x * x; // => - оператор лямбда-выражения pow2AsLambda(5); // Вернет 25
Замыкания (можно использовать вместе с лямбдами и локальными функциями):
int someValue = 42; var pow2AsLambda = x => x * x + someValue; // someValue будет захвачено замыканием, хотя напрямую не передано pow2AsLambda(5); // Вернет 67
Особенность замыканий в том, что они могут захватить локальную переменную родительской функции внутрь себя, продлевая ей время жизни за пределы блока с кодом. После чего такую лямбду можно передать в другую функцию, которая просто так не имеет доступа к someValue (в обычных условиях someValue вообще уже будет уничтожен), а вот переданная лямбда сможет ее прочитать или записать всегда и откуда угодно. И самое интересное то, что значение этой переменной будет сохранятся между вызовами к замыканию. То есть она становится глобальной, но видимой только из функции-замыкания.
ООП
Посмотрим на индекс TIOBE по популярности языков. Фиолетовым я пометил чистые функциональные языки. Языки, имеющие возможности, присущие функциональным языкам (смешанные) - синим, процедурным - красным, а объектно-ориентированным (ООП) - зеленым. Языки, в которых нельзя объявить функцию, принадлежащую самой себе или модулю, процедурными считать не совсем корректно (Java).
Не претендую на 100% точность
Видите фиолетовые точки? И я не вижу. А вот синих 12. В то же время красных и зеленых по 16. При этом реально применяемый чисто процедурный язык всего 1: С. Остальные имеют какую-либо встроенную поддержку других парадигм.
И сейчас практически всё большое ПО пишут в ООП. Ибо позволяет хоть как-то сдерживать структурированность кода после перехода с десятков тысяч строк к сотням (и миллионам).
Внутри
ООП является развитием идеи процедурного программирования. Проблема была в том, что помимо кода в программе существуют еще и данные, которые было бы неплохо связать с соответствующим им кодом. И через некоторое время после появления процедур появились структуры (они же записи в Pascal, не путать со структурным программированием).
Структуры были удобным способом объединить несколько переменных в единое целое. Пример:
typedef struct user_struct { char *username; int userid; int reputation; } user_t; user_t someuser = { "IvanKr08", 17002, 253 }; // Инициализируем значениями someuser.reputation += 10; // Обращаемся к полю
(Вместе с этим объявляем структуру новым типом через typedef, что не делается по умолчанию в C, в отличии от C++. Один из ярких примеров несовместимости C и C++):
После чего user_t превращается в новый тип, как int или char. Можно создать полноценную переменную типа user_t (или массив такого типа), а потом обратиться к какой-нибудь ее части (полю) через оператор точки (.). Можно сделать функцию, которая будет принимать или возвращать переменную типа user_t (к примеру someuser). Можно сделать указатель на user_t, тогда для обращение к полю используется оператор стрелки (->). Или можно встроить переменную типа одной структуры в другую, это тоже не запрещено. Внутри структурная переменная представляет из себя последовательно слепленные поля в одно целое.
Если поля разного размера, то часто добавляют пустоты между полей в целях выравнивания по размеру наибольшего поля и улучшения производительности, но это сложная тема
Возвращаемся к ООП
Суть ООП в том, что помимо полей структуры могут содержать процедуры и функции. Такая структура называется классом, переменная класса - объект, а процедура класса - метод.
Метод принципиально ничем не отличается от любой процедуры или функции, кроме того, что неявно принимает в себя специальный аргумент this (в Python это делается явно, в некоторых языках вместо this может быть self). Он содержит в себе ссылку/указатель на объект класса, от которого был вызван. Пример:
class User { public: char *username; int userid; int reputation;
void print() { printf("Пользователь \"%s\" (%i). Репутация: %i\n", this->username, this->userid, this->reputation); // Постоянно писать this-> не обязательно. Если локальной переменной с таким именем нет, то будет произведен доступ к полю } }; User someuser = { "IvanKr08", 17002, 253 }; // Инициализируем значениями someuser.print(); // Вызвали метод, print() неявно получил в себя указатель this, который указывает на someuser someuser.reputation += 10;// Обращаемся к полю someuser.print(); // Теперь вывод поменяется
Да, никто не мешает объявить обычную функцию, которая будет явно принимать в себя указатель на User и ничего не поменяется, и так повсеместно делают в C (тот же WinAPI на этом построен целиком и полностью), но ООП на самом деле крайне сложная, большая и холиварная тема, которая развивалась на протяжении 60 лет в разных направлениях и которую поднимать тут глупо. Только опишу еще несколько разновидностей методов:
Статичный метод - как обычный метод, только не получает в себя this и вызывается от имени класса, а не объекта (не someuser.method(), а User::method()). Зачем это нужно и в чем отличие от просто функции? Статичный метод можно спрятать за инкапсуляцией, плюс он привязан к классу, а не болтается в глобальном пространстве имен.
Конструктор - автоматически вызывается при создании нового объекта. Может иметь аргументы, тогда обязан явно вызываться как функция с именем класса, т.е. User("IvanKr08", 17002, 253)
Деструктор - есть в C++. В C# называется финализатором и имеет несколько важных отличий. Автоматически вызывается перед уничтожением объекта (к примеру выход из области видимости, явное удаление оператором delete или удаление сборщиком мусора в C#). Не может иметь аргументов.
Свойство - есть в Delphi и C#, куда перешел от первого. С точки зрения синтаксиса это поле, которое можно читать и записывать, только вместо прямого обращения в память вызываются соответствующие методы (set и get). Пример: ... int SomeProperty{ get =>42; set => Console.WriteLine("Set"); } ... test.SomeProperty = 10; // Значение никуда не сохранится, будет выведено "Set" в консоль Console.WriteLine(test.SomeProperty); // Всегда будет 42
Перегрузка оператора - специальный метод, который позволяет переопределить стандартные операции для типа. К примеру нельзя сложить два объекта User или User и число, но если перегрузить оператор +, то можно будет определить свою логику для этого (не обязательно, чтобы оно что-то реально складывало. Это может быть любое действие).
Индексатор - синоним перегрузки оператора квадратных скобок. Объект начинает вести себя как массив.
Функтор - перегрузка оператора круглых скобок (иначе называется перегрузкой оператора вызова функции). Позволяет "вызывать" объект так же, как и функцию. Звучит запутанно, но можно погуглить. Есть в C++. Также бывает функтор в функциональном программировании, но он не имеет ничего общего с функтором в C++.
Виртуальная функция (метод) - самый интересный и сложный тип, составляет основу полиморфизма. Вкратце объяснить его невозможно, но одним из ключевых принципов ООП является наследование, то есть один класс (наследник) копирует в себя все поля и методы другого класса (родитель), и может добавить новые. И суть в том, что указатель (ссылка) на объект класса-наследника может быть присвоен в переменную-указатель родительского типа. А самое интересное то, что любые обращения (к примеру вызовы методов), сделанные через родительский указатель, будут вести себя аналогично обращениям, сделанным напрямую через указатель с типом наследника. Это называется полиформизмом. Но это было бы не слишком полезным, если бы не возможность объявить метод в родительском классе виртуальным, а в наследнике полностью переопределить его код.
И то, что я забыл
Послесловие
Если вы осилили эти 3000 слов и даже смогли что-то понять, то найдите и распечатайте себе утешительную грамоту. А я устал и пойду искать смысл жизни...
UPD: исправлены косяки форматирования, очепятки, добавлено еще пару пунктов про разновидности методов и функциональное программирование.
Как-то с отцом зашел разговор про жизнь в советское время. "Вот когда был порядок", - говорила я, - "почему сейчас так нельзя?" А отец парирует: "Да, коррупции хватало в любое время". И рассказал случай из своей студенческой практики в Баку в середине 70-х (да, институт нефти и газа мог тогда себе это позволить).
В один из дней на практике мой отец, будучи студентом, с таким же приятелем-однокурсником зашли позавтракать в местный городской кафетерий. Предлагаемая еда была не очень приглядная на вид, но так как других вариантов не было, парни попросили что было, и насчитали им за завтрак около 4 рублей. А по тем временам это считалось дорого... но делать то нечего, заплатили и сели за столик.
Зал был почти пустой, кроме отца с приятелем за еще одним столом сидела странная компания мужчин в деловых костюмах. Отец даже подумал: "Надо же, такая жара, а они при полном параде".
Однако через некоторое время двое из этой компании подошли к прилавку и начали осматривать весы с гирьками. А ещё один человек подошёл к отцу с приятелем и задал вопрос: "Молодые люди, вам тут всё нравится? Как вас обслужили?" Отец пожал плечами: "Да, вроде нормально... Вот только, может, очень дорого..." "Дорого?" - удивился человек. - "А сколько вы заплатили?" Отец отвечает: "Три восемьдесят." Мужчина: "Чтооо!? Сколько-сколько??"
А в это время из-за прилавка к их столику срывается и уже бежит продавец: "Да, ребята просто сдачу забыли забрать, вот она!" Но проверяющий, не поведя и бровью, потребовал продавца вернуть студентам всю сумму полностью. А еще через 10 минут к ребятам снова подошли и уже попросили покинуть заведение...
Чем это всё закончилось для работников кафетерия, история умалчивает, но видимо слово "прокуратура" для них в тот день звучало. Ну, а парни остались вполне довольны..
Есть у меня товарищ Андрюха, лысый здоровяк такой, который работает врачом скорой помощи.
Так получилось, что один очень крупный поселок присоединили к городу, а инфраструктуру - не присоединили. Всех тонкостей не знаю, если честно. Дорога одна туда, двухполосная (была раньше - ща все норм) и если авария, то все - баста. Вставали на глухо.
Ну и поступает туда вызов. Проторчали в пробке, водители видя мигалки потеснились - пропустили.
Приезжают. Дверь открывает перец с фотоаппаратом. Андрюха сам местный и этого паренька знал. Самопровозглашенный блогер - разоблачитель местного полива.
Пытался контролировать все более-менее действующие в поселке службы и выкладывать "разоблачительный" материал в группу в одной социальной сети созданную им-же. Группа слыла «желтой», из-за неоднократных фейлов новостей. Люди заходили туда - так, чисто поржать.
Последний прокол блогера, заключался в том, что он начал наезжать на администрацию за отмывание денег. Увидал он как-то, как свеженькую черную землю несколько рабочих укатывают тяжелыми катками, после чего он сделал фото и написал, что дескать землю специально трамбуют, чтобы насыпать еще. Так мол и отмывают деньги.
Но грамотные люди, тут-же подсказали ему, что так закатывают семена газонной травы!
Администрация пригрозила ему судом, и он притих маленько.
Ну вернемся к вышеописанной ситуации. Звонит, значит Андрюха в дверь, а на пороге он - с фотоаппаратом:
-Тээээкс.... 27 минут добирались, да я бы...давно...
-На что жалуетесь?
-...Налоги... - не унимается - нормативы у вас есть? Ознакомьте!
Андрюха понял все:
-Ложный вызов ща оформим...
Тот врубился, что перегибает палку, но быстро сориентировался. Назвал причиной вызова почечную колику, от госпитализации отказался. Документы опять не предоставляет, кроме копии паспорта... Ну короче, плюнули - сделали укол, пошли вниз. Андрюха в сердцах сказал пару ласковых, но очень тихо. Блогер услышал.
Спускаться с 5 этажа пешком. Тут дверь хлопает, и этот кадр, на всех парах оббегает его (санитарка раньше спустилась) и нарочито медленно спускается перед ним.
- Ничего не могу поделать - почки болят. Но про вас обязательно все напишу!!!
А тот и так злой, да сумка у него тяжелая.
Ну и дошли до тамбура первого этажа. А там темно - света нет вообще. И вот в этой темноте Андрюха, как даст ему леща - громко так, со звуком. Как в ладоши хлопают.
Как-то снимал квартиру в современном многоэтажном доме. Светлая, чистая, близко к работе, но там был один серьёзный инженерный просчёт: внутри стен проходил вертикальный сток для кондиционеров. Задумка понятна, но это труба выступала как сильный резонатор, в результате чего можно было с лёгкостью разобрать громкий разговор соседей снизу или сверху.
В какой-то момент в квартиру на 4-м этаже (я жил на 6-м) въехал довольно странный тип. Он мог начать орать в любой момент суток, а из-за особенностей распространения звука я не сразу понял, в какую квартиру идти общаться.
В общем, знакомство состоялось, но внушения хватило всего на один или два месяца, да и то не уверен, что в этом была моя заслуга: ощущение, что крикливый мужичок работал вахтовым методом. Крики и мат продолжались (а представьте себе степень истеричности, чтобы это было слышно через этаж).
Решение проблемы
Т.к. стандартные методы(вроде личного общения, вызова полиции и сбора подписей соседей не сработали), было принято решение использовать контрмеры типа "око за око" с учётом особенностей местности, в которой я проживал.
После проведения измерений в ближайшем ТЦ были куплены несколько метров верёвки и дешёвенькая Bluetooth-колонка такого размера, чтобы прошла в упоминаемый ранее сток для кондиционера. Я немного переживал насчёт того, пробьёт ли сигнал со смартфона два перекрытия, но всё заработало. Когда сосед принимался орать, у него в квартире начинали играть такие светлые и знакомые с детства композиции, как "Прекрасное далёко" и "Дорогою добра", имеющие целью напомнить, что нужно заранее думать о последствиях, и что в мире есть такое добро, которое лучше не тревожить.
Циклическое воспроизведение, запущенное на 1 час, работало примерно также, как завесить клетку с попугайчиком полотенцем. Конечно, выработать нужный рефлекс удалось не сразу, но с каждым разом фонтан матюков становился всё тише, а включался он всё реже и реже. Однако чистая звуковая атмосфера как днём, так и ночью, того определённо стоила.
Берегите соседей, чтобы не пришлось от них беречься: ведь кто-нибудь менее терпеливый может вставить колонку совсем не в водосток.
Недавно родственница рассказывала, как как ней на работу психолога приглашали.
Руководство решило, что надо бы психологический климат в
коллективе поизучать. Может необходимо что-либо предпринять, для
улучшения этого климата. С этой целью пригласили психолога. Психолог
раздала всем по два листа бумаги. Один - с анкетой и кучей вопросов. Его
можно было не подписывать. После заполнения анкеты, психолог собрала
ответы. И велела, пока она обрабатывает анкеты, чтобы люди нарисовали
свою семью. Как её видят. И подписать рисунки. Обычно такое задание дают
детям. А тут взрослые люди... Но коллектив не возражал. Чем бы
начальство не тешилось, лишь бы премии не лишали. Тем более, что
рисовать надо было в рабочее время. Кто же от развлечения вместо работы
откажется. Нарисовали. Рисунки сдали. И вернулись на рабочие места.
Примерно через полчаса одну из сотрудниц вызвали в кабинет
начальника. Она ушла, а все заинтригованно стали ждать. Когда вернулась
на место, все сразу к ней обратились:
- Ну что там? Рассказывай.
Интересно же людям. Она и рассказала:
- Психолог стала спрашивать, всё ли хорошо у меня дома? И почему я себя так низко оцениваю?
Дома всё было хорошо. Жили с мужем душа в душу. Но на втором
вопросе женщина немного растерялась. Она себя вроде как нормально
оценивала, но психологу виднее. Поэтому осторожно спросила:
- А почему Вы решили, что я себя низко оцениваю?
- Ну как почему? Вот взгляните на свой рисунок. Здесь
нарисованы мама, папа и Вы. Только почему-то Вы себя в виде собачки
нарисовали. Да ещё и с поводком.
Женщина рассмеялась:
- Это не мама с папой, а я с мужем и с собакой. Собака для нас вроде как член семьи тоже.
Это она вслух сказала, и мысленно добавила: "А Вы точно психолог?"
Вот такая забавная история про психолога. С ними надо очень
осторожно общаться. А то напридумывают всякое, замучаетесь потом
объяснять, что Вы не верблюд или, например, собачка.
1. Парень
поступил к нам с раной на голени. По его словам он упал
с велосипеда. Рентген показал, что внутри его голеностопного сустава
застряла пуля. На самом деле он случайно выстрелил в себя
из пистолета. До сих пор не понимаю, как он себе ничего
не сломал.
2. О своем
возрасте одна женщина сказала, что ей 30, хотя на вид она явно была
значительно старше. Ну что ж, я перешел к другим вопросам, после
чего взглянул на ее бумаги и лабораторные отчеты, где был указан
ее настоящий возраст — 41 год. Вот зачем ты врешь врачам? Эта информация относится к твоему
здоровью, это же не профиль в соцсетях. Никто не увидит
твои данные.
3. Пациент
пришел на плановую колоноскопию, и его спросили, употреблял ли
он твердую пищу за 24 часа до процедуры. Пациент заверил,
что не употреблял. В процессе процедуры в толстой кишке
обнаружилось несколько десятков зерен кукурузы. Продолжать колоноскопию нельзя.
Пациенту было заранее велено не употреблять кукурузу перед процедурой, так
как это уже случалось в предыдущий его визит.
4. Чаще всего
пациенты врут по поводу курения.Курение
является серьезным фактором риска несрастания переломов. Заходя
в смотровую комнату с пациентом, у которого несросшийся перелом,
и чуя запах сигарет, я уже знаю, что он курит. Но он,
конечно же, скажет мне прямо в лицо, что он не курит.
Прежде чем записать пациента на повторную операцию, я обычно назначаю
анализ мочи на метаболиты никотина. Чаще всего он оказывается
положительным, и я вдруг вижу перед собой удивленное лицо моего
больного.Многие люди справедливо отмечают, что курение увеличивает для
пациента страховые взносы. Это правда, однако стоимость лечения
от осложнений после хирургического вмешательства превышает все
дополнительные расходы по страховке. Я бы все же
рекомендовал курильщикам быть откровенными со своими хирургами, чтобы
не спешить с операциями, которые потом плачевно заканчиваются.
5. Я работаю
гигиенистом, занимаюсь профессиональной чисткой зубов.Люди все время пытаются сказать мне, что они не курят. Когда
мой отец бросил курить, его стоматолог подарил ему сертификат в хороший
ресторан. Сказал, что это значительно облегчило его работу. Они были друзьями.
6. Честно
говоря, самая идиотская ложь касается того, сколько алкоголя или других веществ
употребляет пациент.Алкогольная и бензодиазепиновая абстиненция может убить вас,
а если вы употребляете опиоиды, то у вас, скорее всего,
более высокая толерантность, и вам может понадобиться большая доза
лекарств. В общем, будьте честны. Мне реально наплевать, сколько
вы пьёте. Я просто не хочу, чтобы вам стало хуже из-за вещей,
которые мы можем не допустить или как-то предотвратить.
7. «Я плюхнулся
на диван, а между подушками, как оказалось, торчал огурец. Я сел
прямо на него, и тот зашёл внутрь». За 9 лет работы медсестрой в неотложке я слышала
миллион подобных историй. Как-то раз в 2 часа ночи к нам
на скорой привезли парня. Говорит, он делал салат, огурец упал
на пол, он поскользнулся и упал прямо на него. Ага, мой
юный друг, в 2 часа ночи ты, стоя с голым задом, решил сделать
салат, после чего твой волшебный огурец, не подчиняющийся законам физики,
случайным образом идеально залетел в твою прямую кишку, потому что
ты такой невезучий, бедолага.
8. У меня
был один пациент, который утверждал, что кто-то подмешал ему в мочу кокос
и герыч. Он стоял на своем, даже когда я сменил тему.
9. Слова одного
из моих пациентов: «Я вышел голым на улицу, хотел поработать
у себя в саду. И вдруг поскользнулся. Именно так эта здоровенная
картофелина и оказалась у меня в заднем проходе». У другого
спрашиваю: «Откуда у вас на животе эта ножевая рана?» «Я положил
нож на кухонный стол и забыл, что он там. Чуть погодя, я случайно
на него напоролся». «Вы что-нибудь ели или пили сегодня перед
операцией, пациент?» «Нет, доктор». А перед ним лежит недоеденная
шоколадка. «Вы уверены? Потому что, если ели, то вас может
вырвать, когда вы будете под наркозом.Содержимое желудка может попасть в ваши легкие, и это
приведет к смерти». «Раз так, тогда да, я съел половину этого
батончика».
10. Один чел
все время приходил к нам и говорил, что он не ходил в
туалет семь дней. Обычно после такого нужно провести ректальное исследование
пальцем. Как выяснилось, именно за этим он к нам и приходил.
Пациент являлся каждый раз, когда у нас на работе появлялись новые
врачи, которые не знали его хитрых уловок.
11. Один раз
к нам поступил чувак, который притворялся, будто он без сознания.Он не реагировал даже на самые болезненные
раздражители. Некоторые были реально очень болезненными. Он вообще
не шевелился. Мы обсуждали с врачами, как ему сделать интубацию.
Он тут же открыл глаза и сказал, что ему делали эту штуку
в прошлый раз, и ему не понравилось.
12. К нам
в неотложку поступила женщина с жалобами на выделения
из влагалища и дискомфорт. Первоначальное обследование органов малого
таза выявило обильную молочницу. Но позже возникло подозрение, что
во влагалище находится инородное тело. Я спрашиваю, застревало ли
что-нибудь у нее внутри? Она отрицает. При осмотре с помощью расширителя
оказалось, что у нее внутри находится мандарин в кожуре. Достаю и
показываю ей. Она: «Ах, вы про это! Я в интернете прочитала, что так можно
улучшить фертильность».
13.
Вы курите? Нет, бросил. Когда бросили? Сегодня утром. На самом деле бросить
курить не самое сложное, труднее не поддаться искушению год спустя,
когда у тебя проблемы в жизни, и ты набухался.В такие моменты одна сигарета кажется тебе какой-то мелочью.
Если у вас реальная зависимость, то вам придется полностью изменить
свой образ мышления. Вы должны отбросить идею о том, что
вы в принципе можете позволить себе закурить в какой бы
то ни было ситуации. Не так трудно бросить, трудно бросить
по-настоящему и навсегда. Ведь сигареты всегда рядом, и одна промашка
возвращает вас туда, откуда вы начали. Однако, зная все это,
вы все же способны бросить курить.
14. Был у нас
один очень добрый старик, который всегда много болтал с нами, рассказывал
разные истории, по-доброму и в уважительной манере говорил, какие
мы красивые, выражал всяческую благодарность за нашу работу
и так далее.У этого пожилого мужчины всегда было очень высокое давление,
хотя он клялся, что все время принимал лекарства и делал это
правильным образом. После того, как мы неоднократно меняли ему препараты
и схему лечения, к нам в голову пришла вполне логичная мысль.
Возможно, проблема в том, как именно старик принимает лекарства, если
он вообще их принимает. Как-то раз мы заметили, что
на регистратуре, перед тем, как до него дойдет очередь, он все
время ходит в туалет, а кто-то увидел, что он всегда съедает
горсть соли, прежде чем зайти на прием к врачу.То есть, он специально пытался поднять себе давление.
Позже мы обнаружили, что он, ко всему прочему, действительно
не принимал свои лекарства должным образом. Делал он это намеренно,
чтобы снова и снова у него повышалось давление, после чего
он приходил к нам на прием. В чем же была причина?
Оказалось, что мужчина страдал от одиночества. Он был пожилым
человеком, который уже не так часто общался со своей семьей, хотя все
его родные жили по соседству.Будучи в отчаянии, он намеренно поднимал себе давление,
потому что для него это был лучший способ, чтобы раз в неделю
с кем-то пообщаться. На моей практике это был самый странный случай,
хотя это достаточно распространенное явление среди пожилых пациентов.
Это вам не просто помарки. Им с этим жить. Ну, или умереть - этот пост вытащил из глубин памяти армейскую историю, касающуюся татуировок. В ней фигурирует художник, кустарное набивание татуировок при свете фонарика и истинное разгильдяйство вчерашних школьников/студентов.
"Мой друг художник и поэт"
Информацией о том, что окончил художку, я поделился с кем-то из ребят ещё на призывном пункте - три дня в ожидании сидеть было скучно, ну мы и болтали о всяком. Когда мы прибыли на место службы (рота почётного караула), то во время одного из первых собраний наш комвзвода спросил, кто умеет рисовать. Мне не понадобилось много времени, чтобы понять: либо отправят красить стены, либо весь год рисовать стенгазеты. Ничем из этого мне заниматься решительно не хотелось, поэтому я промолчал, но тут раздалось "А ты ж говорил, что художку окончил". ... Сложно некоторые армейские истории без мата, но я буду стараться.
"И начинанья, взнёсшиеся мощно..."
В какой-то момент коллективный армейский разум решил, что сделать татуировку во время службы - это верх крутизны. Причём не абы какую, а надпись "Почётный караул" на немецком языке (Ehrenwache). В чём прикол в русской армии использовать иностранные символы, я до сих пор не понимаю. Тем более, что мы несли службу на Мамаевом Кургане, где наши предки не с кем-нибудь, а с немцами и сражались. Короче, мне принесли текст и попросили нарисовать эскиз татуировки "каким-нибудь красивым почерком". Я набросал несколько вариантов, но больше всего большинству понравился шрифт, который использовался в "Тетради смерти" - Old English Text MT.
Ребята захотели делать вертикальные надписи, и первым эту "почётную татуировку" решил делать один из контрактников. На спине, вдоль позвоночника, от шеи до копчика. Я сразу сказал, что никогда не набивал татуировки, и если они хотят потом хвастаться, то лучше бы дождаться увольнения и сделать всё у профессионалов. На пару дней вопросы стихли, но желание "хочу здесь и сейчас" никуда не делось.
"В темноте очертанья тают..."
В один из вечеров меня поставили перед фактом: сегодня ночью набиваем татуировку, и я там нужен. План выдумали надёжный, как швейцарские часы: я рисую гелевой ручкой татуировку на коже, мастер-набивастер с кустарной машинкой бьёт по нарисованному контуру, а т.к. там будут протирать спиртом, то мне нужно будет периодически обновлять буквы.
В кубрике общий свет был выключен. Откуда-то притащили тусклую настольную лампу, окно завесили, чтобы даже эти неверные лучи не привлекли ничьего внимания, ребят в наряде поставили на стрёме. Машинка была сделана из моторчика, корпуса шариковой ручки и струны гитары. Моей гитары. Причём, как выяснилось позже, сначала из неё выдернули вторую струну, но она показалась слишком толстой для иглы, и так мой инструмент лишился и первой струны. Краска для татуировки - это нечто вообще недоступное моему пониманию.
Берётся каблук от сапога, стёклышко и зажигалка. Каблук поджигается, стекло держат над ним. Затем эту резиновую копоть соскребают в баночку, с чем-то смешивают и повторяют процесс, пока не наберётся достаточно количество краски. Даже если бы я захотел набить себе татуировку струной от гитары в полутьме, засовывать в свой организм в качестве пигмента жжёную резину не стал бы.
На всё ушло около 3-4 часов, причём парню несколько раз попали машинкой по костям. Судя по реакции, это довольно-таки неприятно.
"К четырём прибавить два, по слогам читать слова..."
Как ни странно, после такой процедуры желающих не убавилось. Ребята набивали надпись под левой грудью, на ногах... Иногда в качестве освещения использовалась вспышка телефона, порой - свет фонаря из окна. Однако в какой-то момент выяснилась важная деталь.
Когда мне принесли перевод "почётный караул" с немецкого, на бумажке
было написано "Ehren Wahe", а не "Ehrenwache". С пробелом и без буквы
"С".
Я не знаю, каким местом нужно было искать и смотреть, чтобы совершить в одном слове две помарки. В школе нам всем преподавали английский, но если бы мне пришлось набивать нечто на другом языке, нечто, что останется со мной на всю жизнь, я бы несколько раз перепроверил написанное и уточнил значение, чтобы не совершить ошибку.
Как говорится, слово не воробей, набил ..., потом не жалей. Контрактник, кстати, встрял сильнее всех, т.к. у него была самая заметная и крупная надпись. До последнего дня моей службы теребил меня вопросами, а можно ли это как-то исправить..? Можно:
Комментарии