tabs ↹ over ␣ ␣ ␣ spaces

by Jiří {x2} Činčura

SQL Server Bootcamp 2020

9 Aug 2020 1 mins Presentations & Speaking

Na letošním SQL Server Bootcampu, který se koná online, se budete moci dozvědět něco o databázových enginech Firebird a Microsoft SQL Serveru v přednášce “Porovnání Firebird a Microsoft SQL Serveru”, kterou jsem připravil společně Vladimírem Mužným.

Exploring top-level statements in C# 9

11 Jun 2020 4 mins C#, Roslyn

I wanted to know how is the top-level statements feature in C# 9 handled and what’s actually produced. Although I originally planned to do just a quick test and the look at the IL, I kept testing the feature more and more.

🔥 “tabs over spaces” buff

3 Jun 2020 2 mins Life, Merchandise

Almost exactly a year ago I was sitting in a restaurant after Update Days: Corestart 3.0 conference with my ↹ over ␣ ␣ ␣ shirt facing Olia Gavrysh, Program Manager at .NET team in Microsoft. And she mentioned how she liked the shirt (and that Immo Landwerth, another Program Manager in .NET team would like it too (maybe that was a sarcasm)) and that I should make the shirt available for buying.

Removing explicit default access modifiers in Visual Studio using EditorConfig

2 Jun 2020 1 mins .NET, C#, Visual Studio

Almost five years ago I wrote post Removing explicit default access modifiers (Roslyn analyzer and codefix) and it was a great exercise and I still prefer to have code without all the private, etc. noise. But also nowadays Visual Studio supports all sorts of code style rules via EditorConfig file. Can I teach Visual Studio to actually suggest removing explicit default access modifiers?

Delete button in resource group in Azure portal

29 May 2020 1 mins Azure

I don’t know whether this has been in the portal “forever” and I never noticed or if it’s a new thing. Anyway, it’s a nice feature and I’m enjoying it, so I might as well share that with you.

Glorious day as a trainer and conference speaker

26 May 2020 5 mins Life

Today was a crazy – rollercoaster like – day. Let me tell you all about it even though it’s about 7 o’clock in the evening now and I’m very tired. I feel like this clown on my daughter’s desk.

I miss using email

19 May 2020 4 mins Email, IM, Skype, Teams

I miss good old email. You know the tool that anybody can reach you at, you can use any tool you want and basically can do anything with it yourself.

Let me give you bit of “messaging” history from my own world and I’ll circle back to email at the end.

Zlepšite si svoj zdrojový kód pomocou Roslyn-u (KROS Dev Meetup ‎#3)

6 May 2020 1 mins Presentations & Speaking

Vypadá to, že místní svět si na remote spolupráci zvyká a přizpůsobují se i konference a jiné akce. Nezahálí ani KROS Dev Meetup a v jeho třetí edici tam povím něco o možnostech zlepšování kódu pomocí Roslynu. Takže si nezapomeňte přidat do kalendáře 19.5 v 18:00. Kromě mě, bude jestě druhá přednáška na téma “Automatické End-to-End testy”.

Gopas TechEd 2020 (online)

27 Apr 2020 1 mins Presentations & Speaking

Situace zrovna konferencím nepřeje, ale každoroční TechEd bude a bude online, a víceméně už za týden. Připravil jsem dvě přednášky (jednu společně s Vladimírem Mužným).

FbNetExternalEngine 4.1 released – bit of performance and NuGet

31 Mar 2020 1 mins .NET, Firebird

FbNetExternalEngine version 4.1 is released. Although it might look odd having another release so close after the previous, it’s not a bug-fix release. In fact when I released 4.0 I knew 4.1 is probably going to happen soon after. The reason is, I had some performance optimizations prepared, but didn’t had enough numbers to safely put into production. Now I have.

Real world experience with FbNetExternalEngine performance and code structure

30 Mar 2020 4 mins .NET, Firebird

I’m now going through piece of SQL code that contains a lot of stored procedures from over the years and lately also functions (in last year the migration to Firebird 3 really began) and looking into the code to identify functions and procedures to start the rewriting with using FbNetExternalEngine. I’m at the beginning, but I have some interesting piece I’d like to show.

Comparing disk speed of various disks and VMs in Azure

5 Mar 2020 8 mins Azure, Azure VMs, Cloud

For an estimation and planned move of some resources to Azure, I had to do comparison of various VMs and disks. It’s not meant to be exhaustive with all possibilities. Just some numbers one can compare.

Azure Functions billing in the absence of function/host key

1 Mar 2020 1 mins Azure, Azure Functions, Cloud

You might be wondering: “Am I going to be charged when somebody invokes my Azure Function but with wrong or missing key?". Well, some of the attendees on my currently running Azure course had the same question. And I thought it might be worth sharing the answer publicly.

WUG: Jak měřit výkon .NET kódu správně (Praha)

21 Feb 2020 1 mins Presentations & Speaking

Každý potřebuje občas měřit rychlost kódu, že jo? Někdy pro porovnání dvou různých verzí, někdy v rámci optimalizací. Ale jak to udělat správně. A co to vlastně znamená “správně”? Jestli vás toto zajímá, přijďte 26.2.2020 na WUG.

Using Fibaro Wall Plug to monitor water pump and pressure tank in my house

12 Feb 2020 2 mins Domoticz, IoT, Z-Wave

Primary source of water in my house is a water well. That means I have a pump down there and a pressure tank in the house. And I like to keep an eye on both of these. With a little bit of ingenuity and the Fibaro Wall Plug I have a simple DIY solution.

MS SQL’s ISDATE function on Firebird

23 Jan 2020 1 mins Firebird, MS SQL Server, SQL

MS SQL has an ISDATE function that “returns 1 if the expression is a valid date, time, or datetime value; otherwise, 0”. Although I never used it or had a scenario for it, I was porting some code from MS SQL to Firebird and this function was used, hence I had to create it.

Firebird Conference 2019

12 Oct 2019 2 mins Firebird, Presentations & Speaking

After a small pause in every-year Firebird conferences, filled with few “seminars”, the Firebird Conference is back. This year in Berlin, Germany.

Throwing null literal

19 Sep 2019 1 mins C#

“Every” week I discover something new (and I’m not afraid to share it). Today isn’t any different. Apparently, C# compiler is fine with code throwing null literal. Yes, it looks weird, but if you think about it, it makes sense. Let me show you.

WUG Days 2019

12 Sep 2019 1 mins .NET, .NET Core, C#, Multithreading/Parallelism/Asynchronous/Concurrency, Presentations & Speaking

Už se jen dvakrát vyspíme a bude tu další ročník WUG Days (14.-15.9.).

Hlasováním a odborným výběrem byla vybrána 4 😮 moje témata.

Convenient method for explicit lazy loading in Entity Framework Core (or Entity Framework 6)

2 Sep 2019 1 mins Entity Framework, Entity Framework Core

Last week I was explaining explicit lazy loading on Entity Framework Core and quite understandably the question came about shortening/encapsulating the code, because you might need to use it a lot in some cases. It’s possible and luckily the method can also benefit from overload resolution in C# to handle reference and collection navigation properties transparently.

.NET DeveloperDays 2019

31 Aug 2019 2 mins Presentations & Speaking

If you’re not yet registed for this year’s .NET Developer Days, where I’ll be speaking, you’re going to regret it. Here are (my) 3 reasons.

Entity Framework Core’s ultimate escape hatch

14 Aug 2019 4 mins Entity Framework, Entity Framework Core

In 2007 then Principal Software Architect on Data Programmability team Mike Pizzo wrote in a “random” forum reply about Entity Framework’s DefiningQuery being the “ultimate escape hatch”. This was later mentioned in Julia Lerman’s famous book Programming Entity Framework. Just to make sure you understand this archeology (and yes, I spent quite some time digging the reply back – kudos to MSDN forum people keeping it still running), Entity Framework (the first version) was released in 2008.

Friday’s This<T>

25 Jul 2019 1 mins C#

Last week on Friday I was working on some code, I don’t even remember what it was, and there was excessive usage of this. And my personal pet peeve is writing most readable code in most succinct way possible. For sure this hurts this (no pun intended). The following class is a result of that Friday’s frustration.

Introducing D.ebug

10 Jul 2019 2 mins .NET, .NET Core, Debugging

Lately I’ve been doing a lot of debugging often in code that needs to be executed certain way, from certain place and sometimes is also modified post-build a little. And sometimes more stuff, which I’ll not bother you with. And this makes debugging a tiny bit more difficult.

Empty try with finally

10 Jun 2019 8 mins .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.

Generics, structs and nulls – the JIT is smart so you don’t have to

7 May 2019 2 mins .NET Core, JIT, RyuJIT

Few days back I learned geeky little piece about JIT. This is exactly the type of knowledge you don’t have to use, maybe ever, yet it’s crucial the JIT handles it (so you don’t have to), because every smart instruction is performance gained. Literally, every instruction or every CPU cycle counts.

Update Days: Corestart 3.0

6 May 2019 1 mins Presentations & Speaking

.NET Core 3.0 se blíží a s ním i další várka změn a novinek. A protože jde o další major verzi, není toho málo. Tomáš Herceg a jeho team připravili konferenci Update Days: Corestart 3.0, která se koná 6. – 7. června 2019.

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

30 Apr 2019 3 mins 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.

WUG: Co čekat ve světě .NETu v roce 2019 (Olomouc)

22 Apr 2019 1 mins .NET, .NET Core, C#, Presentations & Speaking

Nový rok 2019 nám začal, a tak nebude od věci se podívat co nás čeká (a asi ani nemine) za novinky a změny ve světě vývoje .NET aplikací na WUGu v Olomouci 25.4.2019 od 17:00. Představíme si praktický dopad jednotlivých novinek z různých pohledů, jejich očekávanou časovou dostupnost i jak se na jejich příchod již nyní připravit.

Global Azure Bootcamp 2019

20 Apr 2019 1 mins 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.

Cloud DeveloperDays 2019

18 Apr 2019 1 mins Azure, Azure Cosmos DB, Cloud, Presentations & Speaking

In less than two months (28th-29th of May 2019) the Cloud DeveloperDays 2019 conference will happen. I was lucky to have two sessions selected and I hope to meet you there.

Gopas TechEd 2019

10 Apr 2019 1 mins 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