I clearly have too much free time, so I have this idea for organizing my hentai collection and I want to know the feasibility of this.
first off, I dont organize my shit. Its just a few thousand pictures in a single folder. But I'd like a way to organize them quickly by how hot I think each picture is. I didn't want to use the 5 star rating system. So here's my idea...
You start the program and it takes two pictures at random from the collection, and you click one of two buttons denoting which one you feel is hotter. Then the program remembers that Picture A got 1 click, while picture B currently got Zero clicks. Then it does this until all the pictures have gone through this. Then the order of files in the folder is changed with all the pictures that got a click at the top, and the ones with no clicks are sent to the bottom of the list.
then it does it for just the pictures that got a first click. Eventually after a bunch of these match ups you'll have your files arranged in order from what you feel is personally hottest to not hottest.
I dont know programming, but I am liking the idea enough I might just sit down and learn how to.
so what does everyone think? As a method of organizing pics does it 'work'?
Seems like it could work. I'd probably just cheat, duplicate the folder, and have this hypothetical program rename the files based on that preference in some sort of order.
The problem with your idea, though, is that it's too binary, and will only sort them as "liked" and "disliked" with nothing to judge by.
So, you might be comparing your #1 and #2 pics in your folder of 1000 images, and you put that you thought your #1 one was hotter. Now, does your #2 one just become buried or what?
Or, are you planning to have every pic be paired up against every other pic, or something like that? If that's the case, it'll take a lot of time to sort them out.
However, it could be coded to improve in accuracy with each repetition. Like, if on the 5th round, you have X and Y pictures. X has no likes yet (so 4 dislikes), and Y has 1 like (so 3 dislikes) and you put that you preferred X over Y. It shouldn't try and bump that up to the very top of your list, since Y hasn't been toooo good anyway.
I still feel like this will be too difficult and require too many iterations to sort for it to be really worth it, but over time it would become more and more accurate, once more data is recorded from each image. I can't even imagine programming it, especially to work for a lot of images, and then it has to keep all this info stored, and be connected to an image viewer that can display two images randomly side by side.
The problem is that it requires repetition to have any sort of accuracy, because of the scenarios I posted. Maybe adding a "both pretty good" or "both are ehh ok" selection could help further improve the sorting, though. This system kind of reminds me of the card game "War." You might be having Aces and Kings faces off against 2's and 3s often.
I'm thinking of a way to do it, seems kinda tough. Maybe modeling it with 10 or 20 pictures at first will help to figure out an algorithm for seeing how much to move each picture with each successive comparison.
I just wanted to clarify that basically, the problem is that likes for a picture only indicate preference over other individual pictures, whose values are also only measured against other individually pictures that they were preferred/disliked vs.
So, there's the unlikely chance that your 101st worst quality picture gets matched up against your 100 worst pictures, and you hit like every time. If not done properly, this would put that 101st picture towards the very top of your list even though it's not that good.
Damn, now I'm really trying to figure out a way to sort this. Maybe someday I'll be able to write something like this easily.
So I went ahead and implemented this in Java.
Algorithm is kinda weak as previous anon mentioned so I added some changes.
For implementation read source code using JD-GUI.
Still a seriously basic implementation but it works...?
what about the pictures on the bottom? the ones on top might be my favorites, but that doesn't mean i want to look at them first every time. the best pictures would get old, and the pictures that aren't old to me would be the ones i don't like as much.
i think a category tagging system is best. you can have variety, looking at what you want based on your mood, and you can still use it to mark your favorites. it would also be cool if it took picture sets into account to allow you to randomly browse images from a collection, while keeping sets of pictures together and in order.
maybe another randomizer that throws in some of the older pictures every now and again. I am thinking of this as both an organizer program and picture viewer. That way these pics can be enjoyed while this organzining is happening.
I've tried placing the files into folders with tag names, but I found that there needs to be multiples to match everything, thought of a simple rename with tags and search, but that's too much work (WAY too many pics).
Really that's just a problem of sample size
The more selections you make, the closer the sort will resemble your actual goal.
Now what you might want to consider here is that class of programs whose name I can't remember, which are all about efficiently memorizing shit.
The important thing anyways, is that iirc, memory actually ends up working on a logarithmic scale, for losing it. Basically, if you end up seeing something in x time, then see it again within x^2, you'll forget it by x^3 time. If you see it before x^3 is up...the next loss point is x^4. I don't remember what the baseline was, but you can probably find the idea with enough searching.
So if you take this same model, where memory loss is actually extremely simple, then you can simply stop images from being displayed if it hasn't been long enough since you last saw it. Maybe select randomly from a pool of the top 10, 20, 30, and 40-100 percentile of enjoyment, and the ones that do get chosen get put away for x time.
This is basically a bubble sort algorithm with random comparisons. So to sort your collection you'll need to make roughly N2 comparisons, probably about twice as many because it's random.
For instance, even if you only have 1000 pics, that makes on the order of a million comparisons.
So basically it'll take forever to even partially sort your collection that way, manually.
Computer Engineering student here and I agree. I would suggest a Quicksort implementation in the same fashion. Initial sorting will also take a lot of time but for each new picture it will be pretty fast. Of course, due to personal preferences, people still have to compare the pictures themselves, but at least this minimizes the effort. Unfortunately there is much reason to doubt the usefulness of such a program, since as long as something is even remotely sexy, it should be enough for at least the average guy...
download booru hosting software, have it run on a port of your own IP address, and only turn it on when you're fapping. Set a password, and boom, no more looking through folders. For comedic effect, buy adspace from yourself, and have the ads be your own dickpics or something.
Instead of a comparison sort (bubble sort, quick sort or any other kind) as proposed by OP, I suggest that for any non-trivial sample size (i.e. hundreds of pictures or more), it would be much more feasible and effective to look at each picture and rate how much you like it. Like, out of 5 stars, or on a scale from 1 to 10 or whatever. The plus side is that many image viewers already support this, and you get the sorting function for free. This way you only need to look at each pic once, instead of (effectively) comparing every pic with every other pic.
Of course it's only a loose sort since all five-star pics will be lumped together, but if you need to sort even more finely than that you've got to check your OCD and/or autism.
Well there's a difference between stripping formatting unicode chars and not even allowing latin1 characters like "power of 2"... I mean, we can write japanese letters あ and french accents é but not standard latin1? That's just dumb.