<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Labs on Michał Kupś</title><link>https://michalkups.com/lab/</link><description>Recent content in Labs on Michał Kupś</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><managingEditor>Michał Kupś</managingEditor><webMaster>Michał Kupś</webMaster><copyright>Michał Kupś</copyright><lastBuildDate>Sun, 27 Sep 2026 19:08:00 +0100</lastBuildDate><atom:link href="https://michalkups.com/lab/index.xml" rel="self" type="application/rss+xml"/><item><title>Jev Usecase 1 - Ticket Triage</title><link>https://michalkups.com/post/11/jev-1/</link><pubDate>Sun, 27 Sep 2026 19:08:00 +0100</pubDate><guid>https://michalkups.com/post/11/jev-1/</guid><description>&lt;h2 id="jev"&gt;Jev&lt;/h2&gt;
&lt;p&gt;There&amp;rsquo;s been a new model making the headlines lately, which differs from the usual crop of large language models we&amp;rsquo;ve become accustomed to.&lt;/p&gt;
&lt;p&gt;Jev, by &lt;a href="https://typesafe.ai/" target="_blank" rel="noopener noreferrer"&gt;TypeSafe&lt;/a&gt;
, is in my understanding a fancy classifier. It understands the world in greater depth, more akin to LLMs than previous classifiers. Primary difference here is that Jev does not respond with words. It responds with probabilities.&lt;/p&gt;
&lt;p&gt;It can answer three types of questions:&lt;/p&gt;</description></item><item><title>Service Desks and Language Models</title><link>https://michalkups.com/post/8/future-sd-llm/</link><pubDate>Tue, 11 Mar 2025 01:20:00 +0000</pubDate><guid>https://michalkups.com/post/8/future-sd-llm/</guid><description>&lt;h2 id="premise"&gt;Premise&lt;/h2&gt;
&lt;p&gt;Service Desks have a big job - to be the front line of a support function. To resolve, filter, and escalate a myriad of service requests and incidents being raised every day.&lt;/p&gt;
&lt;p&gt;Much has been said about various &amp;ldquo;shift left&amp;rdquo; approaches. In an ideal world, majority of queries would be dealt with via self-service and AI chatbots, only involving human operators in the most nuanced cases or those otherwise requiring human judgement.&lt;/p&gt;</description></item><item><title>Exploring Streamlit UI</title><link>https://michalkups.com/post/7/streamlit-1/</link><pubDate>Tue, 28 Jan 2025 00:30:00 +0000</pubDate><guid>https://michalkups.com/post/7/streamlit-1/</guid><description>&lt;h3 id="premise"&gt;Premise&lt;/h3&gt;
&lt;p&gt;This week I&amp;rsquo;ve been looking at Streamlit and how it can help me build user interfaces quickly. I&amp;rsquo;d like to be able to easily put together demos and UIs for internal tools.&lt;/p&gt;
&lt;p&gt;Developing a web UI typically requires a web developer with proficiency in Javascript/Typescript, HTML, CSS, and more often than not one of the prominent frontend frameworks like React, Vue, or Angular - and their respective tooling and build chains!&lt;/p&gt;</description></item><item><title>LLM Workflow for CAB</title><link>https://michalkups.com/post/6/llm-workflow-cab-1/</link><pubDate>Mon, 20 Jan 2025 00:01:00 +0000</pubDate><guid>https://michalkups.com/post/6/llm-workflow-cab-1/</guid><description>&lt;h3 id="premise"&gt;Premise&lt;/h3&gt;
&lt;p&gt;Have you ever received a CAB (change advisory board) submission only for it to be deferred? A key element was absent or an important aspect not considered?&lt;/p&gt;
&lt;p&gt;The idea here is to build a basic proof-of-concept workflow that reviews CAB changes prior to them reaching CAB - giving the author an opportunity to revise their submission and making it more likely to succeed.&lt;/p&gt;
&lt;p&gt;An LLM wont have all the context it needs nor a perfect understanding of your environment. That&amp;rsquo;s okay - we strive to build a workflow with a set of operating principles and guidelines that guide the model to produce useful feedback and strengthen the change control process.&lt;/p&gt;</description></item><item><title>Docker Compose for LangFlow, Flowise, n8n</title><link>https://michalkups.com/post/5/docker-n8n-langflow-flowise/</link><pubDate>Mon, 06 Jan 2025 23:30:00 +0000</pubDate><guid>https://michalkups.com/post/5/docker-n8n-langflow-flowise/</guid><description>&lt;p&gt;I&amp;rsquo;ve been looking at self-hosted workflow automation tooling with an eye on LLM and AI Agent capabilities.&lt;/p&gt;
&lt;p&gt;One of the most popular tools for building LLM-powered agents and workflows right now is &lt;a href="https://www.langchain.com/" target="_blank" rel="noopener noreferrer"&gt;LangChain&lt;/a&gt;
(&lt;a href="https://github.com/langchain-ai/langchain" target="_blank" rel="noopener noreferrer"&gt;GitHub repo&lt;/a&gt;
). It comes in multiple flavors - Python and JavaScript frameworks, plus managed SaaS offerings and additional tooling directly from the developers of the project.&lt;/p&gt;
&lt;p&gt;Several new tools have sprung up around this ecosystem, leveraging the open source Python and JS implementations. These aim to provide graphical workflow builders in contrast to what is normally a code-only experience - I feel this brings down the barrier to entry somewhat and lets people validate and iterate on their ideas a bit faster.&lt;/p&gt;</description></item><item><title>Power Automate - Optimization Case 1</title><link>https://michalkups.com/post/4/powerautomate-optimize1/</link><pubDate>Sun, 06 Oct 2024 11:00:00 +0000</pubDate><guid>https://michalkups.com/post/4/powerautomate-optimize1/</guid><description>&lt;h3 id="the-problem"&gt;The Problem&lt;/h3&gt;
&lt;p&gt;I was asked to review a reporting solution that was taking approximately 10 minutes to ingest and upload a single spreadsheet. The team found this level of performance unacceptable, especially when multiple individuals were loading spreadsheets at the same time.&lt;/p&gt;
&lt;p&gt;Upon further review, the team was using a &lt;a href="https://learn.microsoft.com/en-us/power-automate/flows-designer" target="_blank" rel="noopener noreferrer"&gt;Power Automate Flow&lt;/a&gt;
to ingest spreadsheets from a SharePoint folder, iterate over all the rows, then invoke an Azure SQL stored procedure against each row to load the data.
Each spreadsheet consists of around a thousand rows with two dozen columns, largely numbers and a few strings. Each row is then read, calling &lt;a href="https://learn.microsoft.com/en-us/connectors/sql/#execute-stored-procedure-%28v2%29" target="_blank" rel="noopener noreferrer"&gt;Execute Stored Procedure (v2)&lt;/a&gt;
on the Microsoft SQL Server connector to upload one row of data.&lt;/p&gt;</description></item><item><title>Unwanted M365 Group Welcome Emails</title><link>https://michalkups.com/post/3/m365-emails-unwanted/</link><pubDate>Sat, 14 Sep 2024 09:00:00 +0000</pubDate><guid>https://michalkups.com/post/3/m365-emails-unwanted/</guid><description>&lt;p&gt;An incident came up where a Microsoft 365 group was created, erroneously including all members of Entra ID - internal and guest users.&lt;br&gt;
This triggered a process where a welcome email was sent &amp;ldquo;You&amp;rsquo;ve joined the &amp;hellip; group&amp;rdquo;. For reasons unknown to me (maybe throttling?), the welcome emails dont go out all at once. They appear to trickle out slowly over the course of the day.&lt;/p&gt;
&lt;p&gt;This was brought to our attention with a request to stop these emails. One approach is to turn off the welcome messages via PowerShell with &lt;a href="https://learn.microsoft.com/en-us/powershell/module/exchange/set-unifiedgroup?view=exchange-ps#-unifiedgroupwelcomemessageenabled" target="_blank" rel="noopener noreferrer"&gt;Set-UnifiedGroup&lt;/a&gt;
and &lt;code&gt;-UnifiedGroupWelcomeMessageEnabled&lt;/code&gt; parameter.&lt;/p&gt;</description></item><item><title>Visual Studio 2013, SQL 2014, MSSQL Native Client</title><link>https://michalkups.com/post/2/vs2013-sql2014-mssql11-dev/</link><pubDate>Sat, 07 Sep 2024 08:00:00 +0000</pubDate><guid>https://michalkups.com/post/2/vs2013-sql2014-mssql11-dev/</guid><description>&lt;h3 id="problem-1"&gt;Problem 1&lt;/h3&gt;
&lt;p&gt;Our SQL integration developers were facing challenges developing SSIS packages for a particular system.&lt;/p&gt;
&lt;p&gt;These SSIS packages were originally developed for SQL Server 2014 using Visual Studio 2013 and contemporary tooling. VS2022 lacked compatibility, whilst VS2019 caused issues post-deployment, despite being compatible on paper, likely due to version-specific features.&lt;/p&gt;
&lt;p&gt;Our intention is to eventually re-architect this workload completley, but in the meantime it was necessary to provision a development environment capable of working with SSIS packages and tools/plugins built with and on top of legacy software.&lt;/p&gt;</description></item><item><title>Hello World</title><link>https://michalkups.com/post/1/hello-world/</link><pubDate>Wed, 29 May 2024 21:00:00 +0000</pubDate><guid>https://michalkups.com/post/1/hello-world/</guid><description>&lt;p&gt;Welcome.&lt;/p&gt;
&lt;p&gt;This is my website and blog.&lt;/p&gt;
&lt;p&gt;I figured it&amp;rsquo;s time to refresh and rebuild my site. This time I&amp;rsquo;d like to consolidate everything at a single location - one site, one blog.&lt;/p&gt;
&lt;p&gt;Content quality will vary - from detailed tutorials to trivia to nonsensical stream-of-consciousness ramblings. Hope y&amp;rsquo;all find some of it useful.&lt;/p&gt;
&lt;p&gt;ttyl&lt;/p&gt;</description></item></channel></rss>