Вомбат: ум, зад и кубики // Всё как у зверей
Обожаю ребят с канала "Всё как у зверей", решила в честь вомбата запостить это видео тут

Сохраняй посты, комментируй и ставь оценки
Обожаю ребят с канала "Всё как у зверей", решила в честь вомбата запостить это видео тут

Предлагаю название раздела "шлакоблок" заменить на "кубики вомбата".


Понадобилось мне тут повомбатиться в картинках. Ну, а коль суббота, отчего бы и не поделиться с Вами?
Меня смутило что по запросу "вомбат" выдаются довольно разные зверушки. Ну и решил покопаться.




Вики, видимо насмотревшись творчества ИИ, говорит, что вомбат это такой хомяк-переросток. Делятся вомбаты на два типа:


Вот второго типа вомбата (вост рудиментарный. Конечности короткие, сильные, на четырёх пальцах (кроме укороченного первого) имеются крепкие когти, приспособленные для рытья. Морда короткая, широкая, с маленькими глазами и небольшими округлыми ушами. Уши и нос практически голые (в отличие от видов другого современного рода длинношерстных вомбатов). Сумка хорошо развита, открывается назад; сосков 2. В желудке обнаружены специфические пищеварительные железы, свойственные животным, потребляющим грубую пищу.

А ещё интернеты говорят, что вомбаты очень страдают не только от хищников и ДТП, но и серьёзно болеют кожными болячками. Фото вомбатосфинксов и вомбатоликоев выкладывать не стал.

Что такое масса и что такое вес.
Офигительный вопрос на который большинство ответит: "Одно и тоже". А вот нифига. Масса = это просто число, оно определяет как много вещества находится в данном теле. Именно Масса определяет количество энергии, которое надо затратить на разгон одного киллограмма до скорости в 1 м/с. Второй закон Ньютона все помним? А что такое инерция?
Вот так масса и определяется.
А что такое вес? Вот стала моя тушка на весы и они показали 98кг веса.
А вот тут дъявол кроется в деталях.
Масса - та же моя тушка, это мера инертности, но не вес. Для силы, которая толкает массу до лампочки куда и как её двигать, т.е. величина постоянная и скалярная - не имеет направления.
А что же вес? А тут засада. Мы живём на Земле, у нас есть её притяжение (неравномерное по разным точкам планеты) и енто притяжение тянетмою тушку (в 100кг массы) вниз на весы, которые показывают 98.89 кг - потому как притяжение не равно единице (ну так сложилась система единиц у человеокв).
Есть такие Питерские весы (контору писать не буду (реклама же будет), но их стиль узнаваем во многих магазинах)
Так вот такими весами мы и торговали (обслуживали и ремонтили, пока контора жива была). Сразу после закупа эти весы шли на калибровку и гос-поверку. А всё потому, что в Питере сила притяжения ниже чем у нас - врали.
Ну раз есть сила, значит и есть направление приложения ентой силы. А чувствительному элементу на енто всё похер - он выдаёт величину, равную его "прогибу". Чем сильнее его нагибаешь - тем сильнее он возмущается.
Таким образом выходит, что вес величина уже не скалярная, как масса, а векторная - имеет направление. И зависит не только от массы тела, но и приложенной силы (для весов - сила притяжения в геоиде). Т.е. вес - это уже векторная сила. Т.е. 2й закон Ньютона - сила*массу. Земля тащит нас с ускорением 9.8, мы имеем массу 1кг, на весы и пятки ощущаем усилие в 1*9.8 = 9.8 ньютонов.
Очень похожие и схожие понятия, а вот разница дикая по смыслу.
Всем здравствовать!
Сегодня суббота, а значит нужно поддерживать традицию, даже если ачивка уже есть. Так ведь?
Ну так вот, натолкнулся я тут, случайно на очередной инди-проект по названием Paperbark. Что же это такое и с чем его едят. Для начала повторим терминологию.
Играть нужно будет за вомбата, а цель игры проста, найти новый дом, в смысле нору, в жарком, летнем Австралийском буше. Для этого придётся исследовать этот самый буш. Конечно же, на пути будут встречаться трудности (небольшие), а так же различные животные, населяющие Австралийский буш.

Игра получила множество наград на различных фестивалях. Она является
классическим point-n-click, и есть две версии игры.
Одна для Windows, вторая соответственно для яблочного семейства (iPad, iPhone, iMac). Игра не бесплатная в Steam ценник 205 ₽, в AppStore 5,99 $. Но я смотрел с
ПК, т.к. ничего яблочного у меня нет, поэтому, как знать, может быть, цена там
иная?
А теперь немного скриншотов и трейлер с игровым процессом. В конце
добавлю ссылки на Steam и сайт разработчиков, оттуда можно перейти в AppStore.




Трейлер. Если не работает, то можно перейти в Steam, там точно можно посмотреть.

P.S. Paperbark– чайное дерево, а не серый клён, как переведено в Steam.
Ча́йное де́рево, или Мелалеука (лат. Melaleuca) — род тропических деревьев и кустарников из семейства Миртовые. Этот род близок к другому роду миртовых — эвкалипту.
Коренные австралийцы использовали несколько видов этого растения для изготовления плотов, в качестве кровли для укрытия, повязок и приготовления пищи.P.P.S. У меня вряд ли получится поиграть, т.к. мой старенький ноутбук, скорее всего просто не потянет эту игру, а яблочной продукции у меня нет и не будет. Ну, за исключением яблочного сидра. Поэтому, если кто-то решит поиграть, запилите, пожалуйста, пост. Хотя, если верить отзывам, игра очень даже хорошая.
Опять же постараюсь в научпоп и как можно проще. Собственно, каким транспортом доставляются Вам данные этого ресурса?
Оказывается что всё уже давно разработано и просчитано.. Причём далеко не просто, а толсто и многослойно и стандартизировано.
Нус.с-с-с. .Начнём с самого дна.
1. Физический уровень. Как известно у информации должен быть "носитель", вроде это очевидно, а как иначе передать один бит инфы, если не запулить камнем в лобешник адрессату, ну или "дубинкой по кумполу"? Это самый древний, яркий и "искромётный" пример передачи информации, Так же можно вспомнить почтовые письма, голубей или сводки СовИнформБюро. Некоторые олды вспомнят инфракрасные порты на кнопочных телефонах, большинство поглядят в сотовый телефон или на стену увидев там уровень сигнала LTE или же оптоволокно. Продвинутые вспомнят про китайские эксперименты с 5G или их рекорды по квантовой линии связи. Всё что тут упомянуто - это физический уровень передачи информации (про многое я не упомянул).
2. Канальный уровень. Т.к. вомбатяне тусуются на одном ресурсе, скажем так, "локализованы", то они могут общаться друг с другом более простыми методами, напрямую. Тут уже появляется понятие адресации. Каждый брошенный "снежок" или "жук" летит напрямую в цель, а иногда и "дубинка" от модераторов прилетает прямо в "кумпол" цели. Задача тут стоит не только в адресации, но и как можно дальше уйти от физического уровня. Т.е. тут решается вопрос как избавится от разницы в WiFi, кабель (опять же RJ45 или вообще среда RS-485) или инфракрасный пульт от телека. Всё это вынуждено делатся аппаратными средствами (тот же "свисток" USB-WiFi выполняет енту функцию (на самом деле больше, но основная эта))
3. Сетевой уровень. А как общаться в чуваками, которые "снаружи"? Например незарегенная "печенька" или "капибара" хочет почитать что тут у нас происходит? Тут вступает в дело "международная почта". Т.е. эдакий логистический центр, как и куда доставить сообщение на любом конце Земли, Луны, Марса или Kepler-90h. Именно на этом уровне работают такие страшные слова как IP4/6, MTU (вспоминаем "добрым ласковым" словом провайдеров, которые рубят бабло при раздаче турнета с сотового телефона). Именно на ентом уровне мы можем общаться со всем миром, а не только друг с другом (моя работа не позволяет ПЛК и пр. девайсы выводить выше канального уровня - всё внутри технологической сети и никакого доступа извне). Как быстро дойдёт Ваш битик к адрессату на другом конце Земли очень сильно зависит от этого уровня - именно он определяет каким путём битик полетит.
4. Транспортный уровень. О.... Наконец-то я добрался до ивента вомбата. Задача транспортного уровня, не только найти адрессата, но и обеспечить между страждущими прочную и уверенную интимную связь. С этого момента, вомбатяне которые соединились друг с другом могут обмениваться информацией напрямую. При этом есть возможность полигамности, т.е. один вомбат может соединяться со многими (а так на самом деле и происходит, даже если Вы этого не хотите - стоит только запустить браузер). Когда два компа установили между собой интимную связь - это как раз оно, и не важно передаём мы файлик по FTP или у нас открыта консоль с SSH/
5. Сеансовый уровень. Боже как много наплодили сущностей, но все они важны. Собственно говоря на ентом уровне как раз и происходит то самое "соитие", что и на предыдущем. Но тут добавляются новые возможности. Зашивровать те битики, которыми мы обмениваемся (на самом деле это можно сделать даже на физическом уровне - главное придумать как). Так же тут мы кожем контроллировать кто с кем как долго и в каких позах. Грубо говоря сеанс связи начинается в тот момент, когда на телефонном переговорном пункте Вас пригласили в кабинку (ну и что с Вами будут делать в кабинке - все предыдущие уровни волновать не должно)
6. Уровень представления. Не очень будет приятно, если Вы два часа ждали международного звонка, зашли в кабинку, взяли телефонную трубку а с Вами базарят на китайском или японском языке. А ещё хуже если вообще на каком-нибудь КОИ-7. Т.е. приложуха, которая по сети общается должна уметь распознавать на каком языке с ней базарят. Если это текстовый ZIP-архив, то она должна уметь его распаковывать, если это UNICODE-текст, должна уметь отрисовывать все какашки и пр. эмодзи.
7. Прикладной уровень. Это то, с чем мы постоянно имеем дело. Читая этот пост в браузере Вы имеете дело как раз с прикладным уровнем. Устанавливая приложуху из RuStore так же имеете дело с прикладным уровнем. Отправляя селфи на фоне речки в гугло-фото - опять же прикладной уровень. Да, мы видим только прикладной уровень и пользуемся им, Но без предыдущих шести ничего бы не получилось. Фоточка на фоне шашлыков для своего друга/подружки по любому отправится через физический уровень, и пофиг, будет ли это бумажная фотография, привязанная к лапке голубя или же спутниковая связ.
З.Ы. Старался как проще, надеюсь получилось. В комментах пинайте, если где ошибся - я терпеливый, не обижусь.
Владимир Мирошкин - артист, поэт, музыкант, автор-исполнитель, лауреат и дипломант многих всероссийских фестивалей авторской песни и поэтических конкурсов.
Авторские концерты Владимира Мирошкина стали значимой частью ижевской поэтической и песенной культуры. Он много путешествует по стране, принимает участие в самых разных творческих проектах
Послушайте его песню о вомбате, на мой взгляд, она вполне претендует на неофициальный гимн Вомбата!

Хотел написать про работу системы управления памятью, но понял, что для полноценной статьи у меня не хватает практических знаний. Поэтому кратко

Помимо стека, о котором было рассказано в прошлой статье и который содержит локальные переменные, в "потребительской" программе в среднестатистической ОС еще бывают глобальные переменные и динамическая память. Глобальные переменные описываются внутри сегментов .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, который понимают только растофилы.
На этом вроде у меня всё.
Комментарии