Using Github Copilot to Convert F# Choice to C# We were curious what Github Copilot would do with a simple F# choice statement. We wanted to see if it could convert it to C#. The F# code is as follows:
type Contact = { ContactId: ContactId Info: ContactInfo } and ContactInfo = | Email of EmailAddress | Phone of PhoneNumber and EmailAddress = EmailAddress of string and PhoneNumber = PhoneNumber of string and ContactId = ContactId of string “convert this to C#” was the prompt we used.
Read more → about F# Choice to C#
Aspire Updates .Net Aspire Preview 9.2 was just released on April 10, 2025.
Here is the Aspire 9.2 Release Standup .
I also wanted to share the Omnitech Post I wrote with others to share what we learned and thoughts about .Net Aspire as a group.
Read more → about Aspire Updates
Using F# to read/write files and databases I had an task to read from a file, look up the values in the database and find discrepencies. Since I had some extra time, I decided to apply my F# learning to this. The script won’t be long lasting, so I didn’t ask for permissions first. I used Copilot along the way to help with syntax and building issues that I wan’t as familiar with.
Read more → about Using F# to read/write files and databases
I’ve recently started using the ability to merge Docker Compose files, as it reduces repetition when having different configuration for production from development. This also helps reduce cases where configuration gets updated in one, but not the other, leading to issues when debugging why something runs in one environment but not another.
Generally, when overriding something in development, I’m overriding volumes and environment variables. I started also using the fact that the env_file directive can take a list of files, which allows segregating environment variables by context, allowing re-use of specific variables between services, so that I don’t go polluting services with ENV variables that it doesn’t use.
Read more → about Overriding values when merging Docker Compose config
March 21, 2025 - https://mwop.net/I’ve been using Caddy for years as a reverse proxy in front of other services, but recently wanted to use it to directly route traffic to PHP-FPM. Caddy has a specialized reverse proxy directive for PHP-FPM, php_fastcgi, which seemed like it would do the trick, but I found that no traffic was ever getting routed to my FPM pool.
What was happening There’s a fantastic StackOverflow answer describing what happens, and it’s great reading.
Read more → about Handling PHP-FPM using Caddy
March 18, 2025 - https://mwop.net/I’ve been struggling to make time to either journal or draw.
The last I journaled regularly was in the winter of 2016/2017. Before that, it had been a number of years as well. I type so much faster than I write by hand, and my handwriting is atrocious. But when I type my journal entries… it’s too easy to get distracted and do something else, or to edit as I go, instead of just letting the words spill out.
Read more → about An Experiment in Journaling
My experience learning and building something with Rust, from someone new to a low(er) level, systems, programming language.
Objective Having only worked with higher level language throughout the course of my education and career (Python, TypeScript, Java, C#), I wanted to better understand what a lower level language was all about. I have heard so many good (and bad) things about the Rust programming language, so it seemed like as good a place as any to get started.
Read more → about My Introduction to Rust
What I’ve been reading recently: June of 2024 edition.
Read more → about Tabs from other devices (2024-06)
A relatively quick introduction to some simple tools to get you started in performance profiling in Optimizely CMS (or other ASP.NET applications).
Read more → about SQL Profiling in Optimizely CMS 12
I had a “aha!” moment the other day, and I felt like it was something that was important enough to share. This moment came to me when working out in my home gym, which I then shared with my wife. If you know me, you likely know I enjoy lifting weights. If you did not know that about me, the title of this article likely gave that fact away. I have never really understood why I enjoyed the act of picking up heavy objects repeatedly so much.
Read more → about Why I Like Lifting Weights so Much