alex_kamsteeg Profile Banner
Alex Profile
Alex

@alex_kamsteeg

Followers
57
Following
74
Media
145
Statuses
974

I ❤ code

The Netherlands
Joined June 2009
Don't wanna be here? Send us removal request.
@alex_kamsteeg
Alex
2 years
We upgraded this service to @dotnet 6 recently (intermediate update, .NET 8 requires more work.) and it's now averaging sub-millisecond response times. In the last 24 hours, it processed 37.19 million requests (avg 440 rps, peak ~1100 rps), averaging 0.66 ms/request. #performance
@alex_kamsteeg
Alex
2 years
Some say @dotnet @aspnet is slow. I disagree. This is a real production service. It receives JSON inputs (POST) varying between a few hundred bytes to a few hundred KB, does real work and returns a response JSON. Still on .NET Core 3.1 and runs on P2V3 instances in @Azure .
0
0
2
@alex_kamsteeg
Alex
2 years
@dotnet Found some more room for improvements. I reduced the allocated memory by 48 bytes on .NET 6/8.
0
0
0
@alex_kamsteeg
Alex
2 years
Leveraging newer @dotnet APIs for better #performance.
1
0
0
@alex_kamsteeg
Alex
2 years
The cost of abstracting away the hard stuff for consumers of a library. In this case, for basic everyday use, there are only a few dozen public methods and properties in maybe 10 types. (Many of them POCOs) The build runs almost 1500 tests.
0
0
0
@alex_kamsteeg
Alex
2 years
@dotnet @aspnet @Azure And remember, using resources more efficiently in the cloud saves you money. You need less instances or you can use smaller instances for the same amount of work. That has a real impact on your bill.
0
0
0
@alex_kamsteeg
Alex
2 years
@dotnet @aspnet @Azure Micro benchmarks show that some pieces of code we run tens of millions of times a day are up to 6 times faster in .NET 8 compared to .NET Core 3.1.
1
0
0
@alex_kamsteeg
Alex
2 years
@dotnet @aspnet @Azure Upgrade to .NET 8 is in the works. That gives me source generated serializers for the JSON, AOT, FrozenDictionaries, ArrayPools and all the perf improvements in .NET in general since .NET Core 3.1 was released.
1
0
0
@alex_kamsteeg
Alex
2 years
Some say @dotnet @aspnet is slow. I disagree. This is a real production service. It receives JSON inputs (POST) varying between a few hundred bytes to a few hundred KB, does real work and returns a response JSON. Still on .NET Core 3.1 and runs on P2V3 instances in @Azure .
1
0
0
@alex_kamsteeg
Alex
2 years
I'm going to be honest here, I haven't donated to OSS projects in almost two years. Time to change that. I'm going to spend my evening selecting a few projects to donate too in various forms like sponsorships or buying commercial licenses.
0
0
0
@alex_kamsteeg
Alex
2 years
@Aaronontheweb @marcgravell @kzu @dotnet If anything, we must be grateful as @dotnet devs that we have an ecosystem of amazing libs worth (tens of) millions of development & maintainance time that we can rely on. We should help the maintainers to get to even greater hights instead of destroying them.
1
0
0
@alex_kamsteeg
Alex
2 years
@Aaronontheweb @marcgravell @kzu @dotnet Do people realize that behind that name on the screen is a real person with a real life much like we all have? And that many people actively tried to ruin that person's life for many years? You know, a life with a job and kids and friends and family?
1
0
0
@alex_kamsteeg
Alex
2 years
@Aaronontheweb @marcgravell @kzu People reporting @kzu to their national privacy orgs without even awaiting a reply from someone on the other side of the world. Many requests to remove Moq from a large part of the @dotnet OSS (including .NET itself) world. And many, many rude comments, dangerous actions, etc.
1
0
0
@alex_kamsteeg
Alex
2 years
@Aaronontheweb @marcgravell @kzu I don't think the introduction of SponsorLink was great. It could have, and with the amazing benefit of hindsight, it should have been handled differentlyh. But a lot of the reactions in https://t.co/mnOs6ZLJLL are f-ing toxic and potentially life destroying.
2
0
1
@alex_kamsteeg
Alex
2 years
@Aaronontheweb @marcgravell But here's the real point I want to make: Behind that handle @kzu is a real person. Someone like you and me. Someone with a life, a career, hobbies, favourite food and a preference for having the toilet paper in mullet or beard mode.
1
1
2
@alex_kamsteeg
Alex
2 years
@Aaronontheweb Let's be honest here. @marcgravell and others wrote about this in the past ( https://t.co/e1SwJwbStN) and it's really a thing that especially businesses must start to look at. They're currently relying on the spare time of random people and actively try to burn those people out.
@marcgravell
Marc Gravell
2 years
Reposting this because: topical - https://t.co/yLATIgu4t5 I don't agree with the approach taken in Moq (no point being obtuse here), but I am very sympathetic to the feelings of @kzu that made them look in that direction. I don't know the solution, but the problem is real. (1)
1
0
0
@alex_kamsteeg
Alex
2 years
@Aaronontheweb Let's be honest here, OSS maintenance is hard. I'm maintaining a few libs with veeerrrryyy low traction and it's already quite a thing. Imagining having a career, family, friends _and_ maintaining a 500 million downloads OSS lib for free, etc. That's a serious drain on everything
1
0
1
@alex_kamsteeg
Alex
2 years
Kudos to @Aaronontheweb for being one of the more level headed people about the whole Moq thing. I've replied in the infamous issue on Github to point out the GDPR and defending Moq and many others for not having branch policies, but I have a lot more to say.
1
0
2
@alex_kamsteeg
Alex
2 years
I just pushed a new version of https://t.co/oUi0aLDh1t, my .NET client lib for @haveibeenpwned by @troyhunt . This new release has a bunch of internal improvements, but more importantly it supports Domain Searches ( https://t.co/zW9C8oRJEL) and getting the latest breach.
0
0
0
@alex_kamsteeg
Alex
3 years
Same code, different runtimes. @dotnet 8-preview.4 is 10 (!) times faster than 4.8.1. In this library's main benchmarks, running on .NET 8 is at worst 3x and at best 11x faster than on 4.8.1. And you get a free ~20% avg improvement by just upgrading the runtime from .NET 6 to 8.
0
0
0
@alex_kamsteeg
Alex
3 years
A new major version of my .NET client lib for @haveibeenpwned just dropped! https://t.co/Xh9fXyGOu9. It has much better performance (up to 25% on .NET 6!), improved documentation, some bug fixes and a host of other internal improvements to make this the best version ever.
Tweet card summary image
nuget.org
AtleX.HaveIBeenPwned is a fully async and super fast .NET Standard client library for HaveIBeenPwned.com.
0
0
0