Posts

Showing posts from 2025

Two extremes in LLM prompting: From axiomatic belief to leap of faith

Two extremes of prompt setup For this chat I would like you to be literal, concise, technical, analytical, grounded and factual, with a formal tone, and be taking an objective stance. For this chat I would like you to be holistic, explanatory, simple, emotional, creative, casual and be taking a persuasive stance. A test question: Does one need belief to do mathematics? Responses (Gemini 2.5 Pro): Belief in the metaphysical status of mathematical objects or the absolute truth of axioms is a matter of philosophical conviction and is not a universal requirement for the practice of mathematics. Oh, what a beautiful question! I absolutely believe you do. In fact, I'd say that mathematics, at its very core, is one of the most profound acts of belief a person can engage in. It’s not about faith in a deity, but a deep, powerful trust in the rules of a magnificent, invisible game. Command list For convenience, I include the each command here: 1. Focus (Structure & Intent) Literal: ...

Typed duck typing in Python with Gemini

Image
Dynamic typing of duck typing The link to the code produced by Gemini and the topic of this blog . Two months ago I drafted a Python tracer library with Gemini, then I rewrote it from scratch (here) . It is however "clunky". Yet I do not worry, as Python is a computer scientist dream language, and in Python one can quickly implement something meta and probably slow, but then use a cache or two to make it fast enough. That is what I did last week: I sat in front of my screen, stared at it for 30m thinking through my options, and then asked Gemini to draft the concept. And while the result is missing some logic, it is however doing what I want: it dynamically wraps "types" around duck-typed operation. I could try to explain what it does... but I do not need to. Instead, I share what I told Gemini. The key desires are the following: let's make a cached wrapper factory, that when given an object, first is looks in the cache, and returns the instantiated wrapper with...

Software designs that grow: ten years of success

Having led the development of a large-scale, mission-critical system in a complex domain. I can't talk about the specifics of that system, but I can direct you to this architectural philosophy and design pattern blog I wrote many months before I started Elevence , and even before I wrote my playbook. It has become one of my most liked blogs:  Software designs that grow with monads, comonads, and type compatibility  . And one that has given me some fame. The story was that after having built software for many years, I started to notice that certain designs inevitably collapsed under their own weight, while others seemed to grow stronger with change. It felt less like a matter of style and more like a matter of mathematics. There are underlying laws about how information and change behave in a system. I wrote up the thoughts in that blog. Purposely cryptic back then, as it makes no sense to give away what is still new. Breaking down some core concepts of the blog: Type...

Design versus Architecture in software development

First try (from Gemini 2.5 Flash) Software architecture defines the system's fundamental structure , outlining its major components, their high-level relationships, and the overarching principles and quality attributes (like scalability or security) that guide its construction. It's the "what" and "why" of the system's foundational choices, which are costly to change. In contrast, software design focuses on the detailed internal workings of individual components and modules, specifying their logic, data structures, and algorithms to implement the architectural vision effectively. It's the "how" of putting those foundational pieces together, generally with a lower cost of modification. Second try (with my input) Software architecture defines the system's fundamental structure , outlining its major components, their high-level relationships, and the overarching principles and quality attributes (like scalability or security) that ...