Posts

Showing posts from August, 2026

Edge of Flatland: Twenty Years of Codelivery in Deep Tech Software

Codelivery is to technical leadership what coadjoint is to dual spaces:  tracking the secondary invariances at the boundary of the primary system. For me, the primary system being delivering software. The theme of this now twenty years old blog is that engineering management is more than pushing tasks out the door. In innovation, engineering management is about always ensuring proper architecting of the cosystems : the DSLs, the team guardrails, the bounded agile constraints, as these keep the chaos of product creation under control. Innovation in software rarely starts with brute-force. Innovation in software starts by carefully aligning what is in and what is out , what is static and what is moving , what is interpreted and what interprets , what is exact and what is approximate , what is computed and what is pre-computed , what is immediate and what is lazy , and so on. The app below is like a track-ball. One can rotate and select pages. Pages are mapped to the sphere by ...

Whack a rodent bot: How to setup cloudflare to avoid bot spam traffic

Image
Three years of harassment, high volume spamming of this blog with spurious traffic!  I wrote about it here . Now the bot traffic is gone. πŸ‘! And it cost me just a few hours to clamp this spamming down! Below are the bot blocking steps I took. First a quick summary: This blog is hosted by Google's blogger.com. Skip / change below blogger instructions if you have a different blog hosting provider. The approach needed a new domain name, as I was previously using blogger's domain name space ( https://equational.blogger.com ). Therefore this solution is not only filtering traffic, it also "moving" my blog from its blogger address to https://blog.coadjoint.com  as already many years ago I realized that I was outgrowing a pure equational approach to software. Hindsight is gold, one thought might be, and without malice, that the "co" was missing in the adjoint  approach. Cloudflare's service immediately blocked the bot. Therefore to fully enjoy participating in...

blog.coadjoint.com

Short update: New primary blog address: blog.coadjoint.com  , equational.blogger.com gets redirect there. Coadjoint captures the layering of polarities and non-parallel models of streams. All original content copyright James Litsios, 2026.

2026 3d summer interlude

I recreate below a "box as spheres" 3d musing I had coded in C and assembly for my Canon A100 when I was a CS student. Vibe-coded (Gemini) JavaScript is embedded here to test this blogging platform,  By the way, next week is this blog's twenty years' celebration. πŸ‘‹to my friends and former colleagues! All original content copyright James Litsios, 2026.

Escaping Flatland: A Retrospective

A common theme in all my software developments is recognizing that true state is continuous, relational, and non-local. Therefore this blog's "tongue-in-cheek" title referring to the Flatland: A Romance of Many Dimensions novella. Building upon this geometric analogy, classical software is very similar to what we humans perceive as "flat normality", that is a Euclidean geometry. Continuity in a Euclidean geometry are dualities (e.g. volume integral vs surface integral). In classical software, continuity is also expressed as dualities (e.g. commit-request vs commit-commit phases in a DB). But what if your geometry is not "flat", not Euclidean? Then maybe your continuity has more than two parts! In physics, for example, three mode continuity exist to express flow or topological continuity. What about in software? And how do we even define "non-Euclidean" software designs?  To express what is a non-Euclidean" software design, we need menti...

Building High-Stakes Domain-Specific Languages: A Retrospective

I have designed and led designs of Domain Specific Languages (DSLs) in high-demand industries from semiconductor physics and algorithmic trading to distributed ledgers and industrial security. The systems that depend on the DSLs have powered industry-standard CAD tools, secured critical infrastructure, and driven core technologies acquired by global leaders. A key early lesson: mathematically clean domain invariants guarantee simplicity, safety, and scalability. Below is a selection of these projects. Whether you are an organization seeking strategic architectural guidance, or an engineer looking to master advanced language design in my upcoming workshop, this portfolio illustrates the  power of a well-engineered DSL. Design Rule Checker (DRC) Domain and Context:  Validating and finalizing integrated circuits masks in microelectronics (my first role). DSL: The DSL specifies 2d mask operations. Input is given set of masks (e.g. made by CAD automation or human layout ...

PMDL Informal Language Specification

PMDL (Physical Model Description Language) is a modeling language I designed for circuit and semiconductor devices. I implemented it as part of my PhD at the ETHZ  (see Litsios, J., 1996. A modeling language for mixed circuit and semiconductor device simulation, Hartung-Gorre).  It was built as a subset of the C programming language to remain simple and familiar, meaning it retains basic C syntax but does not support pointers or full hierarchical models. I had Gemini summarize the language specs below. The reason I bring it up is that the language vertex , edge , face , and element specifiers are actually tying the language semantics to the  k -simplices of a 3D spatial manifold ! And that is a pretty useful thing to know, and something I will bring up again in this blog. FYI: Dessis, which I developed during my PhD and was later acquired by Synopsys to become the number one TCAD device simulator, was my PhD's principal activity. My DSL development compiled to code run i...