{"generator":"GNU social 2.0.2-dev","title":"Conversation","totalItems":13,"items":[{"actor":{"id":"https:\/\/discuss.systems\/users\/pkhuong","displayName":"Paul Khuong","status_net":{"avatarLinks":[{"url":"https:\/\/gnusocial.jp\/theme\/gnusocialjp\/default-avatar-profile.png","rel":"avatar","type":"image\/png","width":96,"height":96},{"url":"https:\/\/gnusocial.jp\/theme\/gnusocialjp\/default-avatar-stream.png","rel":"avatar","type":"image\/png","width":48,"height":48},{"url":"https:\/\/gnusocial.jp\/theme\/gnusocialjp\/default-avatar-mini.png","rel":"avatar","type":"image\/png","width":24,"height":24}],"profile_info":{"local_id":"306891"}},"image":{"url":"https:\/\/gnusocial.jp\/theme\/gnusocialjp\/default-avatar-profile.png","rel":"avatar","type":"image\/png","width":96,"height":96},"objectType":"person","summary":"https:\/\/pvk.ca","url":"https:\/\/discuss.systems\/@pkhuong","portablecontacts_net":{"preferredUsername":"pkhuong","displayName":"Paul Khuong","note":"https:\/\/pvk.ca"}},"content":"<p><a href=\"https:\/\/hachyderm.io\/@dalias\" class=\"u-url mention\">@dalias<\/a> <a href=\"https:\/\/mastodon.gamedev.place\/@lritter\" class=\"u-url mention\">@lritter<\/a> pretty sure you can bucket iterators by ctz of their index, and keep the highest indexed iterator in each bucket.<\/p>","generator":{"id":"tag:gnusocial.jp,2026-06-29:notice-source:ActivityPub","objectType":"application","status_net":{"source_code":"ActivityPub"}},"id":"https:\/\/discuss.systems\/users\/pkhuong\/statuses\/114767418199262378","object":{"id":"https:\/\/discuss.systems\/users\/pkhuong\/statuses\/114767418199262378","objectType":"note","content":"<p><a href=\"https:\/\/hachyderm.io\/@dalias\" class=\"u-url mention\">@dalias<\/a> <a href=\"https:\/\/mastodon.gamedev.place\/@lritter\" class=\"u-url mention\">@lritter<\/a> pretty sure you can bucket iterators by ctz of their index, and keep the highest indexed iterator in each bucket.<\/p>","url":"https:\/\/discuss.systems\/@pkhuong\/114767418199262378","status_net":{"notice_id":null},"inReplyTo":{"objectType":"note","id":"https:\/\/hachyderm.io\/users\/dalias\/statuses\/114767382884599561","url":"https:\/\/gnusocial.jp\/notice\/10351923"}},"to":[{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/person","id":"https:\/\/mastodon.gamedev.place\/users\/lritter"},{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/person","id":"https:\/\/hachyderm.io\/users\/dalias"},{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/collection","id":"http:\/\/activityschema.org\/collection\/public"}],"status_net":{"conversation":"tag:gnusocial.jp,2025-06-29:objectType=thread:nonce=749bcc2ad9ffd70b","notice_info":{"local_id":"10352060","source":"ActivityPub"}},"published":"2025-06-29T15:47:44+00:00","provider":{"objectType":"service","displayName":"GNU social JP","url":"https:\/\/gnusocial.jp\/"},"verb":"post","url":"https:\/\/discuss.systems\/@pkhuong\/114767418199262378"},{"actor":{"id":"https:\/\/hachyderm.io\/users\/dalias","displayName":"Rich Felker","status_net":{"avatarLinks":[{"url":"https:\/\/gnusocial.jp\/avatar\/40873-original-tmp20221202140938.webp","rel":"avatar","type":"image\/webp","width":400,"height":400},{"url":"https:\/\/gnusocial.jp\/avatar\/40873-96-20221207231635.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},{"url":"https:\/\/gnusocial.jp\/avatar\/40873-48-20221207231635.webp","rel":"avatar","type":"image\/webp","width":48,"height":48},{"url":"https:\/\/gnusocial.jp\/avatar\/40873-24-20221207231635.webp","rel":"avatar","type":"image\/webp","width":24,"height":24}],"profile_info":{"local_id":"40873"}},"image":{"url":"https:\/\/gnusocial.jp\/avatar\/40873-96-20221207231635.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},"objectType":"person","summary":"C librarian, purveyor of the language&#39;s eldritch horrors. Poppin&#39; shells \ud83e\uddaa","url":"https:\/\/hachyderm.io\/@dalias","portablecontacts_net":{"preferredUsername":"dalias","displayName":"Rich Felker","note":"C librarian, purveyor of the language&#39;s eldritch horrors. Poppin&#39; shells \ud83e\uddaa"}},"content":"<p><a href=\"https:\/\/discuss.systems\/@pkhuong\" class=\"u-url mention\">@pkhuong<\/a> <a href=\"https:\/\/mastodon.gamedev.place\/@lritter\" class=\"u-url mention\">@lritter<\/a> Yes that seems like a valid strategy.<\/p>","generator":{"id":"tag:gnusocial.jp,2026-06-29:notice-source:ActivityPub","objectType":"application","status_net":{"source_code":"ActivityPub"}},"id":"https:\/\/hachyderm.io\/users\/dalias\/statuses\/114767432355992557","object":{"id":"https:\/\/hachyderm.io\/users\/dalias\/statuses\/114767432355992557","objectType":"note","content":"<p><a href=\"https:\/\/discuss.systems\/@pkhuong\" class=\"u-url mention\">@pkhuong<\/a> <a href=\"https:\/\/mastodon.gamedev.place\/@lritter\" class=\"u-url mention\">@lritter<\/a> Yes that seems like a valid strategy.<\/p>","url":"https:\/\/gnusocial.jp\/notice\/10352061","status_net":{"notice_id":null},"inReplyTo":{"objectType":"note","id":"https:\/\/discuss.systems\/users\/pkhuong\/statuses\/114767418199262378","url":"https:\/\/discuss.systems\/@pkhuong\/114767418199262378"}},"to":[{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/person","id":"https:\/\/mastodon.gamedev.place\/users\/lritter"},{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/person","id":"https:\/\/discuss.systems\/users\/pkhuong"},{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/collection","id":"http:\/\/activityschema.org\/collection\/public"}],"status_net":{"conversation":"tag:gnusocial.jp,2025-06-29:objectType=thread:nonce=749bcc2ad9ffd70b","notice_info":{"local_id":"10352061","source":"ActivityPub"}},"published":"2025-06-29T15:47:43+00:00","provider":{"objectType":"service","displayName":"GNU social JP","url":"https:\/\/gnusocial.jp\/"},"verb":"post","url":"https:\/\/gnusocial.jp\/notice\/10352061"},{"actor":{"id":"https:\/\/mastodon.gamedev.place\/users\/lritter","displayName":"LR","status_net":{"avatarLinks":[{"url":"https:\/\/gnusocial.jp\/avatar\/11596-original-tmp20220929134830.webp","rel":"avatar","type":"image\/webp","width":388,"height":388},{"url":"https:\/\/gnusocial.jp\/avatar\/11596-96-20220929134937.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},{"url":"https:\/\/gnusocial.jp\/avatar\/11596-48-20220929134937.webp","rel":"avatar","type":"image\/webp","width":48,"height":48},{"url":"https:\/\/gnusocial.jp\/avatar\/11596-24-20220929134937.webp","rel":"avatar","type":"image\/webp","width":24,"height":24}],"profile_info":{"local_id":"11596"}},"image":{"url":"https:\/\/gnusocial.jp\/avatar\/11596-96-20220929134937.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},"objectType":"person","summary":"Account of Leonard Ritter (he\/him, they\/them). Arts, Maths, Metaprogramming &amp; Nonsense; Game Developer at @duangle. paniq in the demoscene. Maintaining Tukan, nudl, Scopes &amp; gently going NOWHERE.Language: en, some de.Shitposts can be filtered using #s0up (formerly #score_0_up)Migrated from @paniqMy avatar is the logo of the library I&#39;m working on, a stylized toucan with a four-colored beak.\u2728SPARKLES MEAN SPARKLES\u2728\ud83c\udf44:vulkan:\ud83c\udff3\ufe0f\ud83c\udff3\ufe0f\u200d\ud83c\udf08\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f\ud83c\udff4\u200d\u2620\ufe0f\ud83c\udde9\ud83c\uddea\ud83c\uddfa\ud83c\uddf8","url":"https:\/\/mastodon.gamedev.place\/@lritter","portablecontacts_net":{"preferredUsername":"lritter","displayName":"LR","note":"Account of Leonard Ritter (he\/him, they\/them). Arts, Maths, Metaprogramming &amp; Nonsense; Game Developer at @duangle. paniq in the demoscene. Maintaining Tukan, nudl, Scopes &amp; gently going NOWHERE.Language: en, some de.Shitposts can be filtered using #s0up (formerly #score_0_up)Migrated from @paniqMy avatar is the logo of the library I&#39;m working on, a stylized toucan with a four-colored beak.\u2728SPARKLES MEAN SPARKLES\u2728\ud83c\udf44:vulkan:\ud83c\udff3\ufe0f\ud83c\udff3\ufe0f\u200d\ud83c\udf08\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f\ud83c\udff4\u200d\u2620\ufe0f\ud83c\udde9\ud83c\uddea\ud83c\uddfa\ud83c\uddf8"}},"content":"<p><a href=\"https:\/\/hachyderm.io\/@dalias\" class=\"u-url mention\">@dalias<\/a> <a href=\"https:\/\/discuss.systems\/@pkhuong\" class=\"u-url mention\">@pkhuong<\/a> i'm working on fixpoint-iterative primitives lately (as an alternative to structured control flow) that are strictly forward-facing but trivially copyable, and this would be an ideal solution to support time-reversed debugging.<\/p>","generator":{"id":"tag:gnusocial.jp,2026-06-29:notice-source:ActivityPub","objectType":"application","status_net":{"source_code":"ActivityPub"}},"id":"https:\/\/mastodon.gamedev.place\/users\/lritter\/statuses\/114767364526158284","object":{"id":"https:\/\/mastodon.gamedev.place\/users\/lritter\/statuses\/114767364526158284","objectType":"note","content":"<p><a href=\"https:\/\/hachyderm.io\/@dalias\" class=\"u-url mention\">@dalias<\/a> <a href=\"https:\/\/discuss.systems\/@pkhuong\" class=\"u-url mention\">@pkhuong<\/a> i'm working on fixpoint-iterative primitives lately (as an alternative to structured control flow) that are strictly forward-facing but trivially copyable, and this would be an ideal solution to support time-reversed debugging.<\/p>","url":"https:\/\/mastodon.gamedev.place\/@lritter\/114767364526158284","status_net":{"notice_id":null},"inReplyTo":{"objectType":"note","id":"https:\/\/hachyderm.io\/users\/dalias\/statuses\/114767346266014181","url":"https:\/\/gnusocial.jp\/notice\/10351862"}},"to":[{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/person","id":"https:\/\/hachyderm.io\/users\/dalias"},{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/person","id":"https:\/\/discuss.systems\/users\/pkhuong"},{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/collection","id":"http:\/\/activityschema.org\/collection\/public"}],"status_net":{"conversation":"tag:gnusocial.jp,2025-06-29:objectType=thread:nonce=749bcc2ad9ffd70b","notice_info":{"local_id":"10351922","source":"ActivityPub"}},"published":"2025-06-29T15:34:49+00:00","provider":{"objectType":"service","displayName":"GNU social JP","url":"https:\/\/gnusocial.jp\/"},"verb":"post","url":"https:\/\/mastodon.gamedev.place\/@lritter\/114767364526158284"},{"actor":{"id":"https:\/\/hachyderm.io\/users\/dalias","displayName":"Rich Felker","status_net":{"avatarLinks":[{"url":"https:\/\/gnusocial.jp\/avatar\/40873-original-tmp20221202140938.webp","rel":"avatar","type":"image\/webp","width":400,"height":400},{"url":"https:\/\/gnusocial.jp\/avatar\/40873-96-20221207231635.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},{"url":"https:\/\/gnusocial.jp\/avatar\/40873-48-20221207231635.webp","rel":"avatar","type":"image\/webp","width":48,"height":48},{"url":"https:\/\/gnusocial.jp\/avatar\/40873-24-20221207231635.webp","rel":"avatar","type":"image\/webp","width":24,"height":24}],"profile_info":{"local_id":"40873"}},"image":{"url":"https:\/\/gnusocial.jp\/avatar\/40873-96-20221207231635.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},"objectType":"person","summary":"C librarian, purveyor of the language&#39;s eldritch horrors. Poppin&#39; shells \ud83e\uddaa","url":"https:\/\/hachyderm.io\/@dalias","portablecontacts_net":{"preferredUsername":"dalias","displayName":"Rich Felker","note":"C librarian, purveyor of the language&#39;s eldritch horrors. Poppin&#39; shells \ud83e\uddaa"}},"content":"<p><a href=\"https:\/\/mastodon.gamedev.place\/@lritter\" class=\"u-url mention\">@lritter<\/a> <a href=\"https:\/\/discuss.systems\/@pkhuong\" class=\"u-url mention\">@pkhuong<\/a> For your case where there's no a priori finite end time, I think you need a slightly different strategy that's not a pure stack. You need to be able to decimate and repack the waypoints to maintain a logarithmic bound on them.<\/p>","generator":{"id":"tag:gnusocial.jp,2026-06-29:notice-source:ActivityPub","objectType":"application","status_net":{"source_code":"ActivityPub"}},"id":"https:\/\/hachyderm.io\/users\/dalias\/statuses\/114767382884599561","object":{"id":"https:\/\/hachyderm.io\/users\/dalias\/statuses\/114767382884599561","objectType":"note","content":"<p><a href=\"https:\/\/mastodon.gamedev.place\/@lritter\" class=\"u-url mention\">@lritter<\/a> <a href=\"https:\/\/discuss.systems\/@pkhuong\" class=\"u-url mention\">@pkhuong<\/a> For your case where there's no a priori finite end time, I think you need a slightly different strategy that's not a pure stack. You need to be able to decimate and repack the waypoints to maintain a logarithmic bound on them.<\/p>","url":"https:\/\/gnusocial.jp\/notice\/10351923","status_net":{"notice_id":null},"inReplyTo":{"objectType":"note","id":"https:\/\/mastodon.gamedev.place\/users\/lritter\/statuses\/114767364526158284","url":"https:\/\/mastodon.gamedev.place\/@lritter\/114767364526158284"}},"to":[{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/person","id":"https:\/\/mastodon.gamedev.place\/users\/lritter"},{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/person","id":"https:\/\/discuss.systems\/users\/pkhuong"},{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/collection","id":"http:\/\/activityschema.org\/collection\/public"}],"status_net":{"conversation":"tag:gnusocial.jp,2025-06-29:objectType=thread:nonce=749bcc2ad9ffd70b","notice_info":{"local_id":"10351923","source":"ActivityPub"}},"published":"2025-06-29T15:34:48+00:00","provider":{"objectType":"service","displayName":"GNU social JP","url":"https:\/\/gnusocial.jp\/"},"verb":"post","url":"https:\/\/gnusocial.jp\/notice\/10351923"},{"actor":{"id":"https:\/\/hachyderm.io\/users\/dalias","displayName":"Rich Felker","status_net":{"avatarLinks":[{"url":"https:\/\/gnusocial.jp\/avatar\/40873-original-tmp20221202140938.webp","rel":"avatar","type":"image\/webp","width":400,"height":400},{"url":"https:\/\/gnusocial.jp\/avatar\/40873-96-20221207231635.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},{"url":"https:\/\/gnusocial.jp\/avatar\/40873-48-20221207231635.webp","rel":"avatar","type":"image\/webp","width":48,"height":48},{"url":"https:\/\/gnusocial.jp\/avatar\/40873-24-20221207231635.webp","rel":"avatar","type":"image\/webp","width":24,"height":24}],"profile_info":{"local_id":"40873"}},"image":{"url":"https:\/\/gnusocial.jp\/avatar\/40873-96-20221207231635.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},"objectType":"person","summary":"C librarian, purveyor of the language&#39;s eldritch horrors. Poppin&#39; shells \ud83e\uddaa","url":"https:\/\/hachyderm.io\/@dalias","portablecontacts_net":{"preferredUsername":"dalias","displayName":"Rich Felker","note":"C librarian, purveyor of the language&#39;s eldritch horrors. Poppin&#39; shells \ud83e\uddaa"}},"content":"<p><a href=\"https:\/\/discuss.systems\/@pkhuong\" class=\"u-url mention\">@pkhuong<\/a> <a href=\"https:\/\/mastodon.gamedev.place\/@lritter\" class=\"u-url mention\">@lritter<\/a> Lovely aside: this can also be applied to video (if your decoded objects can be copied, which may be a bad assumption for typical existing implementations) and solves problems I wanted to solve decades ago for being able to transform video efficiently in random-access-like patterns without having to transcode to a keyframe-dense form.<\/p>","generator":{"id":"tag:gnusocial.jp,2026-06-29:notice-source:ActivityPub","objectType":"application","status_net":{"source_code":"ActivityPub"}},"id":"https:\/\/hachyderm.io\/users\/dalias\/statuses\/114767346266014181","object":{"id":"https:\/\/hachyderm.io\/users\/dalias\/statuses\/114767346266014181","objectType":"note","content":"<p><a href=\"https:\/\/discuss.systems\/@pkhuong\" class=\"u-url mention\">@pkhuong<\/a> <a href=\"https:\/\/mastodon.gamedev.place\/@lritter\" class=\"u-url mention\">@lritter<\/a> Lovely aside: this can also be applied to video (if your decoded objects can be copied, which may be a bad assumption for typical existing implementations) and solves problems I wanted to solve decades ago for being able to transform video efficiently in random-access-like patterns without having to transcode to a keyframe-dense form.<\/p>","url":"https:\/\/gnusocial.jp\/notice\/10351862","status_net":{"notice_id":null},"inReplyTo":{"objectType":"note","id":"https:\/\/hachyderm.io\/users\/dalias\/statuses\/114767329905258800","url":"https:\/\/hachyderm.io\/@dalias\/114767329905258800"}},"to":[{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/person","id":"https:\/\/mastodon.gamedev.place\/users\/lritter"},{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/person","id":"https:\/\/discuss.systems\/users\/pkhuong"},{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/collection","id":"http:\/\/activityschema.org\/collection\/public"}],"status_net":{"conversation":"tag:gnusocial.jp,2025-06-29:objectType=thread:nonce=749bcc2ad9ffd70b","notice_info":{"local_id":"10351862","source":"ActivityPub"}},"published":"2025-06-29T15:25:29+00:00","provider":{"objectType":"service","displayName":"GNU social JP","url":"https:\/\/gnusocial.jp\/"},"verb":"post","url":"https:\/\/gnusocial.jp\/notice\/10351862"},{"actor":{"id":"https:\/\/hachyderm.io\/users\/dalias","displayName":"Rich Felker","status_net":{"avatarLinks":[{"url":"https:\/\/gnusocial.jp\/avatar\/40873-original-tmp20221202140938.webp","rel":"avatar","type":"image\/webp","width":400,"height":400},{"url":"https:\/\/gnusocial.jp\/avatar\/40873-96-20221207231635.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},{"url":"https:\/\/gnusocial.jp\/avatar\/40873-48-20221207231635.webp","rel":"avatar","type":"image\/webp","width":48,"height":48},{"url":"https:\/\/gnusocial.jp\/avatar\/40873-24-20221207231635.webp","rel":"avatar","type":"image\/webp","width":24,"height":24}],"profile_info":{"local_id":"40873"}},"image":{"url":"https:\/\/gnusocial.jp\/avatar\/40873-96-20221207231635.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},"objectType":"person","summary":"C librarian, purveyor of the language&#39;s eldritch horrors. Poppin&#39; shells \ud83e\uddaa","url":"https:\/\/hachyderm.io\/@dalias","portablecontacts_net":{"preferredUsername":"dalias","displayName":"Rich Felker","note":"C librarian, purveyor of the language&#39;s eldritch horrors. Poppin&#39; shells \ud83e\uddaa"}},"content":"<p><a href=\"https:\/\/discuss.systems\/@pkhuong\" class=\"u-url mention\">@pkhuong<\/a> <a href=\"https:\/\/mastodon.gamedev.place\/@lritter\" class=\"u-url mention\">@lritter<\/a> Yep, this is exactly how it works. In fact initially it only keeps one copy, of the initial iterator; it then pushes another one each time it reaches the halfway point between the last one it dropped and the (known-index) end position, and it pops them as they become irrelevant by being for an already-traversed position.<\/p>","generator":{"id":"tag:gnusocial.jp,2026-06-29:notice-source:ActivityPub","objectType":"application","status_net":{"source_code":"ActivityPub"}},"id":"https:\/\/hachyderm.io\/users\/dalias\/statuses\/114767329905258800","object":{"id":"https:\/\/hachyderm.io\/users\/dalias\/statuses\/114767329905258800","objectType":"note","content":"<p><a href=\"https:\/\/discuss.systems\/@pkhuong\" class=\"u-url mention\">@pkhuong<\/a> <a href=\"https:\/\/mastodon.gamedev.place\/@lritter\" class=\"u-url mention\">@lritter<\/a> Yep, this is exactly how it works. In fact initially it only keeps one copy, of the initial iterator; it then pushes another one each time it reaches the halfway point between the last one it dropped and the (known-index) end position, and it pops them as they become irrelevant by being for an already-traversed position.<\/p>","url":"https:\/\/hachyderm.io\/@dalias\/114767329905258800","status_net":{"notice_id":null},"inReplyTo":{"objectType":"note","id":"https:\/\/discuss.systems\/users\/pkhuong\/statuses\/114766668217394689","url":"https:\/\/gnusocial.jp\/notice\/10350920"}},"to":[{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/person","id":"https:\/\/mastodon.gamedev.place\/users\/lritter"},{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/person","id":"https:\/\/discuss.systems\/users\/pkhuong"},{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/collection","id":"http:\/\/activityschema.org\/collection\/public"}],"status_net":{"conversation":"tag:gnusocial.jp,2025-06-29:objectType=thread:nonce=749bcc2ad9ffd70b","notice_info":{"local_id":"10351830","source":"ActivityPub"}},"published":"2025-06-29T15:21:19+00:00","provider":{"objectType":"service","displayName":"GNU social JP","url":"https:\/\/gnusocial.jp\/"},"verb":"post","url":"https:\/\/hachyderm.io\/@dalias\/114767329905258800"},{"actor":{"id":"https:\/\/mastodon.gamedev.place\/users\/lritter","displayName":"LR","status_net":{"avatarLinks":[{"url":"https:\/\/gnusocial.jp\/avatar\/11596-original-tmp20220929134830.webp","rel":"avatar","type":"image\/webp","width":388,"height":388},{"url":"https:\/\/gnusocial.jp\/avatar\/11596-96-20220929134937.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},{"url":"https:\/\/gnusocial.jp\/avatar\/11596-48-20220929134937.webp","rel":"avatar","type":"image\/webp","width":48,"height":48},{"url":"https:\/\/gnusocial.jp\/avatar\/11596-24-20220929134937.webp","rel":"avatar","type":"image\/webp","width":24,"height":24}],"profile_info":{"local_id":"11596"}},"image":{"url":"https:\/\/gnusocial.jp\/avatar\/11596-96-20220929134937.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},"objectType":"person","summary":"Account of Leonard Ritter (he\/him, they\/them). Arts, Maths, Metaprogramming &amp; Nonsense; Game Developer at @duangle. paniq in the demoscene. Maintaining Tukan, nudl, Scopes &amp; gently going NOWHERE.Language: en, some de.Shitposts can be filtered using #s0up (formerly #score_0_up)Migrated from @paniqMy avatar is the logo of the library I&#39;m working on, a stylized toucan with a four-colored beak.\u2728SPARKLES MEAN SPARKLES\u2728\ud83c\udf44:vulkan:\ud83c\udff3\ufe0f\ud83c\udff3\ufe0f\u200d\ud83c\udf08\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f\ud83c\udff4\u200d\u2620\ufe0f\ud83c\udde9\ud83c\uddea\ud83c\uddfa\ud83c\uddf8","url":"https:\/\/mastodon.gamedev.place\/@lritter","portablecontacts_net":{"preferredUsername":"lritter","displayName":"LR","note":"Account of Leonard Ritter (he\/him, they\/them). Arts, Maths, Metaprogramming &amp; Nonsense; Game Developer at @duangle. paniq in the demoscene. Maintaining Tukan, nudl, Scopes &amp; gently going NOWHERE.Language: en, some de.Shitposts can be filtered using #s0up (formerly #score_0_up)Migrated from @paniqMy avatar is the logo of the library I&#39;m working on, a stylized toucan with a four-colored beak.\u2728SPARKLES MEAN SPARKLES\u2728\ud83c\udf44:vulkan:\ud83c\udff3\ufe0f\ud83c\udff3\ufe0f\u200d\ud83c\udf08\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f\ud83c\udff4\u200d\u2620\ufe0f\ud83c\udde9\ud83c\uddea\ud83c\uddfa\ud83c\uddf8"}},"content":"<p><a href=\"https:\/\/hachyderm.io\/@dalias\" class=\"u-url mention\">@dalias<\/a> what.. how is that even logically possible. it needs n iters to reach the beginning of the iteration range. then m iters to go through the range, buffer all results. then another m to go through the buffer in reverse (the actual reverse iteration). space needed is also m. <\/p><p>do you know of a different way to do this? b\/c it doesn't seem like 1-step-iterators give us much freedom here.<\/p><p>or do you build an ad-hoc search tree? then the space needed would be log m and m log m makes more sense<\/p>","generator":{"id":"tag:gnusocial.jp,2026-06-29:notice-source:ActivityPub","objectType":"application","status_net":{"source_code":"ActivityPub"}},"id":"https:\/\/mastodon.gamedev.place\/users\/lritter\/statuses\/114765091873948346","object":{"id":"https:\/\/mastodon.gamedev.place\/users\/lritter\/statuses\/114765091873948346","objectType":"note","content":"<p><a href=\"https:\/\/hachyderm.io\/@dalias\" class=\"u-url mention\">@dalias<\/a> what.. how is that even logically possible. it needs n iters to reach the beginning of the iteration range. then m iters to go through the range, buffer all results. then another m to go through the buffer in reverse (the actual reverse iteration). space needed is also m. <\/p><p>do you know of a different way to do this? b\/c it doesn't seem like 1-step-iterators give us much freedom here.<\/p><p>or do you build an ad-hoc search tree? then the space needed would be log m and m log m makes more sense<\/p>","url":"https:\/\/mastodon.gamedev.place\/@lritter\/114765091873948346","status_net":{"notice_id":null},"inReplyTo":{"objectType":"note","id":"https:\/\/hachyderm.io\/users\/dalias\/statuses\/114764665348398614","url":"https:\/\/hachyderm.io\/@dalias\/114764665348398614"}},"to":[{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/person","id":"https:\/\/hachyderm.io\/users\/dalias"},{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/collection","id":"http:\/\/activityschema.org\/collection\/public"}],"status_net":{"conversation":"tag:gnusocial.jp,2025-06-29:objectType=thread:nonce=749bcc2ad9ffd70b","notice_info":{"local_id":"10350919","source":"ActivityPub"}},"published":"2025-06-29T13:12:54+00:00","provider":{"objectType":"service","displayName":"GNU social JP","url":"https:\/\/gnusocial.jp\/"},"verb":"post","url":"https:\/\/mastodon.gamedev.place\/@lritter\/114765091873948346"},{"actor":{"id":"https:\/\/discuss.systems\/users\/pkhuong","displayName":"Paul Khuong","status_net":{"avatarLinks":[{"url":"https:\/\/gnusocial.jp\/theme\/gnusocialjp\/default-avatar-profile.png","rel":"avatar","type":"image\/png","width":96,"height":96},{"url":"https:\/\/gnusocial.jp\/theme\/gnusocialjp\/default-avatar-stream.png","rel":"avatar","type":"image\/png","width":48,"height":48},{"url":"https:\/\/gnusocial.jp\/theme\/gnusocialjp\/default-avatar-mini.png","rel":"avatar","type":"image\/png","width":24,"height":24}],"profile_info":{"local_id":"306891"}},"image":{"url":"https:\/\/gnusocial.jp\/theme\/gnusocialjp\/default-avatar-profile.png","rel":"avatar","type":"image\/png","width":96,"height":96},"objectType":"person","summary":"https:\/\/pvk.ca","url":"https:\/\/discuss.systems\/@pkhuong","portablecontacts_net":{"preferredUsername":"pkhuong","displayName":"Paul Khuong","note":"https:\/\/pvk.ca"}},"content":"<p><a href=\"https:\/\/mastodon.gamedev.place\/@lritter\" class=\"u-url mention\">@lritter<\/a> <a href=\"https:\/\/hachyderm.io\/@dalias\" class=\"u-url mention\">@dalias<\/a> you keep log n copies of earlier iterators (and always keep a copy of the initial iterator). The copies are more dense when you're closer to the current location (and fully dense just before)<\/p>","generator":{"id":"tag:gnusocial.jp,2026-06-29:notice-source:ActivityPub","objectType":"application","status_net":{"source_code":"ActivityPub"}},"id":"https:\/\/discuss.systems\/users\/pkhuong\/statuses\/114766668217394689","object":{"id":"https:\/\/discuss.systems\/users\/pkhuong\/statuses\/114766668217394689","objectType":"note","content":"<p><a href=\"https:\/\/mastodon.gamedev.place\/@lritter\" class=\"u-url mention\">@lritter<\/a> <a href=\"https:\/\/hachyderm.io\/@dalias\" class=\"u-url mention\">@dalias<\/a> you keep log n copies of earlier iterators (and always keep a copy of the initial iterator). The copies are more dense when you're closer to the current location (and fully dense just before)<\/p>","url":"https:\/\/gnusocial.jp\/notice\/10350920","status_net":{"notice_id":null},"inReplyTo":{"objectType":"note","id":"https:\/\/mastodon.gamedev.place\/users\/lritter\/statuses\/114765091873948346","url":"https:\/\/mastodon.gamedev.place\/@lritter\/114765091873948346"}},"to":[{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/person","id":"https:\/\/mastodon.gamedev.place\/users\/lritter"},{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/person","id":"https:\/\/hachyderm.io\/users\/dalias"},{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/collection","id":"http:\/\/activityschema.org\/collection\/public"}],"status_net":{"conversation":"tag:gnusocial.jp,2025-06-29:objectType=thread:nonce=749bcc2ad9ffd70b","notice_info":{"local_id":"10350920","source":"ActivityPub"}},"published":"2025-06-29T13:12:53+00:00","provider":{"objectType":"service","displayName":"GNU social JP","url":"https:\/\/gnusocial.jp\/"},"verb":"post","url":"https:\/\/gnusocial.jp\/notice\/10350920"},{"actor":{"id":"https:\/\/mastodon.gamedev.place\/users\/lritter","displayName":"LR","status_net":{"avatarLinks":[{"url":"https:\/\/gnusocial.jp\/avatar\/11596-original-tmp20220929134830.webp","rel":"avatar","type":"image\/webp","width":388,"height":388},{"url":"https:\/\/gnusocial.jp\/avatar\/11596-96-20220929134937.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},{"url":"https:\/\/gnusocial.jp\/avatar\/11596-48-20220929134937.webp","rel":"avatar","type":"image\/webp","width":48,"height":48},{"url":"https:\/\/gnusocial.jp\/avatar\/11596-24-20220929134937.webp","rel":"avatar","type":"image\/webp","width":24,"height":24}],"profile_info":{"local_id":"11596"}},"image":{"url":"https:\/\/gnusocial.jp\/avatar\/11596-96-20220929134937.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},"objectType":"person","summary":"Account of Leonard Ritter (he\/him, they\/them). Arts, Maths, Metaprogramming &amp; Nonsense; Game Developer at @duangle. paniq in the demoscene. Maintaining Tukan, nudl, Scopes &amp; gently going NOWHERE.Language: en, some de.Shitposts can be filtered using #s0up (formerly #score_0_up)Migrated from @paniqMy avatar is the logo of the library I&#39;m working on, a stylized toucan with a four-colored beak.\u2728SPARKLES MEAN SPARKLES\u2728\ud83c\udf44:vulkan:\ud83c\udff3\ufe0f\ud83c\udff3\ufe0f\u200d\ud83c\udf08\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f\ud83c\udff4\u200d\u2620\ufe0f\ud83c\udde9\ud83c\uddea\ud83c\uddfa\ud83c\uddf8","url":"https:\/\/mastodon.gamedev.place\/@lritter","portablecontacts_net":{"preferredUsername":"lritter","displayName":"LR","note":"Account of Leonard Ritter (he\/him, they\/them). Arts, Maths, Metaprogramming &amp; Nonsense; Game Developer at @duangle. paniq in the demoscene. Maintaining Tukan, nudl, Scopes &amp; gently going NOWHERE.Language: en, some de.Shitposts can be filtered using #s0up (formerly #score_0_up)Migrated from @paniqMy avatar is the logo of the library I&#39;m working on, a stylized toucan with a four-colored beak.\u2728SPARKLES MEAN SPARKLES\u2728\ud83c\udf44:vulkan:\ud83c\udff3\ufe0f\ud83c\udff3\ufe0f\u200d\ud83c\udf08\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f\ud83c\udff4\u200d\u2620\ufe0f\ud83c\udde9\ud83c\uddea\ud83c\uddfa\ud83c\uddf8"}},"content":"<p><a href=\"https:\/\/discuss.systems\/@pkhuong\" class=\"u-url mention\">@pkhuong<\/a> <a href=\"https:\/\/hachyderm.io\/@dalias\" class=\"u-url mention\">@dalias<\/a> yeah. so, an ad-hoc search tree. it has fragments that appear in in-place sorting algorithms.<\/p><p>then it is all the more important to mention the time-for-space trade-off, since that's the whole point.<\/p>","generator":{"id":"tag:gnusocial.jp,2026-06-29:notice-source:ActivityPub","objectType":"application","status_net":{"source_code":"ActivityPub"}},"id":"https:\/\/mastodon.gamedev.place\/users\/lritter\/statuses\/114766679399180232","object":{"id":"https:\/\/mastodon.gamedev.place\/users\/lritter\/statuses\/114766679399180232","objectType":"note","content":"<p><a href=\"https:\/\/discuss.systems\/@pkhuong\" class=\"u-url mention\">@pkhuong<\/a> <a href=\"https:\/\/hachyderm.io\/@dalias\" class=\"u-url mention\">@dalias<\/a> yeah. so, an ad-hoc search tree. it has fragments that appear in in-place sorting algorithms.<\/p><p>then it is all the more important to mention the time-for-space trade-off, since that's the whole point.<\/p>","url":"https:\/\/mastodon.gamedev.place\/@lritter\/114766679399180232","status_net":{"notice_id":null},"inReplyTo":{"objectType":"note","id":"https:\/\/discuss.systems\/users\/pkhuong\/statuses\/114766668217394689","url":"https:\/\/gnusocial.jp\/notice\/10350920"}},"to":[{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/person","id":"https:\/\/hachyderm.io\/users\/dalias"},{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/person","id":"https:\/\/discuss.systems\/users\/pkhuong"},{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/collection","id":"http:\/\/activityschema.org\/collection\/public"}],"status_net":{"conversation":"tag:gnusocial.jp,2025-06-29:objectType=thread:nonce=749bcc2ad9ffd70b","notice_info":{"local_id":"10350922","source":"ActivityPub"}},"published":"2025-06-29T13:12:52+00:00","provider":{"objectType":"service","displayName":"GNU social JP","url":"https:\/\/gnusocial.jp\/"},"verb":"post","url":"https:\/\/mastodon.gamedev.place\/@lritter\/114766679399180232"},{"actor":{"id":"https:\/\/hachyderm.io\/users\/dalias","displayName":"Rich Felker","status_net":{"avatarLinks":[{"url":"https:\/\/gnusocial.jp\/avatar\/40873-original-tmp20221202140938.webp","rel":"avatar","type":"image\/webp","width":400,"height":400},{"url":"https:\/\/gnusocial.jp\/avatar\/40873-96-20221207231635.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},{"url":"https:\/\/gnusocial.jp\/avatar\/40873-48-20221207231635.webp","rel":"avatar","type":"image\/webp","width":48,"height":48},{"url":"https:\/\/gnusocial.jp\/avatar\/40873-24-20221207231635.webp","rel":"avatar","type":"image\/webp","width":24,"height":24}],"profile_info":{"local_id":"40873"}},"image":{"url":"https:\/\/gnusocial.jp\/avatar\/40873-96-20221207231635.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},"objectType":"person","summary":"C librarian, purveyor of the language&#39;s eldritch horrors. Poppin&#39; shells \ud83e\uddaa","url":"https:\/\/hachyderm.io\/@dalias","portablecontacts_net":{"preferredUsername":"dalias","displayName":"Rich Felker","note":"C librarian, purveyor of the language&#39;s eldritch horrors. Poppin&#39; shells \ud83e\uddaa"}},"content":"<p><a href=\"https:\/\/mastodon.gamedev.place\/@lritter\" class=\"u-url mention\">@lritter<\/a> <a href=\"https:\/\/discuss.systems\/@pkhuong\" class=\"u-url mention\">@pkhuong<\/a> Yes it needs logarithmic space but that's constant space for all practical purposes because log(n) is bounded by 64.<\/p>","generator":{"id":"tag:gnusocial.jp,2026-06-29:notice-source:ActivityPub","objectType":"application","status_net":{"source_code":"ActivityPub"}},"id":"https:\/\/hachyderm.io\/users\/dalias\/statuses\/114766821241256516","object":{"id":"https:\/\/hachyderm.io\/users\/dalias\/statuses\/114766821241256516","objectType":"note","content":"<p><a href=\"https:\/\/mastodon.gamedev.place\/@lritter\" class=\"u-url mention\">@lritter<\/a> <a href=\"https:\/\/discuss.systems\/@pkhuong\" class=\"u-url mention\">@pkhuong<\/a> Yes it needs logarithmic space but that's constant space for all practical purposes because log(n) is bounded by 64.<\/p>","url":"https:\/\/gnusocial.jp\/notice\/10350923","status_net":{"notice_id":null},"inReplyTo":{"objectType":"note","id":"https:\/\/mastodon.gamedev.place\/users\/lritter\/statuses\/114766679399180232","url":"https:\/\/mastodon.gamedev.place\/@lritter\/114766679399180232"}},"to":[{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/person","id":"https:\/\/mastodon.gamedev.place\/users\/lritter"},{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/person","id":"https:\/\/discuss.systems\/users\/pkhuong"},{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/collection","id":"http:\/\/activityschema.org\/collection\/public"}],"status_net":{"conversation":"tag:gnusocial.jp,2025-06-29:objectType=thread:nonce=749bcc2ad9ffd70b","notice_info":{"local_id":"10350923","source":"ActivityPub"}},"published":"2025-06-29T13:12:51+00:00","provider":{"objectType":"service","displayName":"GNU social JP","url":"https:\/\/gnusocial.jp\/"},"verb":"post","url":"https:\/\/gnusocial.jp\/notice\/10350923"},{"actor":{"id":"https:\/\/hachyderm.io\/users\/dalias","displayName":"Rich Felker","status_net":{"avatarLinks":[{"url":"https:\/\/gnusocial.jp\/avatar\/40873-original-tmp20221202140938.webp","rel":"avatar","type":"image\/webp","width":400,"height":400},{"url":"https:\/\/gnusocial.jp\/avatar\/40873-96-20221207231635.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},{"url":"https:\/\/gnusocial.jp\/avatar\/40873-48-20221207231635.webp","rel":"avatar","type":"image\/webp","width":48,"height":48},{"url":"https:\/\/gnusocial.jp\/avatar\/40873-24-20221207231635.webp","rel":"avatar","type":"image\/webp","width":24,"height":24}],"profile_info":{"local_id":"40873"}},"image":{"url":"https:\/\/gnusocial.jp\/avatar\/40873-96-20221207231635.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},"objectType":"person","summary":"C librarian, purveyor of the language&#39;s eldritch horrors. Poppin&#39; shells \ud83e\uddaa","url":"https:\/\/hachyderm.io\/@dalias","portablecontacts_net":{"preferredUsername":"dalias","displayName":"Rich Felker","note":"C librarian, purveyor of the language&#39;s eldritch horrors. Poppin&#39; shells \ud83e\uddaa"}},"content":"<p>Expected to be O(n log n), looks like empirically it's about 2\/3 n log n.<\/p>","generator":{"id":"tag:gnusocial.jp,2026-06-29:notice-source:ActivityPub","objectType":"application","status_net":{"source_code":"ActivityPub"}},"id":"https:\/\/hachyderm.io\/users\/dalias\/statuses\/114764665348398614","object":{"id":"https:\/\/hachyderm.io\/users\/dalias\/statuses\/114764665348398614","objectType":"note","content":"<p>Expected to be O(n log n), looks like empirically it's about 2\/3 n log n.<\/p>","url":"https:\/\/hachyderm.io\/@dalias\/114764665348398614","status_net":{"notice_id":null},"inReplyTo":{"objectType":"note","id":"https:\/\/hachyderm.io\/users\/dalias\/statuses\/114764656879191043","url":"https:\/\/hachyderm.io\/@dalias\/114764656879191043"}},"to":[{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/collection","id":"http:\/\/activityschema.org\/collection\/public"}],"status_net":{"conversation":"tag:gnusocial.jp,2025-06-29:objectType=thread:nonce=749bcc2ad9ffd70b","notice_info":{"local_id":"10348329","source":"ActivityPub"}},"published":"2025-06-29T04:04:08+00:00","provider":{"objectType":"service","displayName":"GNU social JP","url":"https:\/\/gnusocial.jp\/"},"verb":"post","url":"https:\/\/hachyderm.io\/@dalias\/114764665348398614"},{"actor":{"id":"https:\/\/hachyderm.io\/users\/dalias","displayName":"Rich Felker","status_net":{"avatarLinks":[{"url":"https:\/\/gnusocial.jp\/avatar\/40873-original-tmp20221202140938.webp","rel":"avatar","type":"image\/webp","width":400,"height":400},{"url":"https:\/\/gnusocial.jp\/avatar\/40873-96-20221207231635.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},{"url":"https:\/\/gnusocial.jp\/avatar\/40873-48-20221207231635.webp","rel":"avatar","type":"image\/webp","width":48,"height":48},{"url":"https:\/\/gnusocial.jp\/avatar\/40873-24-20221207231635.webp","rel":"avatar","type":"image\/webp","width":24,"height":24}],"profile_info":{"local_id":"40873"}},"image":{"url":"https:\/\/gnusocial.jp\/avatar\/40873-96-20221207231635.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},"objectType":"person","summary":"C librarian, purveyor of the language&#39;s eldritch horrors. Poppin&#39; shells \ud83e\uddaa","url":"https:\/\/hachyderm.io\/@dalias","portablecontacts_net":{"preferredUsername":"dalias","displayName":"Rich Felker","note":"C librarian, purveyor of the language&#39;s eldritch horrors. Poppin&#39; shells \ud83e\uddaa"}},"content":"<p>5932 forward iterate steps to do 1000 reverse iterate steps.<\/p>","generator":{"id":"tag:gnusocial.jp,2026-06-29:notice-source:ActivityPub","objectType":"application","status_net":{"source_code":"ActivityPub"}},"id":"https:\/\/hachyderm.io\/users\/dalias\/statuses\/114764656879191043","object":{"id":"https:\/\/hachyderm.io\/users\/dalias\/statuses\/114764656879191043","objectType":"note","content":"<p>5932 forward iterate steps to do 1000 reverse iterate steps.<\/p>","url":"https:\/\/hachyderm.io\/@dalias\/114764656879191043","status_net":{"notice_id":null},"inReplyTo":{"objectType":"note","id":"https:\/\/hachyderm.io\/users\/dalias\/statuses\/114764635555755869","url":"https:\/\/hachyderm.io\/@dalias\/114764635555755869"}},"to":[{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/collection","id":"http:\/\/activityschema.org\/collection\/public"}],"status_net":{"conversation":"tag:gnusocial.jp,2025-06-29:objectType=thread:nonce=749bcc2ad9ffd70b","notice_info":{"local_id":"10348308","source":"ActivityPub"}},"published":"2025-06-29T04:01:34+00:00","provider":{"objectType":"service","displayName":"GNU social JP","url":"https:\/\/gnusocial.jp\/"},"verb":"post","url":"https:\/\/hachyderm.io\/@dalias\/114764656879191043"},{"actor":{"id":"https:\/\/hachyderm.io\/users\/dalias","displayName":"Rich Felker","status_net":{"avatarLinks":[{"url":"https:\/\/gnusocial.jp\/avatar\/40873-original-tmp20221202140938.webp","rel":"avatar","type":"image\/webp","width":400,"height":400},{"url":"https:\/\/gnusocial.jp\/avatar\/40873-96-20221207231635.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},{"url":"https:\/\/gnusocial.jp\/avatar\/40873-48-20221207231635.webp","rel":"avatar","type":"image\/webp","width":48,"height":48},{"url":"https:\/\/gnusocial.jp\/avatar\/40873-24-20221207231635.webp","rel":"avatar","type":"image\/webp","width":24,"height":24}],"profile_info":{"local_id":"40873"}},"image":{"url":"https:\/\/gnusocial.jp\/avatar\/40873-96-20221207231635.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},"objectType":"person","summary":"C librarian, purveyor of the language&#39;s eldritch horrors. Poppin&#39; shells \ud83e\uddaa","url":"https:\/\/hachyderm.io\/@dalias","portablecontacts_net":{"preferredUsername":"dalias","displayName":"Rich Felker","note":"C librarian, purveyor of the language&#39;s eldritch horrors. Poppin&#39; shells \ud83e\uddaa"}},"content":"<p>Just designed and tested an algorithm to build a reverse-iterator on top of an iterator that can only run in forwards direction (part of the <a href=\"https:\/\/hachyderm.io\/tags\/musl\" class=\"mention hashtag\" rel=\"tag\">#musl<\/a> collation project) and it seems to be good!<\/p><p>63 underlying forward-iterate steps to perform 21 reverse-iterate steps in simple test case.<\/p>","generator":{"id":"tag:gnusocial.jp,2026-06-29:notice-source:ActivityPub","objectType":"application","status_net":{"source_code":"ActivityPub"}},"id":"https:\/\/hachyderm.io\/users\/dalias\/statuses\/114764635555755869","object":{"id":"https:\/\/hachyderm.io\/users\/dalias\/statuses\/114764635555755869","objectType":"note","content":"<p>Just designed and tested an algorithm to build a reverse-iterator on top of an iterator that can only run in forwards direction (part of the <a href=\"https:\/\/hachyderm.io\/tags\/musl\" class=\"mention hashtag\" rel=\"tag\">#musl<\/a> collation project) and it seems to be good!<\/p><p>63 underlying forward-iterate steps to perform 21 reverse-iterate steps in simple test case.<\/p>","url":"https:\/\/hachyderm.io\/@dalias\/114764635555755869","status_net":{"notice_id":null},"tags":[{"objectType":"http:\/\/activityschema.org\/object\/hashtag","displayName":"musl"}]},"to":[{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/collection","id":"http:\/\/activityschema.org\/collection\/public"}],"status_net":{"conversation":"tag:gnusocial.jp,2025-06-29:objectType=thread:nonce=749bcc2ad9ffd70b","notice_info":{"local_id":"10348284","source":"ActivityPub"}},"published":"2025-06-29T03:56:34+00:00","provider":{"objectType":"service","displayName":"GNU social JP","url":"https:\/\/gnusocial.jp\/"},"verb":"post","url":"https:\/\/hachyderm.io\/@dalias\/114764635555755869"}],"links":[{"url":"https:\/\/gnusocial.jp\/conversation\/5274040","rel":"alternate","type":"text\/html"}]}