Showing posts from engineering category

The Harness, Not the Model: How I Actually Ship Production Code with AI

The Harness, Not the Model: How I Actually Ship Production Code with AI

Yes — this is another AI blog post. I know. But the hype train is leaving the platform at roughly Mach 5, and I'd rather not be the guy left standing on it, arms folded, muttering about how it's all ...

Tech and AI Innovation: How AI is Transforming Communities in Kenya

Tech and AI Innovation: How AI is Transforming Communities in Kenya

Last week, I attended an AI conference that showcased groundbreaking innovations in Kenya’s North Horr Constituency—a region demonstrating how AI and digital tools can revolutionize communities, even...

A Journey of Learning: From Software Engineer to Team Lead

A Journey of Learning: From Software Engineer to Team Lead

Transitioning from a senior software engineer to building and leading an internal team at Farmbetter marks a significant shift not only in my professional journey but also in the way I communicate my...

TypeScript Stage 3 Decorators: A Journey Through Setup and Usage

TypeScript Stage 3 Decorators: A Journey Through Setup and Usage

So, What Are TypeScript Decorators? In the simplest of terms, a decorator in TypeScript is like a wrapping paper. You take a function or a class and wrap it with another function that adds some extr...

JavaScript Equality Under the Lens: Enhancing React’s Dependency Checks - Part 2

JavaScript Equality Under the Lens: Enhancing React’s Dependency Checks - Part 2

In a previous blog, [JavaScript Equality Under the Lens: Enhancing React’s Dependency Checks](https://www.balysnotes.com/javascript-equality-checks), we delved into the nuances of JavaScript data typ...

Streamlining Your Next.js Project with Private GitHub/Gitlab Repositories as NPM Packages

Streamlining Your Next.js Project with Private GitHub/Gitlab Repositories as NPM Packages

### Using Private GitHub/Gitlab Repos in Your Next.js Projects Imagine this scenario: you're working on a super cool Next.js project, and you have some shared code that you'd like to use across mult...

Introduction to Domain Driven Design: Bridging the Gap Between Complex Systems and Software

Introduction to Domain Driven Design: Bridging the Gap Between Complex Systems and Software

Recently, I was asked to present on Domain Driven Design. As I delved deeper into the research, it became clear that DDD is a crucial aspect of system architecture that many developers don’t fully gr...

Escaping Deployment Hell: How Feature Flags Can Transform Your Workflow

Escaping Deployment Hell: How Feature Flags Can Transform Your Workflow

Feature flags, also known as feature toggles, are a powerful technique that allows us to alter the behavior of our software systems without changing code. Originating from the need for safer deploym...

JavaScript Equality Under the Lens: Enhancing React's Dependency Checks

JavaScript Equality Under the Lens: Enhancing React's Dependency Checks

JavaScript, a language of many faces, often presents concepts that are deceptively simple yet profound in their implications. Among these, understanding equality checks and the nuanced landscape of J...

Private GPT: Building a Web Scraper with HTML Parsing in TypeScript (Part 1)

Private GPT: Building a Web Scraper with HTML Parsing in TypeScript (Part 1)

In this blog, we will explore the process of building a web scraper using HTML parsing capabilities in TypeScript. This is the first part of a two-part series, where we will use this HTML scraper to ...

Bypassing GPT-4's Context Length Limitation with Sliding Window Technique

Bypassing GPT-4's Context Length Limitation with Sliding Window Technique

GPT-4, despite its incredible linguistic prowess, suffers from a noteworthy constraint: its context length limitation, which essentially refers to the maximum number of input tokens. The sliding wind...

The Final Act: Streaming Video and Receiving it in a WebRTC Video Conference (Part 3/3)

The Final Act: Streaming Video and Receiving it in a WebRTC Video Conference (Part 3/3)

Welcome back, fellow video conferencing enthusiasts! In the previous parts of our blog series, we've covered accessing the webcam's video stream and setting up a signalling server. Now it's time for ...

Setting Up a Signalling Server: Client Video Streaming (Part 2 of 3)

Setting Up a Signalling Server: Client Video Streaming (Part 2 of 3)

Welcome back to our thrilling three-part series on setting up a peer-to-peer connection for client video streaming. In [Part 1](https://www.balysnotes.com/setting-up-a-peer-to-peer-connection-video-s...

Setting Up a Peer-to-Peer Connection: Client Video Streaming (Part 1 of 3)

Setting Up a Peer-to-Peer Connection: Client Video Streaming (Part 1 of 3)

Welcome to the first part of our three-part series on setting up a peer-to-peer (P2P) connection to send a video stream between two clients (a server serving as an intermediary only for initial conne...

gRPC: A Modern Approach to Microservices Communication

gRPC: A Modern Approach to Microservices Communication

In today's world, microservices architecture has become a popular approach for building scalable and reliable applications. With microservices, an application is broken down into smaller, independent...

Tic-Tac-Toe: Exploring a TypeScript Code Example

Tic-Tac-Toe: Exploring a TypeScript Code Example

Hello, fellow code connoisseurs! I've recently decided to refresh my memory on data structures and algorithms. This current project is inspired by freecodecamp's tic-tac-toe example. Buckle up, and l...

Deploying Your Laravel App on Docker, With NGINX and MySQL

Deploying Your Laravel App on Docker, With NGINX and MySQL

If you are a django developer, you can find a really comprehensive tutorial here: [django on Docker](https://lewiskori.com/post/deploying-a-python-django-application-using-docker) ## Now Shall We? D...

An Introduction to Spring Boot: MySQL, JPA and Hibernate

An Introduction to Spring Boot: MySQL, JPA and Hibernate

Before we start, this post is mostly aimed at Java developers, specifically Java developers who use the Spring umbrella of frameworks for development. If you are not a Java developer, you can still re...

Blockchain Technology: A case study of Bitcoin

Blockchain Technology: A case study of Bitcoin

There has been a lot of hype around this mysterious new complex technology of storing and exchanging money that is decentralized, distributed and public. **Well, Spoiler-alert: It's not as complex as ...