<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title>All Posts -</title><link>/posts/</link><description>All Posts |</description><generator>Hugo -- gohugo.io</generator><language>en</language><lastBuildDate>Fri, 20 Feb 2026 00:00:00 +0000</lastBuildDate><atom:link href="/posts/" rel="self" type="application/rss+xml"/><item><title>Upgrading to llama.cpp</title><link>/2026/02/upgrading-to-llama.cpp/</link><pubDate>Fri, 20 Feb 2026 00:00:00 +0000</pubDate><author>Nick Neisen</author><guid>/2026/02/upgrading-to-llama.cpp/</guid><description><![CDATA[<h2 id="the-first-time-i-tried-llamacpp">The first time I tried llama.cpp</h2>
<p>llama.cpp was one of the first inference servers available for running an LLM model. At the time, I wasn&rsquo;t super impressed with AI but they were better than the old fashioned auto complete. I didn&rsquo;t think a subscription was worth paying for but if I could run my own, i&rsquo;d take it.</p>
<p>When I first got to the llama.cpp repo on github, running it still required compiling it from source code. Annoying but it wasn&rsquo;t the end of the world. What actually stopped me was that there wasn&rsquo;t something like hugging face available to pull models from. The models that were around were the hundreds of billion parameter versions or I could write code to create my own from training data.</p>]]></description></item><item><title>Setting up Ollama server with Open WebUI</title><link>/2025/12/setting-up-ollama-with-open-webui/</link><pubDate>Sat, 20 Dec 2025 00:00:00 +0000</pubDate><author>Nick Neisen</author><guid>/2025/12/setting-up-ollama-with-open-webui/</guid><description><![CDATA[<p>Ollama is a powerful AI model serving platform that makes it easy to run large language models locally. In this post, we&rsquo;ll walk through setting up Ollama with Open WebUI in a Docker containerized environment, including GPU acceleration support. Visit <a href="https://ollama.com/" target="_blank" rel="noopener noreffer ">Ollama&rsquo;s website</a> for more information.</p>
<h2 id="what-is-ollama">What is Ollama?</h2>
<p>Ollama is an AI platform that provides an easy way to run large language models locally. It offers:</p>
<ul>
<li>Easy model management</li>
<li>GPU acceleration support</li>
<li>A clean API for model interactions</li>
<li>Containerized deployment</li>
</ul>
<h2 id="what-is-open-webui">What is Open WebUI?</h2>
<p>Open WebUI provides a web-based interface for interacting with Ollama models, making it easy to use AI models without needing to write code or deal with complex command-line interfaces. Visit the <a href="https://github.com/open-webui/open-webui" target="_blank" rel="noopener noreffer ">Open WebUI GitHub repository</a> for more information.</p>]]></description></item><item><title>Setting up Ollama server with Open WebUI</title><link>/2025/12/setting-up-ollama-with-open-webui/</link><pubDate>Sat, 20 Dec 2025 00:00:00 +0000</pubDate><author>Nick Neisen</author><guid>/2025/12/setting-up-ollama-with-open-webui/</guid><description><![CDATA[<p>Ollama is a powerful AI model serving platform that makes it easy to run large language models locally. In this post, we&rsquo;ll walk through setting up Ollama with Open WebUI in a Docker containerized environment, including GPU acceleration support. Visit <a href="https://ollama.com/" target="_blank" rel="noopener noreffer ">Ollama&rsquo;s website</a> for more information.</p>
<h2 id="what-is-ollama">What is Ollama?</h2>
<p>Ollama is an AI platform that provides an easy way to run large language models locally. It offers:</p>
<ul>
<li>Easy model management</li>
<li>GPU acceleration support</li>
<li>A clean API for model interactions</li>
<li>Containerized deployment</li>
</ul>
<h2 id="what-is-open-webui">What is Open WebUI?</h2>
<p>Open WebUI provides a web-based interface for interacting with Ollama models, making it easy to use AI models without needing to write code or deal with complex command-line interfaces. Visit the <a href="https://github.com/open-webui/open-webui" target="_blank" rel="noopener noreffer ">Open WebUI GitHub repository</a> for more information.</p>]]></description></item><item><title>Running Dex With Docker Compose</title><link>/2024/07/running-dex-with-docker-compose/</link><pubDate>Wed, 10 Jul 2024 00:00:00 +0000</pubDate><author>Nick Neisen</author><guid>/2024/07/running-dex-with-docker-compose/</guid><description><![CDATA[<p>I previously wrote on how to run Dex using docker. In this article, I will create nearly the same setup using docker-compose. This will allow you to run, stop, and restart the setup from a central location.</p>
<!-- more -->
<h2 id="setting-up-the-docker-compose-file">Setting up the docker-compose file</h2>
<p>You&rsquo;ll want to make sure that you have the same Dex config file from the previous article but with one small change. The <code>issuer</code> field should be changed to <code>http://dex:5556/dex</code> to match the service name that will be used in the docker-compose file. If the <code>issuer</code> field is not changed, the example app will try to find Dex within the container it is running in and will not be able to reach it. Changing it to <code>http://dex:5556/dex</code> will allow the example app to reach Dex through the network that docker-compose creates.</p>]]></description></item><item><title>Running Dex with Docker</title><link>/2024/07/running-dex-with-docker/</link><pubDate>Fri, 05 Jul 2024 00:00:00 +0000</pubDate><author>Nick Neisen</author><guid>/2024/07/running-dex-with-docker/</guid><description>&lt;p>Dex is a tool created to make setting up and managing authentication methods easy. It is a single sign-on and identity management tool that can be used to authenticate users against a variety of backends. It is a great tool to use when you want to add authentication to your application without having to worry about managing the users yourself but still gives you the option if you want to. This post will show you how to run Dex locally to decide if it is the right tool for you. This does not cover how to integrate Dex into your application or integration with other authentication providers but I will cover that in a future article.&lt;/p></description></item><item><title>Setting Up archer t6e on ubuntu server</title><link>/2023/01/setting-up-archer-t6e-on-ubuntu-server/</link><pubDate>Mon, 09 Jan 2023 00:00:00 +0000</pubDate><author>Nick Neisen</author><guid>/2023/01/setting-up-archer-t6e-on-ubuntu-server/</guid><description><![CDATA[<h2 id="installing-the-driver">Installing the driver</h2>
<div class="code-block code-line-numbers open" style="counter-reset: code-block 0">
    <div class="code-header language-bash">
        <span class="code-title"><i class="arrow fas fa-angle-right" aria-hidden="true"></i></span>
        <span class="ellipses"><i class="fas fa-ellipsis-h" aria-hidden="true"></i></span>
        <span class="copy" title="Copy to clipboard"><i class="far fa-copy" aria-hidden="true"></i></span>
    </div><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">sudo apt install broadcom-sta-dkms</span></span></code></pre></div></div>
<h2 id="configuring-the-connection">Configuring the connection</h2>
<p>Open <code>/etc/netplan/00-installer-config-wifi.yaml</code> and make sure it has something like the following:</p>
<div class="code-block code-line-numbers open" style="counter-reset: code-block 0">
    <div class="code-header language-">
        <span class="code-title"><i class="arrow fas fa-angle-right" aria-hidden="true"></i></span>
        <span class="ellipses"><i class="fas fa-ellipsis-h" aria-hidden="true"></i></span>
        <span class="copy" title="Copy to clipboard"><i class="far fa-copy" aria-hidden="true"></i></span>
    </div><pre tabindex="0"><code># This is the network config written by &#39;subiquity&#39;
network:
  version: 2
  wifis:
    wlp6s0:  # The network found with `ls /sys/class/net`
      access-points:
        {SSID}: # SSID
          password: {Password} # Password
      dhcp4: true</code></pre></div>
<p>Close the file and run</p>]]></description></item><item><title>Setting up a proxy with NGINX</title><link>/2022/02/setting-up-a-proxy-with-nginx/</link><pubDate>Tue, 15 Feb 2022 00:00:00 +0000</pubDate><author>Nick Neisen</author><guid>/2022/02/setting-up-a-proxy-with-nginx/</guid><description><![CDATA[<h1 id="what-is-a-proxy">What is a proxy?</h1>
<p>In its simplest form, a proxy is a server that listens for requests and redirects them to other servers. This allows multiple servers to run on the same system but still receive their requests, such as the case with many large hosting servers today. Requests are redirected depending on how they were made to the machine such as the URL that was used.</p>
<p>Proxies can also provide other benefits such as distributing traffic among multiple instances of the same web server, formatting the requests such as adding additional headers, filtering requests, or adding an additional security layer.</p>]]></description></item><item><title>System monitoring with the TICK stack</title><link>/2022/02/system-monitoring-with-the-tick-stack/</link><pubDate>Tue, 15 Feb 2022 00:00:00 +0000</pubDate><author>Nick Neisen</author><guid>/2022/02/system-monitoring-with-the-tick-stack/</guid><description><![CDATA[<h1 id="time-series-database">Time series database</h1>
<p>A time series database is a type of database that is optimized for storing data based on time stamped data. This method of storing data is useful in situations where values need to be monitored for change over time. While any database could be used to store this information, time series databases are time stamp aware which leading to improved organization and query speeds.</p>
<p>Time series databases have come up more in recent times due to the increase in the number of internet connected devices. Sensors can now be found throughout households, cities, and businesses. The measurements from these devices is usually precise with a frequent sample rate. A time series database is also able to aggregate this data so that large amounts of data can be removed by still keeping a summary of the samples.</p>]]></description></item><item><title>Creating a local DNS with CoreDNS</title><link>/2022/02/creating-a-local-dns-with-coredns/</link><pubDate>Sat, 12 Feb 2022 00:00:00 +0000</pubDate><author>Nick Neisen</author><guid>/2022/02/creating-a-local-dns-with-coredns/</guid><description>&lt;h1 id="what-is-a-domain-name-system">What is a Domain Name System?&lt;/h1>
&lt;p>A Domain Name System (DNS) acts like the the phone book of the internet. When we enter a URL in our browser, it sends the URL to a DNS server to look up the actual IP address. Many times a DNS server will not know the IP address of the URL and it will have to forward it on to additional DNS servers. The next server to ask is determined by reading the URL from right to left. Each section of the URL is referred to as a zone and the remainder of the URL is forwarded on to the next zone.&lt;/p></description></item><item><title>Building Yocto for a Beagle Bone Black</title><link>/2020/07/creating-an-esp8266-based-wireless-thermometer/</link><pubDate>Tue, 07 Jul 2020 00:00:00 +0000</pubDate><author>Nick Neisen</author><guid>/2020/07/creating-an-esp8266-based-wireless-thermometer/</guid><description><![CDATA[<p>Install the needed dependencies to build Yocto:
<code>apt install build-essential chrpath diffstat gawk libncurses5-dev python3-distutils texinfo</code></p>
<p>Create a folder to hold the different Yocto layers
<code>mkdir yocto</code></p>
<p>Clone the dunfell version of Yocto:
<code>git clone -b dunfell git://git.yoctoproject.org/poky.git poky-dunfell</code></p>
<p>Clone the meta layers within the dunfell folder:
<code>cd poky-dunfell git clone -b dunfell git://git.openembedded.org/meta-openembedded git clone -b dunfell https://github.com/meta-qt5/meta-qt5.git git clone -b dunfell git://git.yoctoproject.org/meta-security.git</code></p>
<p>Clone the meta layer for the custom build recipes:
<code>git clone -b dunfell https://github.com/jumpnow/meta-jumpnow.git</code></p>]]></description></item></channel></rss>