Шаббат Вомбат, или грунт по субботней традиции

С просторов Reddit, местами в видео есть громкая музыка. Но вроде таких тут еще не видел.
Субботний вомбат идёт с грядок, наработался парень. Рекомендую почитать Интервью с нейросетью: Знакомство мне зашла эта мини книжка.
Субботний вомбат отдыхает на даче за книжкой. Рекомендую к чтению вот эту книгу Интервью с нейросетью: Знакомство
Субботний вомбат идёт на дачные грядки, трудяга. Рекомендую почитать на выходных Интервью с нейросетью: Знакомство немного для подумать чтиво. Хороших выходных всем!
Доброй всем субботы!
Мой первый пост, и я пишу его в субботу. А это значит, он будет связан с вомбатами!
Где ещё любят вомбатов, кроме этого сайта? Да много где, а особенно в Австралии. И они даже попали на коллекционные монеты этой страны.
Я не нумизмат, и не коллекционер. Мне вообще плевать на стоимость всего этого (Потому что денег на такое у меня нет) Просто хочу поделиться красивыми картинками)
Набор монет с изображениями австралийских животных:
В набор входят:
Кенгуру 2019 г.в.
Утконос 2019 г.в.
Ехидна 2020 г.в.
Вомбат 2021 г.в. (Вот он, наш сегодняшний герой!)
Динго 2021 г.в.
Опоссум 2022 г.в.
Сова 2022 г.в.
Летучая лисица 2023 г.в (Вот тут вороне с сыром и не повезло)
Красноглазая древесная лягушка 2024 г.в. (Это, если кому на среду захочется оригинального)
Пингвин 2024 г.в. (Не каждый пингвин долетит доплывёт до середины Австрало-антарктического пролива поднятия)
Рок-Валлаби 2024 г.в. (Тоже забавный зверёк, симпатишный)
Если пройти по ссылке на сайт, там ещё и видео есть, где всю эту красоту показывают поближе
Тут вомбата найти не просто, давайте чуть приблизим.
Вот тут мне он больше всего нравится. Да, это просто серебро, без золота. Но мы же не про цену, а про красивое)
А эта монета из набора 2021 года:
И вид с боку. Это уже выпуск 2022 года. Если поискать по годам, можно найти ещё разные вариации.
Вот и всё, драгоценные мои (Не мог удержаться 😇)
Хорошей всем субботы!
Хотел написать про работу системы управления памятью, но понял, что для полноценной статьи у меня не хватает практических знаний. Поэтому кратко
Помимо стека, о котором было рассказано в прошлой статье и который содержит локальные переменные, в "потребительской" программе в среднестатистической ОС еще бывают глобальные переменные и динамическая память. Глобальные переменные описываются внутри сегментов .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. Итак, открывашка есть, кружка есть, блокнот есть. Осталось только стикеры получить и шоппер (самая сложная задача), но, буду стараться))
В последнее время чё-т я совсем обленился, но продолжаю вивисекцию вомбатных.
Свежий набросок. Не уверен, увидит ли он свет (негде хостить и риск DDoS), но зато теперь я могу читать Вомбат даже в MS-DOS из текстового Links. И в Firefox 2 со всеми картинками (конвертация из WebP на сервере). Вход в аккаунт пока не планируется, хотя и возможен. Видео тоже реализуемы, но проблемно.
Меня достаточно долгое время раздражала нелогичная скругленность интерфейса сайта. Несмотря на то, что так сейчас делают везде, это модно и соответствует передовым принципам дизайностроения, я остаюсь фанатом Windows 8/старых версий Windows 10/Dear ImGui в плане дизайна, с их идеально острыми углами. Некоторым извращенцам еще Windows Phone нравился. Плюс квадратность рож вомбатов определенно намекает, что рожа сайта тоже должна быть квадратной.
Помимо этого были обозначены дополнительные функции: скачивание видео и поиск по тегу. Они есть в TODO сайта и де-факто это можно делать вручную, но неудобно и не все знают/могут.
Первый день начался с... создания нового скрипта GreaseMonkey, вспоминания основ CSS и установки радиуса скругления на всех элементах страницы в 0. Сделано это было довольно быстро, после чего к основным блокам были добавлены рамки. Результат получился довольно неплохим (субъективно), хотя и не без проблем. Круговой индикатор загрузки превратился в 2 шпалы, решил не исправлять. Напоминает предыдущую итерацию дизайна Pikabu (2020) до скругления и удаления рамок.
Следующие две ночи я провел в попытках отследить все видео на странице и окна поиска. Получилось крайне колхозно и ненадежно (вероятно сломается при следующем обновлении), но оно работает. Зато загрузка видео выглядит так, как будто это родная функция. Еще нажатием с Alt можно скопировать прямую ссылку, хотя этого лучше избегать из-за возможного перемещения адреса сервера.
Поиск по тегу помимо уродского дизайна не учитывает одну большую проблему: теги регистрозависимые. То есть "кот" и "Кот" приведут к разным результатам, а еще "вомбат шаббат" и "вомбатшаббат". Решить с клиентской части это невозможно, а с серверной все равно создает много проблем и единственным вариантом я вижу слияние одинаковых тегов в разных регистрах и создание команды модераторов, которые будут приводить теги к единообразию. Но это уже не моя компетенция, в остальном поиск по тегу работает как и должен.
Меню настроек было написано в промежутке с 3 до 6 утра сегодняшнего дня, не вижу смысла заострять внимание. Почему разработчики GreaseMonkey не сделали нормальных штатных функций для этого - ХЗ.
Скачать или полюбоваться на чудеса говнокодостроения можно здесь. Требуется любой менеджер скриптов по вкусу (TamperMonkey (я использую его), GreaseMonkey, ViolentMonkey, т.д.). Chrome умеет устанавливать скрипты как расширения, но у меня используются специфичные функции, которые им напрямую не поддерживаются.
Просьба Он писался человеком, который впервые увидел JS и CSS3 после одиночного знакомства с CSS2 и HTML4 много лет назад. Плюс оно работает, а остальное уже не так важно (есть косяк с тем, что скрипт загружается раньше React и сбивает его с толку, но на работоспособность это вроде не влияет). Еще он должен работать в мобильном Firefox, но я не тестировал. Но поиск по тегам работать точно не будет, исправлю в следующей версии.сильно не бить за качество кода.
Активно поддерживать не обещаю (С), но пока я буду пользоваться сайтом, скрипт должен обновляться. Идеи по новым функциям, исправления или баги можно озвучить в комментариях
Всем хороших выходных!
Как всем прекрасно известно, в телеге есть отличный стикер-пак от ZaTaS. Я время от времени вставляю их и сюда, но до сего дня это были просто снимки с экрана. Ну, а поскольку все используют разные темы, кому-то нравится светлая, кому-то тёмная, но если на светлой теме тёмный фон снимка смотрится нормально, но светлый фон на тёмной теме смотрится очень резко (я сам использую тёмные везде, где это возможно). Поэтому, я решил заморочиться, и сделать снимки стикеров с прозрачным фоном. Если вдруг кому пригодится, пользуйтесь на здоровье!
Да, все снимки в небольшом разрешении, но в формате .png, иначе теряется прозрачность.
Итак, поехали!
А значит и возлежать следует соответствующим образом.
Всех причастных с праздником!
Кормит молочком. Ну, или пивком. Кому что ближе, то и пьём-с))