<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
    <title>@magcamit - artificial-intelligence</title>
    <subtitle>Researcher in Computational Trust, Privacy, Security and Artificial Intelligence</subtitle>
    <link rel="self" type="application/atom+xml" href="https://www.magcamit.com/tags/artificial-intelligence/atom.xml"/>
    <link rel="alternate" type="text/html" href="https://www.magcamit.com"/>
    <generator uri="https://www.getzola.org/">Zola</generator>
    <updated>2026-04-24T00:00:00+00:00</updated>
    <id>https://www.magcamit.com/tags/artificial-intelligence/atom.xml</id>
    <entry xml:lang="en">
        <title>Ollama Downloader in Rust (ODIR)</title>
        <published>2026-02-16T00:00:00+00:00</published>
        <updated>2026-04-24T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Michael Intal Magcamit
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://www.magcamit.com/projects/odir/"/>
        <id>https://www.magcamit.com/projects/odir/</id>
        
        <content type="html" xml:base="https://www.magcamit.com/projects/odir/">&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;anirbanbasu&#x2F;odir&quot; target=&quot;_blank&quot;&gt;&lt;button&gt;Code repository&lt;&#x2F;button&gt;&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;ollama.com&#x2F;&quot;&gt;Ollama&lt;&#x2F;a&gt; is an open-source tool that faciliates the user to download and run large language models (LLMs) such as Llama 3, Mistral, and Gemma on a local computer. It acts as a lightweight runtime and model manager, making it easy to use artificial intelligence (AI) models without relying on cloud services. It has the capability to run some models on the Ollama cloud too.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;a-bit-of-background&quot;&gt;A bit of background&lt;a class=&quot;post-anchor&quot; href=&quot;#a-bit-of-background&quot; aria-label=&quot;Anchor link for: a-bit-of-background&quot;&gt;&lt;span aria-hidden=&quot;true&quot;&gt;#&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h2&gt;
&lt;section class=&quot;alert info&quot; role=&quot;note&quot; aria-labelledby=&quot;ZwHwx4Yv&quot;&gt;
    &lt;div class=&quot;alert-icon alert-icon-info&quot;&gt;&lt;&#x2F;div&gt;
    &lt;div class=&quot;alert-content&quot; role=&quot;presentation&quot;&gt;
        &lt;strong id=&quot;ZwHwx4Yv&quot; class=&quot;alert-title&quot; aria-hidden=&quot;true&quot;&gt;TLDR; want to install ODIR right away!&lt;&#x2F;strong&gt;
        &lt;p&gt;If you have the &lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;rust-lang.org&#x2F;tools&#x2F;install&#x2F;&quot;&gt;Rust toolchain installed&lt;&#x2F;a&gt;, run the following command in your terminal to install ODIR.&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #F8F8F2; background-color: #272822;&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #A6E22E;&quot;&gt;cargo&lt;&#x2F;span&gt;&lt;span style=&quot;color: #E6DB74;&quot;&gt; install odir&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Alternatively, if you have &lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;brew.sh&#x2F;&quot;&gt;Homebrew&lt;&#x2F;a&gt; installed, you can run the following command to install ODIR.&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #F8F8F2; background-color: #272822;&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #A6E22E;&quot;&gt;brew&lt;&#x2F;span&gt;&lt;span style=&quot;color: #E6DB74;&quot;&gt; install anirbanbasu&#x2F;tap&#x2F;odir&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;&lt;details&gt;
&lt;summary&gt;Important notes&lt;&#x2F;summary&gt;
&lt;p&gt;ODIR is meant to work on Linux, including Windows Subsystem for Linux (WSL), and macOS. It may also work on Windows but there are no guarantees.&lt;&#x2F;p&gt;
&lt;p&gt;Always check the project&#x27;s GitHub repository for the latest installation instructions and updates.&lt;&#x2F;p&gt;
&lt;&#x2F;details&gt;
    &lt;&#x2F;div&gt;
&lt;&#x2F;section&gt;
&lt;p&gt;While &lt;code&gt;ollama pull &amp;lt;model:tag&amp;gt;&lt;&#x2F;code&gt; mostly works, there is a documented problem, see &lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;ollama&#x2F;ollama&#x2F;issues&#x2F;941&quot;&gt;issue 941&lt;&#x2F;a&gt;. The crux of the problem is that Ollama fails to pull a model with an error message as follows.&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;code&gt;Error: digest mismatch, file must be downloaded again: want sha256:1a640cd4d69a5260bcc807a531f82ddb3890ebf49bc2a323e60a9290547135c1, got sha256:5eef5d8ec5ce977b74f91524c0002f9a7adeb61606cdbdad6460e25d58d0f454&lt;&#x2F;code&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;This is particularly frequent on corporate networks, which typically have man-in-the-middle (MITM) proxies for HTTPS traffic with self-signed certificates.&lt;&#x2F;p&gt;
&lt;p&gt;My solution in August 2025 was to write a command-line tool in Python that downloads the model file directly from the registry, bypassing Ollama&#x27;s own method of downloading. This led to the &lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;anirbanbasu&#x2F;ollama-downloader&quot;&gt;Ollama Downloader&lt;&#x2F;a&gt; project. In February 2026, I wanted to port it in Rust for better performance and support more features, such as parallel downloads and resume capability. This led to the creation of Ollama Downloader in Rust or ODIR, pronounced as &lt;em&gt;oh dear&lt;&#x2F;em&gt;!&lt;&#x2F;p&gt;
&lt;h2 id=&quot;more-information&quot;&gt;More information&lt;a class=&quot;post-anchor&quot; href=&quot;#more-information&quot; aria-label=&quot;Anchor link for: more-information&quot;&gt;&lt;span aria-hidden=&quot;true&quot;&gt;#&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h2&gt;
&lt;p&gt;You can find the following links related to the ODIR project.&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;anirbanbasu&#x2F;odir&quot; target=&quot;_blank&quot;&gt;GitHub repository&lt;&#x2F;a&gt; for the Ollama Downloader in Rust (ODIR) project.&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;crates.io&#x2F;crates&#x2F;odir&quot; target=&quot;_blank&quot;&gt;Rust crate on Crates.io&lt;&#x2F;a&gt; for ODIR.&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;anirbanbasu&#x2F;ollama-downloader&quot; target=&quot;_blank&quot;&gt;GitHub repository&lt;&#x2F;a&gt; of the original Python Ollama Downloader project, &lt;em&gt;now deprecated&lt;&#x2F;em&gt;.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Frankfurter MCP</title>
        <published>2025-06-07T00:00:00+00:00</published>
        <updated>2026-04-24T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Michael Intal Magcamit
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://www.magcamit.com/projects/frankfurtermcp/"/>
        <id>https://www.magcamit.com/projects/frankfurtermcp/</id>
        
        <content type="html" xml:base="https://www.magcamit.com/projects/frankfurtermcp/">&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;anirbanbasu&#x2F;frankfurtermcp&quot; target=&quot;_blank&quot;&gt;&lt;button&gt;Code repository&lt;&#x2F;button&gt;&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;frankfurter.dev&#x2F;&quot;&gt;Frankfurter&lt;&#x2F;a&gt; is a useful API for latest currency exchange rates, historical data, or time series published by sources such as the European Central Bank (ECB).&lt;&#x2F;p&gt;
&lt;p&gt;Around mid-2025, I made the Frankfurter MCP project in Python utilising &lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;gofastmcp.com&#x2F;&quot;&gt;FastMCP&lt;&#x2F;a&gt;. It exposes tools for fiat currency rates and conversions over the Model Context Protocol (MCP). It allows you to easily integrate currency exchange functionality into your LLM-based applications.&lt;&#x2F;p&gt;
&lt;p&gt;You can find the following links related to the Frankfurter MCP project.&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;anirbanbasu&#x2F;frankfurtermcp&quot; target=&quot;_blank&quot;&gt;GitHub repository&lt;&#x2F;a&gt; for the Frankfurter MCP project.&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;pypi.org&#x2F;project&#x2F;frankfurtermcp&#x2F;&quot; target=&quot;_blank&quot;&gt;PyPI package&lt;&#x2F;a&gt; for the Frankfurter MCP project.&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;frankfurtermcp.fastmcp.app&#x2F;mcp&quot; target=&quot;_blank&quot;&gt;Cloud-based&lt;&#x2F;a&gt; Frankfurter MCP, hosted by the FastMCP cloud.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
</content>
        
    </entry>
</feed>
