Add MCP Server to search repository content using VS Code

I’m very happy GitHub Copilot exists and lately with the Agent-mode it’s even better. It’s making sure I can focus on the relevant pieces of my solutions and not have to worry too much about the plumbing part. The models it’s using are quite powerful and contains a lot of (old) data. When using new libraries or versions of already existing libraries, the LLMs used under the hood often don’t provide useful suggestions or edits. Read more →

Check if NuGet packages are publicly available

When creating solutions for a company, you often use an internal package feed. There might come a time when you need to provide the source code to an external party or you want to make the solution open source. If this has ever happened to you, you know one of the first things to validate if all dependencies (NuGet packages) are available to the public. Especially in large corporations it’s easy to use some platform packages used throughout the company but should not be shared with the public. Read more →

Automate the creation of a NOTICE.md file

When working on a project that’s being distributed you are often required to create a NOTICE file giving the necessary attribution to work you rely on. As written on the Apache site on this topic: If the Work includes a “NOTICE” text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. Read more →

Twenty years in the business

It has been twenty years already! Twenty years since I started my professional career. Of course, I had some side-gigs during college and a couple of internships, but I’m not counting those. After graduating in January 2005, my first real job started on February 1st, 2005, as a software engineer at Ordina, a large consultancy company in the Netherlands. Over the years I’ve had the privilege to work with quite a few awesome persons, work on great projects and doing stuff I always dreamed of. Read more →

Create an SDK using OpenAPI specs

It’s not something a lot of people need to do on a regular basis, but when you do, you don’t want to spend a lot of time doing it. I’m referring to the process of “create an SDK for your APIs”. When your service is exposing endpoints for your consumers to use, it’s easy to refer them to using raw endpoints and let them figure out how to deal with it based on the Open API specifications (formerly known as Swagger) provided. Read more →

Create your own Knowledge Base with Copilot Studio

I like creating complex solutions for simple problems just as much as every other engineer. That’s why I have dozens of side-projects going on where I’m trying out stuff. During my day job, I try to provide as much value to the customer/business with the most simple, most performant and cheapest solution I can think of. That’s where Copilot Studio comes into play. You’ve probably read a ton of posts and articles about bring-your-own-data, RAG, finetuning LLMs, etc. Read more →

Comments are now in GitHub via giscus

I’ve been having issues with Disqus for a while now. Comments weren’t always placed under the correct post and I’ve done some extensive troubleshooting on it, invoking the Disqus API to resolve, added custom (meta) header fields on the pages. So far, I haven’t been able to fix it on all posts so have been looking for another system to facilitate adding comments to the posts. This blog is a static website, created via Hugo, so no databases, only Markdown. Read more →

Create an AI Assistant with your own data

The current large language models, like GPT-4, GPT-4 Turbo and GPT-4o are great when you need some output generated based on data you feed in the prompt. Even the small language models, like Phi-3, are doing a great job at this. However, these models often don’t know a lot about the data within your company. Because of this, they can’t do a good job at answering questions that required data from your organization. Read more →

Smaller repositories on disk with Git sparse checkout

My disk was full the other day, so I needed to clean up. First the obvious stuff, like the Downloads-folder, the Nuget-cache, the bin- & obj-folders and the Temp-directory. Second, I used WinDirStat to figure out where the other biggest culprits of data-usage are to be found. One of the directories was the main project I’m working on, with a staggering 24GB in disk size! Obviously, we’ve created a lot of code in the past years, but not THAT much. Read more →

Why and when to use static classes and methods

A friend asked me a question, a while ago, stating: Hey Jan, One stupid question around which I have thought a lot and often get stuck while deciding. When to make a function static/non-static specifically the helpers or utility ones. I read 2 arguments All the functions that don’t need to use a state of the object, (don’t update any variable value of the object ) should be static. All the functions that should/can be test independently and have some logic. Read more →