New blog post! 🤓
https://jub0bs.com/posts/2025-05-29-pure-vs-impure-iterators-in-go/
beyond fluttering dreams
a skeb commission i did recently on vgen! got me researching rainworld for a bit lol. the designs are so fun to draw 😆
Безопасная работа с итераторами в С++
После публикации предыдущей статьи на данную тему, некоторые читатели не обратили внимания, что данный проект, это не действующий инструмент, готовый для боевого применения в реальных проектах, а только доказательство работоспособости концепции использования плагинов компилятора для дополнительного семантического контроля исходного кода С++ во время компиляции. А в качестве примера реализации подобного плагина я взял концепцию безопасной работы с памятью из языка NewLang с минимальной адаптацией под C++ . То есть основная идея предыдущей статьи — продемонстрировать возможность использования плагина компилятора для дополнительного анализатора исходного текста, а не изучение функциональности реализованной библиотеки для работы с памятью (которая и не может быть в полном объеме портирована на С++ из-за архитектурных различий в этих языках программирования). Тем не мене, большинство читателей все же уловило основную мысль и проявило интерес к возможному дальнейшему развитию подобного подхода к повышению безопасной разработки на С++ без нарушения обратной совместимости со старым кодом. Поэтому, чтобы не смущать читателей отсылкой к неизвестному для них новому языку, я начал адаптировать концепцию безопасной работы с памятью под чистый С++ для решения специфических для С++ проблем. А пока идет доработка плагина и мне очень захотелось поделиться одним очень увлекательным квестом, которой показывает непреодолимые архитертурыне проблемы С++ на пути к безопасному программирования. И поводом для того стали итераторы.
https://habr.com/ru/articles/878156/
#clang #clangtidy #plugin #memory_management #memory_safety #iterator
Итерация по UENUM в Unreal Engine
Понадобилось мне создать панель категорий размещаемых предметов в UI. В наследие мне достался уже готовый UENUM, который в будущем будет изменен. Естественно, очень не хотелось вручную перемещать и настраивать каждый отдельный виджет. Так еще и заниматься этим в будущем с изменениями категорий. Хотелось чего-то простого и универсального. Чтобы вот вызвал условный For Each Loop и сгенерировал все как надо, еще и не обязательно только для этого енама. Выход был найден! Если мы создаем UENUM, то unreal сам генерит всю нужную инфу и создает для нас UEnum класс, который является UObject. Нужно лишь правильно использовать эту информацию.
https://habr.com/ru/articles/861944/
#uenum #unreal_engine #c++ #blueprints #iterator #iterators #tutorial #async #asynchronous #for_each
That time of year when again I actually can solve a problem neatly with an async javascript generator
💪
C++ Iteration Revisited 2024 – Tristan Brindle – C++ on Sea 2024
C++ Iteration Revisited 2024 – Tristan Brindle – C++ on Sea 2024
C++ Iteration Revisited 2024 – Tristan Brindle – C++ on Sea 2024
C++ Iteration Revisited 2024 – Tristan Brindle – C++ on Sea 2024
C++ Iteration Revisited 2024 – Tristan Brindle – C++ on Sea 2024
C++ Iteration Revisited 2024 – Tristan Brindle – C++ on Sea 2024
Slugcats born after gourmand can't hunt, all they know is batflies, eat neuron, hibernate in they shelter, be bisexual, enter my chamber through the shortcut and stare
#Furufoo #RainWorld #slugcat #five_pebbles #hunter #gourmand #artificer #monk #lizard #iterator #pearl #comic #webcomic
We have released a new CppCon 2023 Video!
Lightning Talk: Let’s Fix Sparse Linear Algebra with C++. It’ll Be Fun and Easy! – Benjamin Brock
https://youtu.be/vhpj-pQTJPA
#HowTo #iterator #Libraries #Mathematics #Ranges
Async iterator timeout в Python
Представим следующую задачу: у нас есть микросервисная архитектура, в которой сервисы взаимодействуют через брокер сообщений, или через gRPC. Так или иначе, оба варианта предоставляют полнодуплексный канал связи, через который один сервис может отправлять множество сообщений другому сервису, так и в обратную сторону - сервис, исполняющий запрос, может отправлять несколько ответов (например в случае потоковой обработки данных). Такой вариант реализации ответа можно в некотором смысле называть стримингом. В числе прочих задач, решаемых при реализации возможности стриминга, существует задача определения ситуации, в которой сервис, исполняющий запрос, упал с ошибкой, и больше не может продолжать стриминг ответов. В таком случае мы даже не можем понять что именно произошло - обработка и отдача очередной порции ответа будет, но задерживается, либо же передача прервалась, и нужно сообщить об ошибке “наверх”. В протоколе HTTP, например, для детерминирования корректной вычитки ответа может быть использован заголовок Content-Length . Достаточно посчитать количество вычитанных из сокета байт тела запроса\ответа, и сравнить со значением заголовка. Сходится - мы все получили, не сошлось и сокет закрыт - ошибка. Однако вариант решения с заранее заданным количеством данных в первой порции ответов не является универсальным, поскольку не во всех случаях можно точно понимать, сколько именно данных будет передано. Да и архитектура с использованием брокеров сообщений предполагает постоянное поддержание соединения, поэтому мы можем только знать, что из такой-то очереди поступают ответы на ранее сделанный запрос, и в каком-то из ответов будет метка окончания, как маркер того, что запрос обработан и ответ выслан и получен полностью, а если такого маркера еще не получено - остается продолжать ждать. Но ждать можно бесконечно.
We have released a new CppCon 2023 Video!
Lightning Talk: A Fast, Concurrent Data Loader for Time-Series Data – Glenn Philen – CppCon 2023
https://youtu.be/rsERMD9jUNE
#Concurrency #DataDataStructures #iterator #SoftwareDesign #Testing
We have released a new CppCon 2023 Video!
Back to Basics: Iterators in C++ – Nicolai Josuttis – CppCon 2023
https://youtu.be/26aW6aBVpk0
#BackToBasics #BestPractices #Containers #cpp #cppBasics #HowTo #iterator #Ranges #StandardLibrary #StandardTemplateLibrary #STL
opens my palm to reveal a very small iterator
i found this. it is a creatuer i think. or maybe a bug #rainworld #art
#rain #world #rainworld #rainworld #art #fanart #digitalart #oc #iterator #iteratoroc #rwiterator
Iterator, Generator, https://without.boats/blog/iterator-generator/.
Thoughts about generators and iterators in Rust. Interesting and concise reading, showing the challenges for a generator API.