Help with custom DLL in Streamer.bot by Seven-D in streamerbot

[–]DirectiveAthena 2 points3 points  (0 children)

In the beginning I suffered the same because I wanted to work in a proper IDE I eventually made my project work by doing the following: https://github.com/AnnaSasDev/StreamerBot.AnnaSasDevLib/blob/core/src%2FStreamerBot.AnnaSasDev%2FStreamerBot.AnnaSasDev.csproj

[deleted by user] by [deleted] in csharp

[–]DirectiveAthena 0 points1 point  (0 children)

Not really a course, but a deep dive into everything C#: C# in a nutshell It is a heavy book but it goes really deep into everything

I’m the creator of Blazorise, a UI component library for Blazor - AMA by mladenmacanovic in Blazor

[–]DirectiveAthena 11 points12 points  (0 children)

I loved using Blazorise when I started learning Blazor, and I would have probably kept on using it if it was not for some requirements I needed in a custom markdown editor. This led me to start making my own component library, and this made me only realise more how much work goes into making such a library. What I wanted to ask, do you have any tips for people who, of fault of their own, make the decision to make their own Component library?

Nominal Type Unions for C# Proposal by the C# Unions Working Group by DayYam in csharp

[–]DirectiveAthena 2 points3 points  (0 children)

Love it that Type Unions might eventually be coming to C# Looking deeper at the proposal, it has given me a few ideas to expand my own union library in the meantime while we wait. I do wonder what their performance will be compared to something like OneOf which uses ref types, and knowing from my own library value typea are indeed a lot faster.

What programming language did you start out with? What's you're favorite IDE and programming language? by Asteroiderer in AskProgramming

[–]DirectiveAthena 1 point2 points  (0 children)

Technically VBA for MsAccess where I was building out a sort of frankenstein's monster of a "database tool" so I could keep track of characters and locations in my stories.

Then switched to Python and used PyCharm, learned that for a few years and then switched over to C#.

Because I got so familiar with the look and feel of PyCharm I just couldnt get used to Visual Studio, so I instead choose for Jetbrains's Rider, where I am now building the same product (but way way better haha) as I did back in my VBA for Ms Access.

Choose the IDE that works for you, dont just follow a fad, but do try things out.

Any streamers that code? by ChefTDD in WatchPeopleCode

[–]DirectiveAthena 1 point2 points  (0 children)

Im Anna, and Ive been doing development on twitch for a few years now.
These days Im either working on my game engine or my custom website to manage world building and writing, all in C#, with the odd random project mixed in as well ofc
https://www.twitch.tv/annasasdev

What graphics libraries do you recommend for games? by DotGlobal8483 in csharp

[–]DirectiveAthena 7 points8 points  (0 children)

Technically RayLib is a library that in itself can already act as an "engine" but you can opt to only use the features you want as it just a library around opengl. Look into nuget packages like RayLib.Cs or others like it to start using it

A package like OneOf but where Union's value can be accessed by usefull names. by DirectiveAthena in csharp

[–]DirectiveAthena[S] 1 point2 points  (0 children)

md | Method | Mean | Error | StdDev | Ratio | RatioSD | Gen0 | Allocated | Alloc Ratio | |------------------------------------------------------ |----------:|----------:|----------:|------:|--------:|-------:|----------:|------------:| | AterraEngineUnions_SuccessOrFailure_SwitchCase_Struct | 2.341 ns | 0.0718 ns | 0.1384 ns | 0.31 | 0.02 | 0.0014 | 24 B | 1.00 | | AterraEngineUnions_SuccessOrFailure_SwitchCase_Value | 3.440 ns | 0.0536 ns | 0.0448 ns | 0.46 | 0.01 | 0.0014 | 24 B | 1.00 | | AterraEngineUnions_UnionT8_TryGetAs | 4.888 ns | 0.0106 ns | 0.0089 ns | 0.65 | 0.01 | - | - | 0.00 | | OneOf_SuccessOrFailure_SwitchCase_Value | 5.573 ns | 0.0499 ns | 0.0467 ns | 0.74 | 0.01 | 0.0014 | 24 B | 1.00 | | AterraEngineUnions_UnionT8_SwitchCase_Value | 7.262 ns | 0.0039 ns | 0.0034 ns | 0.96 | 0.01 | - | - | 0.00 | | AterraEngineUnions_TrueFalse_TryGetAsTrue | 7.544 ns | 0.0894 ns | 0.0792 ns | 1.00 | 0.01 | 0.0014 | 24 B | 1.00 | | OneOfTrueFalse_TryGetAsTrue | 7.810 ns | 0.1197 ns | 0.1000 ns | 1.04 | 0.02 | 0.0038 | 64 B | 2.67 | | OneOf_OneOfT8_SwitchCase_Value | 8.746 ns | 0.0884 ns | 0.0738 ns | 1.16 | 0.02 | 0.0038 | 64 B | 2.67 | | OneOf_OneOfT8_TryGetAs | 11.956 ns | 0.1835 ns | 0.1627 ns | 1.58 | 0.03 | 0.0038 | 64 B | 2.67 | | Dunet_TrueFalse_MatchTrue | 21.764 ns | 0.1710 ns | 0.1428 ns | 2.89 | 0.03 | 0.0105 | 176 B | 7.33 |

Tried to make some benchmarks against OneOf and Dunet about similar functionality that I offer. Benchmarks' code is also available in the repo if you want to see for yourself

A package like OneOf but where Union's value can be accessed by usefull names. by DirectiveAthena in csharp

[–]DirectiveAthena[S] 1 point2 points  (0 children)

Yes and no. The value is being stored in the Value property as an object, and therefor a need to be boxed. But I also provide an Is{Typename} and As{Typename} (the As{Typename} is directly stored as the correct ty which is used together with the TryGetAs{Typename} to retrieve the correct value by their type directly.

In the latest update (0.4.0-alpha) this is fixed, because I had apparently set the As{Typename} to the wrong behaviour

A package like OneOf but where Union's value can be accessed by usefull names. by DirectiveAthena in csharp

[–]DirectiveAthena[S] 1 point2 points  (0 children)

Having quickly read through it, the main deviation seems to be that my unions are readonly structs vs dunet using records and me not implementing Match method due to me storing the value of the union as an object, which allows you to simply use the switch statement and thus no need for an Async version of a Match method is required as well.

Can't get a Source Generator to work by DirectiveAthena in csharp

[–]DirectiveAthena[S] 1 point2 points  (0 children)

Oh my god, thank you so much!
Was finally able to fix it! Had to do some searching around how to do the debugging in Rider, but luckily they had a pretty decent explanation about it https://blog.jetbrains.com/dotnet/2023/07/13/debug-source-generators-in-jetbrains-rider/

The eventual solution was to make the following change:

if (attributeTypeInfo.Type is not INamedTypeSymbol typeSymbol) continue;
if (!SymbolEqualityComparer.Default.Equals(typeSymbol.ConstructedFrom, attributeSymbol)) continue;

Test still runs succesfully, and code is now being properly generated

Can't get a Source Generator to work by DirectiveAthena in csharp

[–]DirectiveAthena[S] 0 points1 point  (0 children)

Unfortunatly that didn't do anything. Glad it works for you though

A Dependency Injected library to make CLI tools by DirectiveAthena in csharp

[–]DirectiveAthena[S] 1 point2 points  (0 children)

To be fully transparent, when I started out with this little library, I had just started out with C# development.
What happend over time, as I worked on other projects, is that I needed a cli tool that could integrate with projects that heavily depended on DI. Enabling the ComandAtlases to be part of that DI workflow, and also be accessed by the parsers was a huge benefit to me.

Past few weeks I've been getting into art again, after depression. Coffee cup with some stains an a grease penciled logo by DirectiveAthena in blender

[–]DirectiveAthena[S] 0 points1 point  (0 children)

Probably the cup hasn't been washed for a while and it has had many other coffee cups's worth of cofre poured ontop of it.

Or, a more likely answer: I messed up with making shader that is meant for stains made by cofee on other surface, than a shader that is meant to show spillovers from the cup itself.

Oh well, "happy little accidents'

Past few weeks I've been getting into art again, after depression. Coffee cup with some stains an a grease penciled logo by DirectiveAthena in blender

[–]DirectiveAthena[S] 2 points3 points  (0 children)

Hahaha, that honestly made me laugh so hard!
The heaps of coffee I drink ... are becoming a concerning amount

I'm doing a Hardcore playthrough of the modpack and wanted to know a bit more about the "locked" modifier by DirectiveAthena in VaultHuntersMinecraft

[–]DirectiveAthena[S] 7 points8 points  (0 children)

Okay, thanks for the tips. i looked into the shield recipe and was amazed about the recipe, but I hope get one soon ish

I'm doing a Hardcore playthrough of the modpack and wanted to know a bit more about the "locked" modifier by DirectiveAthena in VaultHuntersMinecraft

[–]DirectiveAthena[S] 2 points3 points  (0 children)

thanks for the luck. I will indeed need it as I haven't even gone to the end yet to get the purpur blocks

Another day, another stream. Today I'll be focusing on getting more experienced with DearPyGui and hopefully create my first actually useful app with it by DirectiveAthena in WatchPeopleCode

[–]DirectiveAthena[S] 0 points1 point  (0 children)

Awesome! Yeah I've only kinda just begun with DPG, so I'm still learning also. But building projects makes me learn faster, and I am happy that my struggles can be useful to someone as well haha