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

TUE 11.10

  1. 11:00SAP BOX11:00 KST slotNot yet
  2. 13:00ART BOX13:00 KST slotNot yet
  3. 17:00BOOK BOX17:00 KST slotNot yet

Off today: ECONOMY · DEV (back Mon/Wed/Fri/Sun)

2026.11.10 Korea time

Latest notes

'26/11/09 UPDATE

What should you prepare first for an AI agent contest with a deadline? Notes from the AI TOP 100 preliminary round

On 31 October I took part in the preliminary round of Kakao's AI TOP 100, where an AI agent is built and submitted within five hours, and I submitted just before the deadline. Leaving the problem itself out, this note covers how I split the work with two AI tools, what went well, the material that came after the last deploy, running short of credit, what testing in the real channel showed, and nine things I will change next time.

AI agents / Contest retrospective · 7 min

'26/11/09 UPDATE

OB08 has no rate for today. Why does the foreign currency document still post?

In SAP documentation the valid rate is one entered on that date or earlier, so with no row for today a foreign currency document still posts if an earlier type M rate exists. Using a fictional invoice, this note calculates how the amount changes with posting and translation dates, then covers quotations, rates entered by hand and how to find stale rates, based on the S/4HANA 2025 documentation.

FI · 8 min

'26/11/09 UPDATE

I searched for C++. Why did the server receive 'C '?

A search for C++ reached the server as C followed by two spaces. In a query string, + means a space only to functions that read the form format; to percent-encoding functions such as encodeURIComponent and decodeURIComponent it is just a +. Using real runs on Node.js v24.21.0 and Python 3.9.6, this note shows how to pair the function that writes a query with the one that reads it so that + signs and spaces come back intact.

Web / URL · 9 min

'26/11/08 UPDATE

When you run a .ts file directly with node, who checks the types?

Node.js 24 runs a TypeScript file directly with node app.ts, but it only blanks out the types and never checks them. Real runs on Node.js v24.21.0 show code with the wrong types printing 1000100 and exiting with 0, an enum and an interface imported without type failing with a SyntaxError, and a tsconfig.json paths alias being ignored. The note then sets out how to hand type checking to tsc as a separate step.

Node.js / TypeScript · 10 min

WHAT'S NEW

Just arrived

THE LIBRARY

Notes worth keeping197

Showing 12 of 197 posts
DEV BOXAI agents / Contest retrospective

What should you prepare first for an AI agent contest with a deadline? Notes from the AI TOP 100 preliminary round

On 31 October I took part in the preliminary round of Kakao's AI TOP 100, where an AI agent is built and submitted within five hours, and I submitted just before the deadline. Leaving the problem itself out, this note covers how I split the work with two AI tools, what went well, the material that came after the last deploy, running short of credit, what testing in the real channel showed, and nine things I will change next time.

AI agentsAI TOP 100Claude Code
7 min read · KO / EN
ECONOMY BOXHousehold debt

Household credit rose 25.9 trillion won in the second quarter. Why did the household debt-to-GDP ratio fall from 85.3% to 81.1%?

Korean household credit at the end of June 2026 was 25.9 trillion won above the end of March, yet the household debt-to-GDP ratio fell from 85.3% at the end of March to 81.1%. Recompute the ratio from public statistics and split its fall between debt and GDP.

Household debtHousehold creditDSR
9 min read · KO / EN
SAP BOXFI

OB08 has no rate for today. Why does the foreign currency document still post?

In SAP documentation the valid rate is one entered on that date or earlier, so with no row for today a foreign currency document still posts if an earlier type M rate exists. Using a fictional invoice, this note calculates how the amount changes with posting and translation dates, then covers quotations, rates entered by hand and how to find stale rates, based on the S/4HANA 2025 documentation.

SAP FIOB08Exchange Rate
8 min read · KO / EN
DEV BOXWeb / URL

I searched for C++. Why did the server receive 'C '?

A search for C++ reached the server as C followed by two spaces. In a query string, + means a space only to functions that read the form format; to percent-encoding functions such as encodeURIComponent and decodeURIComponent it is just a +. Using real runs on Node.js v24.21.0 and Python 3.9.6, this note shows how to pair the function that writes a query with the one that reads it so that + signs and spaces come back intact.

URL encodingURLSearchParamsencodeURIComponent
9 min read · KO / EN
SAP BOXABAP

Checking authorizations in Z programs: what slips through if you only test sy-subrc 4 after AUTHORITY-CHECK?

With only IF sy-subrc = 4 after AUTHORITY-CHECK, a user who was never given the authorization object (sy-subrc 12) passes straight through. Using a fictional Z report, this note covers what sy-subrc 0, 4, 12 and 40 mean, four cases where a 0 does not mean this user is authorized for these values, the places with no implicit check that you must guard yourself, and the order to follow in a review.

SAPABAPAUTHORITY-CHECK
9 min read · KO / EN
DEV BOXNode.js / TypeScript

When you run a .ts file directly with node, who checks the types?

Node.js 24 runs a TypeScript file directly with node app.ts, but it only blanks out the types and never checks them. Real runs on Node.js v24.21.0 show code with the wrong types printing 1000100 and exiting with 0, an enum and an interface imported without type failing with a SyntaxError, and a tsconfig.json paths alias being ignored. The note then sets out how to hand type checking to tsc as a separate step.

TypeScriptNode.jstype stripping
10 min read · KO / EN
ECONOMY BOXPrice statistics

Producer prices rose 0.2% in September. Why did the total output price index fall 0.1%?

In the Bank of Korea’s preliminary September 2026 figures, the PPI rose 0.2%, the Domestic Supply Price Index was flat and the Total Output Price Index fell 0.1%. This note sets out what each index adds to the others and recomputes the −0.1% in four steps from the published indices and weights.

Producer Price IndexDomestic Supply Price IndexTotal Output Price Index
9 min read · KO / EN
ART BOXArt

In Dong Qichang's landscapes after old masters, where is the likeness?

Mt. Qingbian (1617) and Shaded Dwellings among Streams and Mountains (1620s) both say they follow the tenth-century painter Dong Yuan, yet they look different. Four works by Dong Qichang at Cleveland and The Met, read for what changed and what stayed, and set beside his own words on painting.

ArtDong QichangChinese Painting
9 min read · KO / EN
BOOK BOXClassics

Of Human Bondage, Volume 2: What Answer Does Cronshaw's Persian Rug Give Philip?

A reading guide to volume 2 of W. Somerset Maugham's Of Human Bondage in Song Mu's Korean translation, number 12 in Minumsa's World Literature series. It follows the rug through chapters 65, 79, 82 and 97 to the British Museum in chapter 106, where Philip finds the answer about life's meaning that Cronshaw put off in chapter 45, and on to his proposal in chapter 122.

민음사 세계문학전집#012Of Human Bondage
9 min read · KO / EN
SAP BOXFI

When you set the S/4HANA conversion date, must Asset Accounting wait for year-end?

From the Asset Accounting point of view, an S/4HANA conversion does not have to happen at year-end. What it needs is a single open fiscal year at the time of the migration and a complete period-end closing right before installation. Using three candidate dates for the fictional company code BX01, this note shows when two fiscal years are open and what to finish before SUM starts: the last AFAB run, RAPERB2000 and update terminations.

SAPS/4HANAAsset Accounting
10 min read · KO / EN
ART BOXArt

Why isn't the main figure at the centre of a Degas picture?

In Degas's 1865 painting the middle of the canvas belongs to a bouquet, and the woman is cut off at the right edge. Four paintings at The Met show what his edges cut and where they leave space empty, and Duranty's 1876 pamphlet The New Painting puts the method into words.

ArtEdgar DegasComposition
9 min read · KO / EN
ECONOMY BOXPublic finance

Through August, was Korea's budget 5 trillion won in surplus or 43 trillion won in deficit?

Korea's Monthly Public Finance for October 2026 shows a consolidated balance of 5.0 trillion won in surplus and a managed balance of 43.0 trillion won in deficit through August. Rebuild both from one table, see why the social security funds come out, and compare the August total with the annual figures.

Fiscal balanceManaged fiscal balanceSocial security funds
7 min read · KO / EN
12 / 197 posts