Он приветливо машет вам лапкой, на нём нарядные курточка и шляпа, за спиной у него небольшая сумка с перекусом.
Walkabout Wombat появился в 1992 году в австралийском (конечно же) журнале "Women's Weekly", затем его показали в австралийском ситкоме "Kath & Kim", а недавно он был замечен на Reddit.
Примерно так я планировал проснуться сегодня, ближе к обеду. И неспеша выбраться из логова.
Но жизнь, как обычно внесла свои коррективы. Встал попить (сушнячок, знаете ли), тут глядь! Что-то лежит на полу. Ладно, пришлось открыть второй глаз, и что же я увидел? Ни за что не догадаетесь! Хачапури. Вчера напекли. Жена сложила часть в миску, а часть в пакет, чтобы отнести отцу. Так вот, наша рыжая "леди" раздербанила этот пакет, и понаоткусала две штуки. Разозлила меня, а поэтому пришлось идти за пивом. В девять утра. Никакой личной жизни, в общем.
Из всех ресурсов, на которых я показывала свои работы, тут на Вомбате, отнеслись ко мне самым лучшим образом. Никаких гонений и непонятных обвинений, всё очень душевно. Спасибо вам за это, вомботяне!
А значит, самое время узнать что-нибудь интересное про вомбатов.
Так как мы о них пишем каждую субботу, мы уже знаем, что это за зверь, где водится и даже знаем, что было названо именем этого зверька.
Писали уже и про астеройд, названный Вомбатом, и про музыкальные группы.
Я нашёл ещё вещи, где отметились любители вомбатов.
Прошу любить и жаловать: английский поэт, переводчик, живописец, рисовальщик и художник-иллюстратор, Россетти, Данте Габриэль. Чем же кроме своего творчества был знаменит этот человек? А тем, что у него в центре Англии в середине 18 века жил домаший вомбат.
У. Х. Хант. Портрет Россетти в возрасте двадцати двух лет. 1853. Дерево, масло. Художественная галерея, Бирмингем, Англия Статейка про него: https://ru.wikipedia.org/wiki/%D0%A0%D0%BE%D1%81%D1%81%D0%B5%D1%82%D1%82%D0%B8,_%D0%94%D0%B0%D0%BD%D1%82%D0%B5_%D0%93%D0%B0%D0%B1%D1%80%D0%B8%D1%8D%D0%BB%D1%8C
Была даже легенда, что именно его вомбат, сидящий на обеденном столе, стал прототипом мыши Сони из безумного чаепития, описанного в «Алисе». Хотя, это не так. Питомец у него появился уже после выпуска книги.
Россетти назвал вомбата Топом в честь своего коллеги Уильяма Морриса по прозвищу Топси. Есть изображение его вместе с музой и любовницей, а также по совместительству женой Морриса — Джейн Бёрден. Да, там было всё сложно))
«Миссис Моррис с нимбом, ведущая на поводке вомбата по облачному дну небес», 1869 год.
«Россетти даже посвящал любимому вомбату стихи:
Oh! How the family affections combat
Within this heart; and each hour flings a bomb at
My burning soul; neither from owl nor from bat
Can peace be gained, until I clasp my wombat!
(Любовь на части сердце рвет, затеяв жаркий бой.
Не может быть обещан мир ни мышью, ни совой.
И будет до тех пор душа огнем объята,
Пока я не прижму к груди любимого вомбата!)»
Разработчики и программисты тоже любят вомбатов
Конечно, любят, и сайты свои так называют)
А в 2005 году, очередной выпуск операционной системы Arch Linux, седьмой после его создания, был назван именно Wombat
Вот страничка с новостью о релизе, правда ссылка на скачивание там не работает :( https://archlinux.org/news/arch-linux-07-wombat-released/
Последний выпуск Arch Linux был первого августа 2025, так что, и тут вомбатное дело живёт.
Даже суровые военные люди любят вомбатов.
Вот как назвать маленькое безоткатное орудие, к которому даже танки боятся соваться? Конечно вомбатом!
И вот перед нами 120-мм безоткатное противотанковое орудие L6 WOMBAT.
https://ru.wikipedia.org/wiki/L6_WOMBAT#
Стрелять мог бронебойно-фугасными снарядами, на расстояние до 1800 м. Он был эффективен против брони толщиной до 400 мм. Другие типы снарядов — это стандартный и модифицированный картечные снаряды. Последний разбрасывал стреловидные поражающие элементы.
Был на вооружении Англии и Австралии, конечно, с послевоенного времени, около 1950х до 1980х годов
А тут, Шедеврум пытался объединить всё это в одной картинке)) А вы хотели бы себе такую клавиатуру? ))
решил собрать всех покемонов вомбатов, которые просвещали нас по субботам о вомбатных делах. Вот такой списочек получился в формате пользователь - пост или два, где он писал о вомбатах в субботу
С просторов Reddit, местами в видео есть громкая музыка. Но вроде таких тут еще не видел.
https://www.reddit.com/r/Zoomies/comments/1lk2yu2/they_have_been_very_close_friends_since_they_were/ Господи, забери любую технику у тех, у кого получаются такие рамки.
Субботний вомбат идёт на дачные грядки, трудяга. Рекомендую почитать на выходных Интервью с нейросетью: Знакомство немного для подумать чтиво. Хороших выходных всем!
Доброй всем субботы! Мой первый пост, и я пишу его в субботу. А это значит, он будет связан с вомбатами! Где ещё любят вомбатов, кроме этого сайта? Да много где, а особенно в Австралии. И они даже попали на коллекционные монеты этой страны. Я не нумизмат, и не коллекционер. Мне вообще плевать на стоимость всего этого (Потому что денег на такое у меня нет) Просто хочу поделиться красивыми картинками) Набор монет с изображениями австралийских животных:
Хотел написать про работу системы управления памятью, но понял, что для полноценной статьи у меня не хватает практических знаний. Поэтому кратко
Куча
Баян
Помимо стека, о котором было рассказано в прошлой статье и который содержит локальные переменные, в "потребительской" программе в среднестатистической ОС еще бывают глобальные переменные и динамическая память. Глобальные переменные описываются внутри сегментов .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#).
Второе: для работы с динамической памятью вместо указателей применяются ссылки. Ссылка по факту представляет из себя тот же указатель, только очень сильно ограниченный. Над ссылками запрещены все операции, кроме присваивания значения другой ссылки и разыменования, в то время как указатели имеют права и возможности обычных целых чисел.
Третье: Каждый выделенный кусок памяти всегда занят каким-то объектом.
Четвертое: такие языки всегда тянут за собой подсистему сборки мусора, которая самостоятельно учитывает каждый объект и выделенный под него кусок памяти, а еще подсчитывает количество активных ссылок на каждый подчиненный объект. Это называется подсчетом ссылок.
Пятое: как только процент использованной памяти переходит через порог, то запускается сборщик мусора, который сканирует все объекты и количество существующих на них ссылок. Если ссылок на объект нет (то есть он "утек"), то его память освобождается.
Минусы и проблемы
Дорого. При злоупотреблении сборщик мусора может запускаться слишком часто, а каждый его запуск вносит заметный лаг. Особенно критично это в играх.
Он не устраняет все возможные способы вызвать утечку памяти, к примеру просто выделяя бессмысленные данные, но сохраняя на них ссылки. Или если объект, который управляется сборщиком мусора будет содержать в себе то, что сборщиком мусора не управляется (открытые файлы или нативная память вне его подчинения).
А еще он изредка может удалять то, что удалять не нужно, поэтому появляются костыли уровня GC.KeepAlive() (а-ля самый маленький метод в C#).
Но несмотря не это, практически все современные языки используют сборку мусора, кроме C++ и Rust. C++ по большей части перешел на умные указатели, которые тоже считают количество активных ссылок, но делают это без сборщика мусора. А Rust использует свой уникальный Borrow Checker, который понимают только растофилы.
Всем здравствовать! Я тут кружку получил. Вполне заслуженно, ящитаю))
Но тут дело не в самой кружке. Хотя кружка - огонь! Хочется поблагодарить всех причастных. Во первых @vombat ты крутой, сам знаешь. @Vombatolog наша пчёлка Майя, трудится не покладая лапок)) @bagira_tora главный логист всея Вомбата)) В общем, всем спасибо, все свободны благодарю всех причастных от всего сердца!
P.S. Итак, открывашка есть, кружка есть, блокнот есть. Осталось только стикеры получить и шоппер (самая сложная задача), но, буду стараться))
В последнее время чё-т я совсем обленился, но продолжаю вивисекцию вомбатных.
Свежий набросок. Не уверен, увидит ли он свет (негде хостить и риск DDoS), но зато теперь я могу читать Вомбат даже в MS-DOS из текстового Links. И в Firefox 2 со всеми картинками (конвертация из WebP на сервере). Вход в аккаунт пока не планируется, хотя и возможен. Видео тоже реализуемы, но проблемно.
Сервер возвращает уже готовую и чистую страницу, без новомодных и тяжелых AJAX
Подключать 486 комп мне лень, но в Windows-версии браузера Links все работает без проблем. Злосчастный TLSv1.3 обрезается обратным прокси.
Меня достаточно долгое время раздражала нелогичная скругленность интерфейса сайта. Несмотря на то, что так сейчас делают везде, это модно и соответствует передовым принципам дизайностроения, я остаюсь фанатом Windows 8/старых версий Windows 10/Dear ImGui в плане дизайна, с их идеально острыми углами. Некоторым извращенцам еще Windows Phone нравился. Плюс квадратность рож вомбатов определенно намекает, что рожа сайта тоже должна быть квадратной.
В какой-то момент желание что-то с этим сделать пересилило лень и страшное нежелание лезть в экосистему и язык, в котором строка - число = число, а строка + число = строка, 2 разных null и 2 разных оператора сравнения по причине слабой динамической типизации - не самая странная часть языка.
Помимо этого были обозначены дополнительные функции: скачивание видео и поиск по тегу. Они есть в TODO сайта и де-факто это можно делать вручную, но неудобно и не все знают/могут.
Реализация
Первый день начался с... создания нового скрипта GreaseMonkey, вспоминания основ CSS и установки радиуса скругления на всех элементах страницы в 0. Сделано это было довольно быстро, после чего к основным блокам были добавлены рамки. Результат получился довольно неплохим (субъективно), хотя и не без проблем. Круговой индикатор загрузки превратился в 2 шпалы, решил не исправлять. Напоминает предыдущую итерацию дизайна Pikabu (2020) до скругления и удаления рамок.
Следующие две ночи я провел в попытках отследить все видео на странице и окна поиска. Получилось крайне колхозно и ненадежно (вероятно сломается при следующем обновлении), но оно работает. Зато загрузка видео выглядит так, как будто это родная функция. Еще нажатием с Alt можно скопировать прямую ссылку, хотя этого лучше избегать из-за возможного перемещения адреса сервера.
Все функции одной картинкой. Кнопка скачивания видео, поиск по тегу и квадратная тема.
Поиск по тегу помимо уродского дизайна не учитывает одну большую проблему: теги регистрозависимые. То есть "кот" и "Кот" приведут к разным результатам, а еще "вомбат шаббат" и "вомбатшаббат". Решить с клиентской части это невозможно, а с серверной все равно создает много проблем и единственным вариантом я вижу слияние одинаковых тегов в разных регистрах и создание команды модераторов, которые будут приводить теги к единообразию. Но это уже не моя компетенция, в остальном поиск по тегу работает как и должен.
Поиск. Наглядно.
Меню настроек было написано в промежутке с 3 до 6 утра сегодняшнего дня, не вижу смысла заострять внимание. Почему разработчики GreaseMonkey не сделали нормальных штатных функций для этого - ХЗ.
Скачать или полюбоваться на чудеса говнокодостроения можно здесь. Требуется любой менеджер скриптов по вкусу (TamperMonkey (я использую его), GreaseMonkey, ViolentMonkey, т.д.). Chrome умеет устанавливать скрипты как расширения, но у меня используются специфичные функции, которые им напрямую не поддерживаются.
Просьба сильно не бить за качество кода. Он писался человеком, который впервые увидел JS и CSS3 после одиночного знакомства с CSS2 и HTML4 много лет назад. Плюс оно работает, а остальное уже не так важно (есть косяк с тем, что скрипт загружается раньше React и сбивает его с толку, но на работоспособность это вроде не влияет). Еще он должен работать в мобильном Firefox, но я не тестировал. Но поиск по тегам работать точно не будет, исправлю в следующей версии.
Активно поддерживать не обещаю (С), но пока я буду пользоваться сайтом, скрипт должен обновляться. Идеи по новым функциям, исправления или баги можно озвучить в комментариях