Dustin Moris Ganss
dusted.codes · Personal blog · on HN since 2016
Dustin Moris Ganss writes about .NET, ASP.NET Core performance, F#, type systems and open source, and created the Giraffe web framework.
What HN saysHN commenters call his ASP.NET Core performance article eye-opening and link his post on whether Microsoft can be trusted with open source.
31HN people shared it
14linked it in comments
57stories submitted
1.6Kstory points
7 months agolast shared
2016people per year2026
Most-shared posts
- 1How fast is ASP.NET Core?8 people · 114 points · first shared 2022 · 28 comments on HN
- 2The type system is a programmer's best friend5 people · 251 points · first shared 2022 · 454 comments on HN
- 3Can we trust Microsoft with open source?4 people · 528 points · first shared 2021 · 280 comments on HN
- 4.NET for Beginners (2020)3 people · 212 points · first shared 2020 · 187 comments on HN
- 5.NET Basics3 people · 16 points · first shared 2021 · 1 comments on HN
- 6Why you should learn F#2 people · 274 points · first shared 2018 · 174 comments on HN
- 7Equal Pay for Equal Work2 people · 41 points · first shared 2021 · 72 comments on HN
- 8Announcing Giraffe 1.0.0 (Functional .Net Core Web Framework)2 people · 12 points · first shared 2018 · discussion on HN
- 9Functional ASP.NET Core using F#2 people · 7 points · first shared 2017 · discussion on HN
- 10Death of a QA in Scrum2 people · 4 points · first shared 2016 · discussion on HN
- 11Homepage2 people · first shared 2022
- 12Tips and Tricks for Asp.net Core Applications1 people · 89 points · first shared 2019 · 7 comments on HN
- 13Fund OSS through package managers1 people · 46 points · first shared 2022 · 41 comments on HN
- 14Open Source Documentation1 people · 8 points · first shared 2018 · discussion on HN
- 15Building a secure note sharing service in Go1 people · 5 points · first shared 2022 · discussion on HN
What HN people wrote when they linked it
steve1977 · 2023-03-09
This article was quite eye-opening: https://dusted.codes/how-fast-is-really-aspnet-core
Now please note, this only talks about what Microsoft is doing, maybe others do the same.
Edit: I saw the article does in fact look at other frameworks.
In the end, it just means these particular benchmarks are pretty much worthless for any kind of real-life comparison.
diarrhea · 2023-01-22
mypy still has some rough edges but in a couple years it’s going to be golden. My Python programs are already always fully typed and checked with strict settings. For all intents and purposes that’s 95% of the way of what a statically typed language provides anyway (if we ignore multithreading).
This article had a good impact on how I do typing nowadays (applies to any language): https://dusted.codes/the-type-system-is-a-programmers-best-friend
Pr0ject217 · 2022-02-07
EDIT:
Paste this hacky snippet into your browser's console to save all of the links into your clipboard:
(() =>
{
let result = [...document.querySelectorAll('td a')]
.map((link) =>
link &&
!link.href.includes('ycombinator') &&
!link.href.includes('javascript:void')
? link.href
: ''
)
.filter(Boolean);
result = [...new Set(result)];
result.sort();
copy(result.join('\n\n'));
})();
Just to help, here's a compiled-list of all of the links shared here so…
dustinmoris · 2021-11-08
> Microsoft branding is terrible.
Agreed.
> I never fully figured out how .NET, .NET Core, ASP.NET, .NET Framework, .NET MAUI and the kitchen sink relate to each other.
You're not the only one who is massively confused about everything that is labelled .NET or Core.
If anyone else is struggling, I recommend this (I wrote it):
https://dusted.codes/dotnet-basics
mananaysiempre · 2023-05-03
The example is not .NET in general, but that specific event when Microsoft reneged on open development tooling[1]. For some people, that was the moment they stopped trusting "new Microsoft" to keep their word (though for me, it was when the Python language server was replaced with a DRM-locked, LSP-noncompliant one[2] a bit before that; unlike with .NET hot reload, they didn't backtrack there). I can think the company makes great open .NET tools and at the same time not trust them to close it down on a whim.
Does anyone know where the open xlang implementation of MIDL went[3], by the way? (Unlike the original 1990s MIDL, you can't reimplement this one from the language grammar in the docs, because there is no language grammar in the docs.)
[1] https://dusted.codes/can-we-trust-microsoft-with-open-source and links there
[2] https://github.com/microsoft/pylance-release/issues/4
[3] https://github.com/microsoft/xlang/pull/529
humanfromearth9 · 2022-11-06
Hello,
Apart from my family and some minor health issues, I currently am focused on 2 things: learning Luxembourgish/Luxembourgian and develop a deep understanding of functional programming.
About the former one: that should help me find a job in some Luxembourgish administration (I really wish I'll be able to find one soon).Luxembourg might be a small country, but I think it's managed well, CTIE (Luxembourgish administration that manages most of the IT infrastructure and software used by the state) has quite smart and competent people (also some dumb ones, but where's that not the case?), and I think I like the culture, which is almost my own, as I grew up close to Luxembourg and even went to a german-speaking school, while speaking family-native French (I'm as fluent speaking German as French, no accent).
Regarding the latter one, I started applying functional programming principles early this year, almost as obstinately as I can (and as much as possible using Java 8 then now 17) (I've got more than 16 years of professional experience using Java, both as a developer and software architect).
This was just the beginning of a more insightful journey into new coding practices, which result from one principle I discovered this year: source code should never lie.
This became an evidence once I implemented and started to use my self-made "Maybe" type (a better Optional - Optional is quite weak if you want to avoid procedural programming). While using Maybe, it struck me…
tacticus · 2025-03-12
The c# benchmarks where they didn't use the framework to do any of the actual templating?
those hardcoded byte arrays are how everyone does templating everywhere right?
or are you talking about after they changed back their "platform" test to not do that and is substantially slower than go
https://dusted.codes/how-fast-is-really-aspnet-core
mardifoufs · 2023-02-21
I think it's referring to this?
https://dusted.codes/how-fast-is-really-aspnet-core
dustedcodes · 2023-02-14
.NET 6 is the same as .NET Core, it's just been renamed after .NET 5.
Shameless plug, but I've tried to cover a lot of this here:
https://dusted.codes/dotnet-basics
sylens · 2022-03-21
> So far, I like .NET. I do wish Microsoft had explained, just explained in simple text, just what the heck .NET CORE was. By now I've come to a guess that .NET CORE is irrelevant to me and I should f'get about it -- would have been nice to have had some EXPLANATION.
I would say that .NET Core is certainly relevant to you and shouldn’t be ignored.
As for a simple explanation, another user on this site wrote this which I found extremely helpful. https://dusted.codes/dotnet-basics
alophawen · 2022-01-10
There's nothing unlikely with such scenario.
See MD5, SHA1 and so on.
See current research on SHA256
https://en.wikipedia.org/wiki/SHA-2#Cryptanalysis_and_validation
https://dusted.codes/sha-256-is-not-a-secure-password-hashing-algorith…
https://security.stackexchange.com/questions/34256/sha256-security-wha…
ghuntley · 2021-11-22
kirse · 2017-02-10
There's a new F# project out there to utilize ASP.NET Core, which has got Kestrel under the hood. I just discovered it and have yet to do any performance testing, but I'd imagine it's pretty in-line with C# results.
https://dusted.codes/functional-aspnet-core
fredrikholm · 2026-03-24
> too many entries, most of which seem tuned to cheating benchmarks
Even for entries that didn't cheat, the code was sometimes unidiomatic in the sense that "real programmers can write Fortran in any language".
This[0] article articulates the issue with by highlighting an ASP.NET implementation that was faster than more 'honest' Java/Go implementations primarily by not using ASP.NET features, skirting some philosophical line of what it means to use something.
For me, the more interesting discussion of whether a language/library is faster/leaner than another exists in actual idiomatic use. In some languages you are actively sweating over individual allocations; in some you're encouraged to allocate collections and immediately throw them away. Being highly concerned with memory and performance in the latter type of language happens, but is seldom the dominant approach in the larger ecosystem.
[0] https://dusted.codes/how-fast-is-really-aspnet-core