Research
What we have measured, on real targets, with the numbers and the data behind every claim.
Every figure says how many shots it rests on. Nothing here is called proven that the shots cannot prove, and where we do not know, it says so.
Reading targets
Why a photo cannot tell you your bullet's size
The same holes measure 0.90 to 1.45 times the bullet depending on the light they were photographed in. Scans of the same sheets agree within three percent.
One hole or two?
Two shots through nearly the same spot leave one ragged hole. Deciding whether a mark is one shot or two is the single measurement that decides whether your group is real, and for a long time GroupLab got it wrong on photographs.
Curled, angled and wrinkled paper
A target you have laid flat on a bench is not flat. Measured against thirty known points, a sheet that looked flat was bent by two thirds of an inch, and that bend is larger than the groups people argue about.
A bullet hole is not the bullet
A .308 bullet does not leave a .308 hole. Paper stretches and springs back, so the hole measures smaller than the bullet, and how much smaller depends on things nobody records.
Zeroing on a blank sheet with a hand-drawn cross
You do not need a printed target to zero a rifle. You need an aim point and a known distance on the paper, and a flatbed scanner already knows the second one.
How GroupLab reads a target
From a photograph to a group size, in six steps, with what each one can get wrong and how you would know.
When shots land on the wrong bull
On a 25 bull sheet, a rifle that is not zeroed puts every shot nearer a bull it was not aimed at. The group you get is then real, precise, and about nothing.
Scans against phone photos: how close is close enough?
We paired 59 range photographs with their flatbed scans and measured the gap. A hole in a photograph sits about 0.03 in from where the scan puts it, which is a fifth of a decent group.
Measuring groups
Range tests
Wind or rifle?
A group wider than it is tall looks like wind. Most of the time it is not wind, it is what a handful of shots from a perfectly round rifle looks like, and telling those apart needs a test rather than an opinion.
Did the primer matter? A real comparison
Five shots against four, two primers, one rifle. The point of impact moved and the group size did not, and only one of those two statements is worth anything.
How GroupLab is built
How GroupLab updates itself safely
An updater that can be tricked into installing someone else's file is worse than no updater. Here is what GroupLab checks, what it cannot promise, and the bug that stopped every installed build from updating at all.
Choosing the markers
The little black squares on a GroupLab target are AprilTag 36h11. The choice came down to one number, and the weaker options were measured failing on real target artwork rather than rejected on theory.
Designing a target GroupLab can read
Everything printed on a target sheet is something a hole detector might mistake for a hole. The design is mostly about telling the software what is ink before it has to guess.
What GroupLab sends from your computer
Four things leave your machine, all of them only when you ask. Here is the complete list, what is in each, and the rule that stops a fifth appearing by accident.
Nightly builds, from commit to installer
Every change that passes its tests becomes an installer you can download within about half an hour. Here is what happens in between, and the three mistakes that shaped it.
Cutting the installer from 97 MB to 81 MB
A third of what GroupLab shipped was debug symbols for two libraries that nothing would ever read. Finding it was an accident, and the accident is the point.
Every upload is rebuilt from pixels
A photograph you send is stripped of everything except the camera and the exposure. Not edited, not blurred: the metadata around the image is thrown away and written fresh, and the pixels are copied untouched.