惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

阮一峰的网络日志
阮一峰的网络日志
Apple Machine Learning Research
Apple Machine Learning Research
量子位
D
DataBreaches.Net
云风的 BLOG
云风的 BLOG
博客园 - 聂微东
博客园_首页
D
Docker
博客园 - 叶小钗
S
SegmentFault 最新的问题
大猫的无限游戏
大猫的无限游戏
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
J
Java Code Geeks
H
Hackread – Cybersecurity News, Data Breaches, AI and More
A
About on SuperTechFans
博客园 - 三生石上(FineUI控件)
F
Fortinet All Blogs
小众软件
小众软件
aimingoo的专栏
aimingoo的专栏
爱范儿
爱范儿
腾讯CDC
罗磊的独立博客
雷峰网
雷峰网
博客园 - Franky

DEV Community

Authentication Security Deep Dive: From Brute Force to Salted Hashing (With Java Examples) Why AI Systems Don’t Fail — They Drift Spilling beans for how i learn for exam😁"Reinforcement Learning Cheat Sheet" I Replaced Chrome with Safari for AI Browser Automation. Here's What Broke (and What Finally Worked) How Python Borrows Other People's Work The $40 Architecture: Processing 1 Billion API Requests with 99.99% Uptime Vibe Coding: A Workflow Guide (From Zero to SaaS) Most webhook security guides protect the wrong side. The scary part is delivery. Headless CMS for TanStack Start: Build a Blog with Cosmic EU Age Verification App "Hacked in 2 Minutes" — What Actually Happened Comfy Cloud’s delete function does not actually remove files Running AI Models on GPU Cloud Servers: A Beginner Guide Event-driven media intelligence with AWS Step Functions and Bedrock I scored 500 AI prompts across 8 quality dimensions — here's what broke How to Call Google Gemini API from Next.js (Free Tier, No Backend Needed) The Portal Protocol: Reclaiming Human Connection in the Age of AI How to Fix Your Team's Scattered Knowledge Problem With a Self-Hosted Forum Intro to tc Cloud Functors: A Graph-First Mental Model for the Modern Cloud Designing Multi-Tenant Backends With Both Ownership and Team Access I Built a Neumorphic CSS Library with 77+ Components — Here's What I Learned PostgreSQL Performance Optimization: Why Connection Pooling Is Critical at Scale Cómo construí un SaaS multi-rubro para gestionar expensas en Argentina con FastAPI + Vue 3 🚀 I Built an Ethical Hacking Scanner Tool – Open Source Project I Replaced /usage and /context in Claude Code With a Single Statusline A Pythonic Way to Handle Emails (IMAP/SMTP) with Auto-Discovery and AI-Ready Design I Collected 8.9 Million Polymarket Price Points — Here's What I Found About How Markets Really Move EcoTrack AI — Carbon Footprint Tracker & Dashboard Everyone's Using AI. No One Agrees How. 5 self-hosted ebook managers worth trying in 2026 Building Your First AI Agent with LangChain: From Chatbot to Autonomous Assistant
The First Computer Bug Was a Real Moth
fluidwire · 2026-06-20 · via DEV Community

fluidwire

Every developer who has ever muttered "there is a bug in this" is repeating a word with a surprisingly literal origin. On September 9, 1947, the operators of the Harvard Mark II, an early electromechanical computer, traced a malfunction to its source and found something they did not expect: a moth wedged inside Relay #70. They removed the insect, taped it into the operations logbook, and wrote a now-famous line beside it: "First actual case of bug being found." That page, moth and all, survives today in the collection of the Smithsonian's National Museum of American History.

It is one of the best-loved stories in computing, and like most good stories it is a little more complicated than the popular version. Worth getting right, because the discipline it gave us is the same one behind every connected device we build.

What actually happened in 1947

The Mark II was a room-sized machine built from relays, switches, and thousands of moving parts. When a moth flew into one of those relays, it physically interfered with the contacts and caused a fault. The technicians who found it had a sense of humor: calling it the "first actual case of bug being found" was a joke precisely because engineers had already been using "bug" for years to describe mysterious faults in machinery. Thomas Edison used the term in his notebooks back in the 1870s.

So the 1947 moth did not invent the word "bug." What it did was give the term a perfect, photographable origin story, and it cemented the companion word that really matters: debugging. The act of removing that moth was, quite literally, de-bugging the computer.

The Grace Hopper connection

The story is almost always told with Grace Hopper at its center, and that deserves a small correction. Hopper, a pioneering computer scientist who later helped develop COBOL, was part of the Mark II team in 1947, but the evidence suggests she did not personally find the moth or write the logbook entry. What she did do was tell the story, brilliantly and often, for the next four decades. Her retelling is the reason the moth became famous and the reason "debugging" entered everyday engineering vocabulary. It is a useful reminder that the people who explain ideas clearly often shape a field as much as the people who discover them.

Why a 78-year-old moth still matters

Hardware has changed beyond recognition since 1947. A modern ESP32 microcontroller fits on a fingertip and outperforms that entire room of relays by orders of magnitude. What has not changed at all is the core activity of finding the one small thing breaking the whole system.

In modern IoT and embedded development, debugging is the work. A sensor returns garbage values and you have to decide whether the fault is in the wiring, the I2C address, the firmware, or the sensor itself. A device connects to Wi-Fi perfectly on the bench and then drops offline once a day in the field. A board behaves flawlessly until it gets warm. None of these announce themselves with a convenient moth taped to a relay. The engineer's job is to reproduce the fault, isolate it, and prove the fix, exactly as those Harvard technicians did with a pair of tweezers and a logbook.

That methodical mindset is the unglamorous skill that separates a prototype that works in a demo from a product that survives in the real world. It is the difference between a thesis project that runs once for the panel and a connected device a business can actually deploy.

Debugging is the real craft

At Fluidwire, debugging is a large part of what we do every day, whether we are bringing up a new PCB, chasing an intermittent fault in connected-device firmware, or helping a student in Parañaque get a stubborn sensor to behave before a thesis deadline. The tools are better than they were in 1947, but the patience and the systematic thinking are identical.

If you are building an IoT or embedded project and you are stuck on a fault you cannot pin down, that is a normal and necessary stage of engineering, not a sign you are doing it wrong. Every working device on earth was buggy first. If you would like a hand finding your moth, get in touch with our team and tell us what is misbehaving.

The next time your code throws an error, remember that you are part of a tradition going back to a single insect in a Harvard relay. Find the bug, log the fix, and ship it. Learn more about how we build connected hardware from silicon to cloud at fluidwire.com.