With each upgrade of the .NET platform, developers may decide whether to upgrade or wait until the rest of the ecosystem upgrades first. Here is my experience when I wanted to understand if it’s ok to bump up my projects to .NET 9 while some of the NuGet libraries I depend on are … | Continue reading
Why did I look for a Pi-Hole alternative? My main motivation for moving away from PiHole was enabling ad blocking and site blocking on my smartphone, which I often use outside my home network. I described this journey in one of my older blog posts, PiHole, but hosted in the cloud … | Continue reading
Generative AI endpoints might return Base64-encoded images Recently, I explored the possibility of generating images using locally hosted Stable Diffusion models. Thanks to the AUTOMATIC1111 stable-diffusion-WebUI project, I got the local API working pretty quickly. However, one … | Continue reading
Personal email domain: introduction Many years ago, I set up a personalized email domain. It was an alternative to my long-used address in the format of official.name@gmail.com. I remember at least two factors that motivated me to seek a Gmail alternative. Frankly, I don’t care a … | Continue reading
What is JSON Mode in Google Gemini? I recently blogged about JSON Mode and Structured Outputs in OpenAI APIs. Today, I’ve examined the OpenAI competitor Google Gemini and tested whether it can adhere to the requested schema. The JSON Mode is a feature that helps enforce the outpu … | Continue reading
Grammarly: great support in browsers, but doesn’t work in IDEs I have an active Grammarly subscription, and I enjoy how it helps refine my writing. It works well in browsers and notably has plugins for Microsoft Office. Also, if you write in another application and want to use it … | Continue reading
Is the .ico format still relevant today? An .ico file format can contain multiple images at different resolutions (e.g., 16×16, 32×32, 48×48, 64×64) and color depths (e.g., 8-bit, 24-bit). This allows the system or application to choose the most appropriate image based on the dis … | Continue reading
What problem does the Structured Outputs feature solve When using GPT models from the code, we developers don’t normally want the output to be in a natural language like in ChatGPT conversations. Instead, we want it to have some structure, and the lingua franca today for data int … | Continue reading
TL/DR: JSON mode remains available as an API feature, but the newest models include the Structured Outputs feature, which solves this problem 100% without workarounds needed. JSON Mode vs Structured Output When we integrate our applications with chatbot-like API, we often prefer … | Continue reading
TL/DR: JSON mode remains available as an API feature, but the newest models include the Structured Outputs feature, which solves this problem 100% without workarounds needed. JSON Mode vs Structured Output When we integrate our applications with chatbot-like API, we often prefer … | Continue reading
What is Generative Fill? You are probably familiar with the Generative Fill feature in graphic editing software like Adobe Photoshop. The idea is that well-trained AI models can guess how to fill blank areas in the picture. The model can either try to guess what to do by itself o … | Continue reading
What is Generative Fill? You are probably familiar with the Generative Fill feature in graphic editing software like Adobe Photoshop. The idea is that well-trained AI models can guess how to fill blank areas in the picture. The model can either try to guess what to do by itself o … | Continue reading
Discovering Llama: where does it stand compared with gpt-4o? Today, I was looking for an AI model that would perform best with a non-mainstream task: translating text between two Slavic languages. This was a good opportunity to use the LMSYS Chatbot Arena. The service allows you … | Continue reading
What is OpenAI Batch API? The pricing page for OpenAI services has an annotation that drew my attention recently: *Batch API pricing requires requests to be submitted as a batch. Responses will be returned within 24 hours for a 50% discount. I pretended not to see this option for … | Continue reading
I’ll share a simple trick I was happy to learn only today (after using GitHub Copilot for over a month). Copilot is so good at guessing what I intend to write that pretty much all the time I accept the first solution it comes up with. But sometimes it can guess wrong, or it doesn … | Continue reading
When I visit the Azure Portal and attempt to sign in, the page often gets stuck at the following screen (“More information required”): I couldn’t find any useful solution on Google, and contacting the support team about it is low on my priority list. So I experimented and found w … | Continue reading
When I visit the Azure Portal and attempt to sign in, the page often gets stuck at the following screen (“More information required”): I couldn’t find any useful solution on Google, and contacting the support team about it is low on my priority list. So I experimented and found w … | Continue reading
Here’s a short hint that helped me resolve an annoying issue of ChatGPT signing me out very often. It’s a service I have bookmarked and I use frequently, yet it seemed to be more stubborn than most apps and I was signed out every day I opened it 😉 And especially if you us … | Continue reading
Here’s a short hint that helped me resolve an annoying issue of ChatGPT signing me out very often. It’s a service I have bookmarked and I use frequently, yet it seemed to be more stubborn than most apps and I was signed out every day I opened it 😉 And especially if you us … | Continue reading
I’ve been taking a first look at Blazor recently. I wanted to pair it with Azure Static Web Apps to test my understanding that a Blazor application can run 100% in the browser, without any backend part required (at least if I choose the right project template). If that’s true, St … | Continue reading
Recently, I’ve been prototyping various plugins and tools for Anki (flashcard management system) in C#. So far, the biggest technical obstacle I encountered was the following exception thrown when I tried to query data from the database: System.Data.SQLite.SQLiteException: ‘SQL l … | Continue reading
While working with ChatGPT API, I noticed that the JSON response I normally receive contains many whitespace characters used for indentation. Here’s a fragment of the response, to illustrate that: Output tokens still cost quite a lot in 2024 (assuming we process lots of data), so … | Continue reading
I’ll share the results of a quick benchmark testing how the number of files in a directory impacts the following filesystem operations executed from a .NET application: My motivation was to decide if it was a good design performance-wise to have a single directory containing many … | Continue reading
.NET 8, along with C#12, is now official. Last week, I upgraded one of my projects to the new version and tried using some new features. Primary constructors in classes don’t generate auto-properties One thing that surprised me was that the primary constructors, known from record … | Continue reading
Hi, in this post, I’ll share learning from my recent attempt to set up GitHub workflow in a way that: We wanted to achieve such a setup to allow running end-to-end tests on a single Azure environment without causing interference between workflows running simultaneously. An attemp … | Continue reading
Does OpenAI Text to Speech support languages other than English? OpenAI’s Text-to-Speech service transforms text into audio files with impressive quality when we consider English language. I haven’t performed a blind test, but based on a few samples I heard, I don’t think I could … | Continue reading
What is the new quality parameter? DALL-E 3 introduced a new API parameter, quality. The documentation explains: quality (standard or hd. Defaults to standard) The quality of the image that will be generated. hd creates images with finer details and greater consistency across the … | Continue reading
What is the new style parameter? OpenAI released a preview of a DALL-E 3 API this week, and I’m excited to play with it today. We can now control a new parameter named style. The documentation explains: style (defaults to vivid): The style of the generated images. Must be one of … | Continue reading
I was recently reading about the JPEG XL format, which is one of the promising options for replacing a venerable JPEG standard. One of the aspects underlined in several sources is that it’s possible to losslessly transcode JPEG to JPEG XL and reduce the size of a file. What I fou … | Continue reading
There is a famous option in Azure Firewall settings labeled: “Allow Azure services and resources to access this server“ According to the UI hint, “This option configures the firewall to allow connections from IP addresses allocated to any Azure service or asset, including connect … | Continue reading
.NET 7 introduced the [GeneratedRegex] attribute that allows doing some regex initialization in compile time rather than in runtime. Using this attribute might help improve performance. Therefore some tooling might start showing you a warning that you miss an opportunity for free … | Continue reading
Calendar Filter is an open-source service for decluttering subscribed calendars (in iCalendar, or *.ics format). Hide events and control what you see in your calendar views. The post Calendar Filter – a small tool to declutter your calendar view appeared first on Paweł Bulwan. | Continue reading