Realme·phone
Realme C3
Based on 14 credible posts from Hacker News. 13 filtered out as bot-like or off-topic.
Low confidenceFew owner reviews so far, so this score can still move a lot. How we score
Scored September 28, 2026
We may earn a commission from this link. It never affects the score.
Owner reviews
Overall owner mood
Owners mostly like it, with reservations: 57% of 14 reviews are positive, 36% mixed, and only 7% negative. Praise centers on price & value.
What owners like
Price & value praised by 2 owners
What owners complain about
Nothing two or more owners agree on yet.
What owners talk about
- Price & value2 praise · 0 complain
Built from the reviews themselves — every quote links to the owner who wrote it.
Every credible owner review, most detailed first. Bots, off-topic comments, and ones that say nothing about using it are left out.
I can imagine it very easily, depending on the keyboard. [...] That fun stuff includes 3 different modes: One is just a keyboard, and the other two modes let the keyboard behave exactly like a game controller. [...] I haven't knowingly used this keyboard in game controller mode, but perhaps it is something can be selected by software (in addition to the multi-key combo listed in the book).
[...] This is how you can use it (as an example): (defun count-lines-and-words-ascii (sap size ws-init-state) (declare (type fixnum size) (type (unsigned-byte 8) ws-init-state) (type sb-sys:system-area-pointer sap) (optimize (speed 3) (safety 0))) (loop with loop-end of-type fixnum = (logandc2 size 127) for i of-type fixnum from 0 below loop-end by 128 with 0x0 of-type u8.32 = (u8.32 x00) with 0x20 of-type u8.32 = (u8.32 x20) with 0x0A of-type u8.32 = (u8.32 x0A) with wa of-type u64.4 = (u64.4 0) with la of-type u64.4 = (u64.4 0) with ws-prev of-type u8.32 = (u8.32 ws-init-state) for c1 = (u8.32-sap-ref sap (+ i 0)) for c2 = (u8.32-sap-ref sap (+ i 32)) for c3 = (u8.32-sap-ref sap (+ i 64)) for c4 = (u8.32-sap-ref sap (+ i 96)) do (flet ((process-chunk (curr prev) (let ((ctrl (u8.32-sat- (u8.32- curr 9) 4)) (ws (u8.32-or (u8.32= ctrl 0x0) (u8.32= curr 0x20))) (ws-shift (u8.32-alignr ws (u8.32-permute128 prev ws x21) 15)) (wmask (u8.32-andc1 ws ws-shift)) (lmask (u8.32= curr 0x0A))) (values wmask lmask ws)))) (multiple-value-bind (wm lm prev) (process-chunk c1 ws-prev) (psetf wa (u64.4+ wa (u8.32-sad wm 0x0)) la (u64.4+ la (u8.32-sad lm 0x0)) ws-prev prev)) (multiple-value-bind (wm lm prev) (process-chunk c2 ws-prev) (psetf wa (u64.4+ wa (u8.32-sad wm 0x0)) la (u64.4+ la (u8.32-sad lm 0x0)) ws-prev prev)) (multiple-value-bind (wm lm prev) (process-chunk c3 ws
I'm very confused on why C3 or Odin rarely get any attention at all, despite being in the same C-replacement crowd Your observation is valid, and many would say because something smells very fishy with what HN is doing. Zig is pushed at extremely nonsensical levels on HN, despite there being very worthy and interesting language contenders in the category: C3[1], Odin[2], Vlang[3], Dlang[4], Zen C[5], etc... [...]
I agree, having learned something with flashcards is like you have a repertoire to choose from. Instead of having to sort everything A1, A2, A3, B1, B2, B3, C1, C2, C3 you get to sort A, B, C. It has built in chunking. And what I noticed is that with memorizing comes understanding. Your flashcard says A on the front and A1, A2, A3 on the back. After reading it a few times you will understand what A means. But it will also help you put together the overall topic of A, B, C. It is wonderful compression.
I expect that many desert adapted species approach perfection (but have not bothered to verify). No they have different strategies to minimize water loss that comes with exhanging CO2 & O2 to the atmosphere. For example: Portulacaria Afra (elephant bush) is a nice example. It can switch between C3 and CAM photosynthesis pathways as needed.
What should be persuasive is a simple logical inference from the statements made to my conclusion. From the article: If you are terminally online on programming circles, you most likely have heard of Odin, it's so obvious that I don't feel like I have to make a case at all. It has been covered by the streamer Primeagen and it's used commercially by JangaFX, that's pretty notable to me. If you are active in discussions of other systems programming languages like Zig, Nim, Jai, D, V, Hare, C3, etc. then you have heard of Odin. If someone hasn't heard of all of those languages then it's an objective fact that they don't "keep up with PL development". See for instance Deletion of this article is an indication of inadequate processes at Wikipedia for determining the notability of certain sorts of subjects. Notability is a well-defined property on Wikipedia. This is not true ... if it were then there would not be disputes about notability. And simply reading makes it clear that it is not "a well-defined property". And beyond that, one of the points being discussed is that Wikipedia's criteria for notability have not adapted to the current state of affairs. If Wikipedia did have a rigid "well-defined property", that would be a mistake. As GingerBill is quoted as saying in TFA: Odin is now being used by dozens of companies, thousands of public projects, and over a million hobbyists. By a sensible rational evaluation, that makes it notable.
I can evaluate the claim now And the article is now. What luck! I would not have been able to evaluate the speed gain of an Oracle database using whatever proprietary implementation they are using. Which has nothing to do with the article. In fact it has less than nothing to do with anything, as even the original whitepaper goes through great lengths to specify that it's lab observations and only compares versions of oracle, none of which would have been relevant to you if you'd refused to use oracle in the first place. And Oracle never forbid running benchmarks (maybe they could now, they wouldn't have had the tracking and C3 to do so back in the 80s), DeWitt Clauses forbid publishing benchmarks without prior approval. Claiming I've called author anything is putting words in my mouth. You're asserting that you can not trust oracle's numbers, in response to an article by a (former) oracle employee talking about "their" sort algorithm and the numbers it got. There are only two possibilities here: 1. you got hopelessly lost in both space and time as you were looking for a 20 years ago thread on the linked oracle whitepaper, and your comments have nothing to do with TFA 2. you're calling the TFAA a liar who can not be trusted, given they're the author of the algorithm, givesthe same number, and in fact originally derived the rough gain when implementing and benchmarking the algorithm: once I had this implemented within the Oracle DBMS I was able to compare it with the old sort. The new sort was often about 5 times faster than the old sort. So which is it?
I don't know about a list online but here's what I know off, in the C/C++ realm Odin - Zig - Beef - Jai (not public yet) - [1] Carbon (C++) - D Lang - Rust - cppfront (Herb Sutter's C++ frontend/syntax) - Nim - Crystal (not sure if this counts) - Vale - Hylo (formerly Val, just found it now) - Vala (compiles to C, some GTK apps are written in this) - C3 - Rune (last commit 7 months ago) - Kit (dead, last commit 5 years ago) - There's probably more. That's all I can recall off the top of my head and/or what I have in my notes. There's also Haskell [2], which compiles down to C-- [3] (a C like language). Not sure if this counts either. [1]: [2]: [3]:
Remember that -Os is much much more aggressive in GCC than it is in LLVM, with LLVM you need to use -Oz to get the same result. GCC has historically been a bit of a pig about -Os, my favorite example is on x86 where it will emit a runtime divide for a division by a compile time constant power of two because it saves a byte of text! int fn(int n) { return n / 8; } ..becomes: 0000000000000000 <fn: 0: 89 f8 mov %edi,%eax 2: b9 08 00 00 00 mov $0x8,%ecx 7: 99 cltd 8: f7 f9 idiv %ecx a: c3 ret ..versus: 0000000000000000 <fn: 0: 8d 47 07 lea 0x7(%rdi),%eax 3: 85 ff test %edi,%edi 5: 0f 49 c7 cmovns %edi,%eax 8: c1 f8 03 sar $0x3,%eax b: c3 ret
I got a c3 pro a few weeks ago and you definitely can turn the lighting off. Don't remember whether it was through cycling or some other combo but you can. Did you look at the manual?
[...] Maybe placement of Control/Option/Command aren't similar enough to the MacBook Pro keyboard for me. [...] swapping physical keycaps or remapping in software or replacing the keyboard...
Every day time I check out Tsoding he’s either using C or Jai. He played with C3 but didn’t stick with it. I wonder if he ever tried Odin, might be down his alley.
The claims, and the evidence
What the brand claims
No published claims on file for this product yet.
What owners report
“I can imagine it very easily, depending on the keyboard. [...] That fun stuff includes 3 different modes: One is just a keyboard, and the other two modes let the keyboard behave exactly like a game controller. [...] I haven't knowingly used this keyboard in game controller mode, but perhaps it is something can be selected by software (in addition to the multi-key combo listed in the book).”
“[...] This is how you can use it (as an example): (defun count-lines-and-words-ascii (sap size ws-init-state) (declare (type fixnum size) (type (unsigned-byte 8) ws-init-state) (type sb-sys:system-area-pointer sap) (optimize (speed 3) (safety 0))) (loop with loop-end of-type fixnum = (logandc2 size 127) for i of-type fixnum from 0 below loop-end by 128 with 0x0 of-type u8.32 = (u8.32 x00) with 0x20 of-type u8.32 = (u8.32 x20) with 0x0A of-type u8.32 = (u8.32 x0A) with wa of-type u64.4 = (u64.4 0) with la of-type u64.4 = (u64.4 0) with ws-prev of-type u8.32 = (u8.32 ws-init-state) for c1 = (u8.32-sap-ref sap (+ i 0)) for c2 = (u8.32-sap-ref sap (+ i 32)) for c3 = (u8.32-sap-ref sap (+ i 64)) for c4 = (u8.32-sap-ref sap (+ i 96)) do (flet ((process-chunk (curr prev) (let ((ctrl (u8.32-sat- (u8.32- curr 9) 4)) (ws (u8.32-or (u8.32= ctrl 0x0) (u8.32= curr 0x20))) (ws-shift (u8.32-alignr ws (u8.32-permute128 prev ws x21) 15)) (wmask (u8.32-andc1 ws ws-shift)) (lmask (u8.32= curr 0x0A))) (values wmask lmask ws)))) (multiple-value-bind (wm lm prev) (process-chunk c1 ws-prev) (psetf wa (u64.4+ wa (u8.32-sad wm 0x0)) la (u64.4+ la (u8.32-sad lm 0x0)) ws-prev prev)) (multiple-value-bind (wm lm prev) (process-chunk c2 ws-prev) (psetf wa (u64.4+ wa (u8.32-sad wm 0x0)) la (u64.4+ la (u8.32-sad lm 0x0)) ws-prev prev)) (multiple-value-bind (wm lm prev) (process-chunk c3 ws”
“I'm very confused on why C3 or Odin rarely get any attention at all, despite being in the same C-replacement crowd Your observation is valid, and many would say because something smells very fishy with what HN is doing. Zig is pushed at extremely nonsensical levels on HN, despite there being very worthy and interesting language contenders in the category: C3[1], Odin[2], Vlang[3], Dlang[4], Zen C[5], etc... [...]”
“I agree, having learned something with flashcards is like you have a repertoire to choose from. Instead of having to sort everything A1, A2, A3, B1, B2, B3, C1, C2, C3 you get to sort A, B, C. It has built in chunking. And what I noticed is that with memorizing comes understanding. Your flashcard says A on the front and A1, A2, A3 on the back. After reading it a few times you will understand what A means. But it will also help you put together the overall topic of A, B, C. It is wonderful compression.”
Common Realme C3 problems
Problems most owners who mention them agree on, plus ones owners are split on.
No recurring complaint pattern found across the reviews analyzed. That's a genuinely good sign — it means owners aren't converging on the same problem.