tabs ↹ over ␣ ␣ ␣ spaces

by Jiří {x2} Činčura

Gopas TechEd 2021 (online)

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.

I replaced jQuery on this blog with vanilla JavaScript

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.

My new AC has built-in Wi-Fi and that brings dilemma into my home automation hacking

5 Apr 2021 3 mins Home Automation, IoT

Last week I had AC installed into my house and the unit has Wi-Fi module as a standard option. That brings dilemma to my inner geekiness. As you might expect from me, I want to control the unit remotely my own way. Would the unit have only infrared remote control I would take some ESP8266 board (Wemos D1 Mini Pro is my favorite) and hack together my own infrared remote with simple API over the Wi-Fi. Because that would be the only way. But now I have two options. Oh my.

Fusing await using and await foreach and await

22 Mar 2021 2 mins C#

As I’m thinking about the await using and various usage patterns, my mind sometimes starts to wander into pieces like Task<IAsyncDisposable>, Task<IAsyncEnumerable<T>> and Task<IAsyncEnumerable<IAsyncDisposable>>. And how to wrap that into await using and await foreach making some confusing combinations. This is what I was playing with, don’t expect anything specific.

Migrated from Disqus to

10 Mar 2021 2 mins Blog

In last 24 hours I migrated from Disqus to because I’m done with Disqus. I didn’t mind it initially, but last few years I was more and more unhappy about it. Here’s why and how I migrated.

WUG: (Ne)Známé vlastnosti Azure Storage (online)

19 Feb 2021 1 mins Presentations & Speaking

Azure Storage je tak nějak moje oblíbená služba. A za ty roky co existuje jsem nasbíral a taky náhodou objevil hromadu zajimavých vlastností, o kterých možná nevíte nebo nevíte jak je použít. No a tak se na ně podíváme na WUGu 18.3.2021 od 17:00.

Home automation is heavily stateful and that sucks

11 Jan 2021 3 mins Home Automation, IoT, Z-Wave, Zigbee

In programming we like stateless pieces of code, immutable data structures, functional composition, etc. and we value languages, libraries and environments designed with this in mind. Home automation is complete opposite.

My new PC (and why I chose the components I chose)

5 Jan 2021 4 mins AMD, ASUS, Hardware, Kingston, Noctua, Nvidia, PC, Samsung, SSD

During December I finished building my new PC. My previous PC was not terribly dated or slow (and continues to be used by my wife), but I felt it’s favorable time for update. It’s not balls to wall build, rather something I think is good for my workflow – mostly development and related tasks. I don’t edit movies, stream (or play for that matter) games, etc. I describe each component (in no particular order) and my reasoning why I chose it, your mileage may obviously vary.

DevDay 2020: Using Roslyn to improve your codebase

9 Nov 2020 1 mins Presentations & Speaking

I have to say, Belgium has a special place in my heart, so when my session for was accepted, I was happy. I would be happier if the conference would be in-person, but 2020 is what it is. Anyway. I’ll be talking about Using Roslyn to improve your codebase. Basically taking advantage of Roslyn’s open design where you can use various pieces of the whole compiler platform and create your own tools with the full power of “compiler” i.e. sematic analysis.

New Environment.ProcessId in .NET 5

4 Nov 2020 1 mins .NET

While reading some code in .NET runtime, I found Environment.ProcessId property, which surprised me a bit, because I had no idea it existed. Quick look into the documentation and no wonder I had no idea. It’s new in .NET 5.

How Entity Framework Core’s query cache works

27 Oct 2020 3 mins Entity Framework Core

Last week, when speaking at .NET Developer Days, I got a question about the query cache in Entity Framework Core – is it shared across DbContexts or is it per instance? With this question I realized I know how the cache work(ed) in Entity Framework 6, but I’m not entirely sure how it’s done in Entity Framework Core. Time to explore! And you can go with me.

WUG Days 2020

17 Oct 2020 2 mins Presentations & Speaking

Už zanedlouho tu bude další ročník WUG Days (21.-23.10.). Tentokrát jak jinak než online a stále zdarma. Pro mě trochu brutálnější, protože bylo vybráno celkem 5 mých přednášek.

DotFest 2020: Using Roslyn to improve your codebase

13 Sep 2020 1 mins Presentations & Speaking

The DotFest conference, part of HardFest conferences, is going to happen 16-17 October online (which is little bit sad, because I’d like to visit Novosibirsk, from where the conference will be streamed) and I’ll be talking about Using Roslyn to improve your codebase. Basically taking advantage of Roslyn’s open design where you can use various pieces of the whole compiler platform and create your own tools with the full power of “compiler” i.e. sematic analysis.

Svitla Smart Talk: Most Common Mistakes in Using Tasks and in Asynchronous Code

13 Sep 2020 1 mins Presentations & Speaking

I’ll be talking about Most Common Mistakes in Using Tasks and in Asynchronous Code as part of Svitla Smart Talk event. It will be streamed 22 September, 19:00 (Kyiv time/UTC+3) and it’s free. There’s a generous 30 minute window for Q&A at the end and I’ll try to asnwer as much questions as possible. You can register here. Hope to see you there.

.NET DeveloperDays 2020

31 Aug 2020 2 mins Presentations & Speaking

I’m so looking forward to this year’s .NET Developer Days. I think it’s my favorite conference of the year. The current state of the world is not best for conferences, but I hope the #netdd is going to happen at least as planned now. And although the conference is now also online, if the situation permits, I’ll try to be there in-person.

Running ASP.NET Core app on Azure B1ls VM (penny pinching)

27 Aug 2020 3 mins .NET Core, Azure, Azure VMs

Although I usually try to avoid IaaS services as much as possible, for this side project I needed to expose Kestrel webserver directly and hence the obvious choice for hosting web app – the App Service – wasn’t an option. So I went for a VM. And given it’s a side project, I also wanted to run it cheaply. And why not to try to go all out with B1ls VM using Linux.

Projekt “Průvodce vývojářů”

26 Aug 2020 1 mins Uncategorized

Zhruba poslední rok v mé hlavě krystalizoval nápad. Nápad vznikl na dvou pilířích. První je opakující se potřeba firem, kterou jsem potkával na různých konzultacích a školeních, na něco v podobě out-of-company (nebo možná out-of-box) review, konzultace, nápady nebo prostě jen nějaká forma možnost si s někým promluvit a ujasnit si problém nebo řešení. Druhý pilíř je kontinuální, po částech dávkované, vzdělávání a udržování teamu up-to-date.

Výsledkem je projekt Průvodce vývojářů. A abych tady neopisoval to, co už jsem jednou sepsal, můžete si všechny detaily přečíst na

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.