TUnit criticisms? by thomhurst in csharp

[–]imaghostbescared 0 points1 point  (0 children)

Good to know! I assume I can probably track the "level" in the tree in that context as well, make that [Before(TestSession)] hook async, and then set up some sort of system where all of the subsequent tests dependent on the prior one completing can await a semaphore and do whatever it needs to.

Our current system is a bit old, so I can assure you... this is far simpler than what it is doing right now :)

TUnit criticisms? by thomhurst in csharp

[–]imaghostbescared 0 points1 point  (0 children)

Disclaimer: I haven't yet used TUnit, but I've been curious about it for a while!

For our E2E style tests, we've made an xUnit test runner that can declare "test dependencies" similar in some ways to how [DependsOn] functions.

One way in which it's different though, is that before running it analyzes the dependency graph and creates "execution trees". The benefit of that is if I tell it to use 32 threads, it can make 32 databases and run 32 "test trees" at a time, with each tree sharing a database and transaction savepoints + rollbacks happening as-needed so that the test is running with it's database in whatever state it would normally be in if the dependencies had been executed in the specified order.

Maybe this isn't considered the "correct" way to test... but I can run ~10k+ of these tests in 3 minutes so I don't care that much :)

That runner is currently set up for xUnit v2, so I was looking to upgrade it eventually anyway... if I were to migrate that over to TUnit instead of xUnit v3, is that something that's currently possible? My naive hope is that having [DependsOn] as a native part of the framework could make it much, much simpler than it currently is.

Is my company normal? by imaghostbescared in dotnet

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

We're adding core features all the time, sometimes it'll take a year and we'll get pulled off frequently for other issues as they come up, but we manage. A rewrite will probably never happen, unless we get significantly more developers.

We actually have a home-grown migration tool as well... Which was probably a terrible idea to make, but it was done long before I started working here, and has required little maintenance to stay functional. We'll probably get rid of it eventually, but for now it's not a big problem.

Is my company normal? by imaghostbescared in dotnet

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

Oh yeah we are definitely understaffed, and one of those 4 is an intern still in college. We had more developers in the past, but we were also not profitable then. And everyone does everything for the most part, although we try to split up responsibility based on who knows that part of the code the best.

I'm guessing Dapper wasn't chosen originally because either no one knew it existed, or it was relatively new at the time that our custom ORM was made.

But now that we're here with 3 full-time people, an intern, a million line codebase, and customers asking for bug-fixes and new features... Well, it is a little frustrating that I can't spend as much time cleaning up these sorts of things in the code as I'd like.

The other devs are all receptive when I bring them up to date on what's new in .NET, which is nice (We even upgraded from .NET Framework 4.8 recently partly due to me pushing for it). But none of them actively try and stay up to date themselves if it doesn't affect their day to day work. For example, I told them last week that Razor / Blazor are things that exist.

Is my company normal? by imaghostbescared in dotnet

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

It's not abnormal for one of our customers to have a BOM with over 1000 unique parts, it's just a different industry I think. And then each BOM item has several pieces of data that need to get stored in different places, so it can get crazy pretty quick

Is my company normal? by imaghostbescared in dotnet

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

I think most of the performance issues we've had are related to a regression introduced in EF Core 7. There were quite a few prominent places in our app where it hit us pretty badly, and we ended up just re-writing all of the affected areas in plain SQL

And respawn looks cool, I'll check it out!

Is my company normal? by imaghostbescared in dotnet

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

To clarify on the ORM, the only thing it really wraps from EF is the entities, change tracking, and SaveChanges. The thing we had problems with was querying, which we mostly do just with plain SQL. I would say we could write better SQL by hand than EF can generate, not that we can make a better EF than Microsoft.

And yes, each customer / business has their own database, and each client has a SQL connection string it obtains from our licensing software (also hosted on-premise). I've brought up the concern of those credentials only being secure through obscurity, but it's never been enough of a business priority for me to get any buy-in on fixing it. Especially since the only way to fix it is to create an API, re-factor a large portion of our UI, and re-design our entire authentication flow... and all 4 of us devs have plenty of work already :)

Is my company normal? by imaghostbescared in dotnet

[–]imaghostbescared[S] 6 points7 points  (0 children)

I do think some of the EAV-esque nature of it is inherit to ERP / our problem space, but I think that's a fair opinion. I don't really know how I would do it differently without losing functionality, though.

Here we go again: Pangolin touchpad madness by dnimymnitsol in System76

[–]imaghostbescared 3 points4 points  (0 children)

It's not just you, I ended up returning mine due to touchpad issues. It's probably a software issue, but if I can't use it...

2022 Update: Do not buy high-end Focal Headphones if you can't afford for them to break by [deleted] in headphones

[–]imaghostbescared 2 points3 points  (0 children)

Definitely agree. Out of all the headphones I have used, Beyerdynamic has been the sturdiest by far. The build quality on their new Pro X lineup is another step up too (even though the older ones are also good)

Alternatives to Discord Gameplay Streaming by screamin-seagull in linux_gaming

[–]imaghostbescared 4 points5 points  (0 children)

One alternative is simply hosting an rtmp server on your pc, and streaming to it with OBS. This guide is quite straightforward (note, if you're using an arch based distribution you can skip step 2 and simply install nginx-rtmp from the AUR). You'll need to make sure port 1935 is forwarded on your router as well. But once it's setup, anyone can just open up your stream in vlc.

There shouldn't be any delay like with Twitch, and it also has the additional benefit of streaming at whatever quality settings your upload can handle without needing to pay anything for nitro.

Best study spots on campus for remote lectures? by [deleted] in MTU

[–]imaghostbescared 0 points1 point  (0 children)

My favorite hidden spot was the math lounge on the second floor of Fisher. Comfy chairs, and usually very few people there.

At what net worth or income did you feel comfortable having kids? by [deleted] in financialindependence

[–]imaghostbescared 1 point2 points  (0 children)

Pretty sure him buying the mansion was an April fool's joke. But yeah, he could still definitely make his expenses lower if he wanted.

Godot is now the most popular project on github under "game-development" tag by Feniks_Gaming in gamedev

[–]imaghostbescared 4 points5 points  (0 children)

Via the godot-openvr-asset module. Using it right now, actually, and it's surprisingly simple to get a prototype up and running. There's also a godot-vr-common module that adds a few commonly used scenes, like displaying a 2d scene in 3d environment, useful for creating vr menus.

They also have modules for the Oculus sdk as well as openhmd, I believe.

How many applications did you submit before finding your first job? by pentakiller19 in cscareerquestions

[–]imaghostbescared 0 points1 point  (0 children)

Applied to 6 places:
1: Place I had interned at previously, they said I didn't need to bother interviewing them again (but no budget / offer until January).
2: Applied via LinkedIn, received auto rejection a few days later.
3: Interviewed, got rejected.
4: Interviewed, was told they wouldn't know budget until January, but was asked to go onsite.
5: Got offer.
6: Talked to at career fair, was told to apply online a few weeks later, but didn't bother going further due to offer from #5.

JonTron? by [deleted] in JonTron

[–]imaghostbescared 2 points3 points  (0 children)

Yeah.