# Harris Brakmic - Coding

Software is hard

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

## Structured Output with LangChain and Llamafile

DevFeed: [Structured Output with LangChain and Llamafile](<https://devfeed.tech/articles/structured-output-with-langchain-and-llamafile-25139.md>)

Original publisher: [Read original article](<https://blog.brakmic.com/structured-output-with-langchain-and-llamafile/>)

Author: brakmic

Published: 2025-06-22T16:50:12Z

Content type: tutorial

Language: en

Sources: [Harris Brakmic - Coding](<https://devfeed.tech/sources/harris-brakmic-coding.md>)

Topics: [LangChain](<https://devfeed.tech/topics/langchain.md>), [llamafile](<https://devfeed.tech/topics/llamafile.md>), [JSON](<https://devfeed.tech/topics/json.md>), [llama.cpp](<https://devfeed.tech/topics/llama-cpp.md>), [Parser](<https://devfeed.tech/topics/parser.md>), [Pydantic](<https://devfeed.tech/topics/pydantic.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [code](<https://devfeed.tech/tags/code.md>), [coding](<https://devfeed.tech/tags/coding.md>), [cpp](<https://devfeed.tech/tags/cpp.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [import](<https://devfeed.tech/tags/import.md>), [json](<https://devfeed.tech/tags/json.md>), [langchain](<https://devfeed.tech/tags/langchain.md>), [llama-cpp](<https://devfeed.tech/tags/llama-cpp.md>), [llamafile](<https://devfeed.tech/tags/llamafile.md>), [llm](<https://devfeed.tech/tags/llm.md>), [local](<https://devfeed.tech/tags/local.md>), [local-llm](<https://devfeed.tech/tags/local-llm.md>), [models](<https://devfeed.tech/tags/models.md>), [properties](<https://devfeed.tech/tags/properties.md>), [python](<https://devfeed.tech/tags/python.md>), [structured-output](<https://devfeed.tech/tags/structured-output.md>)

### AI overview

A tutorial on using LangChain with Llamafile to produce structured JSON output from a local large language model. It uses JsonOutputParser, PromptTemplate, and a Pydantic model because Llamafile does not provide a with_structured_output method.

### Source excerpt

Learn how to extend Llamafile with LangChain's JsonParser to produce clean, structured JSON output

## Enterprise Geospatial Solutions with QGIS and Angular

DevFeed: [Enterprise Geospatial Solutions with QGIS and Angular](<https://devfeed.tech/articles/enterprise-geospatial-solutions-with-qgis-and-angular-25133.md>)

Original publisher: [Read original article](<https://blog.brakmic.com/enterprise-geospatial-solutions-with-qgis-and-angular/>)

Author: brakmic

Published: 2025-03-10T16:53:01Z

Content type: tutorial

Language: en

Sources: [Harris Brakmic - Coding](<https://devfeed.tech/sources/harris-brakmic-coding.md>)

Topics: [geospatial](<https://devfeed.tech/topics/geospatial.md>), [Geographic Information System](<https://devfeed.tech/topics/gis.md>), [Angular](<https://devfeed.tech/topics/angular.md>), [Docker Compose](<https://devfeed.tech/topics/docker-compose.md>), [Kubernetes](<https://devfeed.tech/topics/kubernetes.md>), [Web Development](<https://devfeed.tech/topics/web-development.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>)

Tags: [angular](<https://devfeed.tech/tags/angular.md>), [cloud-native](<https://devfeed.tech/tags/cloud-native.md>), [coding](<https://devfeed.tech/tags/coding.md>), [docker](<https://devfeed.tech/tags/docker.md>), [frontend](<https://devfeed.tech/tags/frontend.md>), [gis](<https://devfeed.tech/tags/gis.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [kubernetes](<https://devfeed.tech/tags/kubernetes.md>), [qgis](<https://devfeed.tech/tags/qgis.md>)

### AI overview

This article explains how to combine QGIS Desktop and Server with Docker Compose and Kubernetes to build scalable geospatial applications. It also covers an Angular or minimal JavaScript web client and map rendering with OpenLayers.

### Source excerpt

This article shows how to combine QGIS Desktop/Server with Docker Compose and Kubernetes to build scalable geospatial applications. It also covers creating a web client using Angular (or a minimal JavaScript approach), integrating OpenLayers for map rendering, and ensuring all components work seamlessly together.

## Writing a Keycloak-PKCE Library in C++

DevFeed: [Writing a Keycloak-PKCE Library in C++](<https://devfeed.tech/articles/writing-a-keycloak-pkce-library-in-c-25141.md>)

Original publisher: [Read original article](<https://blog.brakmic.com/writing-a-keycloak-pkce-library-in-c/>)

Author: brakmic

Published: 2025-02-28T18:48:58Z

Content type: article

Language: en

Sources: [Harris Brakmic - Coding](<https://devfeed.tech/sources/harris-brakmic-coding.md>)

Topics: [C++](<https://devfeed.tech/topics/c-plus-plus.md>), [Keycloak](<https://devfeed.tech/topics/keycloak.md>), [pkce](<https://devfeed.tech/topics/pkce.md>), [Library](<https://devfeed.tech/topics/library.md>), [C](<https://devfeed.tech/topics/c.md>), [Programming](<https://devfeed.tech/topics/programming.md>), [Python](<https://devfeed.tech/topics/python.md>), [Lua](<https://devfeed.tech/topics/lua.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [article](<https://devfeed.tech/tags/article.md>), [c](<https://devfeed.tech/tags/c.md>), [c-plus-plus](<https://devfeed.tech/tags/c-plus-plus.md>), [coding](<https://devfeed.tech/tags/coding.md>), [keycloak](<https://devfeed.tech/tags/keycloak.md>), [learning](<https://devfeed.tech/tags/learning.md>), [library](<https://devfeed.tech/tags/library.md>), [lua](<https://devfeed.tech/tags/lua.md>), [pkce](<https://devfeed.tech/tags/pkce.md>), [programming](<https://devfeed.tech/tags/programming.md>), [python](<https://devfeed.tech/tags/python.md>)

### AI overview

A personal article about building a C++ library that supports PKCE with Keycloak. The project includes a C wrapper with a stable ABI and additional Python and Lua wrappers, and is presented primarily as a learning exercise rather than a production-ready library.

### Source excerpt

This article offers a personal look at a C++ library implementing PKCE with Keycloak. It's intended more as a learning exercise than a production-ready solution. You'll find a C wrapper and additional Python and Lua wrappers, plus a quick rundown on PKCE fundamentals, library structure, and example demos.

## Lessons Learned from Deploying Keycloak with Angular and BFF

DevFeed: [Lessons Learned from Deploying Keycloak with Angular and BFF](<https://devfeed.tech/articles/lessons-learned-from-deploying-keycloak-with-angular-and-bff-25135.md>)

Original publisher: [Read original article](<https://blog.brakmic.com/lessons-learned-from-deploying-keycloak-with-angular-and-bff/>)

Author: brakmic

Published: 2025-01-31T18:05:38Z

Content type: tutorial

Language: en

Sources: [Harris Brakmic - Coding](<https://devfeed.tech/sources/harris-brakmic-coding.md>)

Topics: [Angular](<https://devfeed.tech/topics/angular.md>), [BFF](<https://devfeed.tech/topics/bff.md>), [Keycloak](<https://devfeed.tech/topics/keycloak.md>), [Deployment](<https://devfeed.tech/topics/deployment.md>), [Express](<https://devfeed.tech/topics/express.md>), [Back end](<https://devfeed.tech/topics/backend.md>), [Windows](<https://devfeed.tech/topics/windows.md>), [web applications](<https://devfeed.tech/topics/web-applications.md>), [OAuth 2.0](<https://devfeed.tech/topics/oauth2.md>), [OpenID connect (OIDC)](<https://devfeed.tech/topics/oidc.md>), [HTTP](<https://devfeed.tech/topics/http.md>)

Tags: [angular](<https://devfeed.tech/tags/angular.md>), [backend](<https://devfeed.tech/tags/backend.md>), [bff](<https://devfeed.tech/tags/bff.md>), [coding](<https://devfeed.tech/tags/coding.md>), [deployment](<https://devfeed.tech/tags/deployment.md>), [express](<https://devfeed.tech/tags/express.md>), [http](<https://devfeed.tech/tags/http.md>), [keycloak](<https://devfeed.tech/tags/keycloak.md>), [oauth2](<https://devfeed.tech/tags/oauth2.md>), [oidc](<https://devfeed.tech/tags/oidc.md>), [typescript](<https://devfeed.tech/tags/typescript.md>), [web](<https://devfeed.tech/tags/web.md>), [windows](<https://devfeed.tech/tags/windows.md>)

### AI overview

This article describes deploying an Angular application, an Express.js backend-for-frontend, and a Keycloak server on Windows Server with IIS. It focuses on issues that emerged when moving from a local setup to production, including session handling, secure communication, URL rewriting, TLS termination, and running Node.js inside IIS.

### Source excerpt

This article details the deployment of an Angular application, a backend-for-frontend (BFF) built with Express.js, and a Keycloak server on a Windows Server using IIS. It explores the challenges encountered when moving from a local setup to a production environment, including session handling, secure communication, and configuring KeycloakStrategy.

## Keycloak, Angular, and the BFF Pattern

DevFeed: [Keycloak, Angular, and the BFF Pattern](<https://devfeed.tech/articles/keycloak-angular-and-the-bff-pattern-25134.md>)

Original publisher: [Read original article](<https://blog.brakmic.com/keycloak-angular-and-the-bff-pattern/>)

Author: brakmic

Published: 2025-01-26T10:58:39Z

Content type: tutorial

Language: en

Sources: [Harris Brakmic - Coding](<https://devfeed.tech/sources/harris-brakmic-coding.md>)

Topics: [BFF](<https://devfeed.tech/topics/bff.md>), [Angular](<https://devfeed.tech/topics/angular.md>), [Authentication](<https://devfeed.tech/topics/authentication.md>), [Express](<https://devfeed.tech/topics/express.md>), [Security](<https://devfeed.tech/topics/security.md>), [web applications](<https://devfeed.tech/topics/web-applications.md>)

Tags: [angular](<https://devfeed.tech/tags/angular.md>), [authentication](<https://devfeed.tech/tags/authentication.md>), [bff](<https://devfeed.tech/tags/bff.md>), [coding](<https://devfeed.tech/tags/coding.md>), [express](<https://devfeed.tech/tags/express.md>), [keycloak](<https://devfeed.tech/tags/keycloak.md>), [oauth2](<https://devfeed.tech/tags/oauth2.md>), [oidc](<https://devfeed.tech/tags/oidc.md>), [pkce](<https://devfeed.tech/tags/pkce.md>), [security](<https://devfeed.tech/tags/security.md>), [typescript](<https://devfeed.tech/tags/typescript.md>), [web](<https://devfeed.tech/tags/web.md>), [web-applications](<https://devfeed.tech/tags/web-applications.md>)

### AI overview

This tutorial explains how to use the Backend for Frontend pattern with Angular, Express.js, and Keycloak to secure a web application. It describes handling OAuth2 and PKCE authentication flows server-side, storing tokens in server-side sessions, and keeping sensitive data out of the browser.

### Source excerpt

This article explains implementing the BFF pattern with Angular, Express.js, and Keycloak to secure web applications. Learn how to handle authentication flows server-side, eliminate client-side token storage, and maintain separation between frontend and security operations. Includes practical configuration steps for Keycloak realms, Express.js sessions, and Angular's authentication service.

## PKCE with Keycloak and Passport

DevFeed: [PKCE with Keycloak and Passport](<https://devfeed.tech/articles/pkce-with-keycloak-and-passport-25137.md>)

Original publisher: [Read original article](<https://blog.brakmic.com/pkce-with-keycloak-and-passport/>)

Author: brakmic

Published: 2025-01-20T12:09:12Z

Content type: tutorial

Language: en

Sources: [Harris Brakmic - Coding](<https://devfeed.tech/sources/harris-brakmic-coding.md>)

Topics: [pkce](<https://devfeed.tech/topics/pkce.md>), [OAuth 2.0](<https://devfeed.tech/topics/oauth2.md>), [OpenID connect (OIDC)](<https://devfeed.tech/topics/oidc.md>), [Authentication](<https://devfeed.tech/topics/authentication.md>), [Security](<https://devfeed.tech/topics/security.md>), [Docker](<https://devfeed.tech/topics/docker.md>), [Docker Compose](<https://devfeed.tech/topics/docker-compose.md>), [Single-page application (SPA)](<https://devfeed.tech/topics/spa.md>), [Testing](<https://devfeed.tech/topics/testing.md>), [TypeScript](<https://devfeed.tech/topics/typescript.md>)

Tags: [authentication](<https://devfeed.tech/tags/authentication.md>), [coding](<https://devfeed.tech/tags/coding.md>), [docker](<https://devfeed.tech/tags/docker.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [keycloak](<https://devfeed.tech/tags/keycloak.md>), [oauth2](<https://devfeed.tech/tags/oauth2.md>), [oidc](<https://devfeed.tech/tags/oidc.md>), [pkce](<https://devfeed.tech/tags/pkce.md>), [security](<https://devfeed.tech/tags/security.md>), [testing](<https://devfeed.tech/tags/testing.md>), [typescript](<https://devfeed.tech/tags/typescript.md>)

### AI overview

A practical guide to using passport-keycloak-oauth2-oidc-portable with Keycloak, OAuth2, and OpenID Connect. It covers switching the library to TypeScript, adding integration and end-to-end tests, running a local Keycloak instance with Docker Compose, and implementing PKCE for public clients such as single-page applications.

### Source excerpt

Discover how passport-keycloak-oauth2-oidc-portable integrates Keycloak with OAuth2 and OpenID Connect (OIDC) using the secure Proof Key for Code Exchange (PKCE) protocol. This article explores implementing PKCE to protect public clients like desktop and single-page applications from common authentication vulnerabilities such as CSRF and authorization code interception. Learn about setting up a Keycloak test instance with Docker to facilitate seamless local development and testing. Through a practical example, see how PKCE aligns with modern security standards, providing a robust and efficient authentication mechanism for your applications. Whether you're enhancing existing authentication flows or building new solutions, this guide offers valuable insights into leveraging PKCE, Keycloak, and Passport.js to create secure authentication frameworks.

## Using Bosque in JupyterLab

DevFeed: [Using Bosque in JupyterLab](<https://devfeed.tech/articles/using-bosque-in-jupyterlab-25140.md>)

Original publisher: [Read original article](<https://blog.brakmic.com/using-bosque-in-jupyterlab/>)

Author: brakmic

Published: 2025-01-17T16:17:39Z

Content type: tutorial

Language: en

Sources: [Harris Brakmic - Coding](<https://devfeed.tech/sources/harris-brakmic-coding.md>)

Topics: [Bosque](<https://devfeed.tech/topics/bosque.md>), [jupyterlab](<https://devfeed.tech/topics/jupyterlab.md>), [Programming language](<https://devfeed.tech/topics/programming-language.md>), [Extension](<https://devfeed.tech/topics/extension.md>), [kernels](<https://devfeed.tech/topics/kernels.md>), [Python](<https://devfeed.tech/topics/python.md>), [TypeScript](<https://devfeed.tech/topics/typescript.md>), [Programming](<https://devfeed.tech/topics/programming.md>)

Tags: [article](<https://devfeed.tech/tags/article.md>), [bosque](<https://devfeed.tech/tags/bosque.md>), [coding](<https://devfeed.tech/tags/coding.md>), [extensions](<https://devfeed.tech/tags/extensions.md>), [jupyter](<https://devfeed.tech/tags/jupyter.md>), [jupyterlab](<https://devfeed.tech/tags/jupyterlab.md>), [kernel](<https://devfeed.tech/tags/kernel.md>), [kernels](<https://devfeed.tech/tags/kernels.md>), [python](<https://devfeed.tech/tags/python.md>), [syntax-highlighting](<https://devfeed.tech/tags/syntax-highlighting.md>), [typescript](<https://devfeed.tech/tags/typescript.md>)

### AI overview

The article discusses Bosque, a Microsoft Research programming language centered on regularized programming, immutable state, and intent-focused coding. It also describes the author's experience building JupyterLab extensions and kernels, including Python-based kernels and TypeScript syntax highlighting with Lezer parsers.

### Source excerpt

Discover the innovative world of Bosque, a programming language developed by Microsoft Research that champions the regularized programming paradigm. In this post, I explore the key advantages of Bosque, such as immutable state and intent-focused coding, and share my journey integrating it into JupyterLab. Learn how I developed custom kernels in Python and crafted syntax highlighting extensions using TypeScript and Lezer parsers. Whether you're intrigued by Bosque's approach or looking to enhance your JupyterLab environment, this article provides valuable insights and practical guidance to help you get started. Dive in to see how Bosque can transform your programming experience and streamline your development workflow!

## Automating Keycloak Deployments for Fun and Profit

DevFeed: [Automating Keycloak Deployments for Fun and Profit](<https://devfeed.tech/articles/automating-keycloak-deployments-for-fun-and-profit-25132.md>)

Original publisher: [Read original article](<https://blog.brakmic.com/automating-keycloak-deployments-for-fun-and-profit/>)

Author: brakmic

Published: 2024-12-24T22:31:29Z

Content type: tutorial

Language: en

Sources: [Harris Brakmic - Coding](<https://devfeed.tech/sources/harris-brakmic-coding.md>)

Topics: [Deployment](<https://devfeed.tech/topics/deployment.md>), [Kubernetes](<https://devfeed.tech/topics/kubernetes.md>), [Helm charts](<https://devfeed.tech/topics/helm-charts.md>), [Docker](<https://devfeed.tech/topics/docker.md>), [DevOps](<https://devfeed.tech/topics/devops.md>), [Testing](<https://devfeed.tech/topics/testing.md>), [PostgreSQL](<https://devfeed.tech/topics/postgresql.md>), [sealed secrets](<https://devfeed.tech/topics/sealed-secrets.md>), [kubectl](<https://devfeed.tech/topics/kubectl.md>), [Debian](<https://devfeed.tech/topics/debian.md>)

Tags: [bash](<https://devfeed.tech/tags/bash.md>), [build](<https://devfeed.tech/tags/build.md>), [coding](<https://devfeed.tech/tags/coding.md>), [debian](<https://devfeed.tech/tags/debian.md>), [deployment](<https://devfeed.tech/tags/deployment.md>), [devops](<https://devfeed.tech/tags/devops.md>), [docker](<https://devfeed.tech/tags/docker.md>), [examples](<https://devfeed.tech/tags/examples.md>), [ha](<https://devfeed.tech/tags/ha.md>), [helm](<https://devfeed.tech/tags/helm.md>), [helm-charts](<https://devfeed.tech/tags/helm-charts.md>), [high-availability](<https://devfeed.tech/tags/high-availability.md>), [iam](<https://devfeed.tech/tags/iam.md>), [java](<https://devfeed.tech/tags/java.md>), [keycloak](<https://devfeed.tech/tags/keycloak.md>), [kubectl](<https://devfeed.tech/tags/kubectl.md>), [kubernetes](<https://devfeed.tech/tags/kubernetes.md>), [nginx](<https://devfeed.tech/tags/nginx.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>), [sealed-secrets](<https://devfeed.tech/tags/sealed-secrets.md>), [testing](<https://devfeed.tech/tags/testing.md>)

### AI overview

A practical tutorial for automating a local Keycloak deployment designed to resemble a production environment. It uses Certificate Manager, Sealed Secrets, PostgreSQL high availability, and provides both a Bash script and Helm charts for redeployment.

### Source excerpt

This article will be a practical one as I intend to showcase a fully automated setup of Keycloak for local testing. However, unlike so many examples out there, this article aims to deploy a production-level Keycloak deployment that uses a Certificate Manager, Sealed Secrets, and PostgreSQL HA (high-availability variant). The goal is to create a [...]

## Parallel Computing in Node.js via HPX Addons

DevFeed: [Parallel Computing in Node.js via HPX Addons](<https://devfeed.tech/articles/parallel-computing-in-node-js-via-hpx-addons-25136.md>)

Original publisher: [Read original article](<https://blog.brakmic.com/parallel-computing-in-node-js-via-hpx-addons/>)

Author: brakmic

Published: 2024-12-16T13:21:02Z

Content type: tutorial

Language: en

Sources: [Harris Brakmic - Coding](<https://devfeed.tech/sources/harris-brakmic-coding.md>)

Topics: [Node.js](<https://devfeed.tech/topics/node-js.md>), [C++](<https://devfeed.tech/topics/c-plus-plus.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [Benchmark](<https://devfeed.tech/topics/benchmark.md>), [Algorithms](<https://devfeed.tech/topics/algorithms.md>)

Tags: [asynchronous](<https://devfeed.tech/tags/asynchronous.md>), [benchmark](<https://devfeed.tech/tags/benchmark.md>), [c-plus-plus](<https://devfeed.tech/tags/c-plus-plus.md>), [coding](<https://devfeed.tech/tags/coding.md>), [hpx](<https://devfeed.tech/tags/hpx.md>), [integration](<https://devfeed.tech/tags/integration.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [node](<https://devfeed.tech/tags/node.md>), [node-js](<https://devfeed.tech/tags/node-js.md>), [nodejs](<https://devfeed.tech/tags/nodejs.md>), [performance](<https://devfeed.tech/tags/performance.md>)

### AI overview

A practical guide to building a Node.js addon that integrates HPX, a C++ parallelization framework. It explains integration challenges such as asynchronous operations, thread management, predicate functions, data-copy overhead, and performance trade-offs, with examples and benchmark results for algorithms including countIf and sort.

### Source excerpt

Explore building a Node.js addon with HPX, a C++ parallelization framework. This article covers the integration challenges, such as managing asynchronous operations and reducing performance overhead. Learn how batch predicate functions can enhance the performance of complex algorithms like countIf and sort, while simpler tasks see limited gains. Ideal for developers interested in combining JavaScript with parallel C++ capabilities, the guide includes practical examples and benchmark results.

## Revisiting HPX

DevFeed: [Revisiting HPX](<https://devfeed.tech/articles/revisiting-hpx-25138.md>)

Original publisher: [Read original article](<https://blog.brakmic.com/revisiting-hpx/>)

Author: brakmic

Published: 2024-09-23T09:53:03Z

Content type: tutorial

Language: en

Sources: [Harris Brakmic - Coding](<https://devfeed.tech/sources/harris-brakmic-coding.md>)

Topics: [distributed-systems](<https://devfeed.tech/topics/distributed-systems.md>), [Programming](<https://devfeed.tech/topics/programming.md>), [Testing](<https://devfeed.tech/topics/testing.md>)

Tags: [article](<https://devfeed.tech/tags/article.md>), [asynchronous](<https://devfeed.tech/tags/asynchronous.md>), [c-plus-plus](<https://devfeed.tech/tags/c-plus-plus.md>), [coding](<https://devfeed.tech/tags/coding.md>), [cpp](<https://devfeed.tech/tags/cpp.md>), [distributed](<https://devfeed.tech/tags/distributed.md>), [distributed-computing](<https://devfeed.tech/tags/distributed-computing.md>), [examples](<https://devfeed.tech/tags/examples.md>), [framework](<https://devfeed.tech/tags/framework.md>), [hpx](<https://devfeed.tech/tags/hpx.md>), [installation](<https://devfeed.tech/tags/installation.md>), [macos](<https://devfeed.tech/tags/macos.md>), [parallel](<https://devfeed.tech/tags/parallel.md>), [parallelism](<https://devfeed.tech/tags/parallelism.md>), [programming](<https://devfeed.tech/tags/programming.md>), [testing](<https://devfeed.tech/tags/testing.md>)

### AI overview

This hands-on article revisits HPX, a runtime system for asynchronous, parallel, and distributed computing. It covers installation on macOS, configuration, compilation, and testing, and discusses HPX features including task-based parallelism and components.

### Source excerpt

This article explores the powerful parallelization and distributed computing capabilities of the HPX framework. Starting with installation on macOS, it walks through configuring, compiling, and testing HPX on a modest machine, highlighting key features like asynchronous programming, task-based parallelism, and HPX components. Whether new to HPX or looking for practical examples, this guide offers a hands-on approach to understanding and utilizing HPX in real-world scenarios.