What Linux is doing inside a smart object

A glossary for the twenty-eight scaffolds. Every term is said plainly first — the way you would say it to a five-year-old — and only then exactly. 140 entries, linked to each other. Designing for Smart Living, IXD107105.

Almost every smart thing is a Linux machine wearing a costume

Open the thing on your desk. Samsung's Tizen is Linux. LG's webOS is Linux. Android TV is Linux, and so is the Android in your pocket — Google's own documentation says the kernel is an upstream Linux long-term-support kernel. The router in the corner is almost certainly running Linux; OpenWrt describes itself as a Linux operating system for embedded devices, and most vendor firmware it replaces was Linux too. Thermostats, doorbells, cameras, speakers, the screen on a fridge. [Established: vendor documentation, cited on each product's own pages.]

So when you take a scaffold and build it on a Raspberry Pi, you are not building a toy version of a smart object. You are building it on the same floor the industry builds on. The difference between your thing and a product on a shelf is not the operating system. It is what somebody decided to do with it.

That matters more than it sounds, and it is the reason this glossary exists. Almost every word in it is a word the industry uses too.

It is invisible, and the invisibility is the business model

Nobody buys a television because it runs Linux. They buy it because the app opens quickly. A company building on Linux can change the interface, control the updates, own the app store, and still stand on a mature kernel it did not have to write. [Established.]

What follows is worth sitting with. Linux is completely visible at the engineering layer and completely absent at the retail layer, and that split is not a failure of marketing — it is the arrangement working as intended. The floor everyone stands on is the thing nobody mentions.

You will meet this again in your own project. The layer that decides the most is usually the layer nobody looks at.

Linux is unusually easy to look inside, and that is a design decision from 1978

In 1978 Doug McIlroy, who invented the Unix pipe, wrote down the style that had emerged at Bell Labs: make each program do one thing well, expect the output of every program to become the input of another, and handle text streams, because that is a universal interface. [Established: McIlroy, Pinson and Tague, Bell System Technical Journal, 1978.]

Two consequences of that run right through this course. Everything is a file — devices, kernel settings, network sockets, and the running processes themselves, all readable with ordinary tools. And the /proc filesystem, where the kernel writes out the live state of every running program as files you can simply read. Tom Killian presented it as Processes as Files at USENIX in June 1984, for Unix 8th Edition; Linux gained its own in September 1992. [Established: Killian 1984; Linux kernel history v0.97.3.]

This is why the command reference beside this glossary is short. You are not learning a toolkit. You are reading a system that was built to be readable, using tools that were built small enough to combine.

So the same operating system ships both kinds of object

Here is the thing to hold on to. Linux gives you /proc, journalctl, text configuration files, and a running process you can watch from outside. Every one of those is an invitation to inspect. And the industry ships that same Linux inside objects that will tell you nothing at all — no log you can reach, no configuration you can read, no way to see what left the house.

This is Prayas's claim and not a finding: the difference between an object you can interrogate and one you cannot is almost never technical. The capability is present in both. What differs is a decision somebody took, three times over — at the counting, at the deciding, and at the acting. [Hypothesis. What would falsify it: a smart object whose opacity is forced by the platform rather than chosen, where making it legible would have cost something real.]

Your scaffolds put that decision back where it can be seen. An object that can keep a record and does not is making a claim. An object that never could is only limited.

A router, a licence, and somebody else's intentions

In 2003 Cisco bought Linksys, and it emerged that the firmware in the WRT54G router included software under the GPL — a licence requiring that the source be made available. The code was published. The Free Software Foundation later sued, in December 2008, and the case settled within six months. [Established: FSF v. Cisco, 2008–2009; contemporaneous reporting.]

What happened next is the part worth knowing. Once the source was out, people found that the little router was not only a router, and built firmware the vendor never intended — which is where OpenWrt comes from. One writer put it exactly: if you ship Linux in a box and publish enough source code, somebody will eventually replace your intentions.

The router stopped being furniture and became infrastructure. That sentence is a good description of what several of these scaffolds are trying to do to an object.

What this has to do with not knowing

One file will do as the whole argument. /proc/<pid>/io holds the number of bytes a program has read and written. The kernel counted them because they passed through the kernel; it has no view about them, and it cannot tell you what any of them meant.

That is a count with the meaning taken off — a machine doing the counting and declining the deciding. This is Prayas's position and it is a claim, not a result: that is what smartness ought to look like, and the industry's move is to bolt the deciding on so smoothly that nobody notices there were ever three separate things. [Hypothesis. What would falsify it: a case where the deciding, done by the object, gave a person something they could not have got by deciding themselves.]

Read the glossary with that in view. Nearly every word in it names a place where a machine could count, or decide, or act — and where somebody chose which.

The glossary — 140 terms

Accuracy

PlainlyHow close your guess is to the real answer.

More exactlyAccuracy is how close a reading is to the true value; precision is how close repeated readings are to each other, and a sensor can have one without the other.

What a system keeps

Ad-hoc network

PlainlyMachines talking straight to each other, like children passing notes instead of going through the teacher.

More exactlyAn ad-hoc network is one formed directly between stations with no access point coordinating them.

What a node can know

Address randomisation

PlainlyYour phone tells shops a made-up name each time, so they cannot tell it is you again.

More exactlyAddress randomisation is the practice of a device presenting a fabricated hardware address rather than its permanent one.

Sensing people

Affordance

PlainlyWhat a thing looks like it wants you to do. A handle says pull. A flat plate says push.

More exactlyAn affordance is what a surface offers before you think about it.

Sensing people

Aggregation

PlainlySquashing lots of people into one number. Nobody's name is left, but the number came from them.

More exactlyAggregation is the act of reporting a group without reporting its members, and it is not by itself a privacy guarantee.

Sensing people

Air-gapped system

PlainlyA computer with no way out. No wire, no wireless. It is on an island.

More exactlyAn air-gapped system is one with no network path to anything outside it.

The field, in general

Analogue-to-digital converter (ADC)

PlainlyA thing that turns 'a bit warm' into an actual number. Computers can only count, so something has to do the turning.

More exactlyAn analogue-to-digital converter, or ADC, turns a continuous voltage into a number; a Raspberry Pi has none built in.

The interface is the machine

Append-only record

PlainlyA notebook you can write in but never rub out.

More exactlyAn append-only record is one to which entries may be added and from which none may be removed.

What a system keeps

Attenuation

PlainlyA shout gets quieter the further away you go, and quieter still through a wall.

More exactlyAttenuation is the loss a signal suffers passing through a wall or over distance.

What a node can know

Attribution

PlainlySaying which person did it. Not that somebody did — which one.

More exactlyAttribution is the act of connecting an observed event to the person who caused it.

Sensing people

Automatic speech recognition

PlainlyThe machine writes down the words you said.

More exactlyAutomatic speech recognition turns speech into text and is a third task again.

Sensing people

Average

PlainlyAdd up everybody's, share it out equally. The answer belongs to nobody.

More exactlyAn average is a number computed from samples, and it is not itself a sample anybody took.

What a system keeps

Bandwidth

PlainlyHow wide the pipe is. A fat pipe carries more at once.

More exactlyBandwidth is the rate at which a channel can carry information, and it is a property of the channel rather than of the message.

What a node can know

Batman-adv

PlainlyA way for machines to pass messages along for each other when there is no one in charge.

More exactlyBatman-adv is a mesh routing implementation that lives in the Linux kernel and presents the mesh as an ordinary network interface.

What a node can know

Broadcast

PlainlyShouting to the whole room instead of whispering to one person.

More exactlyA broadcast is a message addressed to every host on a local segment rather than to one of them.

What a node can know

Broker

PlainlyThe person in the middle. You give them your note, they give it to whoever asked for that kind of note.

More exactlyA broker is the server that receives published messages and forwards them to whoever has subscribed.

What a node can know

Calibration

PlainlyChecking your ruler against a ruler you trust, and fixing yours.

More exactlyCalibration is the act of making an instrument agree with a reference that is trusted.

What a system keeps

Captive screw

PlainlyA screw that stays in the lid when you undo it, so you cannot lose it under the table.

More exactlyA captive screw stays with its panel when loosened, so it cannot be lost by the person opening it.

The object's own body

Common ground

PlainlyTwo circuits agreeing where zero is. Without it they are measuring from different floors.

More exactlyCommon ground means two circuits sharing a reference voltage, without which their signals cannot be compared.

The object's own body

Configuration file

PlainlyA note you leave for a program telling it how to behave.

More exactlyA configuration file is text a program reads to decide what to do, and re-reading it on a signal or on every cycle is a design choice rather than a default.

The interface is the machine

Consent

PlainlyAsking first, in words the person understands, and letting them say no and change their mind later.

More exactlyConsent, in research practice, means informed, specific, freely given and revocable, and each of those words is doing work.

Sensing people

Coulomb counter

PlainlyIt counts the electricity that went past, the way a water meter counts water.

More exactlyA coulomb counter integrates current over time and reports charge, usually in milliamp-hours.

The object's own body

Current monitor

PlainlyA little chip that watches how much electricity something is drinking.

More exactlyA current monitor is a chip that reads that voltage and reports volts, amps and power over a bus.

The object's own body

Daemon

PlainlyA program with no window, working quietly in the back room.

More exactlyA daemon is a program that runs in the background with no terminal attached to it.

The interface is the machine

Data diode

PlainlyA one-way door. Things go out. Nothing comes in. Not because of a rule — because there is no door back.

More exactlyA data diode is a link that physically permits traffic in one direction only.

The field, in general

Data minimisation

PlainlyOnly keep what you actually need, and no more.

More exactlyData minimisation is the practice of collecting and keeping no more than a stated purpose requires.

What a system keeps

dBm

PlainlyA way of writing how loud a radio is. Every three steps is twice as loud.

More exactlyA decibel-milliwatt, or dBm, is a logarithmic power measure in which every three units is roughly a doubling.

What a node can know

Debouncing

PlainlyA button bounces a tiny bit when you press it. This is ignoring the bounces so it counts as one press.

More exactlyDebouncing is the practice of ignoring the rapid repeated transitions a mechanical contact makes as it closes.

The interface is the machine

Deep sleep

PlainlyThe chip switches nearly all of itself off and waits to be woken.

More exactlyDeep sleep is a processor state in which most of the chip is powered down and a specific event is required to leave it.

What a system keeps

Dot-matrix printer

PlainlyIt hammers little pins through an inky ribbon. Noisy, and the writing lasts for years.

More exactlyA dot-matrix printer strikes an inked ribbon through a grid of pins, and its output is legible for decades.

What a system keeps

Drift

PlainlyYour ruler slowly stops being right, and nothing tells you.

More exactlyDrift is the slow loss of that agreement, and it is a property of the instrument rather than of the thing measured.

What a system keeps

Duty cycle

PlainlyHow much of the time it is awake, or switched on.

More exactlyA duty cycle is the proportion of time a device spends awake.

What a system keeps

Energy budget

PlainlyHow much electricity you are allowed to spend, and where it went.

More exactlyAn energy budget is the accounting of what a device's operation costs over a span.

The object's own body

Factory reset

PlainlyPutting the settings back to how they came. It may or may not throw away your things — that is a separate question.

More exactlyA factory reset is a procedure that returns configuration to defaults, and whether it erases user data is a separate question that varies by device.

The object's own body

Failover

PlainlyWhen one part breaks, another quietly takes over.

More exactlyFailover is the automatic transfer of work from a failed part to a working one.

What a node can know

Fastener

PlainlyWhatever holds it together. Choosing one decides who is allowed to open it.

More exactlyA fastener is anything that holds an assembly together, and choosing one decides who may open the thing.

The object's own body

Field of view

PlainlyThe cone a sensor can see. Outside it, nothing exists.

More exactlyIts field of view is a cone shaped by a plastic lens, and the lens is what determines coverage rather than the element behind it.

Sensing people

Flyback diode

PlainlyA motor kicks back when you stop it. This catches the kick before it hurts anything.

More exactlyA flyback diode is placed across a motor or coil to absorb the voltage spike produced when its current stops.

The object's own body

Framing

PlainlyHow the listener knows where one message stops and the next starts.

More exactlyFraming is the convention by which a receiver knows where one message ends and the next begins.

What a node can know

GPIO

PlainlyThe pins on the board. A program can make them on or off, or feel whether they are.

More exactlyGPIO stands for general-purpose input and output, the pins on a board that a program can read or drive directly.

The object's own body

Graceful degradation

PlainlyWhen part of it breaks, it does less instead of stopping.

More exactlyGraceful degradation is the property of a system that does less when a part fails rather than stopping.

What a node can know

Hashing

PlainlyTurning a name into a jumble that always comes out the same. You cannot read it back — but if there are only a few possible names, you can guess.

More exactlyHashing is the practice of replacing an identifier with a fixed-length digest, and it is reversible by guessing when the space of possible inputs is small.

Sensing people

Headless

PlainlyA computer with no screen and no keyboard. You talk to it down a wire.

More exactlyHeadless means a computer running with no monitor, keyboard or desktop, reached over the network instead.

The interface is the machine

Hysteresis

PlainlyTwo lines instead of one, so a wobbly reading does not flick on and off.

More exactlyHysteresis is the practice of using two thresholds rather than one so that a reading hovering at the boundary does not toggle repeatedly.

The interface is the machine

Interpolation

PlainlyMaking up what happened in the gap between two things you actually saw.

More exactlyInterpolation is the practice of inventing a value between two real ones.

What a system keeps

Jig

PlainlyA holder that puts the work in the same place every time.

More exactlyA jig is a fixture that holds work in a repeatable position.

The object's own body

Joule

PlainlyOne squirt of energy. A watt is squirts per second, so they answer different questions.

More exactlyA joule is a unit of energy; a watt is a joule per second, so a power figure and an energy figure answer different questions.

The object's own body

Journalctl

PlainlyIt shows you what a program has been saying — but only what it chose to say.

More exactlyJournalctl is the command that shows what a running service has printed, live or after the fact.

The interface is the machine

Just noticeable difference

PlainlyThe smallest change a person can actually feel.

More exactlyJust noticeable difference is the smallest change in a stimulus a person can reliably detect.

The object's own body

Keyword spotter

PlainlyIt listens for one word and ignores everything else. Much cheaper than understanding you.

More exactlyA keyword spotter listens for one fixed phrase and ignores everything else, and it is far cheaper than general recognition.

Sensing people

Last will

PlainlyA message you leave with the middleman, to be sent for you if you stop talking.

More exactlyA last will is a message a broker sends on a node's behalf when that node stops talking.

What a system keepsSee also Broker

Latency

PlainlyHow long it takes to arrive. A wide pipe can still be a slow one.

More exactlyLatency is the delay between sending and arrival, and a channel can have high bandwidth and high latency at once.

What a node can knowSee also Bandwidth

Legibility

PlainlyWhether a person can tell what it is doing without being told.

More exactlyLegibility, in this context, is whether a person can read a system's state without being told it.

The interface is the machine

Level shifter

PlainlyA translator between a 5-volt thing and a 3-volt thing, so neither gets hurt.

More exactlyA level shifter is a component that does the same in both directions and does not lose current the way a divider does.

The object's own body

Linear regulator

PlainlyIt throws away the extra voltage as heat. A switching one changes it instead — which matters when you are on a battery.

More exactlyA linear regulator drops excess voltage as heat; a switching regulator converts it, and the difference matters when the supply is a battery.

The object's own body

Linear resonant actuator

PlainlyA buzzer that shakes one way only. Sharper than the wobbly kind.

More exactlyA linear resonant actuator vibrates along one axis at a fixed frequency and gives sharper patterns than an unbalanced mass.

The object's own body

Link-local address

PlainlyA name that only means anything in this room. It never travels.

More exactlyA link-local address is one valid only on the segment it is used on, and it is never routed beyond it.

What a node can know

Locally administered bit

PlainlyOne tiny flag inside an address saying 'I made this up myself'.

More exactlyThe locally administered bit is the flag inside an address that marks it as assigned by the device rather than by a manufacturer, and it shows in the second character of the written address.

Sensing people

Log rotation

PlainlyWhen the notebook is full, start a new one and throw away the oldest.

More exactlyLog rotation is the practice of closing a log file at a size or an age and starting another, discarding the oldest.

What a system keeps

Logic level

PlainlyHow many volts the chip means by 'yes'. Give it more and you break it.

More exactlyLogic level is the voltage a digital signal uses to mean one; a board whose logic level is 3.3 volts is damaged by a 5 volt input.

The object's own body

MAC address

PlainlyThe name a network card is born with.

More exactlyA media access control address, or MAC address, is the hardware identifier a network interface presents.

Sensing people

Mass balance

PlainlyHow much went in, how much came out, and the difference. It never tells you where the difference went.

More exactlyA mass balance compares what entered a system with what left it, and reports the difference without locating it.

What a node can know

Median

PlainlyLine everybody up and take the one in the middle. Unlike an average, it is a real one.

More exactlyA median is the middle value of a set, and unlike a mean it is a value that was actually observed.

What a system keeps

Mesh network

PlainlyEverybody passes messages for everybody. Nobody is in charge.

More exactlyA mesh network is one in which nodes relay for each other with no central point.

What a node can know

Monitor mode

PlainlySetting the radio to hear everything in the air, not only what was addressed to you.

More exactlyMonitor mode is the wireless card state in which frames not addressed to you can be captured.

Sensing people

MQTT

PlainlyA simple way for small machines to leave notes for each other with a middleman.

More exactlyMQTT is a publish and subscribe messaging protocol widely used on small devices.

What a node can know

Ncurses

PlainlyThe old, careful way of drawing pictures out of letters in a terminal.

More exactlyNcurses is a library for drawing text interfaces in a terminal, and it handles cursor movement and screen regions.

The interface is the machine

Neighbour discovery

PlainlyHow a machine finds out who else is close enough to hear it.

More exactlyNeighbour discovery is how a node learns who is within range of it.

What a node can know

Noise floor

PlainlyHow loud the room already is. Whisper below it and nobody hears you.

More exactlyThe noise floor is the level of ambient signal below which a transmission cannot be distinguished.

What a node can know

Non-volatile storage

PlainlyIt remembers after you switch the power off.

More exactlyNon-volatile storage keeps its contents without power, and it is where a previous owner's traces persist.

The object's own body

Observability

PlainlyWhether you can work out what is going on inside from what shows on the outside.

More exactlyObservability is the property of a system whose internal state can be worked out from what it exposes at its surface.

The interface is the machine

Occupancy

PlainlyWhether a room is in use. Not who, and not how many — those are different questions.

More exactlyOccupancy, in building vocabulary, means whether a space is in use; presence means whether a body is detectable; and a count means how many, which is a different measurement from either.

Sensing people

Originator

PlainlyIn a mesh, the machine a message first came from, announced by everyone who can hear it.

More exactlyAn originator, in mesh routing vocabulary, is a node whose existence is being announced across the network by its neighbours.

What a node can know

Partition

PlainlyThe network breaks in half and both halves keep running, each thinking it is the whole.

More exactlyA partition, in distributed systems, is a network failure that splits a system into groups that cannot reach each other but each of which is still running.

What a node can know

Payload

PlainlyThe bit of the message that is actually the message, not the envelope.

More exactlyA payload is the part of a message that carries the content, as opposed to the addressing and framing around it.

What a node can knowSee also Framing

Persistence

PlainlyWriting something down where it will outlive the program that made it.

More exactlyPersistence means writing state somewhere it survives the process that produced it.

What a system keeps

Photoresistor

PlainlyA thing that changes when light falls on it. You still need something to turn that into a number.

More exactlyA photoresistor changes resistance with light and needs an ADC; a digital light sensor returns illuminance in lux directly over a bus.

The field, in general

Physical persistence

PlainlyA dial stays where you put it when the power goes. A number in memory does not.

More exactlyPersistence of a physical state means it survives a power cut because it is held by a mechanism rather than by a memory.

The interface is the machineSee also Persistence

PID

PlainlyThe number a running program is given while it runs.

More exactlyA process identifier, or PID, names a running process for as long as it runs and is reused afterwards.

The interface is the machine

PIR sensor

PlainlyIt feels warmth moving. It does not see people, and two people together look like one.

More exactlyA pyroelectric infrared sensor, usually called PIR, detects changes in infrared across its field of view rather than the presence of a body.

Sensing peopleSee also Field of view

Polling

PlainlyAsking 'has it changed yet?' over and over, instead of being told.

More exactlyPolling is asking repeatedly whether something has changed; an event-driven design is told.

The interface is the machine

Potentiometer

PlainlyA knob. Where you turn it to is a voltage.

More exactlyA potentiometer is a variable resistor whose wiper position is read as a voltage.

The interface is the machine

Probe request

PlainlyYour phone calling out 'is my wifi here?' — and giving its name away while it asks.

More exactlyA probe request is the frame a phone sends while looking for wireless networks, and it carries the sending radio's address.

Sensing people

Provenance

PlainlyWhere it came from and what has happened to it since.

More exactlyProvenance is the record of where a value came from and what happened to it since.

What a system keeps

Provenance of an object

PlainlyThe list of everybody who has held it.

More exactlyProvenance, for an object rather than a reading, is the record of who has held it.

The object's own bodySee also Provenance

Pseudonymisation

PlainlySwapping a name for a nickname. That is not the same as having no name.

More exactlyPseudonymisation replaces an identifier with another identifier; anonymisation removes the possibility of re-identification, and the two are not the same thing.

Sensing peopleSee also Re-identification

Pulse width modulation (PWM)

PlainlyFlicking on and off very fast so it seems half-on. This is how a pin dims a lamp.

More exactlyPulse width modulation, or PWM, produces an average by switching fully on and fully off quickly, and it is how a pin dims a lamp or slows a motor.

The object's own bodySee also Average

Quality of service

PlainlyHow hard the middleman tries to deliver: maybe once, at least once, or exactly once.

More exactlyQuality of service in MQTT describes how hard the protocol tries to deliver a message, from at-most-once to exactly-once.

What a node can knowSee also MQTT

Quantisation error

PlainlyThe bit you lose when you round a smooth thing to the nearest number.

More exactlyQuantisation error is the difference between a continuous value and the nearest number a converter can represent.

What a system keeps

Quiescent current

PlainlyWhat it drinks while doing nothing at all.

More exactlyQuiescent current is what a circuit draws doing nothing.

The object's own body

Re-identification

PlainlyWorking out who somebody was, from data that was supposed to have no names in it.

More exactlyRe-identification is the recovery of a person from data that was believed not to name them.

Sensing people

Reconciliation

PlainlyPutting two separate counts of the same thing side by side.

More exactlyReconciliation is the act of comparing two independent accounts of the same quantity.

What a node can know

Redundancy

PlainlyKeeping a spare, so a break does not stop everything.

More exactlyRedundancy is the spare capacity that makes failover possible.

What a node can knowSee also Failover

Retained message

PlainlyThe last note the middleman keeps, and hands to everyone who arrives later. It can be very old.

More exactlyA retained message is the last message on a topic, which a broker keeps and hands to every later subscriber.

What a system keepsSee also BrokerTopic

Retention

PlainlyHow long you keep it before throwing it away.

More exactlyRetention is how long a system keeps something before discarding it, and it is a separate decision from whether to write it at all.

What a system keeps

Ring buffer

PlainlyA shelf with room for ten. Put an eleventh on and the oldest falls off.

More exactlyA ring buffer is a fixed-size store that overwrites its own oldest entry when it is full.

What a system keeps

RMS

PlainlyOne number for how loud a stretch of sound was.

More exactlyRoot mean square, or RMS, is a way of getting one amplitude figure out of a window of audio samples.

Sensing people

Rotary encoder

PlainlyA knob that clicks. Which click comes first tells you which way you turned it.

More exactlyA rotary encoder reports movement on two channels a quarter cycle apart, so that the order of change gives direction and the count gives position.

The interface is the machine

RSSI

PlainlyHow loud it sounded where you are standing — not how loud it was shouted.

More exactlyReceived signal strength, usually reported as RSSI, is what a receiver measures rather than what a transmitter sent.

What a node can know

Salt

PlainlyA pinch of something extra mixed in, so the same name does not jumble the same way in two places.

More exactlyA salt is a value mixed into a hash so that the same input does not produce the same digest in two different systems.

Sensing people

Samba

PlainlyThe usual way a Linux machine shares a folder that Windows can open.

More exactlySamba is the common implementation of Windows file sharing on Linux.

The interface is the machine

Secure erase

PlainlyReally scribbling it out, not just crossing off the index.

More exactlySecure erase is the deliberate overwriting or key-destruction of stored data so that it cannot be recovered.

The object's own body

Share

PlainlyA folder other machines are allowed to open.

More exactlyA share is a directory made available over a network so that other machines can open files in it.

The interface is the machine

Shell history

PlainlyA file that quietly writes down every command you have typed.

More exactlyShell history is the file into which an interactive shell records the commands typed at it.

What a system keeps

Shunt

PlainlyA very small, very exact resistor put in the wire so you can measure what is flowing.

More exactlyA shunt is a small precise resistor placed in a supply line so that the current through it can be measured as a voltage.

The object's own body

Sliding window

PlainlyYou only look at the last few. Older ones fall off the back.

More exactlyA sliding window is the fixed span of recent samples a stream computation is allowed to see.

What a system keeps

Speaker diarisation

PlainlyWorking out who spoke when, without knowing who they are.

More exactlySpeaker diarisation decides who spoke when, without necessarily knowing who they are.

Sensing people

Speaker verification

PlainlyDeciding whether it is this one person's voice. Different from understanding the words.

More exactlySpeaker verification decides whether a voice belongs to one particular person, which is a different task from recognising words.

Sensing people

Spectral feature

PlainlyA description of which pitches the sound is made of.

More exactlyA spectral feature is a description of how energy is distributed across frequencies in a window of sound.

Sensing people

Spectrum analyser

PlainlyIt shows you which radio channels are busy — a different question from what the messages said.

More exactlyA spectrum analyser shows power against frequency, and it answers a different question from a packet capture.

What a node can know

SPI and I2C

PlainlyTwo ways of wiring a small chip to a board with only a few wires.

More exactlySPI and I2C are two short-range buses used to connect sensor chips to a board over a few wires.

The interface is the machine

Split brain

PlainlyBoth halves of a broken network think they are the real one.

More exactlyA split brain is what happens when both sides of a partition believe they are the surviving one.

What a node can knowSee also Partition

SSH

PlainlyA locked tunnel that lets you type into a computer somewhere else.

More exactlySSH is the encrypted protocol used to open a shell on another machine over a network.

The interface is the machine

Staleness

PlainlyHow old the reading is — counted from when it was taken, not when it was shown.

More exactlyStaleness is the age of a reading, measured from when it was taken rather than from when it was displayed.

What a system keeps

Standard output and standard error

PlainlyTwo chutes a program talks down: one for answers, one for complaints.

More exactlyStandard output and standard error are the two streams a program writes to by default, and a service manager captures them separately.

The interface is the machine

State machine

PlainlyA list of the states a thing can be in, and which changes are allowed.

More exactlyA state machine is a description of the states a system can be in and the transitions permitted between them.

The interface is the machine

Stream processing

PlainlyWorking on things as they arrive, without saving them all up.

More exactlyStream processing means computing over data that arrives continuously, in memory that does not grow with the length of the stream.

What a system keeps

Systemd

PlainlyThe part of Linux that starts programs when the machine boots and restarts them when they die.

More exactlySystemd is the component that starts programs at boot on most Linux systems and restarts them when they die.

The interface is the machine

Tacton

PlainlyA buzz with a shape, meaning something — the way a picture on a screen means something.

More exactlyA tacton is a structured vibration pattern used as a message, in the way an icon is used visually.

The object's own body

Terminal user interface

PlainlyA screen drawn out of letters. Designed, not just printed.

More exactlyA terminal user interface is one drawn in characters, and it is a designed surface rather than a stream of print statements.

The interface is the machine

The /proc filesystem

PlainlyA pretend set of folders where the computer writes down what every running program is doing. You can just read it.

More exactlyThe proc filesystem is a directory tree through which the kernel exposes the state of every running process as readable files.

The interface is the machine

Thermal printing

PlainlyIt burns the letters onto the paper with heat. No ink, and it fades in the sun.

More exactlyThermal printing forms characters by heating paper rather than by transferring ink, so the output fades with heat and light.

What a system keeps

Threshold

PlainlyThe line where the answer changes from no to yes.

More exactlyA threshold is the value at which a rule changes its answer, and a system with a transfer function and no threshold has removed the decision rather than hidden it.

The object's own bodySee also Transfer function

Throughput

PlainlyWhat it actually managed, not what it was capable of.

More exactlyThroughput is what a link actually achieves, as distinct from what it is capable of.

What a node can know

Time-of-flight sensor

PlainlyIt times a flash of light bouncing back, and tells you how far.

More exactlyA time-of-flight sensor does the same with light and returns a distance for a much narrower beam.

Sensing people

Tolerance

PlainlyHow wrong the part is allowed to be. It is in the datasheet, next to the number people quote.

More exactlyTolerance is the range within which a part's behaviour is guaranteed, and it appears in a datasheet beside the headline figure rather than in place of it.

What a system keeps

Tolerance stacking

PlainlyLots of small wrongnesses adding up until the lid will not shut.

More exactlyTolerance stacking is the accumulation of small dimensional errors across an assembly.

The object's own bodySee also Tolerance

Topic

PlainlyThe label you put a note under. People ask the middleman for a label, never for a sender.

More exactlyA topic is the slash-separated string a message is published to, and a subscriber asks the broker for topics rather than for senders.

What a node can knowSee also Broker

Topology

PlainlyWho is joined to whom. Not where they are in the room.

More exactlyA topology is the arrangement of links between nodes, and it is a separate question from the physical layout of the room.

What a node can know

Transfer function

PlainlyIn goes up, out goes up, smoothly, with nothing deciding anything in between.

More exactlyA transfer function describes how an output varies with an input, continuously, without a decision anywhere in it.

The object's own body

Transistor as a switch

PlainlyA tiny signal opening a gate for a much bigger current the pin could not carry itself.

More exactlyA transistor used as a switch lets a small signal control a current the pin could not carry.

The object's own body

Transmit power

PlainlyHow hard the radio is shouting.

More exactlyTransmit power is the strength at which a radio emits, usually stated in dBm.

What a node can knowSee also dBm

Ultrasonic ranging

PlainlyIt squeaks and listens for the echo. It finds the nearest thing in a cone, not the thing in front.

More exactlyUltrasonic ranging measures distance by timing the echo of a burst of sound, and reports the nearest object within a cone rather than the object in front of it.

Sensing people

Unit file

PlainlyA small text file telling Linux how to run one program: what to start, as whom, and what to do if it dies.

More exactlyA unit file is the small text file that describes one such program, giving the command to run and the conditions for restarting it.

The interface is the machine

Vibration motor

PlainlyA little lump on a spinning stick. How you strap it on changes how strong it feels.

More exactlyA vibration motor is a small unbalanced mass on a shaft, and its perceived strength depends on how it is coupled to the body.

The object's own body

Voice activity detection

PlainlyDeciding whether somebody is talking. Not what they said.

More exactlyVoice activity detection decides whether speech is present in an audio window, and does not decide what was said.

Sensing people

Volatile memory

PlainlyIt forgets the moment the power goes.

More exactlyVolatile memory loses its contents when power is removed, and non-volatile storage does not.

What a system keepsSee also Non-volatile storage

Voltage divider

PlainlyTwo resistors bringing a big signal down to a size the input can take.

More exactlyA voltage divider is two resistors used to bring a higher signal voltage down to a level an input can accept.

The object's own body

Wake source

PlainlyThe one thing allowed to wake it up — a timer, a wire, a message.

More exactlyA wake source is the signal permitted to end that state — a timer, a pin, a received packet.

What a system keeps

Whiptail

PlainlyIt draws simple boxes and menus in a terminal from a shell script.

More exactlyWhiptail draws simple dialogue boxes in a terminal from a shell script.

The interface is the machine