Bohdan Stupak

Bohdan Stupak @bohdanstupak1

Joined:
Dec 29, 2017

Bohdan Stupak
articles - 26 total

Using RAG architecture for generative tasks

Large language models are used widely across the industry these days. Yet still, many people are...

Learn More 0 0May 28

Describing musical domain with F#

One of my recent projects was to create software that would automatically generate music based on a predefined set of rules. The degree of randomness I've planned to introduce would let me create different melodies every time, while the set of rules I was planning to create would ensure that it still would sound nice. In this article, we'll have a look at how these rules are encoded in F#

Learn More 2 0Aug 16 '24

Composing poésie concrète with AWS Step Function

Writing distributed pad-reduce job based on AWS Step Function to craft art that regenerates itself each week.

Learn More 0 0Feb 27 '24

Dynamic polymorphism: key concept to master OOP

The world of object-oriented programming is a bit confusing. It requires mastering a lot of things:...

Learn More 3 0Jul 6 '23

Visualizing your photos on a map with React Native

that time, I had a Nokia Lumia phone with a nice widget that displayed the locations of the photos...

Learn More 0 0Mar 1 '23

Applying custom similarity calculation in Elasticsearch

Elasticsearch has a rich set of tools to produce relevant search results. But sometimes, they're not suited so well for your case so you might need to tweak similarity calculation. In this article, we'll see one such example.

Learn More 2 0Dec 19 '22

Implementing clean architecture in Go

The holistic process of writing clean architecture API in Go. Starting from the well-tested domain, providing an API layer for it, documenting it using OpenAPI standard, and packaging our runtime together with the app and thus simplifying the deployment process.

Learn More 126 2Nov 2 '22

Property-based tests and clean architecture are perfect fit

Brief overview of property-based testing with fscheck

Learn More 5 0Oct 11 '22

Crafting generative art with javascript generators

Apart from career programming and management tasks, I spend my free time doing creative coding. Most...

Learn More 0 0Sep 28 '22

Leveraging lazy evaluation

This article shows how utilizing lazy evaluation and caching can save us from wasteful computation

Learn More 8 0Jun 22 '22

It's not about how you inject your services, it's about how you test them

The main goal of this article is to show that engineers should understand the benefits and shortcomings of the principles they are applying instead of just blindly following them.

Learn More 9 0May 2 '22

Improving Elasticsearch-based autocomplete

A practical overview of different index-time and query-time ways to improve relevance of autocomplete query in Elasticsearch

Learn More 7 0Feb 23 '22

Overriding JSON serializer in Giraffe

In some cases, a built-in Giraffe JSON serializer might be insufficient. In this short tip, we show how to override it.

Learn More 6 0Jan 4 '22

Strive for short-lived synchronous communication

Short tip explaining the importance of asynchronous communication

Learn More 5 0Nov 19 '21

Prefer using Stream to byte[]

A short example of how byte[] misuse may hurt memory consumption

Learn More 6 0Oct 17 '21

DateTime.TryParse and the case of Z letter

This short tip aims to fill the gap in docs explaining what is ISO-8601 date format, how it is treated by DateTime.TryParse compared to other formats

Learn More 5 0May 25 '21

Batch processing with Directory.EnumerateFiles

In case one wants to retrieve files from catalog, Directory.GetFiles is a simple answer sufficient for most scenarios. However, when you deal with a large amount of data, you might need more advanced techniques. Directory.EnumerateFiles is the API that allows you to organize batch processing for the directory with a large number of files.

Learn More 4 0Apr 28 '21

Converting video with FFmpegCore

This article shows how you can use FFmpegCore to process your video

Learn More 5 4Mar 16 '21

Using Span<T> to improve performance of C# code

This article shows how one can easily improve performance with this relatively new C# feature.

Learn More 26 0Aug 25 '20

Refactoring string into the specific type

An example when string is too broad type to capture all domain requirements and how to handle it

Learn More 7 0May 22 '20

Building auth endpoint with Go and AWS Lambda

Super-minimal auth endpoint with Go and AWS lambda

Learn More 9 0Feb 26 '20

Leader election with Redlock.net

This article shows how a .net programmer can perform leader election for a microservice-based system via acquiring a distributed lock.

Learn More 8 0Jul 7 '19

Dependency Injection for Quartz.NET in .NET Core

The article shows how to perform dependency injection when using Quartz.NET library employing standard .NET Core DI container library. Also, we'll focus on a couple of other useful .NET core techniques.

Learn More 15 2Jun 23 '19

Querying Last.fm web API with F#

This article will introduce you to some benefits of F# programming language.

Learn More 8 0Jul 10 '18

Pure CSS Salesforce-like progressbar control

This article covers several CSS techniques as using LESS, using display flex and some CSS hacks.

Learn More 42 1May 31 '18

Assigning class responsibilities with GRASP

Assigning responsibilities to classes is an eternal struggle for OO-developers. But it can be tackled with General Responsibility Assignment Software Patterns (or Principles), abbreviated GRASP

Learn More 10 0Apr 23 '18