Инставомбат

С просторов Reddit, местами в видео есть громкая музыка. Но вроде таких тут еще не видел.
День молодёжи — национальный праздник молодых людей, эта дата отмечается в Российской Федерации ежегодно, летом, в последнюю субботу июня.
История этого праздника началась 7 февраля 1958 года в Советском Союзе, когда Указом Президиума Верховного Совета СССР «Об установлении Дня советской молодёжи» был учреждён «День советской молодёжи», который отмечался в последнее воскресенье июня. (с) спёрто с вики
Желаю всем квадратокакающим сегодня не смотреть на цифирьки в паспорте или свидетельстве о рождении, не вспоминать о пенсионном удостоверении, а быть вечно молодым в душе и чувствовать себя 20ти летними безбашенными парнями и девчёнками
Суббота. Пусть вомбаты сегодня позажигают от души.
Как-то снимал квартиру в современном многоэтажном доме. Светлая, чистая, близко к работе, но там был один серьёзный инженерный просчёт: внутри стен проходил вертикальный сток для кондиционеров. Задумка понятна, но это труба выступала как сильный резонатор, в результате чего можно было с лёгкостью разобрать громкий разговор соседей снизу или сверху.
В какой-то момент в квартиру на 4-м этаже (я жил на 6-м) въехал довольно странный тип. Он мог начать орать в любой момент суток, а из-за особенностей распространения звука я не сразу понял, в какую квартиру идти общаться.
В общем, знакомство состоялось, но внушения хватило всего на один или два месяца, да и то не уверен, что в этом была моя заслуга: ощущение, что крикливый мужичок работал вахтовым методом. Крики и мат продолжались (а представьте себе степень истеричности, чтобы это было слышно через этаж).
Т.к. стандартные методы (вроде личного общения, вызова полиции и сбора подписей соседей не сработали), было принято решение использовать контрмеры типа "око за око" с учётом особенностей местности, в которой я проживал.
После проведения измерений в ближайшем ТЦ были куплены несколько метров верёвки и дешёвенькая Bluetooth-колонка такого размера, чтобы прошла в упоминаемый ранее сток для кондиционера. Я немного переживал насчёт того, пробьёт ли сигнал со смартфона два перекрытия, но всё заработало. Когда сосед принимался орать, у него в квартире начинали играть такие светлые и знакомые с детства композиции, как "Прекрасное далёко" и "Дорогою добра", имеющие целью напомнить, что нужно заранее думать о последствиях, и что в мире есть такое добро, которое лучше не тревожить.
Циклическое воспроизведение, запущенное на 1 час, работало примерно также, как завесить клетку с попугайчиком полотенцем. Конечно, выработать нужный рефлекс удалось не сразу, но с каждым разом фонтан матюков становился всё тише, а включался он всё реже и реже. Однако чистая звуковая атмосфера как днём, так и ночью, того определённо стоила.
Берегите соседей, чтобы не пришлось от них беречься: ведь кто-нибудь менее терпеливый может вставить колонку совсем не в водосток.
Сегодня суббота, то есть Шаббат-Вомбат. Белки хоть и не вомбаты, но вторые у нас водиться не желают. Приходится выкручиваться и искать вомбатозаменители.
Хотел написать про работу системы управления памятью, но понял, что для полноценной статьи у меня не хватает практических знаний. Поэтому кратко
Помимо стека, о котором было рассказано в прошлой статье и который содержит локальные переменные, в "потребительской" программе в среднестатистической ОС еще бывают глобальные переменные и динамическая память. Глобальные переменные описываются внутри сегментов .bss и .data, резервируясь в памяти сразу после загрузки образа программы (по-правильному это называется процессом).
Динамическая память иначе называется кучей, так как представляет из себя кучу динамических данных, который могут появляться и исчезать во время работы.
Для работы с динамической памятью в C существует malloc(size_t), запрашивающий (выделяющий, аллоцирующий) у ОС кусок памяти указанного размера и возвращающий указатель на первый байт, и free(void *), принимающий этот указатель и возвращающий (освобождающий) кусок назад в ОС.
В C++ есть операторы new и delete, они устроены гораздо сложнее и я не буду их рассматривать, ибо не пишу на нем. Помимо запроса памяти у ОС они занимаются ее инициализацией.
Если по какой-то причине стандартной библиотеки языка в наличии не имеется, то в Windows за память отвечает HeapAlloc и устаревшие GlobalAlloc и LocalAlloc из времен Windows 3.11 (malloc к ним и обращается внутри. Еще есть парные HeapFree, GlobalFree и LocalFree). Они предоставляют больше контроля над результатом, но проприетарны для Windows. А полный список функций для работы с памятью в WinAPI есть здесь, их сотни на любой случай жизни. Можно даже внутри контекста чужого процесса выделить или освободить кусок памяти (обычно такое используется вирусами и прочей нечистью).
А что будет, если постоянно выделять, но не освобождать? А еще лучше: выделять, но терять адреса выделенной памяти. ОС достаточно быстро подскажет правильный ответ.
В теории есть несколько возможных выходов, можно даже обработать подобный случай и, к примеру, экстренно освободить всё выделенное (только если не терять указатели) или попытаться спасти нужные данные из разваливающейся программы, но если никаких действий не предпринять, то ОС заставит процесс экстренно прекратить свою деятельность и существование.
Случай с потерей указателей на выделенную память называется утечкой памяти и ее последствия необратимы. Но как только ОС завершает выполнение процесса, то вся его память, даже утекшая, становится снова свободной.
Отслеживание правильности выделения и освобождения памяти является достаточно сложной и опасной задачей, особенно если требуется обеспечивать стабильность и безопасность (лучше даже не думать, что будет, если рукожопый программист забьет на MISRA и устроит утечку памяти в подсистеме тормозов в Тесле), и практически невыполнимой в некоторых парадигмах (особенно в функциональном программировании). Поэтому еще с древнейших времен (с 1959 года) существуют языки со сборкой мусора:
Но несмотря не это, практически все современные языки используют сборку мусора, кроме C++ и Rust. C++ по большей части перешел на умные указатели, которые тоже считают количество активных ссылок, но делают это без сборщика мусора. А Rust использует свой уникальный Borrow Checker, который понимают только растофилы.
На этом вроде у меня всё.
Всем здравствовать!
Я тут кружку получил. Вполне заслуженно, ящитаю))
Но тут дело не в самой кружке. Хотя кружка - огонь!
Хочется поблагодарить всех причастных. Во первых @vombat ты крутой, сам знаешь. @Vombatolog наша пчёлка Майя, трудится не покладая лапок)) @bagira_tora главный логист всея Вомбата))
В общем, всем спасибо, все свободны благодарю всех причастных от всего сердца!
P.S. Итак, открывашка есть, кружка есть, блокнот есть. Осталось только стикеры получить и шоппер (самая сложная задача), но, буду стараться))
Только что при добавлении поста, вылезла ошибка. Пора взрослеть.
Этот пост тоже не публикуется, постоянно ошибка. Прошло уже 5 минут, ошибка не проходит.
В последнее время чё-т я совсем обленился, но продолжаю вивисекцию вомбатных.
Свежий набросок. Не уверен, увидит ли он свет (негде хостить и риск DDoS), но зато теперь я могу читать Вомбат даже в MS-DOS из текстового Links. И в Firefox 2 со всеми картинками (конвертация из WebP на сервере). Вход в аккаунт пока не планируется, хотя и возможен. Видео тоже реализуемы, но проблемно.
Впервые игра заняла по игровому времени один день! А ведь недавно я писала о том, что скоро дни считать не будем, всё будет месяцами или даже годами, но я, видимо, сильно заглянула вперед).
Зироу снился страшный сон, Хамако мастерил на улице, Ийанна и Крис единственные из постоянной четверки сладко выспались. Новый день - новые проблемы.
Самоходный котёл вышел на славу! Хамако с гордостью показывал изобретение ближайшим товарищам, и те удивленно рассматривали диковинку. Крис и Харрим, как сведущие в инженерии и кузнечном деле, похвалили его мастерство, только Валери ничего не сказала, просто хмыкнула. Ийанна же уже завтракала в компании наемников под начальством Гарреса. В обычной своей манере шутила, флиртовала и всячески заигрывала со служивыми людьми. Однако и кое-что интересное тоже узнала. По словам собеседников, где-то в Скрученных топях обитает единорог! Но его уже долго не видели, возможно, из-за людей Рогача. Знания Ийанны были не особо глубокими, но она знала, что этих магических существ обычно можно встретить в очень отдаленных участках леса, они разумны и являются символом чистоты. Что ж, информация, безусловно, полезная. (Опять, как с мостом и призраком на нем)
Поскольку Хамако теперь выбрал истинную форму кицуне как свой основной облик, некоторые наёмники из живущих на посту теперь косо на него посматривают, но в основном все относятся нейтрально. Зироу так вообще решила погладить его хвост за завтраком, пока юноша разговаривал. Хамако моментально замер, и шокировано поинтересовался, зачем она это сделала. Девушка с улыбкой сказала, что ей необходимо было закрыть гештальт. Мех Ийанны она уже гладила, и, между прочим, у чародейки он лучше. Кинетик поморщился, но сказал, что простит её грубость, если она завяжет ленту отслеживания на свой кинжал. Судя по всему, он ей очень дорог, раз она в пылу битвы бросилась за ним, так что всегда будет известно, где он, а заодно и плут. Идея Зироу не обрадовала, но ещё немного поупиравшись, она наконец согласилась.
После этого Хамако прервал общение Ийанны с наёмниками тем, что попросил её определить, что за руну он нашел у Тартуччио. Ийанна взяла её, не сказав ни слова. Найденный в мешке порошок отдал Харриму, чтобы тот определил его свойства. Оказалось, что это порошок видимости.
К окончанию завтрака как раз вернулась группа, исследующая лес. За выраженной радостью встречи последовал обмен новостями. Отряд нашёл фей, которые третировали Валери, Ийанну, Хамако и Зироу. Они оказались безобидными, Октавия их даже покормила. Амири, услышав историю про кобольдов и Тартуччио, решила передать свой особенный кинжал Зироу в знак дружбы, поскольку ни Хамако, ни Ийанна не пользуются таким оружием.
Ближе к обеду, когда новоприбывший отряд узнал о прошлом Зироу, Тристиан предложил ей облегчить душу, если её всё ещё гнетёт груз. Ийанна же с прищуром спросила про больное плечо у Регонгара, и они договорились на сеанс расслабления вечером. Чтобы поддеть её Хамако спросил, не на Регонгара ли она гадала намедни, на что девушка сурово посмотрела в ответ и, взмахнув волосами, ушла. Кинетик оставил это без внимания и продолжил разговор о следующем задании, по его мнению нужно попытаться найти Васирийца-предателя, который скрылся от Гарреса.
Пока Ийанна смотрела в одиночестве со стен поста, к ней подошла Зироу и неуверенно попросила пройти с ней ко всем. Молча кивнув, Ийанна жестом показала, что последует за ней. Там, в окружении всех, плут рассказала свою историю целиком. Начав с известных фактов, она перешла к важной цели её пребывания здесь. Из новой информации о скрытной девушке узнали, что полное имя Кьяроскуро Зироу. Здесь она в основном потому, что ей важно найти одного человека - Дована. Это высокий мужчина с длинными тёмными волосами, под правым глазом нарисована длинная чёрная полоса. Он убил её мать, и ей до смерти хочется с ним увидеться. Зироу рассказала всё это не без усилий, и сразу после объяснений она направилась на выход. Крис не понял, зачем ей видеться с убийцей матери, ведь её мать тиран, но Зироу, уходя, оставила этот комментарий без ответа.
Гаррес продолжил рассказ Зироу, объяснив, что её мать, предположительно, была культисткой Норгорбера из гильдии Тени Заката и воспитывала свою дочь в суровости и жестокости. Во время рассказа Ийанна поняла, что невольно стала сочувствовать девушке, теперь её поступки начали видеться в другом свете. Однако, по словам Гарреса, судьбу Зироу всё равно будет решать его начальство в Рестове после его письма.
Октавия отметила красивый амулет на шее Ийанны. Чародейка с улыбкой рассказала о том, кто ей его подарил. При упоминании Хранительницы цветов Хамако навострил уши и уже было пытался пойти за девушками подслушивать, но Октавия его остановила. Сказала, что ему не стоит беспокоиться о сестре, и уж тем более ревновать её, это всё же женский разговор. Кинетик тут же задал вопрос о её странных отношениях с полуорком, на что Регонгар, дождавшись, когда девушки отойдут, объяснил юноше, что их с Октавией отношения на другом уровне. Многие их не понимают, но они связаны на всю жизнь душами настолько сильно, что в физическом плане не ограничивают друг друга ни в чем. По результатам непродолжительной беседы о личной свободе в выборе партнеров Хамако присоединился к тем, кто не понимал эту странную пару.
Неподалёку Зироу отвлекла Тристиана от разговора с Джодом, чтобы расспросить его о странном символе, который она по памяти нарисовала после вчерашнего разговора. Жрец немного сомневался, изображение отдаленно напоминало символ Норгобера (покровитель Ассасинов, воров , отравителей и шпионов). Девушка в ответ лишь молча кивнула. Также она попросила рассказать про Калистрию (богиня эльфов, её область месть, обман и сладострастие), и, в особенности, как можно разорвать связь с этой богиней. Калистрия пришла к ней во сне и предложила служить ей в обмен на информацию о мужчине, убившем её мать. Сделка не самая выгодная, но в тот момент ей казалось это единственным вариантом. Тристиан предостерег её. По его мнению, нарушать сделку с богиней может быть опасно, это всё же не обычный договор. Боги зачастую мстительны, что уж говорить о богине мести. Если попытаться разорвать связь, можно оказаться проклятым.
Набравшись смелости второй раз за день, Зироу извинилась перед Ийанной. Извинилась за то, что не помогла при поиске Тартуччио, и за утаивание информации о своем детстве. После того, как чародейка узнала всю информацию, она не могла не простить.
Страсти немного улеглись, впереди был ещё почти весь день, так что решили не тратить время попусту. Снова разделились на два отряда, только с небольшой перестановкой, в этот раз Харрим решил отдохнуть, а Регонгар присоединился к компании Ийанны. Это было её предложение, как-никак у них были планы на вечер.
Во время подготовки к выезду Хамако спросил, зачем Амири отдала свой кинжал Зироу. Пожав плечами, варвар сказала, что этим кинжалом все равно не пользуется, а той явно пригодится. Руна, которую Ийанна так и не смогла определить, была передана Амири. Та решила сразу вставить её в меч, не имея практических навыков. (Вижу цель - не вижу препятствий, как говорится). Грубая сила ничего не решила в этот раз и даже навредила! Резко на весь пост разнесся крик. Все, кто подошел, увидели разломанный на три части меч и Амири с крайней степенью беспомощности в глазах. Она тут же начала просить Хамако починить оружие, он же кузнец, в конце концов, ещё и может управлять огнем и металлом. Юноша, с грустью сообщил, что постарается, но вряд ли его силы здесь хватит, нужна кузня с подходящей температурой. Пока Ийанна утешала Амири, а Хамако с Крисом рассуждали о том, что можно сделать, меч магическим образом снова стал целым. Никто не понял, что произошло. Амири благодарила своего бога, а Хамако забрал руну.
Прямо перед отъездом Ийанна поговорила немного с Тристианом по поводу вторых шансов для Зироу. Тристиан выразил надежду, что девушка просто неопытна и слишком закрыта, но она не злая. Ей нужен этот второй шанс, чтобы исправиться. Чародейка постаралась принять его точку зрения. В конце диалога жрец дал девушке два зелья лечения, в благодарность за прошлый подарок. Ийанна была очень тронута, поцеловала его в щеку и, пожелав удачи, побежала к своим.
Отряд двинулся в лес. Солнце клонилось к закату, когда группа встретила обеспокоенного пса. Регонгар сразу сказал, что надо идти за ним, скорее всего что-то случилось. Троица только кивнула и пошли следом за собакой и Регонгаром. В глубине нашли раненого темнокожего мужчину. В одеждах охотника, он лежал между двух валунов, с серьезными ранами. Зироу тут же села их обрабатывать. Пока его раны латали, мужчина объяснил, что он охотился здесь на тролля, но тот был слишком силен и, вероятно, скоро вернется. Едва хватило времени на помощь, как издалека послышались чудовищно тяжелые шаги. Получив краткие советы по сражению с таким противником, все затаились.
Битва началась с сильного удара по Зироу. Она хоть и спряталась, но, атаковав, выдала своё местоположение, и тролль одним размашистым ударом почти раздавил её. Хамако и Ийанна жгли его огнем, чтобы тот не восстанавливался. Крис использовал свое чудо-оружие, грохоча на всю округу. Регонгар же совершил безумный, но самоотверженный поступок. Он подошел вплотную к троллю, спасая Зироу. Гигант промазал по нему, тем самым предоставив шанс Регонгару на ответную атаку. Полуорк каким-то чудом его уронил! За всю битву такое повторялось дважды, Регонгар показал себя очень могучим воином. Ийанна вылечила Зироу, а та, в свою очередь, сделала смертельный выстрел. Пока Ийанна колдовала над плутом, Хамако пытался совладать со своей магией, но атака обернулась против него. Магия чуднАя вещь, и в итоге кинетик не понес урона, он просто превратился в рыжего кота, окруженного множеством золотых бабочек. Как только битва закончилась, Ийанна подбежала к коту и подняла его в воздух, говоря что котик из Хамако вышел просто чудесный. Но в этот же момент он тут же превратился обратно в свою форму, рухнув на девушку.
Мы даже не остановились на ночлег, т.к. закончили игру сразу после битвы.
Решила поучаствовать также в двух челленджах сразу, поэтому вот вам вомбат играющий в НРИ)