Word embeddings with gensim for semantic similarity tasks

Dense embeddings help when lexical overlap is weak but semantic similarity matters. I use them for retrieval prototypes, clustering, and feature enrichment when transformer infrastructure is overkill. The main discipline is keeping training data clean

SSH daemon hardening and key based access only

SSH hardening is basic but still worth doing carefully. I disable password auth, restrict root login, and pair strong settings with operational practices like host key monitoring and per-user key lifecycle management. Security without maintainability

Experiment tracking and model registry workflows with MLflow

If experiments matter, they should be searchable after the notebook is closed. MLflow gives me parameter tracking, metric history, artifact storage, and a lightweight model registry without much ceremony. It is one of the fastest ways to make a small

Parameterized queries in Python with psycopg

Even outside ORMs, parameterized database access needs to be the default habit. The query string should describe structure while the driver binds user values separately. That sounds basic, but it is still where too many internal tools quietly fail sec

Messaging with Apache Kafka

Apache Kafka provides distributed messaging for event-driven architectures. Spring Kafka simplifies producer and consumer implementations. KafkaTemplate sends messages to topics. @KafkaListener consumes messages asynchronously. I configure serializers

App widgets for home screen

App Widgets display app content on the home screen. I extend AppWidgetProvider, a BroadcastReceiver subclass handling widget lifecycle. onUpdate() refreshes widget UI, onEnabled() initializes on first widget added, onDisabled() cleans up when last rem

Fail2ban filters to slow SSH and application abuse

Fail2ban is not a complete defense, but it is a useful friction layer for noisy abuse. I use it where login failures or repeated 401s clearly indicate hostile automation. It works best when paired with centralized logs and upstream rate limiting, not

Event handling and event delegation patterns in JavaScript

Event listeners attach handlers to DOM elements using addEventListener(). I specify event type like click, input, submit with handler function. The event object contains information about the triggered event. Using event.preventDefault() stops default

Laravel database migrations for schema management

Migrations version control database schema changes, making them trackable and reversible. Each migration file contains up() and down() methods defining changes and rollbacks. I use the Schema builder's fluent API to create tables, add columns, define

Cleaning missing values and normalizing messy CSV exports

Real data arrives dirty. I usually start with missing-value audits, duplicate removal, explicit type conversion, and canonical text cleanup. The trick is to make each cleanup rule reproducible rather than burying it in notebook state. I prefer small,

Unit testing with JUnit and MockK

Unit testing verifies individual components in isolation. I use JUnit 5 or JUnit 4 as the test framework with @Test annotations. MockK provides Kotlin-friendly mocking—mockk<T>() creates mocks, every { } stubs behavior, verify { } confirms calls

Signed and encrypted Rails cookies for tamper resistant state

Client-side cookies should be treated as attacker-controlled even when the framework signs them. I use encrypted cookies for sensitive state, keep payloads minimal, and avoid long-lived authorization decisions inside the browser. The convenience of co