<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>ICODEALOT</title>
    <link>https://icodealot.com</link>
    <description>Technical blog about code and software engineering</description>
    <language>en-us</language>
    <lastBuildDate>Tue, 30 Jun 2026 12:31:25 -0500</lastBuildDate>
    <item>
      <title>Automate SQL Report Deployments Like a Pro</title>
      <link>https://icodealot.com/posts/automate-sql-report-deployments-like-a-pro/</link>
      <description>In this post I will show you how to automate the creation and deployment of Database Tools SQL reports in the cloud like a CI/CD pro. You will learn how you can use Terraform to manage changes to these OCI resources.</description>
      <author>Justin Biard</author>
      <pubDate>Mon, 29 Jun 2026 07:00:00 -0500</pubDate>
      <guid>https://icodealot.com/posts/automate-sql-report-deployments-like-a-pro/</guid>
    </item>
    <item>
      <title>Build Relational Guardrails for Agents with SQL Reports</title>
      <link>https://icodealot.com/posts/build-relational-guardrails-for-agents-with-sql-reports/</link>
      <description>In this post we will look at one approach to bringing constraints to AI agents that interact with a database running in the cloud. We will take on the role of an MCP server administrator or developer and look at recommended practices for creating SQL reports that give agents precise APIs to run.</description>
      <author>Justin Biard</author>
      <pubDate>Sat, 27 Jun 2026 08:15:00 -0500</pubDate>
      <guid>https://icodealot.com/posts/build-relational-guardrails-for-agents-with-sql-reports/</guid>
    </item>
    <item>
      <title>Creating Your First Custom SQL Tools for MCP</title>
      <link>https://icodealot.com/posts/creating-your-first-custom-sql-tools-for-mcp/</link>
      <description>In this post we look at creating your first custom SQL tools with the OCI Database Tools MCP server. This tutorial assumes you already have an MCP server and that you are ready to create your first custom tool.</description>
      <author>Justin Biard</author>
      <pubDate>Mon, 22 Jun 2026 18:00:00 -0500</pubDate>
      <guid>https://icodealot.com/posts/creating-your-first-custom-sql-tools-for-mcp/</guid>
    </item>
    <item>
      <title>Build Tools That Speak to Data in OCI</title>
      <link>https://icodealot.com/posts/build-tools-that-speak-to-data-in-oci/</link>
      <description>This post will help you use the OCI Database Tools Runtime Python SDK to build tools that can speak to databases in OCI by executing SQL statements using connections and converting the result-set to a Pandas DataFrame object.</description>
      <author>Justin Biard</author>
      <pubDate>Sat, 13 Jun 2026 09:22:48 -0500</pubDate>
      <guid>https://icodealot.com/posts/build-tools-that-speak-to-data-in-oci/</guid>
    </item>
    <item>
      <title>Make SQL RESTful with OCI Database Tools Runtime</title>
      <link>https://icodealot.com/posts/make-sql-restful-with-oci-database-tools-runtime/</link>
      <description>In 2026 the Database Tools service introduced a new data plane called Database Tools Runtime supported by all the standard OCI interfaces such as the OCI CLI, SDK, and Terraform provider. This is an introduction to the new data plane with some examples of executing statements against databases in the cloud.</description>
      <author>Justin Biard</author>
      <pubDate>Sat, 06 Jun 2026 07:00:00 +0000</pubDate>
      <guid>https://icodealot.com/posts/make-sql-restful-with-oci-database-tools-runtime/</guid>
    </item>
    <item>
      <title>How To Customize Tool Access Using Roles in Database Tools MCP Servers</title>
      <link>https://icodealot.com/posts/how-to-customize-tools-using-roles-in-database-tools-mcp-servers/</link>
      <description>The Database Tools MCP server supports role-based access control for tools which allows for users or groups to be granted access to only specific MCP tools. In this example we will look at one way to configure tools with IDCS application roles and what the end-user might see once configured.</description>
      <author>Justin Biard</author>
      <pubDate>Wed, 27 May 2026 18:34:52 -0500</pubDate>
      <guid>https://icodealot.com/posts/how-to-customize-tools-using-roles-in-database-tools-mcp-servers/</guid>
    </item>
    <item>
      <title>Give Oracle Database access to OCI with Database Tools Identity</title>
      <link>https://icodealot.com/posts/give-oracle-database-access-to-oci-with-database-tools-identity/</link>
      <description>You can use a Database Tools identity in Oracle Cloud Infrastructure (OCI) to give Oracle Databases access to OCI resources through something called a &#34;resource principal&#34;. There are a few configuration requirements and the use case is interesting in general, so let&#39;s check it out!</description>
      <author>Justin Biard</author>
      <pubDate>Wed, 29 Oct 2025 00:00:00 +0000</pubDate>
      <guid>https://icodealot.com/posts/give-oracle-database-access-to-oci-with-database-tools-identity/</guid>
    </item>
    <item>
      <title>Tracing Interface Calls by Decorating Objects with a Proxy Object in Java</title>
      <link>https://icodealot.com/posts/tracing-interface-calls-by-decorating-objects-with-a-proxy-object-in-java/</link>
      <description>You take an instance of some type and decorate it with additional responsibilities at runtime. The decorator acts like a proxy for the instance, forwarding or augmenting requests sent to methods along the way.</description>
      <author>Justin Biard</author>
      <pubDate>Sun, 25 May 2025 17:30:00 +0000</pubDate>
      <guid>https://icodealot.com/posts/tracing-interface-calls-by-decorating-objects-with-a-proxy-object-in-java/</guid>
    </item>
    <item>
      <title>Oracle JDBC Config Provider for OCI Database Tools Service</title>
      <link>https://icodealot.com/posts/oracle-jdbc-config-provider-for-oci-database-tools-service/</link>
      <description>With Oracle&#39;s Java Database Connectivity (JDBC) driver starting with 23ai it is now possible to provide the configuration of a connection to Oracle Database using the opaque identifier of a Database Tools connection.</description>
      <author>Justin Biard</author>
      <pubDate>Sun, 25 May 2025 13:30:00 +0000</pubDate>
      <guid>https://icodealot.com/posts/oracle-jdbc-config-provider-for-oci-database-tools-service/</guid>
    </item>
    <item>
      <title>So you need an MCP tool, now what?</title>
      <link>https://icodealot.com/posts/so-you-need-an-mcp-tool-now-what/</link>
      <description>tl/dr: Model Context Protocol (MCP) is a light-weight protocol that attempts to address a specific problem of how to allow 3rd parties (you, me, or anyone) to provide relevant prompts or context to a large language model (LLM) and to allow AI clients to complete well-defined tasks.</description>
      <author>Justin Biard</author>
      <pubDate>Sun, 06 Apr 2025 02:00:00 +0000</pubDate>
      <guid>https://icodealot.com/posts/so-you-need-an-mcp-tool-now-what/</guid>
    </item>
    <item>
      <title>Use OCI Terraform Providers to Create Secrets in a Vault</title>
      <link>https://icodealot.com/posts/use-oci-terraform-providers-to-create-secrets-in-a-vault/</link>
      <description>In the past few posts I looked at using the Oracle Cloud Infrastructure (OCI) services related to creating database connections in the cloud. Here I want to show how you can build on that by creating secrets in a vault using the OCI provider.</description>
      <author>Justin Biard</author>
      <pubDate>Sat, 01 Mar 2025 17:55:46 +0000</pubDate>
      <guid>https://icodealot.com/posts/use-oci-terraform-providers-to-create-secrets-in-a-vault/</guid>
    </item>
    <item>
      <title>Create Database Tools Connections With Terraform</title>
      <link>https://icodealot.com/posts/create-database-tools-connection-with-terraform/</link>
      <description>In this post we will look at setting up a Database Tools connection resource in Oracle Cloud Infrastructure (OCI) using the OCI Terraform provider. Database Tools connections in OCI are first-class resources just like other cloud primitives such as virtual cloud networks (VCN), compute instances, or databases.</description>
      <author>Justin Biard</author>
      <pubDate>Fri, 31 Jan 2025 02:30:00 +0000</pubDate>
      <guid>https://icodealot.com/posts/create-database-tools-connection-with-terraform/</guid>
    </item>
    <item>
      <title>Setup OCI DBTools Connections with an ADB Access Control List</title>
      <link>https://icodealot.com/posts/dbtools-connections-with-adb-access-control-list/</link>
      <description>TL/DR: To use OCI Database Tools (DBTools) Connections to connect to ADB with a public IP and access control list (ACL), DBTools requires the use of a DBTools Private Endpoint (PE).</description>
      <author>Justin Biard</author>
      <pubDate>Wed, 12 Jun 2024 01:00:00 +0000</pubDate>
      <guid>https://icodealot.com/posts/dbtools-connections-with-adb-access-control-list/</guid>
    </item>
    <item>
      <title>Database Tools Connections</title>
      <link>https://icodealot.com/posts/database-tools-connections/</link>
      <description>TL/DR: if you are an Oracle Cloud Infrastructure (OCI) customer running Oracle Database or MySQL in OCI, use Database Tools (DBTools) private endpoints and connections to simplify database access in the cloud.</description>
      <author>Justin Biard</author>
      <pubDate>Sun, 09 Jun 2024 14:00:00 +0000</pubDate>
      <guid>https://icodealot.com/posts/database-tools-connections/</guid>
    </item>
    <item>
      <title>Modern Switch in Java</title>
      <link>https://icodealot.com/posts/modern-switch-in-java/</link>
      <description>Whether we are learning to program in an object-oriented language (such as Java) or one where code executes logically from top to bottom, decisions need to be made about what happens next. We can call this branching.</description>
      <author>Justin Biard</author>
      <pubDate>Wed, 27 Apr 2022 20:27:37 +0000</pubDate>
      <guid>https://icodealot.com/posts/modern-switch-in-java/</guid>
    </item>
    <item>
      <title>Hello World Server in Go</title>
      <link>https://icodealot.com/posts/hello-world-server-in-go/</link>
      <description>Howdy! I&#39;m diving back into Go (golang) for selfish reasons and, in my own time, learning about how Go modules help deal with Hypertext Transfer Protocol (HTTP). Before getting into HTTP in Go, I started with plain old Transmission Control Protocol (TCP) sockets.</description>
      <author>Justin Biard</author>
      <pubDate>Fri, 13 Aug 2021 18:31:44 +0000</pubDate>
      <guid>https://icodealot.com/posts/hello-world-server-in-go/</guid>
    </item>
    <item>
      <title>Exporting Basic SVGs From Photoshop</title>
      <link>https://icodealot.com/posts/export-basic-shapes-as-svg-from-photoshop/</link>
      <description>For simple tasks, like mocking up SVG icons to embed inline on a web page, I don&#39;t always want to break out Illustrator, setup a canvas and fiddle with curves. If I am already in Photoshop switching applications takes time and mental energy.</description>
      <author>Justin Biard</author>
      <pubDate>Thu, 03 Dec 2020 00:00:00 +0000</pubDate>
      <guid>https://icodealot.com/posts/export-basic-shapes-as-svg-from-photoshop/</guid>
    </item>
    <item>
      <title>About older posts</title>
      <link>https://icodealot.com/posts/technical-debt-and-contextually-correct-examples/</link>
      <description>The past few years have been a period of significant recovery. One in which I have invested in my family and myself. When I started writing &#34;way back when,&#34; I figured, &#34;Just write about the stuff you find interesting and see what sticks.&#34;</description>
      <author>Justin Biard</author>
      <pubDate>Tue, 01 Dec 2020 22:19:41 +0000</pubDate>
      <guid>https://icodealot.com/posts/technical-debt-and-contextually-correct-examples/</guid>
    </item>
    <item>
      <title>Update Knockout.js View Models in JavaFX WebViews from Nashorn</title>
      <link>https://icodealot.com/posts/update-knockout-js-viewmodels-from-nashorn/</link>
      <description>Learn about updating Knockout.js models from Nashorn / JavaFX which is a challenge because the Model and Controller code are not running within the browser.</description>
      <author>Justin Biard</author>
      <pubDate>Sat, 16 Sep 2017 02:24:28 +0000</pubDate>
      <guid>https://icodealot.com/posts/update-knockout-js-viewmodels-from-nashorn/</guid>
    </item>
    <item>
      <title>Preview of Charting in SQLcl via Oracle JET, Nashorn and JavaFX</title>
      <link>https://icodealot.com/posts/preview-of-charting-in-sqlcl-via-oracle-jet/</link>
      <description>This is an example of connecting SQLcl and Oracle JET using the Nashorn scripting engine. Oracle JET application templates are deployed behind the scenes and data is loaded interactively from SQLcl sessions.</description>
      <author>Justin Biard</author>
      <pubDate>Wed, 13 Sep 2017 22:57:36 +0000</pubDate>
      <guid>https://icodealot.com/posts/preview-of-charting-in-sqlcl-via-oracle-jet/</guid>
    </item>
  </channel>
</rss>