<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Blog on www.benmarte.com</title><link>https://benmarte.com/blog/</link><description>Recent content in Blog on www.benmarte.com</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Mon, 16 Feb 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://benmarte.com/blog/index.xml" rel="self" type="application/rss+xml"/><item><title>How Are You Using AI to Improve Your Workflow?</title><link>https://benmarte.com/blog/how-are-you-using-ai-to-improve-your-workflow/</link><pubDate>Mon, 16 Feb 2026 00:00:00 +0000</pubDate><guid>https://benmarte.com/blog/how-are-you-using-ai-to-improve-your-workflow/</guid><description>&lt;p&gt;I&amp;rsquo;ll be honest, for the longest time I was using AI the same way everyone else was. Open a chat, paste some code, ask a question, copy the answer, move on. It worked, but it wasn&amp;rsquo;t exactly life-changing. I was basically using a Ferrari to go grocery shopping. &amp;#x1f643;&lt;/p&gt;&#10;&lt;p&gt;Then I discovered &lt;a href="https://docs.anthropic.com/en/docs/claude-code" target="_blank" rel="noopener"&gt;Claude Code&lt;/a&gt; and everything changed. Not overnight though, it took me months of trial and error, breaking things, getting frustrated, and slowly figuring out how to make it actually work the way I needed it to. What I ended up with is a setup that honestly feels less like a tool and more like having a team of developers sitting next to me. Let me walk you through how I got here.&lt;/p&gt;</description></item><item><title>How to run your own private AI assistant locally</title><link>https://benmarte.com/blog/how-to-run-your-own-ai-assistant/</link><pubDate>Wed, 13 Mar 2024 00:00:00 +0000</pubDate><guid>https://benmarte.com/blog/how-to-run-your-own-ai-assistant/</guid><description>&lt;p&gt;In this article we will discuss how to run your own AI assistant using &lt;a href="https://ollama.com/" target="_blank" rel="noopener"&gt;Ollama&lt;/a&gt; as the LLM (Large Language Model) and &lt;a href="https://chatboxai.app/" target="_blank" rel="noopener"&gt;Chatbox&lt;/a&gt; in order to have a desktop GUI (Graphical User Interface) for your assistant.&lt;/p&gt;&#10;&lt;h2 id="prerequisites"&gt;Prerequisites&lt;/h2&gt;&lt;ul&gt;&#10;&lt;li&gt;Install &lt;a href="https://ollama.com/" target="_blank" rel="noopener"&gt;Ollama&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Install &lt;a href="https://chatboxai.app/" target="_blank" rel="noopener"&gt;Chatbox&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="selecting-which-model-to-use"&gt;Selecting which model to use&lt;/h2&gt;&lt;p&gt;Once you have installed Ollama you need to select which &lt;a href="https://ollama.com/library" target="_blank" rel="noopener"&gt;model&lt;/a&gt; you want to use, there are many different models you can choose from for different types of tasks so feel free to explore the different models and select the one that suits your needs.&lt;/p&gt;</description></item><item><title>HMR in k8s with Tilt</title><link>https://benmarte.com/blog/hmr-in-k8s-with-tilt/</link><pubDate>Sun, 13 Aug 2023 00:00:00 +0000</pubDate><guid>https://benmarte.com/blog/hmr-in-k8s-with-tilt/</guid><description>&lt;p&gt;&lt;a href="https://kubernetes.io/" target="_blank" rel="noopener"&gt;Kubernetes&lt;/a&gt; is a great tool to deploy your applications quickly and reliably. However, no&#10;one seems to mention that it can break your development flow, especially if you use a&#10;framework like &lt;a href="https://react.dev/" target="_blank" rel="noopener"&gt;react&lt;/a&gt; or &lt;a href="https://nextjs.org/" target="_blank" rel="noopener"&gt;nextjs&lt;/a&gt;.&lt;/p&gt;&#10;&lt;p&gt;Challenges like runtime environment variables not being properly passed into your&#10;containers, covered in &lt;a href="https://benmarte.com/blog/nextjs-in-docker"&gt;this previous article&lt;/a&gt;, or the constant need to build, load, and set&#10;new pod images with every change to your code, which is what we will be discussing in&#10;this article.&lt;/p&gt;</description></item><item><title>NextJS in Docker</title><link>https://benmarte.com/blog/nextjs-in-docker/</link><pubDate>Sat, 25 Jun 2022 00:00:00 +0000</pubDate><guid>https://benmarte.com/blog/nextjs-in-docker/</guid><description>&lt;p&gt;Being a Full Stack R&amp;amp;D Developer at &lt;a href="https://goraft.tech" target="_blank" rel="noopener"&gt;Raft&lt;/a&gt; comes with a few interesting challenges to solve. In this blog post, we will discuss one of the latest problems my team and I ran into during the development of &lt;a href="https://datafabric.goraft.tech" target="_blank" rel="noopener"&gt;DataFabric&lt;/a&gt;.&lt;/p&gt;&#10;&lt;p&gt;DataFabric, is a pretty complex app that has integrations with many other apps (Datahub, Superset, Kafka, Trino to name a few) and cutting-edge technologies (Docker, Kubernetes, NextJS, and more). Integrating with these technologies and making them play nice with each other can sometimes lead to going down a rabbit hole that has no end in sight.&lt;/p&gt;</description></item><item><title>Hugo, S3, Cloudfront and Route 53, Oh My!</title><link>https://benmarte.com/blog/hugo-s3-cloudfront-and-route-53-oh-my/</link><pubDate>Sun, 06 Feb 2022 00:00:00 +0000</pubDate><guid>https://benmarte.com/blog/hugo-s3-cloudfront-and-route-53-oh-my/</guid><description>&lt;p&gt;After spending more time than necessary to get a &lt;a href="https://gohugo.io" target="_blank" rel="noopener"&gt;Hugo&lt;/a&gt; site working on &lt;a href="https://aws.amazon.com/" target="_blank" rel="noopener"&gt;AWS&lt;/a&gt; with &lt;a href="https://aws.amazon.com/cloudfront/" target="_blank" rel="noopener"&gt;Cloudfront&lt;/a&gt; I decided to write this blog post not just for the other poor souls running into this problem but also for myself because I tend to forget shit &amp;#x1f643;&lt;/p&gt;&#10;&lt;p&gt;Anyways, let&amp;rsquo;s cut to the chase it&amp;rsquo;s a Sunday and I should be getting drunk and the edible hasn&amp;rsquo;t kicked in yet &amp;#x1f60f;&lt;/p&gt;&#10;&lt;h2 id="the-problem"&gt;The Problem&lt;/h2&gt;&lt;p&gt;Hosting a static site on S3 is pretty straight forward. Upload your HTML files to your bucket, make the bucket public, and enable static website hosting. That is until you need to use a custom domain with an SSL certificate for your site, you&amp;rsquo;re already invested in the AWS ecosystem so you say I&amp;rsquo;ll just use cloudfront &amp;#x1f974; and so the pain begins.&lt;/p&gt;</description></item><item><title>Open EMR Backup and Restore Docker Procedure</title><link>https://benmarte.com/blog/openemr-backup-restore/</link><pubDate>Thu, 04 Mar 2021 00:00:00 +0000</pubDate><guid>https://benmarte.com/blog/openemr-backup-restore/</guid><description>&lt;p&gt;One of the most important things in development is disaster recovery, using Open EMR and being HIPAA compliant you must have a solid understanding on how to backup/restore your Open EMR instance because like Murphy says: &amp;ldquo;Anything that can go wrong will go wrong&amp;rdquo;. With that in mind I am going to show you today how-to backup/restore your Open EMR instance, if you use an Open EMR instance from the AWS Marketplace then this is for you.&lt;/p&gt;</description></item><item><title>How to use Open EMR v6 API Password Grant Flow</title><link>https://benmarte.com/blog/openemr-api-v6/</link><pubDate>Tue, 26 Jan 2021 00:00:00 +0000</pubDate><guid>https://benmarte.com/blog/openemr-api-v6/</guid><description>&lt;h2 id="pre-requisites"&gt;Pre-Requisites&lt;/h2&gt;&lt;ul&gt;&#10;&lt;li&gt;Open EMR v6 installed&lt;/li&gt;&#10;&lt;li&gt;Postman or an alternative tool/app to test API calls&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;After I upgraded my Open EMR instance without reading the changelog (never do this) and breaking my site (this is why) due to massive changes to the way their API works I had to then spend 4 days wrapping my brain around how the new API oauth2 flows work with Open EMR v6. Luckily my app is a POC and nothing to be concerned about it being broken so I had time to work on it, the following is what I learned in my 4 days trying to get Open EMR v6 API working with my React app using the Password Grant Flow.&lt;/p&gt;</description></item></channel></rss>