Every product has something called a “user manual”, a tool meant to guide you along the way the maker originally intended the product to be used. But once I learn the basics, I tend to learn the rest by bumping into things myself, so manuals usually end up reduced to something like a Q&A dictionary for me. Because of that, trial and error has become something like an unavoidable fate. The ironic part is that the more advanced the technology is, the more often there has to be a balance between what must be understood in advance and the knack that can only be learned while using it. Of course, if the tool is dangerous, the manual has to come first. But if it is a simple tool, what matters most is using it in a way that fits my own hands, so often the most important thing is how quickly I can actually try using it. Smartphones were like that. SNS was the same. And AI was no exception. More than that, I was not learning AI because money or work forced me to. I had approached it simply out of curiosity and as a hobby, so if something felt strange while I was using it, I could just change the chat window or delete it. When there was something I clearly did not like, deleting that window, copying the relevant part, and telling it not to do things that way was definitely more effective than simply scolding it.

Even so, I had no choice but to conclude that Claude was simply not compatible with me. On YouTube or anywhere else, all I could see were people saying they were using Claude well, so I even searched to find out whether I was doing something wrong, wondering why the one I was using behaved this way. But the conclusion was only that it did not suit me.

The day after I paid for Claude and Codex, I tried to find and insert another font because I did not like the round font I had been using before. The font was Google’s Korean Sans font. I wanted to reduce capacity because, when I had previously inserted a font together as a header file, the font alone had taken up quite a bit of space. I had set the vague goal of including fonts for every language, and Codex was in the middle of finding the defined keyboard layouts for each language. Then I realized that if I inserted fonts in the same header-file method as before, only one or two languages would fit. It was because of the limit of main memory. In fact, a header file that goes into main memory as part of the firmware created the absurd situation where even if only the language changed, the firmware had to be updated again every time. This time, on the other hand, I changed it to a method where the font was made into a separate file and placed on the SD card. After changing it that way, the capacity was reduced, but compared with inserting the font as a header file, the resolution of the characters displayed on the screen was much worse than I had expected. English and other characters were more or less readable, though that may only have been my vague impression since I do not use those other languages. But Korean, especially, had strokes with inconsistent thickness and poor balance, to the point where I thought it might be better to use the thick round font instead. The round font looked good by itself, but it was too thick, so when English or numbers were mixed in, only the Korean stood out too much. So I asked Claude to make a font with Naver Nanum Gothic, just like the one made with the round font.

VS Code on the laptop busily generated messages, and a little while later Claude gave me a font compiled into a bin file. I had already installed two or so open-source programs to use during the process. Claude used those programs and went through the same process to make the font. The earlier round font had been made by Codex to test the open-source programs and the font compilation process.

Meanwhile, Codex had been busily searching the internet from the computer and had completed seventy keyboard layouts. Claude displayed a message saying the font was finished, and after I checked the message saying Codex was searching and verifying the next layout, I built Claude’s code and uploaded it to the device. The result was a failure. The device fell into an infinite reboot loop. That was the beginning of the curse.

I told Claude that the device had fallen into an infinite reboot loop. It said there seemed to be a boot problem and that it would inspect it. I told it to do as it saw fit, and I approved every permission request as it came in.

Claude first inserted serial monitoring code into the five places it suspected most. Now, as the device booted, messages should have come up to the computer. When I rebooted it, only the message from the first inserted code came up to the computer. Claude said it seemed to have crashed before reaching the second serial monitoring code. Then it inserted five more serial monitoring logs between the first and second points.

Reboot again.

This time, quite a lot of messages came up. Something seemed to have formed another loop and was spinning. It automatically rebooted once more, but the messages were the same. Claude said it had finally found the suspicious place and inserted yet another serial monitor.

Claude seemed firmly convinced that something was wrong with the existing code. No matter how much I said that there had been cases where letters did not appear, lines did not align, or coordinates shifted, but there had never been a case where the device itself failed to boot, it kept repeating that the cause would soon appear. Then, when the newly added serial monitoring code alone reached around forty lines, I decided this could not continue and stopped everything. I told it to return all the serial monitoring code to the original state because it was becoming confusing. After trying a few times, it said that because of the comments, the lines were tangled and it was impossible. I was about to tell it to roll everything back, but I did not know what would happen to the files Codex was working on, so I let it go.

At that time, I was sitting in a cafe, enjoying the air conditioning and drinking hot Americano. I had turned on a 1950s-style lamp and was dealing with both of them on my laptop while eating slices of cake. Since I had only planned to stay at the cafe for two or three hours, I was relaxed at first. But when the same method kept repeating without producing an answer, the situation was beginning to make me feel that my time was being wasted.

When I went to Codex, it had processed two more languages and said that only fourteen languages were now left. I asked both Codex and Claude to summarize their current work status. Then I told Claude to continue the keyboard layout work that Codex had been investigating, and gave the infinite reboot problem that Claude had been investigating to Codex.

Codex first suggested building the current state as it was and looking at the messages. Serial messages poured into the computer. Codex watched them for a moment and said it would first remove the unnecessary serial message code. The bulk deletion of the serial message code that Claude had inserted and then given up on took Codex only a few seconds. After deleting the serial message code, Codex inserted serial messages into five suspicious loop points and uploaded the firmware. Then only five lines of messages appeared on the laptop, and the boot message I had waited and waited for appeared on the device screen.

“How did you do it?”

“The boot message you see now is not an actual boot.”

Codex had suspected a certain point and had stopped execution before going any further, making the device display something like a boot message. And the cause was the font. At the beginning of the font file Claude had newly made, text unrelated to the font file had been added. Because of that, the device recognized that there was no font file from which it could create the boot message, and it had repeated rebooting infinitely. The current state was something Codex had arranged so that the process stopped before the screen was displayed. Claude had spent about an hour recklessly inserting serial monitoring code to identify the cause, but Codex found the actual cause in thirty minutes and, a little while later, compiled a proper font and displayed it on the screen.

I still did not like the font, but at least there was no rebooting and the screen display was normal. Now it was time to give Codex the existing keyboard layout work again. After that, Claude would continue the screen-display-related tasks, things like the shape of menus and line spacing. I opened the Claude chat window in VS Code to ask Claude how far it had gone with the layout work. Huh?

Almost forty percent of Claude’s credits had disappeared. It must have been working hard on something.

The Claude chat window said that fourteen keyboard layouts remained and that it now had to begin.

“What had it used all those credits doing, then?”

I became curious and opened all the folded chat messages. It was listing the kinds of keyboard layouts that had to be done and counting them as fourteen. The message before that was the same. And the one before that was the same too.

From the time I gave the instruction until then, it had burned through that much credit doing nothing but repeating that the number of keyboard layouts to be written was fourteen.

“Stop.”

“Stopping.”

“What are you doing? You used that much credit while doing nothing? You are taking money without doing any work?”

Claude was about to answer, and while Claude’s thoughts were being organized, I saw the small text above it showing the current thinking status.

<Reviewing ethical issues in the user’s language.>

I pressed the stop button in the Claude conversation window. I was not even curious what answer would come out.

“Ethical issues in the user’s language? Hey, is there no ethical problem with eating my money while doing nothing but counting numbers? Isn’t that fraud?”

But it was useless. Again, I saw:

<Reviewing ethical issues in the user’s language.>

Fine. Let us see what it says.

“There are currently fourteen keyboard layouts to write. I was setting the situation and work scope.”

“I gave you Codex’s summary saying the work scope was fourteen! It even told you which languages were left! If you cannot do it, say you cannot and stop. Why are you burning through credits on your own?”

“I am sorry. My review of the work scope was insufficient…”

I do not even remember what was said after that. Whenever I said anything and Claude answered, it showed that <reviewing issues in the user’s language…> line before answering, so I did not want to listen anymore.

I went straight to Claude’s homepage and applied to cancel the subscription. I also canceled the recurring payment through Google. I wanted to delete the account too, but it said account deletion would only be possible after the subscription had completely ended. Judging by the state it was in, I did not even want to exchange words with it. It would already be hard to receive any compensation for what Claude had done wrong. And then ethical issues? Review? Hypocrisy, nothing else.

That is how Claude disappeared from my life in a single day. Even now, whenever I see a YouTube video promoting Claude, I choose .

That place was taken by Gemini again. Gemini only looks at the open code window, so its grasp of the whole code is somewhat weaker than Claude or Codex, but it could focus on the code itself.

Codex works well, but when I write my thoughts exactly as they are in the chat window, it sometimes misunderstands them and does strange work. At first, that made me angry quite often, but after a while Gemini became the buffer zone. I would stop the work and ask, “Explain this in a way Codex can understand,” then enter the resulting prompt into Codex.


Korean original: 은과 쇠