# TIL

Published articles for TIL.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Prompts Are Guidelines. Code Is the Config.

DevFeed: [Prompts Are Guidelines. Code Is the Config.](<https://devfeed.tech/articles/prompts-are-guidelines-code-is-the-config-30872.md>)

Original publisher: [Read original article](<https://brent.leekley.me/blog/prompt-vs-config/>)

Author: Brent Leekley

Published: 2026-06-08T00:00:00Z

Content type: tutorial

Language: en

Sources: [brent.leekley.me blog](<https://devfeed.tech/sources/brent-leekley-me-blog.md>)

Topics: [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [Prompt Engineering](<https://devfeed.tech/topics/prompt-engineering.md>), [Claude](<https://devfeed.tech/topics/claude.md>), [API](<https://devfeed.tech/topics/api.md>), [hooks](<https://devfeed.tech/topics/hooks.md>), [JSON](<https://devfeed.tech/topics/json.md>), [context](<https://devfeed.tech/topics/context.md>)

Tags: [agent-reliability](<https://devfeed.tech/tags/agent-reliability.md>), [agents](<https://devfeed.tech/tags/agents.md>), [ai](<https://devfeed.tech/tags/ai.md>), [ai-agents](<https://devfeed.tech/tags/ai-agents.md>), [api](<https://devfeed.tech/tags/api.md>), [claude](<https://devfeed.tech/tags/claude.md>), [hooks](<https://devfeed.tech/tags/hooks.md>), [schema](<https://devfeed.tech/tags/schema.md>), [stateless](<https://devfeed.tech/tags/stateless.md>), [stop-reason](<https://devfeed.tech/tags/stop-reason.md>), [structured-output](<https://devfeed.tech/tags/structured-output.md>), [til](<https://devfeed.tech/tags/til.md>), [tool-use](<https://devfeed.tech/tags/tool-use.md>)

### AI overview

A Today I Learned field note about building more reliable AI agents by assigning probabilistic judgment to the model and deterministic guarantees to application code. It discusses using code-enforced gates and hooks for requirements that must always hold, branching on stop_reason rather than model text, handling turns that contain both chat and tool calls, and avoiding the assumption that a valid schema guarantees a correct answer.

### Source excerpt

Where the model's judgment ends and your code has to take over -- a Today I Learned field note on building AI agents that hold up in production: stop_reason, forced tool use, hooks, stateless history, and why a valid schema isn't a true answer.

## Today I Learned - in 2024 and 2025

DevFeed: [Today I Learned - in 2024 and 2025](<https://devfeed.tech/articles/today-i-learned-in-2024-and-2025-35598.md>)

Original publisher: [Read original article](<https://blog.rtwilson.com/today-i-learned-in-2024-and-2025/>)

Author: Robin Wilson

Published: 2026-01-08T10:50:55Z

Content type: article

Language: en

Sources: [Robin Wilson](<https://devfeed.tech/sources/robin-wilson.md>)

Topics: [Discord](<https://devfeed.tech/topics/discord.md>)

Tags: [aircraft](<https://devfeed.tech/tags/aircraft.md>), [discord](<https://devfeed.tech/tags/discord.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [linux](<https://devfeed.tech/tags/linux.md>), [short-interesting-things](<https://devfeed.tech/tags/short-interesting-things.md>), [til](<https://devfeed.tech/tags/til.md>), [uk](<https://devfeed.tech/tags/uk.md>)

### AI overview

A collection of the author's "Today I Learned" posts from 2024 and 2025, originally shared in a Discord channel. The entries cover topics including atomic numbers, cancer treatment, gun tracing, the Manhattan Project, display technology, RAM security, libraries, Linux, the UK National Lottery, Volkswagen sausage, police aircraft, evacuation aprons, and Irish population history.

### Source excerpt

A Discord server I use has a channel called #til, standing for Today I Learned. It's a place to post interesting or surprising things you recently learned. I took my posts to that channel from the last couple of years, tidied them up and have listed them below. Hopefully you'll find something interesting there: TIL [...]

## Using Ollama and Kotlin to migrate multiple files into a new library

DevFeed: [Using Ollama and Kotlin to migrate multiple files into a new library](<https://devfeed.tech/articles/using-ollama-and-kotlin-to-migrate-multiple-files-into-a-new-library-28715.md>)

Original publisher: [Read original article](<https://le0nidas.gr/2025/03/09/using-ollama-and-kotlin-to-migrate-multiple-files-into-a-new-library/>)

Author: Leonidas Partsas

Published: 2025-03-09T16:26:35Z

Content type: tutorial

Language: en

Sources: [le0nidas](<https://devfeed.tech/sources/le0nidas.md>)

Topics: [Ollama](<https://devfeed.tech/topics/ollama.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [migration](<https://devfeed.tech/topics/migration.md>), [Large Language Model](<https://devfeed.tech/topics/llm.md>), [Library](<https://devfeed.tech/topics/library.md>), [API](<https://devfeed.tech/topics/api.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [api](<https://devfeed.tech/tags/api.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [llm](<https://devfeed.tech/tags/llm.md>), [migration](<https://devfeed.tech/tags/migration.md>), [okhttp](<https://devfeed.tech/tags/okhttp.md>), [ollama](<https://devfeed.tech/tags/ollama.md>), [til](<https://devfeed.tech/tags/til.md>)

### AI overview

The article describes using Ollama with Kotlin to migrate a project from LoganSquare to kotlinx.serialization across multiple files. It outlines a workflow that loads file contents, sends them with prompts to a local LLM, and writes the results back, using OkHttp and kotlinx.serialization to communicate with Ollama.

### Source excerpt

At work, there is a need to migrate our project from using LoganSquare to kotlinx.serialization. Part of the work involves replacing the annotations the first library is using with the ones from the second. Unfortunately some cases are not as simple as replacing foo with boo. For example, a property must be annotated with @JsonField(name ... Continue reading Using Ollama and Kotlin to migrate multiple files into a new library ->

## Assorted Git things

DevFeed: [Assorted Git things](<https://devfeed.tech/articles/assorted-git-things-38527.md>)

Original publisher: [Read original article](<https://msfjarvis.dev/posts/assorted-git-things/>)

Author: Harsh Shandilya

Published: 2024-10-01T08:27:00Z

Content type: article

Language: en

Sources: [Posts on Harsh Shandilya](<https://devfeed.tech/sources/posts-on-harsh-shandilya.md>)

Topics: [Git](<https://devfeed.tech/topics/git.md>), [Submodules](<https://devfeed.tech/topics/submodules.md>), [ide](<https://devfeed.tech/topics/ide.md>), [passwords](<https://devfeed.tech/topics/passwords.md>)

Tags: [concepts](<https://devfeed.tech/tags/concepts.md>), [git](<https://devfeed.tech/tags/git.md>), [ide](<https://devfeed.tech/tags/ide.md>), [password](<https://devfeed.tech/tags/password.md>), [submodules](<https://devfeed.tech/tags/submodules.md>), [til](<https://devfeed.tech/tags/til.md>)

### AI overview

A running collection of Git tips covering editor configuration, staging behavior, removing submodules, credential-helper interaction, and maintaining a fork.

### Source excerpt

A running log of Git concepts I've learned since I started journaling