Skip to content

Journal: September 2024

Journal for September 2024

Monthly retrospective

Moved as many scattered records as possible into Obsidian. It felt like a brief look back over the past twenty years. The resolution of my memories differs greatly between periods when I kept good records and periods when I didn’t. Low-resolution memories make a period feel as if it passed relatively quickly. I want a long, healthy life, but if memories disappear, living longer means less. I plan to keep better records.


I keep thinking about how to make better use of AI, particularly from the perspectives of value in the process, concerns about over-automation, and the exploration-exploitation dilemma.


Studied Apple platform development and made ZenPDF. I love it. I want to release it soon, but Apple developer registration is taking forever. Still waiting.

Journal

2024-09-29

Studied Swift syntax a little more. Learned that SwiftUI’s peculiar syntax uses “trailing closures” with parentheses omitted.

// Traditional closure
reversedNames = names.sorted(by: { $0 > $1 })

// Trailing closure
reversedNames = names.sorted() { $0 > $1 }

// Trailing closure without parentheses
reversedNames = names.sorted { $0 > $1 }

An example of SwiftUI’s declarative UI composition:

HStack {
	Image(album.cover)
	VStack(alignment: .leading) {
		Text(song.title)
		Text(song.artist.name)
			.foregroundStyle(.secondary)
	}
}

2024-09-28

Still building ZenPDF. It’s unfamiliar and fun to produce something quite convincing while knowing almost nothing about the language (Swift) syntax, framework (SwiftUI), or operating system (macOS). One major advantage of AI-assisted programming seems to be how much it reduces the fear of starting something new.

The downside resembles the problems of a team leader who is bad at development working with a team member. The leader cannot give precise instructions, the member cannot produce exactly the right result, and the leader repeatedly reviews and gives feedback based on a vague “gut feeling.” Things get done at first, but quality deteriorates and eventually no one knows why particular code is there.

Even if you start this way, you ultimately need to read documentation calmly and learn the language and framework to some extent. Alternating between “just trying to build something” and “studying carefully” is unchanged, but AI makes the “just build it” stage much easier. It feels like taking longer strides.

2024-09-26

Curious about Swift syntax, I read A Swift Tour.


Cloudflare released all sorts of good things again. One particularly interesting item: blog.cloudflare.com/sqlite-in-durable-objects/

2024-09-25

Decided to leave diary-like records, however short, whenever possible. Starting today. (Actually wrote all the entries below in one go today.)

  • With help from ChatGPT and Claude, I made my first-ever macOS app. A PDF viewer that removes all UI, including the title bar, to fill the screen. Its name is ZenPDF. What a strange world, where I can make what I want with a language (Swift) whose syntax I don’t know and a library (SwiftUI) I don’t know.
  • Learned that Swift has syntax explicitly expressing guard clauses.

2024-09-23

Studied terminology and concepts used in logistics. See: Logistics jargons.

2024-09-21

Skimmed the first and second editions of Martin Fowler’s Refactoring again and compiled a list of code smells.

2024-09-20

Recorded various thoughts about AI-assisted programming. No conclusions, but writing them down for now.

2024-09-19

Read a paper claiming that a plant species “sees” nearby plants’ leaves and mimics their shapes. See: Boquila trifoliolata mimics leaves of an artificial plastic host plant.

Its ability to mimic was already known; this was further research on the mechanism.

2024-09-18

About dysclicksia

2024-09-11

Somehow ended up helping with part of another company’s interview process. How can I tell whether I helped well? Devised and tried an alternative technical interview method to encourage applicants to use AI actively.

2024-09-10

Unearthed a few fragments I wrote over twenty years ago.

2024-09-08

Canceled my GitHub Copilot subscription and started using Cursor.

After evaluating Cursor for about thirty minutes, I immediately canceled GitHub Copilot, which I’d used since July 2021. It costs twice as much ( 10−>20), but I had no hesitation. Cursor prediction is good (jumping straight to where I want to go), as are multi-line edits (ghost text appears at multiple places in a file, and pressing Tab completes them all at once).

I suspect they built a model that predicts where users are likely to edit next. Moving to the most likely location would be Cursor prediction, and generating edit suggestions at several likely locations at once would be Multi-line edits. Anyway, well made.

I haven’t tried the other features yet (such as registering a library’s API documentation → RAG, generating long stretches of code, etc.), but these features alone were good enough that I saw no reason not to pay. It would be great if Composer, the long-code generation feature, were as good as Claude Artifacts.

What helps me most about using GH Copilot or Cursor seems to be the practice of coding in ways that clearly express my intent. It trains me to convey intent better through small keystrokes: naming things, choosing which part of the code to write first, positioning the cursor, and so on. It is also good for practice because feedback is much faster than from a human partner, and it is always beside me when I code.


Mostly finished gathering scattered records into Obsidian. Collected the publicly shareable records and published them on the web: this site you are reading.

Publication rules:

  • Public by default; selectively keep private only documents explicitly marked private.
  • Exclude documents with too little content and hide links to them, even if they are not private.
Created
Updated

Machine-translated from the Korean original.

2026 © ak | markdown | 한국어