@xoofx@mastodon.social
@xoofx@mastodon.social avatar

xoofx

@xoofx@mastodon.social

Director C#/.NET Tech Group at https://unity.com
OSS, lang/compilers, GPU/sound, performance/SIMD/HPC, architecture 🏎️
Microsoft MVP, ex-demoscene PC/Amiga 🎆
Veggie 🌿, opinions are my own

Supporting freedom for 🇺🇦 and 🇵🇸

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

xoofx, to dotnet
@xoofx@mastodon.social avatar

Hey, late Saturday night, but I just released a new .NET library https://github.com/XenoAtom/XenoAtom.CommandLine Finally a lightweight command line parser compatible with NativeAOT, a direct fork/descendant of NDesk.Options/Mono.Options supporting all its features - and more! and the easiness of using it! 🥳

xoofx,
@xoofx@mastodon.social avatar

@khalidabuhakmeh yes, I'm using ISpanParseable<T> instead of TypeConverter which makes it fully aware of the types/methods that it needs to compile. Often existing command line parsers are including stuffs like declaring options by putting attributes on fields/properties and other similar stuffs, so they have to rely more heavily on System.Reflection and are are usually less NativeAOT friendly. Some are doing source generator, and while it could be nice, it feels overkill.

xoofx,
@xoofx@mastodon.social avatar

@khalidabuhakmeh Ah, yeah, having enough time to code in my sparetime for all the things I want to do is already challenging, so blog posts are even harder! 😅

BartWronski, to random
@BartWronski@mastodon.gamedev.place avatar

If you use Mastodon on desktop (as opposed to mobile), I cannot praise highly enough Phanpy https://phanpy.social/
It really cleans up my timeline, handles replies very nicely, and allows for a great "refresh" (view updates) experience.

xoofx,
@xoofx@mastodon.social avatar

@aras @BartWronski I tried it a few months ago but couldn't continue to use it because of missing reply counts https://github.com/cheeaun/phanpy/discussions/290

xoofx, to dotnet
@xoofx@mastodon.social avatar

I just want to get argv[0], please!

Created an issue https://github.com/dotnet/runtime/issues/101837

Surprisingly, it is currently the wild west for something so basic, hope we can fix it for .NET 9.0, I'm happy to try to fix it and make a PR.

xoofx,
@xoofx@mastodon.social avatar

Adding an API proposal https://github.com/dotnet/runtime/issues/101872 to avoid the breaking changes

xoofx,
@xoofx@mastodon.social avatar

@Paxxi That's why I opened the original issue in the 1st place, then It was said that it might break too many folks relying on the existing broken behavior, so I'm trying to introduce a new API, now maybe it might be possible to actually break the existing behavior which seems to be an unintentional change 😅

agocke, to random
@agocke@hachyderm.io avatar

My recollection is that whenever we tested this, it didn't perform any better than standard generational GC
https://mastodon.social/@HalvarFlake/112334372057873051

xoofx,
@xoofx@mastodon.social avatar

@Migueldeicaza @agocke I remember about this prototype, but was never able to find the slides back. Would love to be able to use Arena in C# though

xoofx, to dotnet
@xoofx@mastodon.social avatar

As spotted by @mzikmund https://www.youtube.com/watch?v=wzMMclD8QsI there is a potential new slnx format coming to Visual Studio, which is very welcome, but it might not be MSBuild based which is quite an unexpected and unproductive solution (haha 😁)

So, just shared my comment on the issue directly https://developercommunity.visualstudio.com/t/Clean-up-sln-VisualStudio-solution-fil/988209#T-N10636836 📢

Note that, it's not like I love MSBuild, but it is what we have today for authoring and building projects in VS/cmdline and so, let's not repeat the project.json mistake. 👀

xoofx, to random
@xoofx@mastodon.social avatar

That xz backdoor is insane 😱

xoofx, to random
@xoofx@mastodon.social avatar

Quite frequently for my OSS projects, I receive an email about a particular OSS project with some questions and I always respond the same thing.

If a project is OSS, the discussion about it is meant to be open (sourced) by default and I expect this discussion to happen in e.g GitHub issues (at the very least, but personally don't have time for GitHub discussions)

That would be something that I would teach at school these days. 😁

Pass the word, it's a good reminder! 🤗

xoofx, to random
@xoofx@mastodon.social avatar

As promised, I wrote a blog post about the setup of a 10G home network with an OPNsense firewall and a Tailscale VPN https://xoofx.github.io/blog/2024/03/22/building-secure-10g-home-network/ 🥳

khalidabuhakmeh, to dotnet
@khalidabuhakmeh@mastodon.social avatar

Join Chris Klug and me today on our latest Livestream. I think this is a spicy 🌶️ take, and I’m curious how many folks agree or disagree with the guest regarding ?

"Stop using Entity Framework as a DTO provider!”

https://www.youtube.com/watch?v=N_eLotlcjXo

xoofx,
@xoofx@mastodon.social avatar

@khalidabuhakmeh Agree, though, I would believe that what Chris is describing with his wrapper over DTO is closer to the more conventional concept of a "ViewModel" over "Model", or am I missing something? A ViewModel doesn't have to be solely designed for an UI scenario, it can be designed for e.g higher level Web API

zeux, to random
@zeux@mastodon.gamedev.place avatar

It's a little sad that after all these years I again find myself without an obvious day to day code editor.

Sublime Text is good... but when I work with Python I want Copilot and Copilot plugin for ST is bad. Python and C++ navigation is also very hit-and-miss out of the box.

VS Code has great Copilot integration and surprisingly good code navigation... but it locks up and becomes way too slow once in a while, requires occasional restarts, has weird UX in places, and nav breaks occasionally.

xoofx,
@xoofx@mastodon.social avatar

@zeux have you tried https://www.jetbrains.com/pycharm/ ?

I have been using many of their full IDE products in the past 25 years and I would not compare the code editor you mention as featured as the one from Jetbrains (they are closer to enhanced text editors than complete IDE)

xoofx,
@xoofx@mastodon.social avatar

@zeux yeah, it seems that you might be able to use CLion with the Python plugin https://www.reddit.com/r/Python/comments/522akp/pycharm_and_c/ but it might not have all the features

@khalidabuhakmeh maybe you know more about the right combination? (Or as suggested on Reddit have both IDE opened)

xoofx, to random
@xoofx@mastodon.social avatar

At last, we got the fiber in our neighborhood a few weeks ago and I finally upgraded my Internet box to the "Free" provider, with the Freebox Ultra, theoretically 8Gbps up/down... and I'm close to that 6.6 Gbps down / 7.6 Gbps up, for 50€/month, in a village a bit in the mountains at 750m above sea level 🤯

I remember my first modem in the mid 1990 was able to do something like 56Kbps (or less, I forgot which one I got first)

This is crazy how far Internet speed can go now. 🚀

TomF, to random
@TomF@mastodon.gamedev.place avatar

Oh that's a fun bug! So Unity has both Matrix4x4 and float4x4, and the have slightly different syntax, but close enough. The big difference is float4x4 is significantly faster. So a lot of people replace one with the other - happy.

BUT....

To do matrix multiplication with Matrix4x4, you do a = b*c.

To do it with float4x4 you have to do a = math.mul(b,c)

OK whatever. The problem is that a=b*c COMPILES FINE. It just does the componentwise multiply is all.

W
T
F
people.

xoofx,
@xoofx@mastodon.social avatar

@TomF @jvalenzu The initial decision was to use HLSL so that you could copy HLSL snippet code and it would work almost out of the box. HLSL uses per-component operations for regular multiply operator, so we used that. It makes it consistent with the other types.

xoofx, to dotnet
@xoofx@mastodon.social avatar

Finally took the time to create a reusable GitHub workflow https://github.com/xoofx/.github for all my .NET OSS projects and used it successfully from https://github.com/xoofx/TurboXml/blob/main/.github/workflows/ci.yml 🔁

That's pretty cool, don't know why I waited so long to do that! 😁

xoofx, to dotnet
@xoofx@mastodon.social avatar

Heya! 🥳 Just released TurboXml https://github.com/xoofx/TurboXml a .NET library that provides a SAX like XML parser that can parse small to large XML documents with zero allocations (apart for an internal buffer that is pooled) and is able to accelerate its parsing with SIMD! 🚀

I can now continue my prototype of rendering some SVG by using this library 😅

castano, to random
@castano@mastodon.gamedev.place avatar

In a windows application, is there a documented way to detect if it's running on the SteamDeck? I want to do this early at startup before initializing a Vulkan device. Can this be inferred from GetVersion, GetComputerName, or one of these Windows APIs?

xoofx,
@xoofx@mastodon.social avatar

@castano I'm confused, isn't the Steam deck a Linux arch?

xoofx, to random
@xoofx@mastodon.social avatar
c0de517e, to random
@c0de517e@mastodon.gamedev.place avatar

Time from Ubuntu install to jank? This time, about 10 maybe 20 seconds. "Go to the store to install these apps" -> "Install VLC" -> no progress, button still shows the green "install" -> click again -> crappy error string. That was fast! Right there on the "golden path".

xoofx,
@xoofx@mastodon.social avatar

@c0de517e did you dual boot installed it on a machine with Windows?

xoofx, to random
@xoofx@mastodon.social avatar
xoofx, to random
@xoofx@mastodon.social avatar

Article about "How we made an animated movie in 8kB" https://www.ctrl-alt-test.fr/2024/how-we-made-an-animated-movie-in-8kb/ by LLB from Ctrl-Alt-Test 🐑

meziantou, to dotnet
@meziantou@hachyderm.io avatar
xoofx,
@xoofx@mastodon.social avatar

@khalidabuhakmeh @meziantou yeah, for sure, I can't live without it these days. When I develop, I can almost use it daily and hit the SHIFT-ALT-D key several times a day. ☺️

Ideally it would be great if it was coming with similar feature to what Disasmo is providing under VS (direct shortcut, options to tweak compiler mode, asm diffs...etc.)

The code is OSS so I believe that reusing some parts for an extension for Rider would not be lots of work for someone familiar with Rider plugins

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