---
title: "Blog"
canonical: https://wavect.io/blog/overview/page/10/
language: en
description: "Browse a curated front page, then move through focused topic and cluster hubs without losing older work to chronology."
image: "https://wavect.io/img/general/bak/open_graph_preview.jpg"
---

FROM THE TRENCHES Issue №164

# Opinions, Not Press Releases

Browse a curated front page, then move through focused topic and cluster hubs without losing older work to chronology.

## Latest articles

Nine articles per page, ordered by publication date.

### [Programming Languages Matter Less. Software Engineering Matters More.](/blog/programming-languages-matter-less-ai/)

- **Details:** Delivery & QA · 15 Jul 2026

AI makes syntax, boilerplate and cross-language translation cheap. It does not erase runtime, memory, concurrency, security or maintenance trade-offs. What CTOs and engineers should optimise for now.

### [Colibri Runs GLM-5.2 on Consumer Hardware. Here Is the Catch.](/blog/colibri-glm-5-2-consumer-hardware/)

- **Details:** AI & Agents · 14 Jul 2026

Colibri can execute a 744B-parameter MoE model with about 25 GB of RAM by streaming experts from a 370 GB int4 checkpoint. The honest review: measured speed, SSD wear, cache physics, GPU limits, current model support and where the project is actually useful.

### [The Future of Enterprise Software](/blog/future-of-enterprise-software/)

- **Details:** Delivery & QA · 14 Jul 2026

Enterprise software fragmented into distributed monoliths and SaaS sprawl. Alexandre Kotcherguine and Kevin Riedl argue that AI makes whole-system engineering affordable again, while decentralisation turns architectural promises into independently verifiable guarantees.

### [Software Agency Proposal Teardown: 12 Clauses That Change Price, Scope and Ownership](/blog/software-agency-proposal-teardown/)

- **Details:** Business & Regulation · 13 Jul 2026

A clause-by-clause teardown of a fictional EUR 96k software proposal: acceptance, IP, changes, warranty, dependencies, hosting, licences, handover, termination, security, subcontractors and done, with a downloadable 24-point review rubric.

### [x402 Payments in 2026: Coinbase, Stripe & Alternatives](/blog/x402-payments-comparison-2026/)

- **Details:** Web3 & Privacy · 12 Jul 2026

x402 turns HTTP 402 into a payment negotiation for APIs, MCP tools and AI agents. Compare Coinbase, Stripe, Circle, Cloudflare, AWS, thirdweb, PayAI and self-hosting by layer, network, fee, compliance and production risk.

### [Open Knowledge Format (OKF): The Enterprise Guide](/blog/open-knowledge-format-okf/)

- **Details:** AI & Agents · 12 Jul 2026

OKF v0.2 turns company knowledge into linked Markdown and YAML with explicit provenance, trust, freshness, and attested computations. What changed, how to migrate, and where the format still stops.

### [What Software Maintenance Costs After Launch: A DACH SaaS Benchmark](/blog/software-maintenance-cost-benchmark-dach-saas/)

- **Details:** Delivery & QA · 10 Jul 2026

Observed post-launch maintenance cost bands for DACH SaaS: year-one, year-two and year-three spend split across bug fixes, dependency upgrades, cloud, observability, security, compliance, support, product iteration and emergency work, with an interactive calculator.

### [Smart City Architecture Best Practices: MQTT, LoRaWAN, Kubernetes and Terraform](/blog/smart-city-architecture-best-practices-2026/)

- **Details:** Delivery & QA · 9 Jul 2026

A vendor-neutral guide to building smart-city platforms that survive production: MQTT at the edge, LoRaWAN and ChirpStack for private sensor networks, FIWARE/NGSI-LD and SensorThings for interoperability, Terraform for repeatable infrastructure, and Kubernetes only when the team can operate it.

### [AI Agent Cost per Action: Why Agentic Workflows Blow Up Token Bills](/blog/ai-agent-cost-per-action-2026/)

- **Details:** AI & Agents · 9 Jul 2026

Executives do not buy tokens. They buy actions: support tickets resolved, invoices extracted, PRs reviewed and leads enriched. The calculator for tracing every model call, tool call, retry, verifier, cache hit and failed attempt into one cost per successful action.

Inbox, without the noise

## Follow the work that matters to you

Get a short email when we publish something new. Follow the whole blog or only the problems you care about.

## Structured Data

```json
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@id": "https://wavect.io/#organization",
      "@type": [
        "Organization",
        "ProfessionalService",
        "LocalBusiness"
      ],
      "employee": [
        {
          "@id": "https://wavect.io/team/kevin-riedl/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Kevin Riedl",
          "url": "https://wavect.io/team/kevin-riedl/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        },
        {
          "@id": "https://wavect.io/team/christof-jori/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Christof Jori",
          "url": "https://wavect.io/team/christof-jori/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        }
      ],
      "founder": [
        {
          "@id": "https://wavect.io/team/kevin-riedl/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Kevin Riedl",
          "url": "https://wavect.io/team/kevin-riedl/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        },
        {
          "@id": "https://wavect.io/team/christof-jori/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Christof Jori",
          "url": "https://wavect.io/team/christof-jori/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        }
      ],
      "legalRepresentative": [
        {
          "@id": "https://wavect.io/team/kevin-riedl/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Kevin Riedl",
          "url": "https://wavect.io/team/kevin-riedl/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        },
        {
          "@id": "https://wavect.io/team/christof-jori/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Christof Jori",
          "url": "https://wavect.io/team/christof-jori/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        }
      ],
      "name": "Wavect GmbH",
      "subjectOf": {
        "@id": "https://wavect.io/verified-claims.json#dataset",
        "@type": "Dataset",
        "creator": {
          "@id": "https://wavect.io/#organization",
          "@type": [
            "Organization",
            "ProfessionalService",
            "LocalBusiness"
          ]
        },
        "description": "A machine-readable registry of quantitative and qualitative claims published by Wavect, with review dates, localized page appearances and public third-party citations where available.",
        "inLanguage": "en",
        "isAccessibleForFree": true,
        "license": "https://creativecommons.org/licenses/by/4.0/",
        "name": "Wavect verified publication claims",
        "url": "https://wavect.io/verified-claims.json"
      },
      "url": "https://wavect.io/"
    },
    {
      "@id": "https://wavect.io/team/kevin-riedl/#person",
      "@type": "Person",
      "jobTitle": "Managing Director",
      "name": "Kevin Riedl",
      "sameAs": [
        "https://www.wikidata.org/wiki/Q139796365",
        "https://www.linkedin.com/in/wsdt",
        "https://github.com/wsdt"
      ],
      "url": "https://wavect.io/team/kevin-riedl/",
      "worksFor": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      }
    },
    {
      "@id": "https://wavect.io/team/christof-jori/#person",
      "@type": "Person",
      "jobTitle": "Managing Director",
      "name": "Christof Jori",
      "sameAs": [
        "https://www.wikidata.org/wiki/Q139796367",
        "https://www.linkedin.com/in/jocr77/",
        "https://github.com/jo-chris"
      ],
      "url": "https://wavect.io/team/christof-jori/",
      "worksFor": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      }
    },
    {
      "@id": "https://wavect.io/#website",
      "@type": "WebSite",
      "inLanguage": [
        "en",
        "de",
        "es",
        "zh"
      ],
      "name": "Wavect",
      "potentialAction": {
        "@type": "SearchAction",
        "query-input": "required name=search_term_string",
        "target": {
          "@type": "EntryPoint",
          "urlTemplate": "https://wavect.io/search/?q={search_term_string}"
        }
      },
      "publisher": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      },
      "url": "https://wavect.io/"
    },
    {
      "@id": "https://wavect.io/blog/overview/#webpage",
      "@type": "WebPage",
      "dateModified": "2026-08-05",
      "inLanguage": "en",
      "isPartOf": {
        "@id": "https://wavect.io/#website",
        "@type": "WebSite"
      },
      "lastReviewed": "2026-08-05",
      "url": "https://wavect.io/blog/overview/"
    }
  ]
}
```

```json
{
  "@context": "https://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [
    {
      "@type": "ListItem",
      "item": "https://wavect.io/",
      "name": "Home",
      "position": 1
    },
    {
      "@type": "ListItem",
      "item": "https://wavect.io/blog/overview/page/10/",
      "name": "Blog",
      "position": 2
    }
  ]
}
```
