<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Rust on besok</title>
		<link>https://besok.github.io/tags/rust/</link>
		<description>Recent content in Rust on besok</description>
		<generator>Hugo</generator>
		<language>en-us</language>
		
		
		
		
			<lastBuildDate>Sat, 22 Jul 2023 00:00:00 +0200</lastBuildDate>
		
			<atom:link href="https://besok.github.io/tags/rust/index.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>Forester: The DSL Above Trees — Part II, Higher-Order Trees</title>
				<link>https://besok.github.io/posts/forester-dsl-above-trees-part-2-higher-order-trees/</link>
				<pubDate>Sat, 22 Jul 2023 00:00:00 +0200</pubDate>
				<guid>https://besok.github.io/posts/forester-dsl-above-trees-part-2-higher-order-trees/</guid>
				<description>&lt;h2 id=&#34;intro&#34;&gt;Intro&lt;/h2&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/Behavior_tree_(artificial_intelligence,_robotics_and_control)&#34;&gt;Behavior trees&lt;/a&gt; are a mathematical model used to execute complex flows. &lt;a href=&#34;https://github.com/besok/forester&#34;&gt;Forester&lt;/a&gt; is an orchestration framework that operates on top of behavior trees, providing a clean and simple way to run tasks that implement the behavior tree concept out of the box.&lt;/p&gt;&#xA;&lt;p&gt;Although the core concept under the hood is behavior trees, the framework also provides a DSL called &lt;strong&gt;f-tree&lt;/strong&gt;, which compiles into the trees.&lt;/p&gt;&#xA;&lt;p&gt;This article sheds some light on why and how f-tree can be useful, especially when it comes to code deduplication.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Forester: Orchestration with Behavior Trees — Part I, Simulation</title>
				<link>https://besok.github.io/posts/forester-orchestration-with-behavior-trees-part-1/</link>
				<pubDate>Mon, 17 Jul 2023 00:00:00 +0200</pubDate>
				<guid>https://besok.github.io/posts/forester-orchestration-with-behavior-trees-part-1/</guid>
				<description>&lt;p&gt;&lt;img src=&#34;forester.webp&#34; alt=&#34;Forester&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/Behavior_tree_(artificial_intelligence,_robotics_and_control)&#34;&gt;Behavior trees&lt;/a&gt; have become quite popular across engineering over the last several decades, especially in robotics and game design, for orchestrating and composing the logic of independent units (robots in robotics, NPCs in games, etc.).&lt;/p&gt;&#xA;&lt;p&gt;The reason is clear: they offer a strict and understandable model that makes it easy to separate business logic from flow control. They also work with a small set of logically connected components, which makes the design easier and, in turn, relatively easy to maintain and develop.&lt;/p&gt;</description>
			</item>
			<item>
				<title>How to use Graphviz in your Rust code</title>
				<link>https://besok.github.io/posts/how-to-use-graphviz-in-rust/</link>
				<pubDate>Thu, 04 Nov 2021 00:00:00 +0100</pubDate>
				<guid>https://besok.github.io/posts/how-to-use-graphviz-in-rust/</guid>
				<description>&lt;p&gt;This tutorial is a quick introduction to integrating Graphviz structures in Rust code.&lt;/p&gt;&#xA;&lt;p&gt;Graphviz is a marvellous format and language for visualizing graph structures. The DOT notation gives you a lot out of the box, making it flexible enough for even the most demanding use cases. You can find plenty of examples here: &lt;a href=&#34;https://graphviz.org/gallery/&#34;&gt;https://graphviz.org/gallery/&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;To work with Graphviz from Rust, I created and use an integration library that strictly adheres to the DOT language by mirroring its structures in Rust code: &lt;a href=&#34;https://crates.io/crates/graphviz-rust&#34;&gt;https://crates.io/crates/graphviz-rust&lt;/a&gt;&lt;/p&gt;</description>
			</item>
	</channel>
</rss>
