Продолжение поста «Сага о свекрови Фуфло-Сучке»
ТС = just_the_wife 2018-06-03 (три дня спустя после первого поста)
Иногда я работаю из дома, пятница была одним из таких дней. Я была расслаблена, счастлива, и до наступления моих выходных осталось всего два часа, когда пушистик гавкнул, давая мне понять, что кто-то вот-вот постучит в дверь.
Этот кто-то был из службы контроля за животными. Они получили емэйл с заявлением, что в моём доме находится большая, необученная, злобной собака, которая имеет доступ к ребенку без присмотра. (Примечание: в моем доме нет детей, мы пустогнёздники и наслаждаемся своим пустым гнездом. Я предполагаю, что в заявлении подразумевалась моя внучка, которая редко бывает рядом с собакой, а если и бывает, то в непосредственной близости от них обоих - т.е. в нескольких дюймах - находятся трое-четверо взрослых).
Пока джентльмен рассказывал мне все это, "злобная собака" сидела у меня на ноге, попеременно зевая и обнюхивая карманы инспектора в надежде на угощение.
Видите ли, служба контроля за животными - это не служба по делам несовершеннолетних\опека, они показывают хозяевам животных свои доказательства. Этот емэйл был с адреска ФС.
Я пригласила инспектора в дом, собака получила лакомство и плюхнулась вздремнуть на диван. Ужасно злобно, правда?
Я показала милейшему инспектору все документы пушистика, документы о прививках, отчёт о его спасении, сертификаты о его обучении и да, отчёт об анализе поведения, который сделали в приюте. В нём чётко описана агрессия по отношению к кобелям и отсутствие проблем с: всем остальным.
Инспектор не мог понять, с чего кому-то пришло в голову заявить на мою собаку. Я дала разъяснения, указав на адрес электронной почты ФС, рассказала, кто она (гадская свекровь), и про всю драму во время ее последнего визита почти год назад с ее пожилым КОБЕЛЁМ, страдающим от припадков и не получающим лечение. И о её предстоящем визите, где ей снова отказали по поводу собаки, сославшись на то, что наша собака очень агрессивна к кобелям.
Я даже любезно подняла и, да, распечатала емэйлы почти годичной давности, когда ФС сходила с ума из-за того, что ее собаке не рады в нашем доме, в которых ясно говорилось, что она не дает ей фенобарбитал, потому что масла работают лучше.
По-видимому, наш милый инспектор связался со службой по контролю за животными\полицией по животным в штате ФС, а они выехали на проверку состояния собаки. Когда инспектор прибыл к ним, у пса как раз был припадок.
Судя по всему, ФС показала свой жопо\норов инспектору и ЕЁ собаку забрали под опеку, и назначено слушание, чтобы решить БУДЕТ ЛИ она возвращена.
Ожидаются результаты анализов, чтобы выяснить, есть ли в его организме лекарства от судорог. А те масла? Она наносила их на подушечки его лап. На всех четырех лапах были обнаружены небольшие рубцы от ожогов/раздражение или свежие ожоги/раздражение от масел.
Обо всем вышеперечисленном муж узнал от своего отца, который позвонил, чтобы узнать, почему я заявила на неё. Когда он узнал, что все раскрылось и что раскрылось это всё, когда я защищала свою собаку от злонамеренного заявления, он лишь вздохнул и сказал, что будет скучать по собаке.
Свёкр чувствует себя ужасно, он сказал, что верил ФС на слово про безопасность масел, потому что она сказала, что ознакомилась с информацией по их применению. И он признает, что не особенно поднимал эту тему и не видел рубцов/ожогов на лапах собаки (собака частично/в основном кокер-спаниель, у нее очень мохнатые лапы, так что нужно раздвигать шерсть и присматриваться, с первого взгляда этого не увидишь). Так что да, он чувствует себя виноватым и знает, что ему не стоило верить ей на слово, а он должен был сам поговорить с ветеринаром.
В общем, сука затеяла игру с изъятием моей собаки, чтобы она могла приехать к нам со своим питомцем, а в итоге потеряла свою собаку.
Ей больше нельзя появляться в моем доме. Никогда. Я до сих пор мечтаю о том, чтобы проехать 20 часов и показать ей СВОЮ злобную сторону.
И я очень надеюсь, что ее собака получает необходимые лекарства и сможет прожить оставшиеся годы в здравии и комфорте.
ТС = just_the_wife 2018-06-05 (два дня спустя)
Вчера вечером позвонил свёкр, он долго разговаривал с их ветеринаром и выяснил, что многие вещи не соответствуют всему тому, что рассказывает/рассказывала ФС.
Он также выяснил, что юридически собака принадлежит ему, а не ФС. Она зарегистрировала микрочип и право собственности на собаку в ветеринарной клинике на имя свёкра, а не свое. (Она все записывает на его имя, чтобы он нес финансовую ответственность, поскольку за 45 лет их брака она проработала всего 5 лет).
Ни свёкр, ни ветеринар не верят, что ФС больше не будет использовать масла на собаке, и согласны с тем, что собаку лучше всего пристроить к кому-то другому. Слушание об опеке состоится в пятницу, ветеринар будет присутствовать вместе со свёкром, и ветеринар добивается опеки над собакой с согласия свёкра.
Ветеринар поговорил с полицией по животным, которые поддерживают передачу права собственности и не будут её опротестовывать. Похоже, с пятницы пёсель попадёт в новый дом к тому, кто может и хочет позаботиться о его особых потребностях.
Судя по всему, ФС в ярости на свёкра за то, что он "отдал их ребенка", и играет с ним в молчанку, что, скорее всего, лучший подарок, который он когда-либо получал от нее.
Продолжение поста «Сага о свекрови Фуфло-Сучке»
Небольшой между-пост о прошлом от ТС перед тем, как она перейдёт к дальнейшему рассказу о кобелях и суках. :)
В оригинале ТС использует SOB = Snake Oil Bitch. SOB ещё и частое сокращение Son of a Bitch - сукин сын. Под snake oil - змеиное масло, имеются в виду всякие "чудо средства" с сомнительной, отсутсвующей или даже отрицательной полезностью. По-нашенски фуфломицин. :) отсюда мой перевод прозвища для свекрови.
ТС = just_the_wife 2018-05-30
Для тех, кто предложил это, прозвище выбрано - Фуфло-Сучка. Скорее всего я буду пользоваться её инициалами, которые ей тоже очень подходят.
Более дюжины лет назад, когда мы познакомились с теперь уже мужем, мы быстро пришли к обоюдному решению. Друзья с чрезвычайно частыми привилегиями. Ни один из нас не хотел повторного брака. У нас обоих были дети и религиозные родители, так что мы завязали на всём этом красивый бантик "мы.встречаемся" и представили это, как полный комплект.
Муж моим родителям очень понравился. Его отец относился ко мне с некоторым подозрением, ФС ненавидела меня. Ей (по её мнению) удалось прогнать бывшую жену, так что она не оценила появление новичка, с которым нужно было делить (его) внимание.
По своей природе я правдоруб. Но я терпела, игнорировала, закатывала глаза и просто уходила от гораздо, гораздо большего (количества ситуаций), чем следовало. Я не пыталась быть выше этого, я просто была взрослым человеком, которому были не нужны эти игры в дрянных девчонок. Окончательно чашу весов перевесило то, что после неприятного развода деверь нашел очень милую и неискушенную девушку, с которой стал встречаться.
ФС переместила свои нападки с меня (главная цель) на (теперь) невестку (второстепенная цель). Своим шипастым языком и оскорблениями ФС могла довести эту молодую женщину до слёз. И ФС это нравилось. Она всегда дожидалась, пока её мальчики не отвлекутся, и выходила на охоту.
Однажды в субботу вечером на барбекю ФС просто злобно издевалась над невесткой (и, оказывается, надо мной тоже). Муж и деверь были у гриля со свёкром и прочно отвлечены, когда ФС начала изрыгать\выплёскивать нескончаемую злобную тираду об их отношениях с бывшими жёнами, и о том, что они нас не любят\не могут любить, иначе сделали бы предложение бла-бла. Честно говоря, я не обращала на нее внимания и разглядывала в окно симпатичную попку мужа, мысленно строя планы на сексование, как только мы избавимся от остальной семьи.
Именно в этом окне я заметила отражение невестки, с залитым слезами лицом, и мой разум\уши снова вернулись к разговору, как раз вовремя, чтобы услышать, что в сердцах "мальчиков" есть место только для одной женщины, и это Она!
"Можешь оставить себе его сердце, меня больше интересуют его член и язык" -- вылетело из моего мозга и сорвалось с языка, прежде чем фильтры смогли это уловить.
Невестка поперхнулась, затем расхохоталась до слёз, смеясь и фыркая одновременно.
ФС кричала и плакала на всём её пути до "мальчиков", причитая о том, что в её доме сидит извращенная безбожная язычница. Представьте себе церковную даму из SNL на стероидах. Когда свёкр и деверь оба "дали пятюню" мужу, она завопила ещё громче, забежала в дом и заперлась в своей спальне, гулко хлопнув дверью.
В тот вечер свёкр решил, что я ему нравлюсь, вручил мне пиво, и не просто пиво, а одно из своих любимых, и сказал "добро пожаловать в семью!". Он также сказал невестке собраться и постараться получше. Он знает, что ФС - стерва. Если она что-то начинает, то с его точки зрения мы имеем право это закончить - без обид.
И по сей день мы с невесткой можем обратить эту стерву в бегство и оставить нас в благословенном покое одним простым движением языка.
Для образованных - церкованя дама от SNL :)
Алгоритмы: Открытие тайн кода
Здравствуйте, мои маленькие любители алгоритмов. Я покажу вам основные принципы, которые демонстрируют необходимость алгоритмов, обучу вас решению элементарных задач и введу вас в понятие O-нотации. Статья предназначена для тех, кто только начинает свой путь в программировании, так что профессионалам она может показаться менее интересной.
Что такое алгоритм?
Алгоритм — это последовательность шагов, предназначенных для решения определённой проблемы. В общем смысле, любой код, который решает задачу, может быть охарактеризован как алгоритм. Понимание того, какой алгоритм лучше всего подходит для определённых условий, может существенно повлиять на эффективность вашего программного решения. Первоначальный этап создания алгоритма заключается в осмыслении проблемы, для решения которой он предназначен.
Пример задачи бинарного поиска
Начнем с примера задачи бинарного поиска. Допустим, вам нужно отыскать фамилию в телефонном справочнике, который начинается на букву “К”. Вместо того чтобы листать с начала, вы быстрее найдёте нужную страницу, открыв справочник посередине, так как “К” вероятно будет ближе к центру. Такой же подход удобен при поиске слова на букву “О” в словаре - начинать стоит с середины. Бинарный поиск — это универсальный алгоритм, применимый для решения многих задач поиска. Он работает с предварительно отсортированным массивом элементов. Если искомый элемент содержится в массиве, бинарный поиск указывает его позицию. В случае отсутствия элемента алгоритм возвращает значение null. В дальнейшем я объясню, почему важна сортировка массива перед началом поиска.
Как работает метод бинарного поиска
Давайте рассмотрим, как работает метод бинарного поиска на примере игры. Представьте, что я загадал число от 1 до 100, и ваша задача — угадать его, используя минимальное количество попыток. После каждой вашей догадки я буду отвечать: “слишком мало”, “слишком много” или “верно”. Если начать угадывать последовательно, начиная с 1, это будет неэффективно. Например, если я загадал число 99, вам потребуется 99 попыток, чтобы добраться до него. Теперь представим более эффективный метод — бинарный поиск. Начнем с середины диапазона, то есть с 50. Если я скажу, что это “слишком мало”, вы тут же исключите все числа от 1 до 50. Затем попробуйте число 75. Если я скажу “слишком много”, вы исключите числа от 76 до 100. Таким образом, каждый раз вы сокращаете количество возможных вариантов вдвое. Следующая попытка будет 63, что находится посередине между 50 и 75.
Бинарный поиск эффективен, потому что с каждой попыткой вы исключаете половину оставшихся чисел. Независимо от того, какое число я загадал, вы сможете угадать его за 7 или меньше попыток. Это показывает мощь алгоритмов и как они могут упростить решение задач. В среднем, бинарный поиск в списке из ( n ) элементов находит элемент за (log2n) шагов, в то время как линейный поиск потребует в среднем ( n ) шагов. Это делает бинарный поиск значительно быстрее, особенно для больших списков.
Реализация бинарного поиска на псевдокоде
Объяснение
Устанавливаем начальные границы поиска: Начало и Конец.
В цикле Пока проверяем, что начальная граница не превысила конечную.
Находим индекс Середина как среднее между Начало и Конец.
Сравниваем элемент в середине с искомым элементом:
Если они равны, возвращаем индекс Середина.
Если элемент в середине меньше искомого, сдвигаем начальную границу за середину.
Если элемент в середине больше искомого, сдвигаем конечную границу перед середину.
Если элемент не найден, возвращаем -1.
Реализация алгоритма бинарного поиска на c++
Анализ эффективности алгоритмов
Когда мы анализируем новый алгоритм, важно обсудить его эффективность. Обычно предпочтительнее использовать алгоритм, который оптимизирован по времени или памяти.
Бинарный поиск
Давайте рассмотрим бинарный поиск. Какое преимущество он предоставляет с точки зрения времени? В классическом подходе мы проверяем каждый элемент последовательно. Если у нас есть список из 100 элементов, нам может потребоваться до 100 проверок. В случае списка из 4 миллиардов элементов, число попыток может достигнуть 4 миллиардов. Время выполнения в таком случае растет пропорционально размеру списка, что является примером линейного времени выполнения.
С бинарным поиском ситуация иная. В списке из 100 элементов потребуется всего лишь 7 проверок. А для списка из 4 миллиардов элементов — не более 32 проверок. Довольно впечатляюще, не правда ли? Бинарный поиск работает за логарифмическое время, что делает его значительно более эффективным.
“Большое О”
“Большое О” - это специальная нотация, которая описывает скорость выполнения алгоритма. Это полезно знать, потому что время от времени вам может потребоваться использовать алгоритмы, разработанные другими людьми, и важно понимать, насколько быстро или медленно они работают.
Время выполнения алгоритмов увеличивается с разной скоростью. Например, Анна разрабатывает алгоритм сортировки для большой базы данных в библиотеке. Ее алгоритм будет работать, когда пользователь будет искать книгу, и поможет вычислить наиболее релевантные результаты.
Это один из примеров того, как время выполнения двух алгоритмов увеличивается с разной скоростью. Анна пытается выбрать между сортировкой пузырьком и быстрой сортировкой. Ее алгоритм должен работать быстро и правильно. С одной стороны, быстрая сортировка работает быстрее. У Анны есть всего 10 секунд, чтобы отсортировать данные; если она не успеет это сделать, то пользователь может уйти. С другой стороны, сортировка пузырьком проще в написании и вероятность ошибок в нем ниже. Конечно, Анна не хочет допустить ошибку в коде сортировки данных. И тогда, для большей уверенности, Анна решает измерить время выполнения обоих алгоритмов для списка из 100 элементов.
Предположим, проверка одного элемента занимает 1 миллисекунду (мс). При сортировке пузырьком Анне придется проверить 100 элементов, поэтому сортировка займет 100 мс. С другой стороны, при быстрой сортировке достаточно проверить всего 7 элементов (log2100log2100 равно примерно 7), и сортировка займет 7 мс. Но реальный список может содержать более миллиарда элементов. Сколько времени в таком случае потребуется для выполнения сортировки пузырьком? А при быстрой сортировке?
Анна проводит быструю сортировку с 1 миллиардом элементов, и на это уходит 30 мс (log21,000,000,000log21,000,000,000 равно примерно 30). “32 мс! - думает Анна. - Быстрая сортировка в 15 раз быстрее сортировки пузырьком, потому что сортировка пузырьком для 100 элементов заняла 100 мс, а быстрая сортировка заняла 7 мс. Значит, сортировка пузырьком займет 30 х 15 = 450 мс, верно? Гораздо меньше отведенных 10 секунд”. И Анна выбирает сортировку пузырьком. Верен ли ее выбор?
Нет, Анна ошибается. Глубоко ошибается. Время выполнения для сортировки пузырьком с 1 миллиардом элементов составит 1 миллиард миллисекунд, а это 11 дней! Проблема в том, что время выполнения для быстрой сортировки и сортировки пузырьком увеличивается с разной скоростью.
“Большое О” описывает, насколько быстро работает алгоритм. Предположим, имеется список размера n. Сортировка пузырьком должна проверить каждый элемент, поэтому ей придется выполнить n операций. Время выполнения “Большое О” имеет вид O(n).
А теперь другой пример. Для проверки списка размером n быстрой сортировке потребуется loglogn операций. Как будет выглядеть “Большое О”? O(loglogn).
В общем случае “Большое О” выглядет так: O(f(n)), где f(n) - это количество операций, которые придется выполнить алгоритму. Оно называется “Большое О”, потому что перед количеством операций ставится символ “О” (а большое - потому что в верхнем регистре).
Примеры “Большого О”
Вот пять типичных примеров “О-большого”, которые часто встречаются в алгоритмах и структурах данных. Они представлены в порядке от самого быстрого к самому медленному:
O(loglogn), или логарифмическое время. Это время, которое обычно требуется для выполнения бинарного поиска.
O(n), или линейное время. Это время, которое обычно требуется для выполнения простого поиска.
O(n loglogn). Это время, которое обычно требуется для выполнения эффективных алгоритмов сортировки, таких как быстрая сортировка.
O(2n2). Это время, которое обычно требуется для выполнения медленных алгоритмов сортировки, таких как сортировка выбором.
O(n!). Это время, которое обычно требуется для выполнения очень медленных алгоритмов, таких как решение задачи о коммивояжере.
Эффективность алгоритмов определяется не по времени выполнения в секундах
Алгоритмы с временем выполнения O(log n) работают быстрее, чем алгоритмы с временем выполнения O(n). И чем больше размер списка, по которому производится поиск, тем заметнее становится эта разница.
Эффективный алгоритм может быть не сразу очевиден, и в зависимости от специфики данных, операционной среды (например, возможности использования параллелизма) и конкретных целей, наилучшим решением может стать один из множества различных алгоритмов.
Это краткое введение — лишь небольшая часть огромного мира алгоритмов. Надеемся, что оно вдохновит вас на дальнейшее изучение различных алгоритмических подходов и алгоритмов, которые мы рассмотрели.
Реализация алгоритмов
Все рассмотренные здесь алгоритмы были реализованы и задокументированы с целью помочь вам лучше понять, как использовать эти алгоритмы и даже как реализовать их самостоятельно. Это знание будет полезно при чтении статей по алгоритмам и при их применении на практике.
Рекомендации по чтению
Вот несколько книг, которые я могу порекомендовать для изучения алгоритмов:
“Алгоритмы: построение и анализ” - Томас Х. Кормен, Чарльз Э. Лейзерсон, Рональд Л. Ривест и Клиффорд Штайн. Это классический учебник, который подробно описывает большинство важных алгоритмов.
“Алгоритмы на Python” - Майкл Т. Гудрич, Роберто Тамассиа и Майкл Голдвассер. Эта книга объясняет алгоритмы на языке Python, что может быть полезно для тех, кто хочет изучать алгоритмы на конкретном языке программирования.
“Структуры данных и алгоритмы в Java” - Майкл Т. Гудрич и Роберто Тамассиа. Это еще одна отличная книга для изучения алгоритмов, особенно если вы предпочитаете Java.
“Алгоритмы + структуры данных = программы” - Никлаус Вирт. Это классическая книга, которая объясняет, как алгоритмы и структуры данных работают вместе, чтобы создать эффективные программы.
Пожалуйста, учтите, что выбор книги зависит от вашего уровня знаний и опыта в программировании. Некоторые книги могут быть более сложными для понимания, чем другие. Поэтому рекомендуется начать с более простых книг, если вы только начинаете изучать алгоритмы.
10 Предстоящих Стратегических Игр #1 (Апрель 2024) ^_____^
📌 Игры в этом списке 🔞
1. 00:13 - Dream Tactics 🪽
Описание игры: Dream Tactics — это РПГ-стратегия в стиле GBA с хитроумными карточными комбинациями и глубокой персонализацией персонажей. Подберите команду и составьте колоду, чтобы создать уникальный стиль игры. Побеждайте полчища подушек в пошаговых боях и спасите Мир снов от уничтожения.
2. 01:52 - Of Life and Land 🍩
Описание игры: В этой градостроительной стратегии вам необходимо возглавить строительство новых поселений в самых отдалённых и неизведанных уголках королевства, где первозданная природа хранит в себе тайны и легенды, готовые оживать на ваших глазах. Будьте готовы превзойти все ожидания и создать нечто поистине удивительное в этих забытых краях.
И конечно же в Of Life and Land вам предстоит не только строить и развивать поселения, но и удовлетворять потребности их жителей. Помните, что они — живые люди, у каждого из которых есть свой дом, работа и множество нужд и целей. Ваша обязанность — создать для них комфортные условия и помочь реализовать их стремления. Но не забывайте, что в этом мире есть не только люди, но и животные, которые также ищут пищу, воду, место для сна и стремятся найти свою роль в экосистеме. Даже растения требуют особого внимания — им необходима вода и подходящая температура для выживания.
3. 02:54 - Planetiles 🧩
Описание игры: Planetiles — это Безмятежный градостроитель на отдаленных планетах. Создайте космическую гавань, защитите ее от стихийных бедствий и развивайте свой мир, выполняя сложные квесты. Создавайте уникальные биомы и открывайте бонусы и новые типы плиток.
4. 03:52 - Solar Storm 🏎️
Описание игры: Solar Storm - это пошаговая Scifi артиллерийская игра с тоннами безумных взрывов и уникального оружия. Играйте с друзьями на процедурных и полностью разрушаемых аренах, чтобы узнать, кто лучший!
5. 04:36 - Headquarters: World War II 💢
Описание игры: Headquarters: World War II - это динамичная пошаговая стратегия, в которой тактика ведения боя не менее важна, чем навыки управления армией. Штурмуйте бункеры, захватывайте дома, выигрывайте танковые дуэли в Нормандии на стороне США, Великобритании или Германии.
6. 06:41 - Wizarre ☘️
Описание игры: Wizarre - это пошаговая многопользовательская игра. Создайте и настройте свою команду волшебников, выберите одно из более чем 100 различных заклинаний, управляйте своим временем и маной.
7. 07:43 - Space Prison 💢
Описание игры: Space Prison - это тактическая стратегическая игра на выживание с пошаговыми боями и RPG-социальной механикой. Выживите в самой суровой тюрьме галактики и поднимитесь на вершину банды! Исследуйте, сражайтесь, дружите, торгуйте и создавайте ремесла, чтобы сбежать, но не дайте системе сломить вас, ведь смерть - не повод для более короткого срока!
8. 08:24 - Oddsparks: An Automation Adventure 👽
Описание игры: Создайте автоматизированные мастерские для своих странных и очаровательных Искорок, чтобы они могли переносить и изготавливать все, что угодно, включая самих себя! Ведите свой отряд Искорок в бой. Исследуйте странный фэнтезийный мир в одиночной игре или в сетевом кооперативе. Раскройте древнюю тайну Искры!
9. 09:20 - Guild Saga: Vanished Worlds 🐜
Описание игры: Во время вашего первого плавания с Гильдией Героев ваш корабль был захвачен загадочным водоворотом, в результате чего ваша партия оказалась на острове Респите. Пройдите через пиратов, свирепых зверей и сомнительных алхимиков, чтобы разгадать его тайны.
10. 10:35 - Manor Lords 🔞
Описание игры: Manor Lords — средневековая градостроительная стратегия с масштабными битвами и развитыми системами экономики и общественной жизни. Управляйте землями как средневековый лорд в мире, где сменяются времена года и погода, а города растут и приходят в упадок.
Видео и музыка предназначены для информационных целей 16 + 🎮
Все авторские права принадлежат их законным владельцам. 💽
Примечание: Дата выпуска может быть изменена. 💢
Не могу найти гифку
нужна гифка которая мелькала тут с подписью моё состояние в конце года, где кот скалится только одной половиной морды. без рейтинга
Поиграем в бизнесменов?
Одна вакансия, два кандидата. Сможете выбрать лучшего? И так пять раз.