SShortSingh.
Back to feed

Developer finds his bot-detection classifier was confirming bias, not measuring it

0
·3 views

A software developer on DEV Community noticed his follower count was rising sharply while post views remained unusually low, prompting him to build a classifier using the public API to identify fake accounts. His first run flagged roughly 95% of followers as bots, a result that matched his theory so cleanly it should have raised suspicion. When he tested the same classifier against 14 known-real accounts as a control group, he found that his strongest signals — empty bio, location, and website — could not distinguish bots from accounts that had simply just signed up. One indicator scored nearly identically across both groups, meaning it was measuring nothing at all yet had been read as corroborating evidence. The episode illustrated a core flaw in self-validation: a measurement that instantly agrees with your hypothesis has only been asked to confirm it, not to challenge it.

Read the full story at DEV Community

This is an AI-generated summary. ShortSingh links to the original source for the complete article.

Discussion (0)

Log in to join the discussion and vote.

Log in

Related stories

0
ProgrammingDEV Community ·

Developer migrates Next.js app from Node.js SQLite to Cloudflare D1 for remote access

A developer migrated a Next.js application from Node.js's built-in node:sqlite module to Cloudflare D1 in order to deploy it on Cloudflare Workers and access it remotely. The migration was necessary because the node:sqlite module is unavailable in the Cloudflare Workers runtime. The core work involved moving the database schema into a dedicated migration file and rewriting the database module to use D1's asynchronous API instead of node:sqlite's synchronous one. Parameter binding and row-change metadata required minor API adjustments, but the underlying SQL queries remained unchanged. The D1 database binding was accessed via getCloudflareContext() from the @opennextjs/cloudflare package, and all call sites were updated to use async/await.

0
ProgrammingDEV Community ·

Task Completion Protocol for AI Coding Agents Prevents Silent Failures

AI coding agents often declare a task 'done' after running only limited checks, leaving lint errors or failing tests undetected in the broader codebase. A software developer proposes a structured approach called the Task Completion Protocol, stored in a repository's AGENTS.md file, to enforce stricter verification before completion is claimed. The protocol requires agents to run the project's actual lint and test commands, fix any failures, and report concrete evidence of results. It distinguishes between coding and non-coding tasks to avoid unnecessary test runs, such as skipping backend tests for documentation-only changes. The goal is to catch broken states earlier in the development workflow, before they propagate to pull requests or subsequent agent sessions.

0
ProgrammingDEV Community ·

TCS Prime Candidate Steers Interview Away From DSA to ML Projects

A software engineering candidate recently shared their experience navigating a 45-50 minute TCS Prime interview on the DEV Community platform. Facing the prospect of tough Data Structures and Algorithms questions, the candidate deliberately steered the conversation toward their own machine learning and full-stack development projects. The strategy involved proactively discussing project details, including JWT-based security and real-time Socket.io features, to keep the panel engaged on familiar ground. The candidate also candidly addressed a low starting CGPA and unconventional hobbies like anime and manga, which the panel received positively. The interview ultimately felt conversational rather than adversarial, and the candidate is now awaiting final results.

0
ProgrammingDEV Community ·

Spring AI Framework Lets Java Developers Add AI Features to Spring Boot Apps

Spring AI is a framework within the Spring ecosystem that enables Java developers to integrate generative AI capabilities directly into Spring Boot applications. It provides portable, provider-agnostic abstractions for features such as chat models, embeddings, vector stores, tool calling, and Retrieval-Augmented Generation (RAG). Developers familiar with Spring Boot can use components like ChatClient to send prompts to AI models without writing provider-specific code throughout their applications. The framework supports multiple AI providers, including OpenAI, through dedicated starter dependencies. Spring AI is aimed particularly at enterprise Java applications where maintainability and consistency with existing Spring architecture are priorities.