tabs ↹ over ␣ ␣ ␣ spaces

by Jiří {x2} Činčura

Empty try with finally

10 Jun 2019 .NET, .NET Core, C#

The finally block has a little unknown feature, that frankly isn’t even remotely needed for regular day-to-day development, but you already know content on this blog is usually little geeky.

Comparing speed of Blob Storage, AppService and CDN on Azure for static file serving

30 Apr 2019 AppService, Azure, Azure Storage, CDN, Cloud

For no particular reason and with no particular goal I decided to see how “fast” some selected services, with the ability to serve a static file, on Azure are. I was interested in the time to serve the file and requests per second. The services I selected are AppService in B1 and S1 plan, Blob Storage GPv2 and CDN in Standard plan from Verizon and Microsoft.

Global Azure Bootcamp 2019

20 Apr 2019 Azure, Azure Cosmos DB, Presentations & Speaking

Global Azure Bootcamp 2019. Jeden den, Azure po celém světě. A taky v Praze. I já přispěju svojí troškou do mlýna a povím vám něco o Azure Cosmos DB.

Gopas TechEd 2019

10 Apr 2019 Presentations & Speaking

Web ještě nehlásí vyprodáno, takže je stále možnost urvat vstup. Na letošní TechEd jsem připravil tři přednášky:

  • .NET Core 3.0, .NET Framework 4.8 a proč vše kolem je největší změna od zrodu .NETu
  • Jak měřit výkon .NET kódu správně
  • Entity Framework vs. SQL Server – co jste mohli udělat a neudělali; a co jste dělat neměli a přesto udělali

ADO.NET provider 6.6.0.0 for Firebird is ready

1 Apr 2019 .NET, C#, Databases in general, Entity Framework, Entity SQL, Firebird, LINQ, SQL, Visual Studio

New version 6.6.0.0 of ADO.NET provider for Firebird is ready for download. This release fills all the holes in the Entity Framework Core support. To be precise now Migrations are fully supported and query pipeline has been massively improved. Just to give you an idea, about 4100 tests were added. If you want to use Entity Framework Core with Firebird, now is the time.

ThreadPool.QueueUserWorkItem has a generic overload (and a new parameter)

24 Jan 2019 .NET Core, .NET Standard, Multithreading/Parallelism/Asynchronous/Concurrency

Although nowadays people, including me, are working mostly with tasks and async/await, sometimes going one level lower is helpful, because there’s less to worry about. And as I was today calling trusty ThreadPool.QueueUserWorkItem I found new overload. Overload that is generic.

G2B•TechEd 2019 a ShowIT 2019

20 Jan 2019 Presentations & Speaking

Za několik málo týdnů se konají opět konference G2B•TechEd v Brně a ShowIT v Bratislavě. V Brně budu mít dvě přednášky a sice Developer Keynote aneb .NET Core 3.0 a proč je to největší změna od zrodu .NET Core a Lua pro C# vývojáře a proč by se mi to mohlo hodit a V Bratislavě pak .NET Core 3.0 a proč je to největší změna od zrodu .NET Core a Přehled výkonnostních vylepšení v .NET Core a proč je určitě chcete.

Ať už v tom či onom městě vás zvu a rád zodpovím vaše případné dotazy.

DotNET Talks, vol.2

17 Jan 2019 C#, Presentations & Speaking

Ups. Úplně jsem zapomněl na druhou edici DotNET Talks. Akce se koná dneska, tedy máte ještě půl dne udělat si čas. 😃 Já vám řeknu něco o tom co čekat od C# 8 v “Co čekat v C# 8.0 v kostce”. Podle webu ještě místa jsou, tak přijďte.

Exploring C#’s ref return to better understand it

5 Dec 2018 .NET, .NET Core, C#, Roslyn, RyuJIT

I felt a bit fuzzy on the topic of ref returns in C#. I used it intuitively few times, but it felt I needed to fill some gaps and play with it in a little bit more structured way. This is my exploration of the topic. No particular order. No deep explanations. Just my thinking what should work and what not and trying it.

Vertikální půlkilometr na schodech

5 Nov 2018 Running

Dostali jsme s Davidem Gešvindrem takový “zajímavý” nápad. V budově Gopasu v Praze je docela dost pater a po obědě, v rámci lepšího trávení a protažení, chodíme nahoru po schodech. Ve skutečnosti jdeme většinou z -2. až do 11. patra pro extra body. 😃 No a co třeba zkusit chodit nahoru a dolů…

ICTech Day

5 Nov 2018 Multithreading/Parallelism/Asynchronous/Concurrency, Presentations & Speaking

I almost forgot to tell you about this. This week, Thursday, I’m speaking at ICTech Day in Belgium. And about the topics I’m very passionate about. First session is “Tasks and Await from the ground up” and other is “Async and Await”. If you’re in the area, maybe you can still try to make time and come (you have to be a guest of somebody from PeopleWare or Elmos).

MonkeyFest Bootcamp Prague 2018

4 Nov 2018 C#, Presentations & Speaking, Xamarin

Za necelý týden se koná akce s názvem MonkeyFest Bootcamp Prague 2018, což je podobně jako Global Azure Bootcamp akce konající se v jeden den na celém světě. MonkeyFest je zaměřen na svět Xamarinu a příbuzných technologií. No a protože Xamarin je také o C#, připravil jsem si přednášku s názvem “Co čekat od C# 7, 7.1, 7.2, 7.3 a 8.0”. Pokud vás novinky C# zajímají, nezapomeňte dorazit.

Comparing speed of ToUpper, ToUpperInvariant, ToLower and ToLowerInvariant in .NET Framework and .NET Core

23 Oct 2018 .NET, .NET Core, JIT, RyuJIT

While I was reviewing some code week or two back, I got idea to test what’s the speed difference between ToUpper, ToUpperInvariant, ToLower and ToLowerInvariant. Of course, these methods are not doing the same thing, but sometimes it doesn’t really matter and if any is sufficient then, maybe, performance wins. Or at least I thought it’s going to be interesting to see whether there’s a difference and how much.

WUG: C# 7, 7.1, 7.2, 7.3 a 8.0 (Zlín)

18 Oct 2018 C#, Presentations & Speaking

Máte rádi C#? A ztrácíte se v aktuální rychlé kadenci verzí? Mám pro vás řešení – WUG 25.10.2018 od 17:30 ve Zlíně. Všechno dáme do kupy a srovnáme si to v hlavě.

C# v poslední době velmi rychle přidává nové funkce. Malé funkce v minor verzích, ale připravuji se i velké změny do major verze (verzí). Co je tedy dostupné v C# 7, 7.1, 7.2, 7.3 a jak to začít používat. A co nás čeká dál a hlavně ve verzi 8.0?

WUG: Asynchrónne a paralelné programovanie v .NET-e (Košice)

3 Oct 2018 Presentations & Speaking

Tak to vypadá, že se podívám do Košic. Na WUGu si povíme něco o asynchronních a parallelních věcech a jak to celé do sebe zapadá a co je “pod tím”.

Naposledy jsem tam byl na maratonu v roce 2012 a poměrně dobře si pamatuju segment 30. – 35. km. “Lehce” 😃 jsem potkal “zeď”. Naštestí jsem to do cíle “dotlačil”. Tak snad WUG zvládnu lépe. 😃 Určitě přijďte.

DotNET Talks, vol.1

30 Sep 2018 Entity Framework Core, Presentations & Speaking

Už příští týden se uskuteční nová akce s názvem DotNET Talks. Moje přednáška “Unit Testing s Entity Framework Core” se podívá na to jak “unit” testovat kód, který využívá Entity Framework Core. Díky “čerstvosti” Entity Frameworku Core jsou možnosti o poznání lepší než tomu bylo u Entity Frameworku 6. Jak to vypadá, tak ještě pár míst můžete urvat, tak neváhejte…

Step into a specific call when debugging in Visual Studio

24 Sep 2018 Keyboard, Visual Studio

Last week, as we were wrapping the first day of .NET Developer Days conference, I was sitting in the “Ask The Expert” area quietly by myself, reading the poems, waiting for questions with Kendra Havens chatting about Visual Studio shortcuts and enjoying the pre-party beer. As it turned out, there’s one super handy shortcut for debugging that most people – Kendra included 😉 – are not aware of (and which I wasn’t able to cover in my 60 minutes of allotted time). Thus, I must spread the word.

Exploring .NET’s – Java inspired – “synchronized” methods

13 Aug 2018 .NET, .NET Core, Java, JIT, Multithreading/Parallelism/Asynchronous/Concurrency, RyuJIT

I was recently talking about first versions of .NET, C# and the world of development technologies of that time. As I briefly touched J# (anybody remembers?) I realized there’s one Java feature that was added to C# because of inspiration by Java and I wanted to explore it. It’s not much used or even known in C#, but it’s still there. And because it’s about “threading and synchronization” I couldn’t resist and immediately jumped in. It’s synchronized methods.

.NET DeveloperDays 2018

27 Jul 2018 Presentations & Speaking

In less than two months the .NET DeveloperDays 2018 conference will happen. According to the organizers it’s “the biggest event in Central and Eastern Europe dedicated exclusively to application development on the .NET platform” and I’m excited to speak there together with other great speakers.

How is Thread.SpinWait actually implemented?

17 Jul 2018 .NET, .NET Core, JIT, Multithreading/Parallelism/Asynchronous/Concurrency, RyuJIT

I’m always drawn into disassembling stuff and learning how something works under the hood. The Thread.SpinWait is something I’m going to explore. Because .NET Core is open source I can attack this from side of both sources as well as pure disassembly.

WUG: Entity Framework Core 2.1 (Ostrava + Praha)

12 Jul 2018 Entity Framework Core, Presentations & Speaking

Ačkoli jsou prázdniny klidnější období v IT, WUG Ostrava a Praha nezahálí a frčí na vlně Entity Frameworku Core 2.1. Já tu vlnu ještě víc zvednu 19.7.2018 od 17:00 v Ostravě a 21.8.2018 od 17:30 v Praze. Takže doufám, že bude hnusně a dorazíte. 😃

Současně s novou verzí .NET Core 2.1 byla uvolněna i nová verze EF Core 2.1. Co je tedy v EF Core 2.1 nového? Proč všichni o 2.1. mluví? Da se již 2.1 reálné použít nebo jsou ještě oblasti, které pokulhávají?

Video

ConfigureAwait(false) analyzer with improved “brain” (v2.0)

10 Jul 2018 .NET, C#, Multithreading/Parallelism/Asynchronous/Concurrency, Roslyn

The original ConfigureAwaitChecker tool I wrote was just a concept and I knew it had a lots of limitations. Luckily it idea was not completely dumb (even Jon Skeet thinks so) and hence when ideas for improvements came in, I was not skipping on these. And because these improvements become quite big, I’m releasing today version 2.0.

Introducing FirebirdDbComparer – library for comparing Firebird databases to create alter scripts

9 Jul 2018 .NET, .NET Core, Databases in general, Firebird

When I first heard the idea of writing library for comparing databases’ structures and producing alter scripts I thought it was a joke. I believed it would take months of work to get it into production quality, handling all the different cases and often also bugs or limitations in Firebird. That was 2015. It’s 2018 now and I’m here, ready to introduce it.

Penny pinching Azure Append Blobs

5 Jul 2018 Application Insights, Azure, Azure Storage

I was going through some reports in Application Insights for a small website I’m running and I saw a lot of 409 errors when writing to Append Blobs. As I was sorting this out, I also realized I can do the whole logic more “efficient” and save some pennies.