19 Feb 2023
2 mins
Life, Solar
I recently put Tigo optimizers under remaining solar panels on my roof and also equiped my system with CCA (and TAP). During the whole process I contacted support few times and I was blown away by the quality of it. I don’t think I’ve ever had such an overwhelmingly good experience dealing with support.
30 Jan 2023
1 mins
Presentations & Speaking
Včera se konala konference WUG Days 2023.1. Měl jsem jednu přednášku se jménem What is QUIC protocol and how we can use it from .NET. Níže je ke stažení prezentace a demo.
17 Jan 2023
1 mins
C#
As promised in previous blog post. Let’s implement that sum function using generic math from C# 11.
17 Jan 2023
2 mins
C#
Some time ago I wrote blog posts playing with head- and tail-like functions and implementing sum function in C# using these. With the recent addition of list patterns into C# 11, I revisited that topic.
15 Dec 2022
1 mins
.NET, C#
This combination of Task
and IDisposable
surprised me quite well. And yes, it’s my fault. As usual.
8 Dec 2022
6 mins
.NET, C#, Databases in general, Firebird, SQL
I was having one of those ideas that is useless at that given moment in time but might become the secret weapon in the future. This time it’s about application, Firebird Embedded and FbNetExternalEngine.
29 Nov 2022
3 mins
C#, Roslyn
The feature I’m most excited from freshly released C# 11 is raw string literals. You can read about the feature more here. In this blog post I’m going to try some limits. For fun. And learning.
28 Nov 2022
1 mins
Presentations & Speaking
I’ll be speaking on MS Tech Summit 2022 (online) this Friday. I’ll present two sessions: What’s new in C# 11 and Azure Spot instances as your secret weapon.
24 Nov 2022
1 mins
Presentations & Speaking
Tak .NET 7 a C# 11 máme finálně venku. Příští čtvrtek na WUGu se tomu podíváme na zoubek.
15 Nov 2022
2 mins
.NET, C#, WinForms
This took me quite a while to debug, because I was constantly wrongly assuming my threading and synchronization context handling was wrong. At the end of the day it was very simple, I just couldn’t see the forest for the trees.
14 Nov 2022
2 mins
C#
I usually create arrays like this. Nothing fancy. And most people around me use the same. I would even say it’s kind of a standard way in C#.
var data = new[] { 1, 2, 3 };
But today I realized, you can also use this (target-typed new expressions) when using arrays.
8 Nov 2022
1 mins
.NET, C#, Databases in general, Entity Framework, Entity Framework Core, Entity SQL, Firebird, LINQ, SQL, Visual Studio
New version 9.1.0.0 of ADO.NET provider for Firebird is ready for download. This release adds new features here and there and also some bug fixes. Notable features are support for parallel workers (planned for Firebird 5) and support for “at number” for snapshot transactions.
21 Sep 2022
1 mins
C#
Recently I spent surprising amount of time chasing behavior that didn’t match my expectations. As you can guess the problem was between keyboard and chair. Hopefully my mistake can help you save minutes (or hours) of debugging.
12 Sep 2022
1 mins
Presentations & Speaking
Tento týden se konají dvě akce, kde budete mít možnost poslechnout si několik mých přednášek.
První v pořadí je SQL Server Bootcamp 2022, kde si budete moci poslechnout Autoincrement (identity) není jediná možnost jak generovat PK. Následovat bude WUG Days 2022, kde mám Entity Framework Core 7 – Co nás čeká, Co čekat od .NET 7 a C# 11 – Co nás čeká.
6 Sep 2022
1 mins
Presentations & Speaking
After the Belgium version Techorama is going to Netherlands, in October 10-12. I was lucky one of my session was selected – C# Source Generators – let the machine do the programming.
29 Aug 2022
2 mins
Presentations & Speaking
Oh yeah. .NET Developer Days 2022 is coming. Can’t wait to be there. This year, I’ll be doing workshop as well as sessions. Lucky me.
24 Aug 2022
1 mins
C#, MSBuild, Roslyn
Three years ago (yes, I looked it up), I wrote a blog post about switching from warnings in NRT to errors. But it required manually adding codes for all the warnings (luckily thanks to Roslyn being open source, it’s not that difficult) and keeping that list up to date. But recently I found much simpler way.
21 Jun 2022
1 mins
Presentations & Speaking
Můj výběr malých, ale přesto zajímavých, novinek v .NETu 6. Dnes 21.6.2022 od 17:00.
2 Jun 2022
1 mins
Presentations & Speaking
This Saturday (June 4th) at 19:00 (CEST) you can join the Rockin’ The Code World with dotNetDave live stream and listen to me and David McCarter talking about stuff like evolution of C#, databases, .NET performance, Entity Framework, open-source and probably more.
9 May 2022
1 mins
Presentations & Speaking
Příští týden se bude konat Gopas TechEd. Po několika letech online verzí, tentokrát v hybridním provedení. Letos si z mé strany můžete poslechnout jednu in-person i online přednášku a dvě čistě online.
28 Apr 2022
1 mins
Ask Jiri
Sometimes people ask me a question where the answer requires some kind of dialogue or follow-up questions and/or is too long to type. Thus, I’m trying new way of recording the conversation and then posting it for anybody to watch.
Sometimes it is in Czech (like this one), sometimes in English. Sometimes one person (and me), sometimes multiple.
Do you have an interesting question? Send me an email and let’s chat about it.
Now, here’s the recording:
19 Apr 2022
2 mins
.NET, C#, Databases in general, Entity Framework, Entity Framework Core, Firebird, LINQ, SQL, Visual Studio
New major version 9.0.0.0 of ADO.NET provider for Firebird is ready for download. Major version number change, big changes. Buckle up.
14 Apr 2022
1 mins
Ask Jiri
Sometimes people ask me a question where the answer requires some kind of dialogue or follow-up questions and/or is too long to type. Thus, I’m trying new way of recording the conversation and then posting it for anybody to watch.
Sometimes it is in Czech (like this one), sometimes in English. Sometimes one person (and me), sometimes multiple.
Do you have an interesting question? Send me an email and let’s chat about it.
Now, here’s the recording:
13 Apr 2022
1 mins
Presentations & Speaking
I’ll be speaking at Techorama 2022 happening May 23-25. And I’m very excited about it. Over the last decade or so I was working with/for Belgium based company on and off, so Belgium has somewhat special place in my heart.
Two of my sessions were selected. First is C# Source Generators – let the machine do the programming and other is Performance with Span<T> for dummies (should I care?).
12 Apr 2022
1 mins
Presentations & Speaking
20.4.2022 od 8:30 budu mluvit v rámci akce IT Ráno, kterou pořádá Gopas, o možná trochu méně známých novinkách v .NET 6, o kterých ale přesto stojí za to vědět. Registrovat se můžete zde.
7 Mar 2022
2 mins
.NET, C#
Silly question, right? Whatever the limit is, it is surely beyond what one should practically ever write. Right? But as with mine other explorations of limits, I’ll try it anyway.
23 Feb 2022
2666 mins
.NET, Firebird
With the 20 years of .NET that’s happening now and also the Celebrating 20 Years of .NET: Entity Framework I realized, I have a piece of history that would be too bad to lose.
18 Feb 2022
1 mins
Presentations & Speaking
I’ll be speaking on MS Stage (online) February 25th April 1st. I’ll show you what Source Generators are and how to create one yourself.
10 Feb 2022
1 mins
C#
Today I learned that you could use attribute, in C#, on itself. 🤯 Not sure why would I do that, but it’s cool.
8 Feb 2022
4 mins
.NET, C#, Performance
As I was (at that moment) running out of ideas about optimizations in hot paths in FbNetExternalEngine, I turned my attention into other parts of code. And one piece that was doing casting on every call caught my attention. Could I make the casting faster? What is actually the cost of casting? Does it matter? I had to dive into it.
2 Feb 2022
1 mins
C#
As I was writing bunch of if
s today, I was thinking whether it would be possible to use pattern matching from recent versions of C#. To make things more interesting, I was comparing multiple values and it was not a simple equality. Blindly typing the code, I was very surprised Roslyn didn’t complain.
1 Feb 2022
1 mins
Presentations & Speaking
When I read World’s Smallest C# Program (featuring `N`) I was so intrigued. I had to give it a shot myself.
27 Jan 2022
1 mins
Presentations & Speaking
Moje další přednáška ze série .NET 6 extravaganza, tentokrát o Entity Framework Core 6. 27.1.2022 od 17:00.
24 Jan 2022
2 mins
.NET, ASP.NET Core, WebSocket
Couple months back when teaching a course in Gopas, colleague William Ischanoe came to me and asked me, whether it would be possible to create a simple WebSocket server (and later client) in .NET. As far as I understood he wanted to use it to command process on victim’s computer (as he’s an expert in hacking and security). Might be useful for others as well, therefore I’m posting it here.
21 Jan 2022
1 mins
Multithreading/Parallelism/Asynchronous/Concurrency
.NET 6 has this new handy method on Task
called WaitAsync
. It might not look like a big deal. Basically, the asynchronous version of Wait
, right? Yes, but also it closes one gap that was often implemented poorly.
20 Jan 2022
1 mins
Presentations & Speaking
Moje další přednáška ze série .NET 6 extravaganza, tentokrát o .NET 6, BCL a dalších. 20.1.2022 od 17:00.
18 Jan 2022
1 mins
.NET, Firebird
Big step forward for FbNetExternalEngine today. Version 5.0 is ready, you can go and download it right now and it contains some major improvements.
9 Jan 2022
1 mins
Presentations & Speaking
Rok 2022 si na WUGu můžete otevřít přednáškou o C# 10, konkrétně 13.1.2022 od 17:00.
7 Dec 2021
1 mins
Presentations & Speaking
I’ll be speaking on MS Dev Summit 2021 (online) this Friday about Azure Storage (maybe) hidden features.
1 Dec 2021
1 mins
Presentations & Speaking
Few moments ago I finished my session on .NET Developer Conference ’21 (yeah, I forgot to make the post sooner). My session was C# Source Generators – let the machine do the programming. It was recorded and demos are attached below.
7 Nov 2021
1 mins
Presentations & Speaking
Na letošní SQL Server Bootcamp, který se koná online, jsem připravil přednášku na téma Co nás čeká v Entity Framework Core 6.
10 Oct 2021
1 mins
Presentations & Speaking
I’ll be speaking at Azure Community Conference 2021 that is going to happen in about 2 weeks. It’s online, so you can easily attend.
24 Sep 2021
1 mins
C#, Visual Studio
When writing some code day or two ago I noticed one operator color in Visual Studio being different color than it usually is. I initially thought it’s a fluke in syntax highlighting that will eventually go away. When it didn’t, I decided to investigate.
15 Sep 2021
3 mins
Presentations & Speaking
It’s again that time of the year when my favorite conference is about to happen. Yep, it’s .NET DeveloperDays time (and planned as in-person, yay!). You still have about a month to register and you should. I’ll have both the workshop and two sessions in main conference.
14 Sep 2021
1 mins
Presentations & Speaking
WUG ve 3D! Zlín se to rozhodl odstartovat a zkusíme se sejít IRL. A jak lépe to odstartovat, než se podívat na to co už za chvíli budeme mít na stole – .NET 6 a C# 10. Rozjedeme to 14.10.2021 od 17:30.
13 Sep 2021
1 mins
Presentations & Speaking
I’ll be speaking at Dotnetos Conference 2021 October 4th – 6th.
8 Sep 2021
2 mins
.NET, .NET Core
Yesterday’s exploration led to another eye-opening moment. This goes even deeper. As you maybe know, dependencies are shared between AssemblyLoadContext
s. This can lead to subtle changes of behavior depending on what’s loaded where.
7 Sep 2021
2 mins
.NET, .NET Core
Few days ago, I had a behavior I couldn’t believe. Static constructor of my C# class was clearly called two times. For no reason! Even the static variable it was initializing was null
during second call. How is that even possible?
2 Sep 2021
1 mins
.NET, Firebird
Firebird Embedded is a great edition of Firebird (you can read more about it here) and if you put FbNetExternalEngine into the mix, it becomes crazy powerful tool. But to put it into the mix, one needs to carefully follow few steps to succeed.
17 Aug 2021
1 mins
.NET, C#, Databases in general, Entity Framework, Entity Framework Core, Entity SQL, Firebird, LINQ, SQL, Visual Studio
New version 8.5.0.0 of ADO.NET provider for Firebird is ready for download. This release contains, among other small improvements and fixes, support for Srp256 (and quite a few related changes, like support for SPB version 3) and fix for performance regression for synchronous code paths introduced in 8.0.0.0.
11 Aug 2021
1 mins
Livestream
I’m planning to do next livestream 18 August from 18:00 CEST. The topic is Case insensitive replace in Firebird.
5 Aug 2021
7 mins
.NET, Async, C#, Performance, Programming in general
I’m doing some performance related work in async space, and I was surprised by the slowness of synchronous code-paths in the asynchronous methods. Let’s look at some code.
2 Aug 2021
1 mins
Livestream
After a lot of live and pre-recorded conference talks, I decided to try also livestreaming myself. Being a beginner, I forgot to properly announce it beforehand and hence although still livestream, for most people it will be a recording. I’ll get better next time.
14 Jun 2021
1 mins
Presentations & Speaking
I’ll be speaking at WeAreDevelopers World Congress 2021 in two weeks (June 28th – July 1st). The speaker line-up there is amazing and I’ll contribute with one session of mine.
7 Jun 2021
1 mins
Presentations & Speaking
Developer Week ’21, a new conference for me, is happening from 28 June to 2 July and I’m lucky to be speaking there, although only via the power of the Internet. I’ll have two sessions.
20 May 2021
3 mins
.NET, .NET Core, Databases in general, Firebird
Last few weeks, on and off, I was reviving, finishing and improving a library, or now a tool if you will, that allows processing of trace output from Firebird. The library started its life probably sometime around 2014, and after a minimal working piece was done, it was briefly, yet successfully, used. Then it was left rusting up until last few weeks. What can it do?
10 May 2021
7 mins
Home Automation, IoT
As I speculated in my previous post, I eventually decided to try the Wi-Fi option first, because I can try that right here and right now.
7 May 2021
1 mins
Presentations & Speaking
Už za pár týdnů se bude konat Gopas TechEd, tento rok také online. Já jsem připravil dvě přednášky. Obě plné kódu.
26 Apr 2021
2 mins
Blog, JavaScript, jQuery
Over maybe last two years or so, I’ve been reading with interest primarily @alesroubicek’s tweets, where he disregarded (with good arguments) all the all-encompassing JavaScript frameworks and libraries. And then out of nowhere last week, I decided to try to remove jQuery from this blog. Simply to have a personal experience with doing stuff in vanilla JavaScript.
7 Apr 2021
1 mins
.NET, C#, Databases in general, Entity Framework, Entity Framework Core, Entity SQL, Firebird, LINQ, SQL, Visual Studio
New version 8.0.1.0 of ADO.NET provider for Firebird is ready for download. This a small fix for a – sadly critical – bug that slipped through the 8.0.0 release. I recommend updating immediately.