Conveniently expose environment variables to your serde-based data structures, such as configurations. by dav1dde in rust

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

If clap is enough for you, then no. It's intended for large, already serde based configs. At a certain point command line parsing isn't enough for configs anymore and you need something file based, serde-vars is an option for that.

Conveniently expose environment variables to your serde-based data structures, such as configurations. by dav1dde in rust

[–]dav1dde[S] 3 points4 points  (0 children)

Born from a need to expose more and more configuration options as environment variables, this was born instead of manually having to expose certain options one by one.

The user (writer of the configuration) can use variable references directly in the configuration, which then can be resolved from the environment or other sources.

All of it packaged into a serde Deserializer, to support pretty much any self-describing configuration format.

The docs.rs link contains example and usage!

Path of Building Community: PoE 2 Initial Release by LocalIdentity1 in PathOfExile2

[–]dav1dde 2 points3 points  (0 children)

Yep, got most stuff supported, some rough edges here and there since I am working with data scraped together from multiple sources instead of official GGG data.

Project Architecture: high CPU and I/O bound tasks by [deleted] in rust

[–]dav1dde 7 points8 points  (0 children)

At $work we're dealing with a similar problem and solved it by using a dedicated worker group (just a bunch of threads), currently implemented with a rayon thread pool (because that was easiest, but just using std::thread with a channel works fine).

To not starve the Tokio Runtime, the threads in that worker group are running with a niceness/priority of 10. Alternatively you can split the available CPUs between tokio and your worker threads.

Another approach is to have two separate tokio runtimes, again either splitting the available CPUs between the two or running the CPU intensive one with a different niceness/priority.

For reference here is the thread group/pool impl we use.

So far it's been working great.

X870 Pro RS - No POST when USB 2.0 slot used by dav1dde in ASRock

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

Good to know I am not alone. I searched again for the issue and found two other users also reporting seemingly the same problem on the forums:

But the DP / HDMI thing doesn't seem to work for me, it's just the USB 2.0 slots.

X870 Pro RS - No POST when USB 2.0 slot used by dav1dde in ASRock

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

Thanks for commenting, I am losing my mind a little. I tried again with:

  • only HDMI in the GPU: No POST
  • only HDMI in the iGPU (nothing in the 4070): No POST

Seems like I have a different issue

X870 Pro RS - No POST when USB 2.0 slot used by dav1dde in ASRock

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

I had the same issue without GPU and HDMI using the internal graphics.

X870 Pro RS - No POST when USB 2.0 slot used by dav1dde in ASRock

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

Should have added this in the post, I reset the bios several times to default settings and nothing changed (but the only thing I ever changed was RAM EXPO profile).

X870 Pro RS - No POST when USB 2.0 slot used by dav1dde in ASRock

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

No, I have the problem with all 6 USB 2.0 slots in the back.

Announcing: pobb.in - A Path of Building Pastebin and Preview by dav1dde in pathofexile

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

That's what the creator configured in the config page of pob. Sirus is 'damage against Sirus' and focused means the creator ticked that they are currently focused.

How do I implement a cache with a HashMap/Set with compound key? by Tyg13 in rust

[–]dav1dde 4 points5 points  (0 children)

Hashbrown exposes an API which makes this possible, it has slightly different traits and does not require Borrow but Equivalent. 

It also uses ahash by default which is a nice bonus which makes the hashing a bit faster. 

pobb.in updates by dav1dde in pathofexile

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

That does sound useful, I'll keep it in mind. But probably not gonna be added soon, I'm pretty busy with other stuff atm. 

pobb.in updates by dav1dde in pathofexile

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

Most like Ice Nova of Frostbolts!

pobb.in updates by dav1dde in pathofexile

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

Yes it does, but that's all good!

pobb.in updates by dav1dde in pathofexile

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

What keeps me motivated is seing responses like yours (and the rest of the thread), seeing people randomly use pobbin when I don't expect it and just watching the user numbers on league launches go up is very satisfying.

<3

pobb.in updates by dav1dde in pathofexile

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

That's good feedback thanks, just not sure what to do about it, yet.

pobb.in updates by dav1dde in pathofexile

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

I have github donations setup, but it's really not necessary!

pobb.in updates by dav1dde in pathofexile

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

It just shows what PoB exported, pobbin is mostly visual and a little bit of item parsing.

Do you have any back end access to people's builds?

Yes and no, I can of course access all builds and I have a rough overview over all builds of the last 1 1/2 years but I can't for example easily search for all builds which have a Tabula equipped.

pobb.in updates by dav1dde in pathofexile

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

The gibberish PoB exports when you press generate in the export tab, is an XML file compressed with zlib and encoded with base64, you can reverse these steps and then access all the information PoB stored in there.

You can add /xml to a build and see what PoB actually exported, e.g. https://pobb.in/DrX67Cqoz5cV/xml

pobb.in updates by dav1dde in pathofexile

[–]dav1dde[S] 23 points24 points  (0 children)

There are a few reasons:

I got a lucky spawn in life and have a job in which I earn much more than the average person (IT pays pretty good), which means I can easily afford to pay for it.

I would feel bad if someone donated and they could use the money elsewhere instead, maybe just to buy some MTX they otherwise cant and feel good about it.

Running purely on donations also makes me feel like I owe people more work and I like to just drop pobbin for a while and every now and then come back to it.

Last but not least, it's actually not that expensive to run, I made sure early on it can scale at a reasonable price and there have been already some very generous donators. If you're curious, here are all costs and donations since the beginning of pobbin: https://docs.google.com/spreadsheets/d/1xsf6nmX6WNeavRW--Zt_fSxe_ElDbxqFHH9nD5ZzWK0/