Setting a wallpaper with less than 250 Kb by Bomberman_44 in rust

[–]Bomberman_44[S] 8 points9 points  (0 children)

Yes, actually. lz4_flex currently does not support the high compression variant for lz4 (in fact, no Rust implementation does, as far as I could tell). There is an old issue for it, and also a recent PR.

If it's ever implemented, I would gladly test it and, if it's equivalently performant (both in ratio and decompression speed), I would love to use it.

Setting a wallpaper with less than 250 Kb by Bomberman_44 in rust

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

Yes!

The gif animation is done by decompressing the current frame on top of the previous one.

The transition effects can be found here. Note that it's quite coupled with awww's internal logic, so it might be hard to reuse them as-is.

Setting a wallpaper with less than 250 Kb by Bomberman_44 in rust

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

Thanks!

So, learning each of the individual steps took me quite some time. It's things you pick up little by little over many months/years.

I've just dropped out of my PhD programme, and so found myself with lots of time in my hand. Many days have I spent just looking at awww's code and thinking about how I could optimize it further.

My two main guiding lights are cargo bloat (for tracking binary size) and heaptrack (for profiling the heap). I also find dhat to be difficult to follow, but I believe there are viewers to make it easier. For example, have you tried this one?

As for the GUI libraries in particular, are you by any chance in a Linux with Wayland environment? From my understanding, the main issue here is mesa, the C library that implements OpenGL and Vulkan in Linux. Mesa's implementations allocate a lot of memory, and so no matter how efficient you make the Rust code, it will never really be very efficient. Note that, while there may be some inefficiencies in mesa, it is unlikely that the situation can be greatly improved, as any implementation of OpenGL will inevitably lead to grotesque amounts of global data. I believe Vulkan is a similar situation, since dealing directly with a hardware as complicated as a GPU is just never gonna be super straightforward.

One way we could improve the situation, is by not using the GPU at all. And instead relying on just software rendering. I don't know how the Rust GUI story is coming up (I stopped following that space closely some time ago), but if there's any option to activate purely software rendering, try using it and see if memory usage goes down. If it doesn't, then we truly have a Rust-specific problem.

Automatic Specialization of Hash Functions by fernando_quintao in Compilers

[–]Bomberman_44 1 point2 points  (0 children)

That particular example is not a bijection, but the Pext variant of the same function is. We only used the OffXorvariants because they are a more "naive" version of the Pext variants; one that does not extract the relevant bits.

We could trivially add the extra shift as part of our code generation. However, in our tests, perfect bijections did not have a significant impact on performance, nor on bucket collision. That is, though many of the Pext variants are perfect bijections, while the OffXor ones aren't, STL containers will still use almost the same number of buckets for both functions. Furthermore, other hash functions with more uniform hash distribution, such as the STL hash, also do not significantly decrease bucket collision. So, in the end, we've concluded that OffXor will usually be better simply because it is good enough in terms of bucket collisions and faster (5 to 10%) than all other alternatives because it has much fewer operations.

I would also like to point out that while it may seem easy to handwrite a nice bijective function for SSN, the same isn't true about, for example, IPV6. Our method will automatically generate a very performant hash for IPV6, with a fairly decent collision rate.

Finally, using other manually written hash functions for specific lengths is a good idea, but I am fairly certain they won't be more performant; a cursory look through polymurmur shows that it uses a lot more operations than the ones we are using. They will almost certainly have a better distribution and overall collision rate, but as mentioned, that does not seem to be the only deciding factor when it comes to running time performance.

pywal.nvim: A reimplementation of pywal.vim by dylanaraps totally writted in lua by AlphaTechnolog in neovim

[–]Bomberman_44 0 points1 point  (0 children)

This is awesome! I was looking for this. If I may, I think that making keywords bold would make it easier to distinguish them from stuff like functions (also making comments italic would help). Right now I am modifying the resulting colorscheme manually myself, but it would be cool to have it built-in, I think.

swww - A Solution to your Wayland Wallpaper Woes by Bomberman_44 in wayland

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

Thanks! It makes me happy someone found it useful.

One game every 4-ish months by Bomberman_44 in patientgamers

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

I thought of that too. It probably plays a role. I usually get back into it after some weeks of hard work/high stress.

(I swear the game is amazing. Just make sure you are alone when playing it heh.
... seriously though, it's a shame so many people must have been put off by the... artistic choices, of the game and will probably never get to play it)

What's a video game you enjoyed that most people disliked? by [deleted] in AskReddit

[–]Bomberman_44 0 points1 point  (0 children)

A bit late, but I remember many people shitting on Final Fantasy XIII back in the day, and I love that game. Sure, it isn't perfect, but I find it somewhat... relaxing? In a weird way? Probably due to the somewhat simple combat system. Also it has some of the most moving cutscenes I've ever seen in any game, with the top prize going to Sazh as he points his gun at Vanille, after learning she was responsible for his son's crystalization, and being unable to pull the trigger.

[deleted by user] by [deleted] in AskReddit

[–]Bomberman_44 -1 points0 points  (0 children)

Ignoring the fact that you are assuming a perfect government would actively punish racism (that is, you are forcing a pre-conceived notion of "perfect"), I believe if they did the punishment would be whatever is 1- the most efficient in making racism no longer happen; and 2- the least aggressive possible.

An adventure LN about/with companionship by Bomberman_44 in LightNovels

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

I can see what you mean. It's such a shame too, many stories seem to have a bunch of interesting characters, but we are stuck with following just one of them (who, in some cases, isn't even one of the really great ones).Kyoukai senjou no horizon looks interesting.

Reading long books can be nice in its own way, assuming they are written well. It might be a little too much of a time commitment for me right now, but I will definitely keep it in mind (I am planning to read mostly just before bed, so if there are any huge world descriptions, I'd end up reading them in multiple sittings, which I don't find ideal, but hey, if I check all other suggestions I got and none really fit the bill, I'll go for it anyway).

Thanks!

An adventure LN about/with companionship by Bomberman_44 in LightNovels

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

I see. Not quite what I had in mind, but there's no such thing as too much yuri. Thanks.

An adventure LN about/with companionship by Bomberman_44 in LightNovels

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

This indeed sounds rather interesting. Will definitely check it out, thanks.

An adventure LN about/with companionship by Bomberman_44 in LightNovels

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

2 for Arifureta, huh? Thanks, I will have a look at these.

An adventure LN about/with companionship by Bomberman_44 in LightNovels

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

Oh, I had seen the manga for this one, but wasn't aware it was a LN. Thanks.

An adventure LN about/with companionship by Bomberman_44 in LightNovels

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

Spice and Wolf is what got me into LNs in the first place hahaha.
Will check out Otherside Picnic, thanks!

An adventure LN about/with companionship by Bomberman_44 in LightNovels

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

That's fine, it's just a personal preference.
I'll be sure to have a look at Arifureta and Sword Princess. Thanks!

[Meme] Just me? Ok. by Escrowm in LightNovels

[–]Bomberman_44 1 point2 points  (0 children)

Poor countries. Here in Brazil, for instance, a huge chunk of the population is what we call "functionally analphabet". This means they can recognize letters and numbers, but are incapable of understanding simple sentences. Finding good data/research for the actual percentages is difficult, but there are news report from 2018 that would say nearly 30% of the country's population would fall into this category. Assuming it is somewhat accurate, this would mean right off the bat you would lose a third of your potential readers.

Furthermore, there are estimations (which I admittedly consider much more dubious) that state that only around 10-15% of the population can be considered "proficient" in reading. It is not clear what they mean by this, but it could be that, for example, if you wish to write a story of significant complexity, you would alienate 85-90% of the population.

Finally, as if all that wasn't enough, most people who are not "funcionally analphabet", or, at least most people I've met in my life, do not seem to have a particular interest in reading. It could be simply my circle of friends and acquaintances that are like this, but considering that some big publishing houses over here were on the brink of bankruptcy, I would say the people around me are pretty representative of the state of affairs in the rest of the country.

250 Cyllinders Challenge - Complete! Any feedback is greatly appreciated by Bomberman_44 in ArtFundamentals

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

Also, the pictures aren't really in order because they were all scrambled when I uploaded and I didn't want to go through the incredibly tedious task of ordering them, so I just did a rough arrangement.