Building a Semantic Search API with MySQL Vector Search, Oracle Cloud, and an NBA Kaggle Dataset

Semantic search enables users to ask for “a 3-and-D wing who can guard multiple positions” (as described in The Kings Beat article) and retrieve the correct NBA players, rather than simply a keyword match on “3,” “wing,” or “defense.” By combining MySQL Vector Search, Oracle Cloud’s Generative AI Embeddings, and a real NBA dataset from Kaggle, you can build a powerful natural-language search API that understands the meaning behind a query.As I love sports, I think this would be a great demonstration. In this tutorial, you’ll build: We’ll use the…

Implementing the Model Context Protocol (MCP) in Oracle Database 26ai

As applications using AI evolve, databases are no longer just data stores since they are becoming intelligent endpoints that can interact directly with large language models (LLMs) and AI agents. The Model Context Protocol (MCP) is the key standard that makes this possible: it provides a uniform way for AI agents to query, reason, and act on data sources such as relational databases. In this post, I will walk through two practical implementations of MCP: Finally, we will take a look at a concise rundown of what changed from Oracle…

Fixing “Streamlit Requires Raw Python (.py) Files” When Running .ipynb Notebooks

If you’re building a data app using Streamlit inside a Jupyter Notebook environment and run into mysterious errors or warnings—you’re not alone. Here’s a quick guide on two common issues and how to fix them. Error: Streamlit requires raw Python (.py) files, not .ipynb. Fix: Convert .ipynb to .py. by running the following in your terminal to convert your notebook to a proper Python script: This will create a file like: Once the .py script is ready and you launch it with: Streamlit will start serving your app and provide…

Hands-On Forensics: Analyzing Disk Images with The Sleuth Kit (TSK) on macOS

As part of my master’s thesis in Privacy, Information and Cybersecurity at Skövde University in Sweden, I’ve been exploring practical forensic analysis techniques using open-source tools. In an upcoming blog post, I’ll walk you through the installation and test analysis of The Sleuth Kit (TSK) on macOS—a powerful command-line toolkit widely used in digital forensics. This tutorial will guide you step-by-step through setting up TSK via Homebrew, then using it to conduct a forensic investigation on a disk image. You’ll learn how to identify partitions with mmls, list files within…

Minimal Working Test script for Oracle Generative AI using the cohere.command-text-v14

To verify that your Oracle Cloud Infrastructure (OCI) environment is correctly configured to use Generative AI services, it is essential to test API access, model permissions, and request formatting. The Python snippet below provides a minimal working example that sends a prompt to the cohere.command-text-v14 model using Oracle’s generateText endpoint. This test isolates the most common failure points—such as invalid compartment access, unsupported models, or malformed requests—and allows you to confirm that your OCI SDK and credentials are functioning correctly. If the script returns a generated response, you can integrate…