@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.

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 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

🫡 🪦 🌹 #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 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
  • JUstTest
  • Leos
  • thenastyranch
  • ngwrru68w68
  • magazineikmin
  • khanakhh
  • rosin
  • mdbf
  • Youngstown
  • slotface
  • everett
  • GTA5RPClips
  • kavyap
  • DreamBathrooms
  • normalnudes
  • InstantRegret
  • Durango
  • osvaldo12
  • ethstaker
  • cubers
  • tacticalgear
  • tester
  • provamag3
  • cisconetworking
  • modclub
  • anitta
  • megavids
  • lostlight
  • All magazines