Blog
Why Memset Is Named After a C Function
The honest story of naming a memory app after memset(), the C function that fills memory with a value.
If you google the name of my app, you will not find my app.
Try it. Search for memset and you get the Linux man pages, cppreference, Microsoft’s compiler docs, and fifteen years of Stack Overflow threads about zeroing arrays in C. My spaced repetition app is nowhere in those results, and it probably never will be. I knew that before I picked the name. I had the search results open in another tab while I made the decision final.
Memset is a review planner. You tell it what you are learning, it schedules reviews at growing intervals, and the material comes back to you right before you would have forgotten it. The name comes from a function I met in a university programming course years before the app was even an idea, and people keep asking me about it. Programmers ask with a grin. Everyone else asks what the word means. This article is the long answer to both, plus an honest accounting of what a name like this costs.

The function every C student meets
If you have never written C, here is the entire function:
void *memset(void *s, int c, size_t n);
Give it a block of memory, a value, and a length, and it sets every byte in that block to that value. That is the whole job. The man page needs six words to describe it: fill memory with a constant byte. It has carried the same three arguments since C was standardized in 1989, and POSIX still specifies it today, unchanged. In a profession that reinvents itself every five years, memset has not moved.
I met it the way most students do. At university we learned programming in C, and C hands you memory exactly as it finds it. Declare a buffer and it arrives full of garbage, leftover bytes from whatever used that spot before. Print it and you get gibberish. The fix was the same line every time: memset the block to zero, then start working. It was the closest thing the language had to wiping a desk clean before you sit down.
The function even carries a classic trap, the one that catches every beginner once. It works on bytes, not on numbers. Ask it to fill an array of ints with the value 1 and you do not get ones. You get 16843009 in every slot, because each int is four bytes and every byte was set to 1 separately. You lose an evening to that, you find the explanation, and you never forget the function again.
Which turned out to be fitting, because forgetting is what the app is about.
Why a memory function fit a memory app
Look at what memset actually promises. You point it at a region of memory, and afterward that region holds the value you chose, all of it, with no decay, until something else writes over it.
Human memory offers nothing like that. Whatever you put there starts to fade the moment you look away. Hermann Ebbinghaus measured the decay on himself in the 1880s, memorizing nonsense syllables and testing what remained hours and days later, and when researchers repeated his experiment in 2015 they reproduced nearly the same curve. Most of a new memory is gone within days. The loss is not a character flaw, it is the default behavior of the hardware, and the forgetting curve guide on the Memset site walks through the full picture.
Spaced repetition is the closest thing anyone has found to a memset for the brain. You cannot set a human memory once and have it stay. What you can do is write the value again at the right moments, reviewing just before the fade, and each rewrite holds longer than the last. First a day, then a few days, then weeks, then months. After a handful of well-timed rewrites, the memory behaves almost as if it had been set for good.
Your brain ships without a memset. The closest replacement anyone has found is rewriting a memory just before it fades.
So the metaphor was sitting right there, and English quietly handed me a second one. Memset also reads as memory set, a set of things for your memory, and that noun became part of the app itself. Each piece of material you track in the app is called a memset: “Food Words - Page 3” or “Cranial Nerves - Neuro”. You create memsets, the schedule brings them back, and your memory keeps what the reviews keep touching.
There is an irony here that I enjoy more than I probably should. In real code, the most common call by a mile is memset(buffer, 0, size). Programmers mostly use the function to erase. The function famous for wiping memory clean now names an app built to stop your memory from being wiped. Every exam you crammed for and lost three weeks later already ran the zeroing version. The app exists to run the other one.
What the name costs
Now the part every marketing article warns you about. Naming your product after one of the most documented functions in programming means surrendering the search results for your own name.
When someone googles memset, Google sees a programmer debugging a buffer at 2 a.m., because for twenty years that is who typed the word. The pages that answer them (man7.org, cppreference, half of Stack Overflow) have been collecting links from the entire programming internet for decades. A small indie site will not displace them, and it should not want to. A C programmer mid-debug is not shopping for a study planner, and a search engine’s first job is matching what the person meant. Intent beats keywords, and the intent behind that word is spoken for.
It goes further than the function. There is a Windows utility called MemSet that tweaks RAM timings. There was a British hosting company called Memset for years, which is part of why memset.com was never on the table and my site lives at getmemset.app instead. The little word I loved turned out to be a crowded neighborhood, and my corner of it has to be earned query by query: memset app, memset spaced repetition, why is memset called memset.
A made-up word would have avoided all of this. Anki means “memorization” in Japanese, but to Google it means one thing only, and every search for it lands on the product. If your growth plan depends on strangers finding you through generic web search, do not name your app after a famous library function. I mean that sincerely.
I did it anyway, with open eyes, because of where a small app actually gets found. The App Store is not Google. Inside app store search the name is short, distinctive, easy to spell, and unclaimed. Nobody lands on a man page there. And beyond the stores, an app this size gets discovered through writing, word of mouth, and communities, channels where a name with a story outperforms a name with clean search results. The channel you grow through decides how much one Google ranking matters, and for the bare word memset, mine barely depends on it.
Naming advice from the other side
If you are choosing a name for your own app right now, here is what living with this one has taught me.
Search the name before you commit, then be precise about which searches you actually need to win. I never needed to win memset. I need to win memset app and spaced repetition planner and the queries where someone already half-knows me, and that fight is winnable. A collision with a C function is survivable. A collision with a direct competitor in your own category is a different story, and that is the collision to rule out first.
A name with a story pays rent in every conversation. Developers hear Memset, smile, and remember it, and the story compresses the pitch: the function sets memory, the app sets yours. This article exists because the name has an origin worth telling, and articles are a large part of how small apps get found. An invented word with perfect search results would have cost me every one of those conversations.
And pick a word you can stand saying for years. Naming is one of the few decisions in an indie app you make once and then repeat out loud forever, through however many years the build takes. I have said Memset in stand-ups, to relatives, in this blog, and typing the lowercase original into code at work still gives me a small private kick. That compounding enjoyment is worth real money. Morale is a resource like any other.
The trade in one sentence: I gave up search traffic I was never going to capture and got a name that means something, costs nothing to remember, and writes half my origin story for me.
The name still works on me, by the way. Somewhere in a university lab I set blocks of memory to a value and moved on with my life, and years later the same word came back as the thing I build in the evenings. These days the app surfaces a few memsets every morning, I review them, and the values get written back into the only memory I actually care about keeping.
The function fills a block of bytes and is done in nanoseconds. The app needs months and your cooperation. If your own memory keeps zeroing out things you meant to keep, Memset is the review planner I built to write them back, on schedule.