@range_marten@dotnet.social
@range_marten@dotnet.social avatar

range_marten

@range_marten@dotnet.social

Another shader dude

This profile is from a federated server and may be incomplete. Browse more on the original instance.

bradwilson, (edited ) to dotnet
@bradwilson@mastodon.social avatar

This is super duper extra important.

C# Nullable Reference Types are a compile-time thing, not a runtime thing. "string?" and "string" are both just "string" at runtime.

This means:

  • Always guard against your users passing null even for types that shouldn't allow it, because it's not a runtime guarantee.

  • You can't create overloads that differ only on nullability (i.e., Method(string) vs. Method(string?)) because they're the same type at runtime.

#dotnet #csharp #nullable #nrt

range_marten,
@range_marten@dotnet.social avatar

@bradwilson Java has type erasure. C# has nullability erasure (except for value types where the nullability is preserved)

range_marten,
@range_marten@dotnet.social avatar

@bradwilson and you can overload on nullability for int? but not string? I don't find this confusing at all :)

khalidabuhakmeh, to CSharp
@khalidabuhakmeh@mastodon.social avatar

Extension types for #csharp FINALLY!

I can create extension properties that feel natural in code.

range_marten,
@range_marten@dotnet.social avatar

@khalidabuhakmeh can I finally extend a type I don't have the source to with an interface implementation.

range_marten,
@range_marten@dotnet.social avatar

@khalidabuhakmeh in this case I could imagine wanting to extend person IComparable to fit in my sorting algorithm. Or perhaps ISerializable to hook on my only serialization schemes. So I would expect that I would say that extend Person with the interface name?

range_marten,
@range_marten@dotnet.social avatar

@khalidabuhakmeh is there also an explicit extension? can you apply type conditions when a extension is valid?

range_marten,
@range_marten@dotnet.social avatar

@khalidabuhakmeh if only it was more Scala like...

range_marten,
@range_marten@dotnet.social avatar

@khalidabuhakmeh Scala is excellent but I think it imploded because the community got to interested in talking Functors, Kleisli operators and so on. In addition, not caring about API/ABI backwards compatibility kind of sucks when you have to ship production code. But the language is imho an impressive and visionary design.

range_marten,
@range_marten@dotnet.social avatar

@khalidabuhakmeh with that said I remember a lunch where two staff devs almost got into a fighting match over if Scala rocks or sucks (Go is the answer ofc)

range_marten,
@range_marten@dotnet.social avatar

@khalidabuhakmeh lua is great! my favorite dev environment is tic-80 :)

range_marten,
@range_marten@dotnet.social avatar

@khalidabuhakmeh There's also pico-8 which was used to great effect at revision: https://www.youtube.com/watch?v=jRGJVH90ka0

range_marten,
@range_marten@dotnet.social avatar

@khalidabuhakmeh amazing live coding sessions in tic-80: https://www.youtube.com/watch?v=9Qhg4zJLy4o

khalidabuhakmeh, to dotnet
@khalidabuhakmeh@mastodon.social avatar

Question for folks. While can do a lot of things, what do you think the quintessential experience/workflow is?

"I sit down at a computer and…”

range_marten,
@range_marten@dotnet.social avatar

@khalidabuhakmeh space out for about an hour...

khalidabuhakmeh, to random
@khalidabuhakmeh@mastodon.social avatar

Xbox hardware is starting to look like the worst investment in a decade.

https://kotaku.com/xbox-microsoft-ceo-halo-ps5-more-multiplatform-games-1851482805

range_marten,
@range_marten@dotnet.social avatar

@khalidabuhakmeh for me buying any console is a horrible investment. I don't use them

range_marten, to random
@range_marten@dotnet.social avatar

Always a nice surprise to have your shader selected as shader of the week:

khalidabuhakmeh, to dotnet
@khalidabuhakmeh@mastodon.social avatar

Don't panic folks, but I do now. Give it a try, is pretty nice. Also, there's . 😄

🙏 boosts appreciated

https://blog.jetbrains.com/idea/2024/05/easy-hacks-how-to-use-java-streams-for-working-with-data/

range_marten,
@range_marten@dotnet.social avatar

@khalidabuhakmeh You meant you do Scala and clojure?

khalidabuhakmeh, to dotnet
@khalidabuhakmeh@mastodon.social avatar

🫡 🪦 🌹 #dotnet #F

range_marten,
@range_marten@dotnet.social avatar

@khalidabuhakmeh thanks for reminding me. Will bring it up at work tomorrow to the joy of many I am sure :)

breakpointshow, to random
@breakpointshow@mastodon.social avatar

🎙️ Tired of the tech hype? Join us on "The Breakpoint Show" show for a deep dive into the world of boring technology! Discover why sometimes, the most exciting tech is the one that doesn't make headlines and has been right in front of you. 🎧

https://www.breakpoint.show/podcast/episode-020-talking-boring-tech/

range_marten,
@range_marten@dotnet.social avatar

@breakpointshow fortran is on the rise again I read

range_marten, to random
@range_marten@dotnet.social avatar

Some weekend tinkering in Kodelife:

range_marten,
@range_marten@dotnet.social avatar

@khalidabuhakmeh FYI as you sometimes enjoy my shader work.

range_marten,
@range_marten@dotnet.social avatar
maartenballiauw, to random
@maartenballiauw@mastodon.online avatar

Considering writing a talk about "Boring software", covering some solid (boring) technology to build your apps. What would you want to see?

range_marten,
@range_marten@dotnet.social avatar
range_marten,
@range_marten@dotnet.social avatar

@khalidabuhakmeh @maartenballiauw you are thinking of source gens and type providers.

khalidabuhakmeh, to CSharp
@khalidabuhakmeh@mastodon.social avatar

I’m hosting Chris Simon on a to discuss , , and . Not to be confused with D&D, which is about wizards, dragons, and dungeon masters… wait it's pretty similar.

https://www.youtube.com/live/gXz7gKtRVpM?si=Uc_kn-GzdEIvSR_p

range_marten,
@range_marten@dotnet.social avatar

@khalidabuhakmeh DDD like D&D is a work of fantasy! (no ban please! :))

khalidabuhakmeh, to godot
@khalidabuhakmeh@mastodon.social avatar

What’s interesting about #godotengine scripting is that it's very "forgiving" when exceptions get thrown. You can have errors in your logic or references and it will be like “whatevs" and keep going.

range_marten,
@range_marten@dotnet.social avatar

@khalidabuhakmeh I do this

range_marten,
@range_marten@dotnet.social avatar

@khalidabuhakmeh I am releasing it under a commercial license. Sure it's pricey but the productivity boost you receive should more than offset it. Also great support!

  • All
  • Subscribed
  • Moderated
  • Favorites
  • anitta
  • InstantRegret
  • mdbf
  • ngwrru68w68
  • magazineikmin
  • thenastyranch
  • rosin
  • khanakhh
  • osvaldo12
  • Youngstown
  • slotface
  • Durango
  • kavyap
  • DreamBathrooms
  • JUstTest
  • tacticalgear
  • ethstaker
  • provamag3
  • cisconetworking
  • tester
  • GTA5RPClips
  • cubers
  • everett
  • modclub
  • megavids
  • normalnudes
  • Leos
  • lostlight
  • All magazines