Make it work.
Write it down.

Notes from a developer who writes ABAP on real SAP systems and hands that work to agents. Art, travel, the economy and books live next door.

Today's line-up

FRI 10.16

  1. 09:00ECONOMY BOX09:00 KST slotNot yet
  2. 11:00SAP BOX11:00 KST slotNot yet
  3. 13:00ART BOX13:00 KST slotNot yet
  4. 15:00DEV BOX15:00 KST slotNot yet
  5. 17:00BOOK BOX17:00 KST slotNot yet

2026.10.16 Korea time

Latest notes

'26/10/15 UPDATE

I edited the copy, so why did the original object change too?

Changing the address on a copy made with { ...user } changed the original's address as well. Spread and Object.assign create only a new outer object and share the nested objects and arrays with the original. With real runs on Node.js v24.21.0, this note shows how to copy only the path you change, and what structuredClone and a JSON round trip each keep and lose.

Web / JavaScript · 8 min

'26/10/15 UPDATE

Where did the line go in Seurat’s pictures?

As a teenager Seurat copied a hand by Ingres in pencil, but a few years later his conté drawings had no outlines, and in his dotted painting the line was buried under the paint. Enlarging the edges of four works, and reading the difference through Wölfflin’s linear and painterly.

Art · 6 min

'26/10/15 UPDATE

Why Is IF name CS 'TEST' True for 'Contest'?

ABAP's CS and CP ignore case, and CS ignores word boundaries too, so CS 'TEST', meant to filter out test vendors, is also true for Contest Media GmbH. Using a fictional example, this note compares the case-sensitive CO, CA, FIND and contains( ), shows three ways to write the intended condition, and notes how the documentation wording differs between releases.

ABAP · 7 min

WHAT'S NEW

Just arrived

THE LIBRARY

Notes worth keeping160

Showing 12 of 160 posts
SAP BOXABAP

Why Is IF name CS 'TEST' True for 'Contest'?

ABAP's CS and CP ignore case, and CS ignores word boundaries too, so CS 'TEST', meant to filter out test vendors, is also true for Contest Media GmbH. Using a fictional example, this note compares the case-sensitive CO, CA, FIND and contains( ), shows three ways to write the intended condition, and notes how the documentation wording differs between releases.

SAPABAPCS
7 min read · KO / EN
ECONOMY BOXMoney supply

Base money fell 19 trillion won at the end of July. Why did M2 rise 28.5 trillion?

On end-of-July balances, Korea’s base money fell 19.0 trillion won while M2 rose 28.5 trillion, lifting the money multiplier from 13.36 to 14.32. Compute the multiplier yourself, see why month-end and monthly-average multipliers differ, and find where the missing money went.

Money MultiplierBase MoneyM2
7 min read · KO / EN
DEV BOXWeb / JavaScript

I edited the copy, so why did the original object change too?

Changing the address on a copy made with { ...user } changed the original's address as well. Spread and Object.assign create only a new outer object and share the nested objects and arrays with the original. With real runs on Node.js v24.21.0, this note shows how to copy only the path you change, and what structuredClone and a JSON round trip each keep and lose.

JavaScriptspread syntaxshallow copy
8 min read · KO / EN
BOOK BOXClassics

Of Human Bondage, Volume 1: Is It Really His Foot That Holds Philip Back?

A reading guide to volume 11 of Minumsa's World Literature series, the first volume of W. Somerset Maugham's Of Human Bondage in Song Mu's Korean translation: the four things that hold Philip, from his club foot to Mildred, with chapter numbers, and how to read the novel beside Part IV of Spinoza's Ethics, which bears the same title.

민음사 세계문학전집#011인간의 굴레에서
6 min read · KO / EN
SAP BOXABAP Development

A month of handing SAP ABAP development to Claude Code Desktop

A record of one month connecting SAP ADT to Claude Code through the open-source bridge vibing-steampunk and letting the agent run the edit → activate → verify loop: per-system permission flags, the /sap-dev loop, why success: true gets re-checked, and which jobs stay with people, checked against the current docs.

SAPABAPClaude Code
11 min read · KO / EN
ART BOXArt

Where did the line go in Seurat’s pictures?

As a teenager Seurat copied a hand by Ingres in pencil, but a few years later his conté drawings had no outlines, and in his dotted painting the line was buried under the paint. Enlarging the edges of four works, and reading the difference through Wölfflin’s linear and painterly.

ArtGeorges SeuratDrawing
6 min read · KO / EN
SAP BOXABAP

Why Does the Blank Disappear When You CONCATENATE ' '?

A single-quoted ' ' is a type c field of length 1, and CONCATENATE and && ignore trailing blanks of fixed-length operands, so the blank you insert disappears. Using a fictional example, this note shows how to keep it with SEPARATED BY, backquotes or a string template, and the traps of RESPECTING BLANKS, empty fields and short target fields.

SAPABAPCONCATENATE
6 min read · KO / EN
DEV BOXShell / Bash

I added set -e, so why does my script keep running after a command fails?

set -e does not stop on every failure. Execution continues after a failing command early in a pipeline, a command used as a test in if, && or ||, any function called from there, and a line like local v=$(…) that combines a declaration with a command substitution. Using real runs on macOS's Bash 3.2.57 and the GNU Bash manual, this note finds the cause of each and fixes them with pipefail, || return and a split declaration.

Bashset -epipefail
7 min read · KO / EN
ECONOMY BOXFlow of funds

Korean households put 88.5 trillion won into financial assets in Q2. Why did their holdings grow by 513.2 trillion?

In the Bank of Korea’s flow of funds for Q2 2026, the new money households put in and the growth of their financial assets differ by 424.7 trillion won. Separate what the transactions and balance tables measure, then use “change in balance − transactions” to see which assets produced the gap.

Flow of FundsHousehold Financial AssetsFlow vs Stock
6 min read · KO / EN
BOOK BOXClassics

Korean Short Stories 1: Why Do the Stories Write Money Down to the Last Jeon?

A reading guide to volume 10 of Minumsa's World Literature series, Korean Short Stories 1, edited by Lee Nam-ho: the nineteen stories by twelve writers, how to read the endings of "Potatoes", "A Lucky Day", "The Scoundrels" and "Wings" through their sums of money, and four things to mark while reading the rest.

민음사 세계문학전집#010한국단편문학선
7 min read · KO / EN
ART BOXArt

How small do people become in Turner's paintings?

In Saltash of 1811 you can see the folds of a man's shirt; in Whalers of about 1845 you cannot count a single person. Measuring the figures on four canvases of almost the same size, and reading the difference through Burke's sublime.

ArtJ. M. W. TurnerPainting
7 min read · KO / EN
SAP BOXABAP

Why Do Existing Rows Disappear After MOVE-CORRESPONDING Between Internal Tables?

MOVE-CORRESPONDING between internal tables does not just fill same-name columns: it deletes the target table and rebuilds it with as many rows as the source. Using a fictional example, this note covers why KEEPING TARGET LINES only appends rows, how CORRESPONDING with a lookup table enriches existing rows by key, and the header line trap.

SAPABAPMOVE-CORRESPONDING
8 min read · KO / EN
12 / 160 posts