Trying to understand the horseshoe lemma. Suppose I start with the usual exact sequence $0 \to \mathbb{Z}/2\mathbb{Z} \overset{a}{\to} \mathbb{Z}/4\mathbb{Z} \overset{b}{\to} \mathbb{Z}/2\mathbb{Z} \to 0$. I take the usual free resolution of the two copies of $\mathbb{Z}/2\mathbb{Z}$. Now I try to build the maps $f$ and $g$ as pictured below. If I follow what $f$ should do (it should be just following the diagram in the first coordinate, and lifting in the second coordinate), I get that $f(\alpha, \beta) = 2\overline{\alpha} + \overline{\beta}$. (I believe $f(\alpha, \beta) = 2\overline{\alpha} + 3 \overline{\beta}$ would work also.)
Now I try to define $g$ the same way, and it should be $g(\alpha, \beta) = 2\alpha + 2 \beta$. But then $g \circ f$ is not even zero, so I have failed somehow. How have I defined the maps wrong?
I think the issue is that when you construct the map $g$, you have to consider the target to be $\ker f$; in other words, insert another column which are the kernels, and construct $g$ to map into that column inductively. The Snake Lemma will tell you it should be exact. The map $g$ should be $g(a,b) = 2a + b, 2b$. Then it will land in the kernel.
This is all explained quite clearly in Knapp's Advanced Algebra, and (in my opinion) very poorly in Dummit and Foote.