<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title>Hedgehog AI</title><id>https://hedgehogai.codeberg.page/feed.xml</id><subtitle>Recent Posts</subtitle><updated>2025-12-12T19:13:41Z</updated><link href="https://hedgehogai.codeberg.page/feed.xml" rel="self" /><link href="https://hedgehogai.codeberg.page" /><entry><title>my zed configuration</title><id>https://hedgehogai.codeberg.page/my-zed-configuration.html</id><author><name>hedgehog-ai</name><email>hedgehog-ai@use.startmail.com</email></author><updated>2025-12-04T11:11:00Z</updated><link href="https://hedgehogai.codeberg.page/my-zed-configuration.html" rel="alternate" /><content type="html">&lt;blockquote&gt;&lt;p&gt;“You can’t delegate thinking...”  — Charles Duhigg&lt;/p&gt;&lt;/blockquote&gt;&lt;h1&gt;zed&lt;/h1&gt;&lt;p&gt;&lt;a href=&quot;https://zed.dev/&quot;&gt;zed&lt;/a&gt; is a nice editor with crisp fonts, I use the github dark theme. The built in terminal is fast. However when you first install it enables AI, auto-completion and other helpful features that I don't want.&lt;/p&gt;&lt;h1&gt;My zed configuration&lt;/h1&gt;&lt;p&gt;This is a way to globally turn off these features.&lt;/p&gt;&lt;p&gt;~/.config/zed/settings.json&lt;/p&gt;&lt;pre&gt;&lt;code&gt;{
  &amp;quot;disable_ai&amp;quot;: true,
  &amp;quot;show_completions_on_input&amp;quot;: false,
  &amp;quot;show_edit_predictions&amp;quot;: false,
  &amp;quot;disable_ai&amp;quot;: true,
  &amp;quot;format_on_save&amp;quot;: &amp;quot;off&amp;quot;,
  &amp;quot;theme&amp;quot;: {
    &amp;quot;mode&amp;quot;: &amp;quot;dark&amp;quot;,
    &amp;quot;light&amp;quot;: &amp;quot;Ayu Light&amp;quot;,
    &amp;quot;dark&amp;quot;: &amp;quot;GitHub Dark Default&amp;quot;
  }
}&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Turning &amp;quot;format_on_save&amp;quot; off is essential for elixir development. By default zed will remove the semi-colons from the start of atoms whenever you save a file 😱!&lt;/p&gt;</content></entry><entry><title>elixir koans</title><id>https://hedgehogai.codeberg.page/elixir-koans.html</id><author><name>hedgehog-ai</name><email>hedgehog-ai@use.startmail.com</email></author><updated>2025-12-02T09:00:00Z</updated><link href="https://hedgehogai.codeberg.page/elixir-koans.html" rel="alternate" /><content type="html">&lt;p&gt;Koans are a great way to practice test driven skills and learn by doing. &lt;a href=&quot;https://github.com/elixirkoans/elixir-koans&quot;&gt;elixir-koans&lt;/a&gt; is a nice repo to learn Elixir syntax by getting tests to pass. You can try doing 10 minutes a day or solve them all in one go if your that way inclined 💪.&lt;/p&gt;&lt;h1&gt;Install&lt;/h1&gt;&lt;pre&gt;&lt;code&gt;git clone https://github.com/elixirkoans/elixir-koans
cd elixir-koans
mix deps.get&lt;/code&gt;&lt;/pre&gt;&lt;h1&gt;Launch the koans&lt;/h1&gt;&lt;pre&gt;&lt;code&gt;mix meditate&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;You can leave this command running and fix the tests one by one. When you save the files it will re-run the tests and show you your progress.&lt;/p&gt;&lt;h1&gt;An example&lt;/h1&gt;&lt;p&gt;Just as an example I'll give you a solutions to show you... hitch hikers guide to the galaxy reference.&lt;/p&gt;&lt;pre&gt;&lt;code class=&quot;language-elixir&quot;&gt;koan &amp;quot;The meaning of life in hexadecimal is 2A!&amp;quot; do
  assert Integer.parse(&amp;quot;2A&amp;quot;, 16) == {42, &amp;quot;&amp;quot;}
end&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;And remember: don't panic!&lt;/p&gt;</content></entry><entry><title>fixing the guile repl on mac</title><id>https://hedgehogai.codeberg.page/fixing-the-guile-repl-on-mac.html</id><author><name>hedgehog-ai</name><email>hedgehog-ai@use.startmail.com</email></author><updated>2025-11-25T04:00:00Z</updated><link href="https://hedgehogai.codeberg.page/fixing-the-guile-repl-on-mac.html" rel="alternate" /><content type="html">&lt;p&gt;I wanted to play around with &lt;a href=&quot;https://www.gnu.org/software/guile/&quot;&gt;guile&lt;/a&gt; a scheme dialect from the GNU &lt;a href=&quot;https://guix.gnu.org/&quot;&gt;guix&lt;/a&gt; project on a mac.&lt;/p&gt;&lt;h2&gt;Install&lt;/h2&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;brew install guile&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Only to launch the repl and get this annoying behaviour when pressing the up or down arrows when you expect to see the last command you have run...&lt;/p&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;^[[A^[[A&lt;/code&gt;&lt;/pre&gt;&lt;h2&gt;Fix: rlwrap&lt;/h2&gt;&lt;p&gt;The fix for this is to wrap guile in rlwrap:&lt;/p&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot;&gt;# Install rlwrap
brew install rlwrap

# Run Guile with readline support
rlwrap guile

# Or create an alias in ~/.zshrc:
echo 'alias guile=&amp;quot;rlwrap guile&amp;quot;' &amp;gt;&amp;gt; ~/.zshrc
source ~/.zshrc&lt;/code&gt;&lt;/pre&gt;</content></entry></feed>