Every small piece of information that you want to memorize, create a new card.
Let me give some examples from my current technical deck:
Q: This is an open source data collection system for monitoring large distributed systems. It's a distributed data collection and analysis system in Hadoop. It runs collectors that store data in HDFS and it uses MapReduce to produce reports.
A: Chukwa
Q: This is an Apache templating language and processing engine that can be used to generate Java code, HTML, JSP's, Hibernate modules and most anything else that can be generalized.
A: Velocity
Q: In Ruby, what command lets you determine whether you're running as a main program?
A: if __FILE__ == $0
Q: This C++ function rearranges the elements in the range [first, last) into the lexicographically next smaller permutation of elements.
A: prev_permutation
I liken it to learning how to get around a building by actually walking around the building, as opposed to just seeing a map. Ultimately, when there are no other distractions going on, one is probably as good as the other.
Not that I don't think you can't get this in a notes.txt. Just, I understand why some would want a physical card deck where they flip a question into an answer. Involving your body seems logical as a benefit for some.
In the meantime, to remember a fact for the rest of your life, you need to add it to the SR deck and spend 30 seconds in the rest of your life reviewing it.
Spaced repetition is a clear win; any attempt to resist it is madness. Imagine being able to just keep everything in RAM and never, ever touch disk.
As for the benefits of human-robot brain-algorithm cooperation (e.g. human+Google), that depends on the level of coherence between the goals of the human and the goals of the creators/financiers of the algorithm.
While there are a number of comments questioning the utility of doing so and comparing it to having notes in a file, the fact that this is stored in my memory reduces latency when thinking or writing code. I no longer have to look things up which really improves my flow. I see the difference whenever I work with an API I already know and one I'm relatively new to.
I find that when I have more information in my local storage (memory), I can make more creative associations among the data and come up with better solutions to problems.
For example, in lectures I'm usually able to understand most of what is taught on that first exposure, but of course I don't have everything committed to long term memory right away. So, sometimes I'm tempted to write a lot of things down or type them up in Anki (which can get quite tedious).
However, in math for instance, you pretty much have to know the exact definitions of theorems to apply them in proofs. Thus you refer back to the textbook or lecture notes/video (if available) when applying a theorem in a problem, and soon you have that definition down cold in memory. Similarly, in courses or subjects where you need to do a lot of problem solving or application, you can look back at source material for concepts or definitions as needed (this itself is probably a form of spaced repetition). In cases where I wrote down detailed notes or entered them into Anki, I find that I probably recorded a lot more than I should have.
So how do you figure out what is worth (most efficient) entering into cards in that case?
Looking back at source material is not a form of spaced repetition. By learning that you don't need to remember it, it's actually harmful for memorization. Trying to remember things without looking them up (really making an effort) is better and can be almost as good if you fit between the spaced repetition intervals, but you might as well systemitize it.
1. Frequently (in physics) you can find a core skeleton of fundamental definitions & results. If you know these, you can solve a whole bunch of problems very easily; also, in reviewing those results, you inevitably remind yourself of why they're true (I'm starting to make a re-derivation a criterion for listing a "fact" as memorized), and of the broader logical structure of the discipline.
2. Certain problems exercise a wide variety of important techniques very quickly; I use Mnemosyne to prompt myself to re-work certain problems every so often. I try to be aggressive enough about rating "how well I know this" that I'm actually re-working the problems, not just memorizing. This is sort of like the "code kata" I've seen people suggest every now and then.
Now, this is for physics, which is probably not exactly what you mean by "technical knowledge" :-). I expect this approach would generalize very nicely to mathematics and theoretical CS (and in fact I'm using it for bits and pieces in those fields); code & software engineering would be harder, but probably doable.
Edit: removed pointer to (link to) Gwern's article: it's in the gp. Also assorted stylistic matters.