Skip to content

Blog

Cloudflare AI Crawl Control: Monitoring and Managing AI Crawlers

I run this blog, so I want to know which automated services request its pages and whether they follow my access rules. Some crawlers index pages for search. Others collect content for artificial intelligence (AI) training or retrieval, and a chatbot may answer a question without sending the reader to the source.

Cloudflare AI Crawl Control, formerly called AI Audit, reports AI crawler activity and lets site owners apply crawler-specific allow or block policies. This post explains the difference between monitoring, voluntary robots.txt rules, and enforcement at Cloudflare's edge.

AI Simplified - Decoding the Jargon

Terms such as prompt engineering, fine-tuning, retrieval-augmented generation (RAG), vector databases, and retrievers often appear together even though they solve different problems. Confusing them can lead to an unnecessarily complex or expensive design.

This post defines the five concepts in plain language, shows where each one fits, and compares the main trade-offs without assuming prior AI experience.

RAGify - Chat with Your Documents Using AI

Finding one answer in a long PDF, handbook, or policy manual can take several searches. A general-purpose chatbot cannot use a private document unless an application supplies the relevant text.

RAGify demonstrates retrieval-augmented generation (RAG): it finds passages related to a question and sends those passages to a language model as context. This post explains the indexing and query pipeline, along with the privacy boundary you must evaluate when choosing the model service.

Movie Recommendation Bot

Keyword search works well when you know a title, actor, or genre. It works less well for requests such as “a quiet film about starting over,” where the words may not appear in a movie's stored description.

This guide explains a recommendation bot that represents text as numerical vectors, retrieves similar movie descriptions from MongoDB Atlas, and uses GPT-2 to format the results in a Gradio interface.

Habit Tracker with PyGitGraph

Some habit-tracking apps keep records in a vendor-controlled database or limit data export. Without the raw log, you cannot easily calculate your own measures, such as monthly fasting averages or reading streaks.

This post uses GitHub Issues as the record store and PyGitGraph to export the history. GraphQL lets PyGitGraph request the required issue fields, while ordinary CSV and JSON files keep the resulting data available for your own analysis.

UEFA Euro Data Analysis

UEFA European Championship records contain decades of match results, goals, and yellow and red cards. Static tables make it difficult to compare those patterns across teams and tournaments.

This post introduces an interactive dashboard I built with Python, Streamlit, and Plotly. It lets readers filter the tournament data and inspect changes without manually combining the underlying match records.

Emotion Detection App

Sentiment analysis often labels text as positive or negative. Emotion detection asks a narrower question: does the text express joy, sadness, fear, anger, love, or surprise?

This guide shows how I fine-tuned the compact DistilBERT language model on the Emotion dataset, measured its classifications, and deployed a browser-based demonstration with Gradio and Hugging Face Spaces.

PyGitGraph: Managing and Analyzing GitHub Issues with Python and GraphQL

GitHub Issues record bugs, feature requests, assignments, and project decisions. That history can show how work moves through a repository, but collecting related comments, labels, and events through fixed REST endpoints may require many paginated requests.

I built PyGitGraph to make that collection easier. The open-source Python tool uses GitHub's GraphQL API, which lets a client request related fields together, and turns the response into data that pandas can analyze.

A Practical Guide to SQL Injection

Web applications use Structured Query Language (SQL) to read and change data. SQL injection occurs when an application lets untrusted input alter the structure of a SQL command. An attacker may then bypass authentication, read private records, or change stored data.

This guide shows how the vulnerability works, introduces its common forms, and explains how parameterized queries keep user input separate from executable SQL.

A Practical Guide to Anomaly Detection

Suppose your credit card statement shows a purchase from a city you have never visited. Anomaly detection is the process that flags this kind of event because it falls outside the usual pattern.

This guide explains how anomaly detection works, compares common statistical and machine learning methods, and links to an interactive example you can run in your browser.