System Unit Indexer

Status
Not open for further replies.

Nestharus

o-o
Reaction score
84
I'm never going to write for AIDS ever. Use this code, copy it for all I care, just don't include my nick anywhere on that thread.

And you might as well cnp Unit Event, slap your name on it, change the library name, and make it use AIDS (a few changes to a couple of function calls) and then reject mine because my design is the only way to differentiate between remove events and decay events without the use of hooks. You can count that I will never make it use AIDS.

I'm also not going to support any sort of AIDS API.
 

Troll-Brain

You can change this now in User CP.
Reaction score
85
If it really works in any cases without any timer, nor hooks, you did a great job :thup:

However i've maybe found a possible bug, when i've quickly cross around the code.
You probably know that trigger conditions works like a queue.
But if you remove a condition while the trigger is evaluated, it stops the whole trigger evaluation (i don't remember if it runs trigger actions or not).

Again, since i have not really read your code it could be irrelevant.

Irrelevant notes for the initializer method :

- You leak a rect :

GetWorldBounds create a new rect each time, as you probably know, but more, once you have added a rect inside a region, you can destroy the rect if you don't need the rect by itself anymore.

- You don't need to null bc and bc2 and world, as you probably know.
 

Nestharus

o-o
Reaction score
84
Actually nulling handles will release the handle id asap... when they go out of scope, they aren't nulled. I think they are nulled as soon as they go back on to a call stack, but there's no way for me to test that because I can't view the memory addresses.

- You leak a rect :

GetWorldBounds create a new rect each time, as you probably know, but more, once you have added a rect inside a region, you can destroy the rect if you don't need the rect by itself anymore.

I did not know that I could destroy the rect if I didn't need it any more by itself : d. I thought it had to stay alive for the region ^.^. I can test that out to double check =).

But if you remove a condition while the trigger is evaluated, it stops the whole trigger evaluation (i don't remember if it runs trigger actions or not).

Hm... I'll test that real fast =D.

Thank you for the feedback, I actually feel a lot better now. This being graveyarded and its design stolen was the start to my really, really bad day, so I've been majorly pissed off all day.

edit
I will still fight this to the bitter end until I am perma banned by submitting systems using this library, recommending this library and including 0 support for AIDS.

For anyone else who sees the major injustice that's being done here, join the revolt.

As soon as justice is served, my revolt will end and I will ofc provide API support for AIDS, but until then I will be the demon of TH.


edit tc test
You are right! I'm going to check actions too, and if actions also fail I will do something shnazy ; D.

edit test action
actions don't have that problem o-o

edit
testing the rect and if the region is still fine I will then update this to not do that rect leak and to run off of trigger actions ; D.

edit again
removing the rect still worked : D.

Ty for your help Troll ^.^
 

Jesus4Lyf

Good Idea™
Reaction score
397
So jesus4lyf, I promise that I will make the AIDS API work as it should, k?
I'm also not going to support any sort of AIDS API.
This system will be my last gift to TH.
I will still fight this to the bitter end until I am perma banned by submitting systems using this library
So far he has promised:
  • To support a perfect AIDS API
  • To never support any AIDS API
  • To stop posting systems
  • To never stop posting systems using a graveyarded resource until he's banned
And it's all on the vain assumption that someone is stealing his code, which hasn't happened at all.

>If it really works in any cases without any timer, nor hooks, you did a great job :thup:
Absolutely. It doesn't provide any functional difference, but it is an optimisation.

This system has been graveyarded due to being redundant (ie. it basically copies existing indexers, providing nothing of use that is new). As you've been told before, Nestharus, an optimisation or different function name for something, etc, is not an excuse for a new system. It really should be a functional requirement that an author won't add to an already existing system. (Even with AIDS, I posted in the PUI thread first, requesting the structs.)

You keep releasing crap instead of helping and contributing. You should not be surprised that this is here.
 

Nestharus

o-o
Reaction score
84
This system has been graveyarded due to being redundant (ie. it basically copies existing indexers, providing nothing of use that is new). As you've been told before, Nestharus, an optimisation or different function name for something, etc, is not an excuse for a new system. It really should be a functional requirement that an author won't add to an already existing system. (Even with AIDS, I posted in the PUI thread first, requesting the structs.)

I'm not a communist.

edit
Contacted The Helper.

Keep in mind that a Unit Indexing system only has 2 parts:
Indexing
Deindexing

And then sometimes optional modules as well.

Considering Deindexing is half of the system, I regard what you are doing as stealing my system and I will continue to regard it as such. I coded every part of this from scratch and each part worked off of my own ingenuity (talking the designs that power the features). I didn't copy any code, nor did I ever want to.

I can understand if you might think your system was copied except for a couple of lines, but that is not at all the case... what you are doing now is taking my actual lines and my actual ideas and putting them into your system while graveyarding mine. If you seriously see nothing wrong with that then something is wrong with you. And don't think that adding credits will somehow fix it because adding credits after pulling off this dumb crap is almost like a "ah ha ha ha, I can do w/e I want and you can't stop me."

What I see you doing is abusing your power and I am not going to let you walk all over me.

And no, I don't work at improving other people's systems anymore. If I need a system, I will look for one and see if it is well coded (I just look for things like hooks or weird timers or chaos everywhere) and I will also look to see if it has the features I need. If it doesn't have the features I need but it is very well coded and it is possible to create a library based off of it for the features I need, I'll create a library using it. If there is any part of it I regard as less than perfect, I will make my own system with my own designs and see if I can do it better. If I like the outcome, I will share that system with others so that the other system can be properly replaced. I am not at all interested in having my ideas tossed out at a whim because the person might say it's too much work (which has happened to me numerous times) and I don't like being ignored for a year by everyone in the entire community when i see something wrong with a system like a major leak (that's happened as well, which resulted in my Get Costs and States).

Furthermore, sometimes I create systems because I feel like doing it. Unit Indexer was an "I'm in the mood to create a unit indexing system." I did not look at any code from any other system while creating it.

Also, I certainly wasn't going to use any of the current indexing systems because I didn't want to read through yours to see if it was up to my standards (your code is irritating to read) and AutoIndex looked like garbage. After creating this and before submitting it, I read through yours to see if I was up to snuff. I saw timers and what not so I figured that mine was ok and could probably just be an alternative to AIDS, but I was still working on removing the blasted RemoveUnit hooks. I tested GetUnitAbility and it worked. The code difference between coupling events and just using GetUnitAbility was major, so I used that and this became superior to every other unit indexing system for unit indexing. You also later helped me to understand a bug that I probably wouldn't have noticed until a month later ; D. The fact that I didn't know about that bug is further proof as to how little I looked over AIDS. When creating the fix, I again did it on my own, looked at AIDS and saw that we pretty much had the same solution, which made me go ; D.

I had also added locks when thinking of the instability of keys during a drive.

I will fight until this is either approved over AIDS for being superior or I am banned.
 

Komaqtion

You can change this now in User CP.
Reaction score
469
Ok, I think this has become a little too personal for you two Nest and J4L...
And in fact, it's getting tiresome, altough I am sorry to say so Nestharus, you have NEVER made the slightest effort of being cooperative with the moderators here on the forum, which has lead to some of them maybe being against you.

And then there's the whole layout "issue" (No offence) where you, no matter how many people tell you they dislike your system API or the post structure or whatever, you don't seem to want to change some text in order to please a great crowd and befriend the community (Although, of course, some people like your layouts ;)).

And also, you almost always seem to only create other versions of systems which already exist, and almost never seem to create any new material.
And if you dislike the systems here because you might think they are inefficient or something else is troubling you about them, why not, as J4L said, just post it in the specific system's thread and try to have them fix the inefficiency or at least make a compromise.

There, that should clear up what ever personal issues you're having, so I really think Nestharus deserves and an impartial moderator of the forum takes a long look through the code, and either approves it or graveyards it depending only on the code, API and purpose of this :D
 

Jesus4Lyf

Good Idea™
Reaction score
397
I really think Nestharus deserves and an impartial moderator of the forum takes a long look through the code, and either approves it or graveyards it depending only on the code, API and purpose of this :D
I thought so too, so I had Romek look over it and asked for his opinion before I took any action whatsoever. He suggested to me to graveyard it as redundant. I gave it a few days to see if it would have anything useful added to it, and when it became apparent that it was essentially a copy of what already exists, it was discarded.

@Nestharus:
>what you are doing now is taking my actual lines
Stop accusing me of things I've never done, like stealing code from this system. I carefully moderate resource, making honest decisions I believe benefit the community (like graveyarding systems which seem to be copies of other systems), irrespective of the individuals involved. You have slandered me and falsely accused enough. I have not taken any code nor concept from this system, and since you've said I have, I actually deserve an apology from you. I sought Romek for his opinion before I acted, so as to be sure I was acting impartially in this issue. Feel free to use the "report post" button if you feel I have acted inappropriately, but it is time you stop lying, falsely accusing, and going on crusades about things which I have not done.
 

Romek

Super Moderator
Reaction score
963
If you keep up with the attitude you seem to have here, your 'battle until you get banned' will be very, very short-lived. There are enough indexing systems out there to confuse users with, and give map makers enough trouble when they use multiple resources which use different indexing systems.

This system provides no advantages whatsoever over AIDS, and actually lacks features in comparison. I strongly believe that any efficiency improvements you saw should've been posted in the AIDS thread, rather than you writing your own system. Indexing systems aren't something we're going to improve many of, and this one certainly doesn't shine.

This system is staying in the graveyard; and this silly argument is going to end now.

Edit: I also see the need to mention that Jesus4Lyf is perfectly capable of making decisions about whether or not systems should be graveyarded by himself.
 

Troll-Brain

You can change this now in User CP.
Reaction score
85
Nestharus said:
Actually nulling handles will release the handle id asap... when they go out of scope, they aren't nulled. I think they are nulled as soon as they go back on to a call stack, but there's no way for me to test that because I can't view the memory addresses.
Oh god i really hate you when you use "..." in your sentence, especially when you are wrong.
Point is that the region and the boolexprs are never destroyed, so the handles can't be recycled, then you don't need to null them.
(And if they can be destroyed, then the library is completely fucked).

It's still really irrelevant thought, especially because we are talking about an initializer, but i know you are one of these guys who care about this kind of thing.
Useless extra code is useless.
 

Nestharus

o-o
Reaction score
84
The pointers are still stored in there, which are integers.

Actually nulling handles will release the handle id asap

Sry if you misunderstood that line. That's what I meant ; D. So, no, I'm not wrong, just misunderstood : P.

The handle id stored in the variable stays there until it gets reused ^.^, so I null them to minimize memory usage, even if it's only an integer.


And for everything everyone said, I already perfectly described why I don't try to improve already existing systems and I described my precise beliefs and why I find this to be incredibly messed up.

Also, I said I'd be ok with it (still angry, but ok) if each of the features AIDS didn't have were added to it that this system had (which j4l said no to (enable/disable unit indexing), and I also removed the replace unit feature).... and also (newly added feature), the macro should be this system's module because it is superior.

And I talked about removing the periodic recycler if moving to this design because of unstable APIs (one returns deindexed unit, other doesn't).

That's all.

If those simple demands are met, I'll seriously quiet down, and I said that before. When j4l blatantly said no, my anger just kind of overflowed and I exploded.

Again, if you guys missed why I don't work at improving existing systems anymore-
I am not at all interested in having my ideas tossed out at a whim because the person might say it's too much work (which has happened to me numerous times) and I don't like being ignored for a year by everyone in the entire community when i see something wrong with a system like a major leak (that's happened as well, which resulted in my Get Costs and States).

Obviously in this case I think j4l thinks it is redundant, but it isn't... if a unit is never going to have its index used ever (like it doesn't exist at all) for any reason, then you'd want to disable the indexer. This would be used in rare cases, like Unit Event = D.

and also
This system provides no advantages whatsoever over AIDS, and actually lacks features in comparison. I strongly believe that any efficiency improvements you saw should've been posted in the AIDS thread, rather than you writing your own system. Indexing systems aren't something we're going to improve many of, and this one certainly doesn't shine.

You missed the part where I wrote this system on a whim and that it wasn't until later that I got the good deindexing. Originally I was thinking of this as an alternative (like an efficient AutoIndex) and then later as a replacement.

A good thought to understand why I write systems is that I always do everything on an utter whim. If I actually need the system, I will first look for already existing systems ; P. In this case, I didn't actually need it. Unit Event was also written on a whim.

The only time I've written a systems that I actually needed at the time they were created were Get Costs and States and Unit Decaying. The rest were all written because I felt like writing them one day for the hell of it =). And as I said, after writing them I will compare them to already existing systems (benchmarking in some cases), and if I think they are better I'll submit them ; O. This one, as I keep saying, I originally thought could be an alternative to AIDS as an efficient AutoIndex. It wasn't until later that I was gunning to replace AIDS -.-.

And remember that I also think in terms of capitalism (because of all of my bad experiences), not in helping out a community. This means competition... which is why I find this so utterly wrong and why I keep saying to me it feels like j4l is abusing his power. If you are thinking in this mindset, then that's what appears to be the case -.-. And remember again, I also said that I'd be ok with it if j4l agreed to my terms, which he didn't, which threw me over the edge.

That is why I'm fighting this.

You can -rep me all you want, but that won't do a lick of difference as I don't care about rep in any way. It will be actions that will make this fight stop, which is either my ban, my terms are met, or this is approved as an alternative to AIDS.

And I only have the 3 terms
1. remove periodic recycle to provide a stable API
2. add enable/disable global indexing
3. change macro into this system's module

which will essentially make AIDS code more or less the same as this code ; ).

edit
And then there's the whole layout "issue" (No offence) where you, no matter how many people tell you they dislike your system API or the post structure or whatever, you don't seem to want to change some text in order to please a great crowd and befriend the community (Although, of course, some people like your layouts ).

I stopped doing that a long time ago. When people comment on the API, I will work at improving it to try and make everyone as happy as possible. Same goes with the layouts (look at my manual where the layout was hated.. I did precisely what they wanted and they told me to change it back).

Look at Cmd. That API was commented on as being fugly so I continued to work at it to try and provide everything the people asked for... and I'm planning on improving it just a little bit more when I get the chance. They asked for more simplicity and I told them it was impossible and explained precisely why and pointed them to another simpler system that would probably be of more interest to them ; ).
 

Lyerae

I keep popping up on this site from time to time.
Reaction score
105
This system has been graveyarded due to being redundant (ie. it basically copies existing indexers, providing nothing of use that is new).

Does it matter?
I'd probably use this over all the other ones, but that's just me.

You keep releasing crap instead of helping and contributing. You should not be surprised that this is here.

I agree with this, to some extent.
While it's always great to improve existing code, having some new code every so often is nice too.
 

Romek

Super Moderator
Reaction score
963
> If those simple demands are met, I'll seriously quiet down, and I said that before. When j4l blatantly said no, my anger just kind of overflowed and I exploded.
What is this? Blackmail? A 'feature' which allows a single unit to not be indexed is quite useless. There are enough spare indices to allow for one unused one (until the unit dies), and there's simply no use for such a feature in almost any case.

> [Everything about why you write systems, and how this is an exception]
...Ok. I don't see how any of that is relevant.

> not in helping out a community. This means competition...
Don't you write and submit these systems to help out the community? You're not getting paid for coding these, I'm sure. And expanding on that, don't you think the community would be happier with a single, more efficient system with everything that's needed; than multiple systems, each with a handful of features and efficiency tweaks, because the two coders behaved like little children and didn't want to 'copy eachother' (or they threw little fits when someone 'copied' them). Not to mention there would be less problems when using spells which require different indexing systems.

> remove periodic recycle to provide a stable API
You can disable AIDS' periodic recycler.

> add enable/disable global indexing
You can edit the constant function at the top of AIDS to disable units being automatically indexed. Enabling/Disabling indexing in general is useless.

> change macro into this system's module
IIRC, J4L was going to change the textmacro into a module. I'm sure that doesn't mean to this one though.

> which will essentially make AIDS code more or less the same as this code ; ).
...So your terms involve AIDS becoming this? Ridiculous.

In any case, you seem to be taking a JASS system more seriously than anyone else is, and certainly much more seriously than it needs to be taken. This isn't a fight, war, or any sort of competition. There aren't going to be any ridiculous demands for Jesus4Lyf which involve him essentially recoding his system to match your niche, extremely unnecessary requirements.

Also note that AIDS doesn't need the efficiency tweak that you discovered. It works very well the way it is (certainly better than this). However, an option to (even slightly) improve his system is now available to him. Do you expect him to just ignore it? I doubt you wouldn't improve your system for the better given the chance if you were in his position. Now that he's mentioned doing this, you're crying, ranting, and complaining about everything and anything possible, whilst demanding silly things as though you're holding a gun to J4L's head. You aren't.

I'll meet one of your demands:

> It will be actions that will make this fight stop, which is either my ban, my terms are met, or this is approved as an alternative to AIDS.
Hopefully you'll have calmed down when you return in a week, and will be able to contribute positively to the community once more.

I'll also close this thread, as with Nestharus temporarily gone, it no longer serves the purpose of being a warzone for him.
 
Status
Not open for further replies.
General chit-chat
Help Users
  • No one is chatting at the moment.
  • The Helper The Helper:
    that sucks i bet they are expensive
  • Varine Varine:
    Not really
  • Varine Varine:
    The entire hot end is like 20 dollars, I just can't get anymore until next week
  • Varine Varine:
    I ordered like five blocks for 15 dollars. They're just little aluminum blocks with holes drilled into them
  • Varine Varine:
    They are pretty much disposable. I have shitty nozzles though, and I don't think these were designed for how hot I've run them
  • Varine Varine:
    I tried to extract it but the thing is pretty stuck. Idk what else I can use this for
  • Varine Varine:
    I'll throw it into my scrap stuff box, I'm sure can be used for something
  • Varine Varine:
    I have spare parts for like, everything BUT that block lol. Oh well, I'll print this shit next week I guess. Hopefully it fits
  • Varine Varine:
    I see that, despite your insistence to the contrary, we are becoming a recipe website
  • Varine Varine:
    Which is unique I guess.
  • The Helper The Helper:
    Actually I was just playing with having some kind of mention of the food forum and recipes on the main page to test and see if it would engage some of those people to post something. It is just weird to get so much traffic and no engagement
  • The Helper The Helper:
    So what it really is me trying to implement some kind of better site navigation not change the whole theme of the site
  • Varine Varine:
    How can you tell the difference between real traffic and indexing or AI generation bots?
  • The Helper The Helper:
    The bots will show up as users online in the forum software but they do not show up in my stats tracking. I am sure there are bots in the stats but the way alot of the bots treat the site do not show up on the stats
  • Varine Varine:
    I want to build a filtration system for my 3d printer, and that shit is so much more complicated than I thought it would be
  • Varine Varine:
    Apparently ABS emits styrene particulates which can be like .2 micrometers, which idk if the VOC detectors I have can even catch that
  • Varine Varine:
    Anyway I need to get some of those sensors and two air pressure sensors installed before an after the filters, which I need to figure out how to calculate the necessary pressure for and I have yet to find anything that tells me how to actually do that, just the cfm ratings
  • Varine Varine:
    And then I have to set up an arduino board to read those sensors, which I also don't know very much about but I have a whole bunch of crash course things for that
  • Varine Varine:
    These sensors are also a lot more than I thought they would be. Like 5 to 10 each, idk why but I assumed they would be like 2 dollars
  • Varine Varine:
    Another issue I'm learning is that a lot of the air quality sensors don't work at very high ambient temperatures. I'm planning on heating this enclosure to like 60C or so, and that's the upper limit of their functionality
  • Varine Varine:
    Although I don't know if I need to actually actively heat it or just let the plate and hotend bring the ambient temp to whatever it will, but even then I need to figure out an exfiltration for hot air. I think I kind of know what to do but it's still fucking confusing
  • The Helper The Helper:
    Maybe you could find some of that information from AC tech - like how they detect freon and such

      The Helper Discord

      Staff online

      Members online

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top