Tuesday, 3 December 2024

Learning about .eml files

An .eml file is a plaintext version of an email which users can save to devices. These files can be sent and received via RFC-822 compliant programs.  In Windows you can also right-click on an .eml file and open it in Microsoft Word.

Opening an .eml in Notepad you may see sections specifying DKIM-Signature designed to prevent email spoofing.

Wednesday, 14 August 2024

Using Resource Manager templates to create virtual networks

Here is a good tutorial that covers a lot of infrastructure-as-code concepts in the context of creating a virtual network with two subnets using Resource manager templates (also referred to as Azure Resource Manager, or ARM, templates).

Cloud Services on Snowflake

Snowflake has three layers of architecture: storage, compute and cloud services. While Snowflake is available on a number of clouds i.e. AWS, GCP and Azure, not all cloud services are available on all cloud platforms. For example, Azure Private link is not fully supported. However there are some interesting considerations here.

How does Snowflake store data?

There are many "big data" technologies out there one of them being Snowflake. Snowflake lets you run SQL queries on data which is stored in Snowflake's internal columnar format optimized for cloud storage.

Tuesday, 13 August 2024

gRPC for .NET

The recommended library for using gRPC in .NET is grpc/grpc-dotnet under the Apache 2.0 license (The original implementation is now deprecated). gRPC is a (language agnostic) remote procedure call framework designed for high performance. Coding is structured around .proto files explained here. Common use cases include gRPC authentication (gRPC can converse with a variety of authentication systems), compression and other distributed communication scenarios. gRPC is often used with protobuf.

Monday, 8 July 2024

Intel SGX based confidential computing VMs

Intel Software Guard Extensions (SGX) represent instruction codes implemented in some Intel CPUs to provide a "trusted execution environment". It does this by protecting private regions of memory called enclaves. How it works is SGX encrypts a portion of memory called the enclave. Data and code from the enclave are decrypted on the fly inside the CPU, preventing it being read by other code. This can be used for protecting proprietary algorithms and encryption keys. In 2021 this became deprecated for Intel Cores but still valid for Intel Xeon for cloud and enterprise use.

Microsoft Azure makes available confidential computing VMs based on SGX technology.

Thursday, 20 June 2024

WSL1 versus WSL2

The Windows Subsystem for Linux currently comes in two varieties, WSL1 and WSL2. The latter has faster performance and "100% system call compatibility" (as opposed to intermediation through a translation layer in WSL1) so it should be the preferred option.

WSL1 may still be preferred in specific cases, for example, if project files need to be stored in the Windows file system. However it should be assessed whether these files can be mounted in Linux instead. There are also some specific networking scenarios to consider.