Despite .NET being relatively friendly with Open Source, Java will probably remain the first choice for FOSS devs for a while, if only due to history and traction. You could write a C# Lemmy alternative, but it wouldn't necessarily be faster or simpler or better in any particular way than a Java version. I'd certainly rather contribute in Java than start from scratch in C#.
kogasa
C# isn't really the go-to for high scale distributed systems. But it's extremely easy for a small team of developers to set up a really solid service really quickly. I don't have experience with Go so I can't really compare, but I find ASP.NET Core very pleasant to work with, and I also appreciate the suitability of C# and .NET libraries for both backend and frontend work.
Nullable reference types are (a completely mandatory) bandaid fix in my opinion as a .net dev. You will encounter lots of edge cases where the compiler is unable to determine the nullability of an object, e.g. when using dependency injection to populate a field, or when using other unusual control flows like MediatR. You can suppress the warnings manually at the slight risk of lying to the analyzer. Objects supplied by external library code may or may not be annotated, and they may or may not be annotated correctly. The lack of compile-time null checking is occasionally an issue. But that said, NRT makes nullability a significantly smaller issue in C# than it used to be
You can also easily write your own option monad or use a tiny library that does.
I don't really query, but it's good enough at code generation to be occasionally useful. If it can spit out 100 lines of code that is generally reasonable, it's faster to adjust the generated code than to write it all from scratch. More generally, it's good for generating responses whose content and structure are easy to verify (like a question you already know the answer to), with the value being in the time saved rather than the content itself.
There's a search field on the front page. The rest is blank because I used the (default) "exact match" option, so the rest of the page is (by random chance) filled with spaces. The search function presumably uses knowledge about the algorithm used to generate the pages to locate a given string in a reasonable amount of time, rather than naively looking through each page.
This already exists. https://libraryofbabel.info/
Your comment appears in page 241 of Volume 3, Shelf 4, Wall 4 of Hexagon: 0kdr8nz6w20ww0qkjaxezez7tei3yyg4453xjblflfxx0ygqgenvf1rqo7q3fskaw2trve3cihcrl6gja1bwwprudyp9hzip5jsljqlrc8b9ofmryole35cbirl79kzc9cv2bjpkd26kcdi9cxf1bbhmpmgyc0l1fxz81fsc0p878e6u2rc6dci6n0lv52ogqkvov5yokmhs3ahi89i1erq46nv7d0h3dp2ezbb1kxdz7b4k9rm9vl32glohfxmk2c4t1v5wblssk6abtzxdlhc6g00ytdyree9q4w43j8eh57j8j8d4ddrpoale93glnwoaqunj8j2uli4uqscjfwwh6xafh119s4mwkdxk5trcqhv7wlcphfmvkx97i5k54dntoyrogo51n5i23lsms7xmdkoznop6nbsphpbi0hpm6mq3tuzy1qb677yrk832anjas7jybzxvuhgox49bhi21xhvfu0ny27888wv76hbtpkfyv4s57ljmn9sinju3iuc6na2stn9qvm1vo5yb9ktz1lcbjp0q9102ugpft1f7ngdzmnzv6qomn7zfnopn02v9wwe2gr2m6mo0o9vjmrvmd7fp4kjivsy6iu9cfz9dyu6gv7542ujz0vtj7m2ifpnfeezrb2gbwbgkbdx2taq7vlgjedqze22ywsyt1cacfxxpftjumke4vbtvmn6skj3mi5qnprrv9w4pq5t23xlvrxufsmri2uljpw72228q6jvh82e6936400czpzs8w6i25dvgk7vgj9o9r3k4nombsl3iiv1cogggcw9e5non0jn9ni1aacbisa1oqlzgi9qyhmmd67hkxsfri5958cyj6ryou5vgz7uc7j9kkjix420ys1tkcrhgf0jm6la9h7e06z7sdijeiw31junshzgvmmpplqw6qbzzqzs39jictbygt8u6704h48hsc7hlffm513zagtdbfvpbz32r0vqmjz2sudta4gfsnx6ac4h76djsh7th2h4265qeeainsx2xgslfst5namazisk6swvsbpcv3osvr7wiabkh61f5vuxymqadzxilggym3kfqtbdl3xsmwqcr6wuf4gpoviog89h5xfyawlh7k79k9j5fn1wq47f1m73lah1qhfdxyt1pv2biean3jjb8qv0raxz1oxi9zs9tnmmwrhccd9fij39ddgn1g7t03norvzjqcbqbzl9ibq9qrksnutbfc47z2727u9d9tp68z7u2hyb805wy3d4d0ia9q50p4xvevryycogr6212tau2iv3ya0fy09rsh0wilpqj8vxqug9zj7h2ya1hbnapmqecwtbjnetmt2t91mhb7hky32tl3fa5dqtuba2hm5faawvkazugbmngeojzw88p6hl0duaiup166r20tubj16x78c5m73rwpecco5w6z8ti8b2pgof8k8vu99jvyqiaq6c6adybtjwi8i6u95efp1hxpdsvtbo6nm7j1lmv9jzdspp0sd3qk5jmfpfs1cy18euwpk0apiuqqdy7hakfjx83nx920p4ptxu6bsl98iywgdydrr54u6nvmyxwg1hd2vxnu2yq3utvbx5z886ezzblw0izmntai8jstisdju4n12eed5yr1avv9k7mrr9fzqs6zo7uc3ixkv6fz2figpb5tr1obrlf4c30ghf8exsdgwn1e0uo76r3klnqfys51extpnq5v5swql36lirgok8frxnntoywaqtmyzm3vclnnvfqohz56hh823k5d50049f3lye9cil24yk5031u27dpi7895319mkyi2pkpwxgay4fnqfj38emdc0990ezpheam8ab132v588je7ur4dv1wazezyokate2rccnii1y4gy4subra7y5of25xxu8s3mjumal1lypu1360mrzmqdqdfsm9lvmewzg1608hlxx4le00jhcowg7xcxsbhbx4swwze9pkyk0x8vpsr5j1yja5jl0wn8mjh3gh9wvszd2tazvj7fbuym2pee0r0ifsky61fulwloxc5jkon63tvarj5jsxg3kghl44e7o1w2deeboaodjpuvgzg82wrxszd5jk0hwhvaopdb8wcqqopob4mj2pn36yhnw6k6sz5y56xlijr5a4s6xmc68r0c20d7zq53mrjbq281nfkrrtqgnv2i2rag3f6ara9t616vovgqn8kjwrivene6yyskzxb0d4b0qy0aq743dptvxr85sfhqbcevkn17rvqv1l9hzx983cngckwhdu15kzdv10mqf8yibu0q8s3khd8d3fi5lbl9yespks1q1tnc4y1bgjtvyf1oppnxhvpou71olv0yapyq46w9ld0ntigpba6equ55fvs0j1tp7qw1hr8gbjz10gwxhsx3lu0hubgukht7mbkwfsu4x9980z1srfhj2ayw2e2xf2627vgctymfbooy4eythnm8nzr4mqnfycwovjvbyg95luo4h3smka9d3jlr7dn9e3xwwkpl4dg8i1mj7g63ludud8q7chfh4xajosfaps2n6ntye7j8o4lrcsbqas8ayiutyq8ckbn67ejioufkowogubs8o5670nz13bb9gq3obf0y9xq60j8n8d6i8ahzhxlj2rfc7ndsfmzhusihkiz9fdovslzad7in5kldzhqk8z0cua8n8l0vjfsy96qytgz4wgkq41h6rrsegy9yg1fqhnavpltd067gicomzhye6czk4voghysqscrwavw3li9qdj0ikrlwumyymf8n5luhz1orsrxfw1rek6ghsqyu486dfp2hkbilyccquihck0269nu8y7bsha503ax2ecpxjiug54viy229k4ienp6lcnyx03mnpadeslwa87mu6tcb7t3c3ug7g0yf5le9v2hp094n60ipetkyfu21vqxah8sjjmuhk1gzxnmz01o1s9ndefpfcat0vn1x1anypagcboxp515nmnj9f2yol1opdytfx2dmy5ypdpyamsp2p3zsegmd15e1jbo6xsznda92oqxo9kvsww9k1kzsuwjl73drq038uls6izgqzmhry879ctrhryaj750b2s3hus9f1ainad3vzphmataq0lkn7bi62pu0xf4uqb5k2o8656zn6vzilgl653t38y12723v193fe5c7vbv6p5lw5ernj7bl4aev1ccyakxmkwl11hot51pvrsvqd8vdptfq2ezq2jjaebwx
At some level, the goal of customer service is to prevent customers from bothering your employees. A sufficiently confusing first level of customer service is just as good as one that actually attempts to help you because it convinces you to give up
Monkey laundering.
Docker is lighter and easier to manage than a VM. I run a collection of services as docker compose services inside a NixOS host VM. It's easy to start, stop, monitor, update etc. even from a different computer (via ssh or docker contexts). It's great.
It's a lot better with some notable exceptions. First, .NET Core is multiplatform by design, so it is by default quite portable. The .NET Core CLI is extremely powerful and means a CLI workflow is totally feasible (and also simplifies CI pipelines). The new "multiplatform" application framework, MAUI, runs on Windows, Mac, iOS, and Android, but not Linux/GTK/QT etc. You can maybe attribute this to the design philosophy of abstracting native controls, of which "Linux" itself has none, but either way it's useless on Linux. Third party frameworks like Avalonia do work very well on Linux.