irclog2html for #wowace on 20060406

00:16.14hyperChipmunk~seen [Moonwolf]
00:16.17purl[moonwolf] <i=moonwolf@f176182.upc-f.chello.nl> was last seen on IRC in channel #wowace, 3h 3m 20s ago, saying: 'no number allowed in addon object name'.
00:16.32hyperChipmunkdoh, .nl
00:16.37hyperChipmunkslacker
00:51.37*** join/#wowace kergoth (n=kergoth@12.44.147.155)
00:52.31kergoth~botmail for [moonwolf]: i dont trust memoserv, as it only works for those who've registered their nicks. ibot/jbot/purl/apt dont :)
00:52.40Kaeltenlol
00:53.04KaeltenTem, Kergoth:  Tell me if you think this is enough support for 'smart' hooks.
00:53.19Kaeltenhttp://ace.pastebin.com/642051
01:00.47Codayushmmm.
01:01.10Codayustotally not making the obvious  remarks on the wowi channel...  :-p
01:01.39Kaeltenlol
01:02.13Kaeltenhmm I think I'm going to redo AceEvent
01:02.16TekkubKael: line 53?
01:02.30Tekkuband you ding the event ignoringing during zone?
01:02.39Tekkubyes it needs it :)
01:02.44hyperChipmunkplayer_entering_world fires after a reload, ya?
01:02.46Tekkubget rid of those unpacks
01:02.54Tekkubyes chip
01:03.05hyperChipmunkhm
01:03.10hyperChipmunkI suck at this
01:03.33hyperChipmunkI cannot get this initialization on battleground zone-in to work
01:03.45Tekkubfrankly Kael, by default events should unregister during zone, but also one should be able to flag an override on that when they register
01:04.02hyperChipmunkit's like the POIs don't load fast enough to be useful
01:04.10hyperChipmunkall the event triggers are over by the time they're in
01:04.20hyperChipmunker, zone-change
01:04.26hyperChipmunker, zone-change event triggers =P
01:04.30Tekkubeh?
01:04.36Tekkubwhat are you trying to do?
01:04.47Kaeltenshould I actually unregister them, or just  stop processing.
01:05.21hyperChipmunkI'm trying to get my battlefield objectives to load on zone in, which consists of taking all the POIs in the zone, checking their status, who owns them, etc
01:05.21Tekkubwell, I'd prolly just keep a flag for events that should still fire during zone
01:05.39hyperChipmunkbut only when you load a battlefield with objectives
01:05.44Tekkubif the mod passes an overrid arg when it registers, set that flag on that mod for that event...
01:06.04Tekkublike say... self:RegisterEvent("BAG_UPDATE", true)
01:06.11hyperChipmunkand only once, because if it initializes during the match, there might be timers going that i don't want to initialize
01:06.35hyperChipmunkre-initialize*
01:06.39Tekkubso init on PlayerEntering
01:06.46hyperChipmunkI tried
01:06.53hyperChipmunkPOIs don't seem to be there when that happens
01:06.53Kaeltenhyper: On Player_Entering_world do a getZoneTExt and init
01:07.12hyperChipmunkKaelten: that was my first incarnation
01:07.27hyperChipmunkthe pois just don't seem to be there
01:07.40TemCodayus: lol @ holding back our opinoin when he was talking
01:07.43Kaeltenwhen do they show up?
01:07.55Kaeltenanyone having a hard time logging in?
01:08.02Tekkubis there an update event for them?
01:08.08TekkubI have been kael
01:08.36hyperChipmunkI don't know when they show up; it happens when you're zoning, but seemingly after everything else
01:09.01Tekkubwell PLAYER_ENTERING_WORLD is the end of the zoning process
01:09.16hyperChipmunkpoi's have nothing to do with the player though; they're zone properties
01:09.23Tekkubso if they're not available then, they're loading up after you've zoned in
01:09.33cladhaireEvening
01:09.46Tekkubhey cladder
01:10.02TemKaelten: I think you are better off with a table for the whitelist
01:10.19hyperChipmunkI could be doing something wrong, too, but problem is it's a bugger to test cuz entering a battlefield with POIs happens maybe once an hour for me +P
01:10.23Tema table index would almost certainly be faster than a string.find
01:10.25Tekkuboh yea, tables good FIRE BAD!
01:11.23Kaeltenlol
01:11.57kergothhey, http://www.curse-gaming.com/mod.php?addid=2235 was sorta what i was planning on coding for my buffbot replacement some time ago
01:12.01kergoththe whole rule engine thing
01:15.40Tekkuboh and Kael
01:15.48Tekkubwhile you're in there
01:16.01Tekkubget rid of the XML for AceEvent
01:16.08Kaeltengoing to
01:16.19Tekkuband the unpack :)
01:17.21Tekkubhey you know what might be nifty....
01:17.42Tekkubsince Timex is not good for doing OnUpdate type stuff.... an AceOnUpdate module
01:18.08Tekkubit'd manage the frames and the update rate for you
01:18.35Tekkub*decides to go write that right now*
01:26.15cladhaireTekkub: Hold up.. what do you mean?
01:27.37Tekkubwhat you mean what I mean?
01:27.56Tekkuba module that manages OnUpdates for mods instead of them doing it themselves
01:28.03hyperChipmunkwhat you mean what he mean what you mean?
01:28.05Tekkubit'd recycle the frames too if need be
01:28.49cladhaireTekkub: But how is it going to manage them?
01:28.58cladhaireyou have to be wary about making an extra function call.. VERY wary
01:29.04hyperChipmunkstop asking stupid questions
01:29.07hyperChipmunkit's gonna manage them
01:29.13hyperChipmunkgeez
01:29.30hyperChipmunkhe's shifting paradigms here
01:29.59hyperChipmunkand you're asking relevant questions
01:31.18Tekkubclad... erm... check out SpecialEvents Cooldown or Movement
01:31.30TekkubI'd basically move the frame setup into a seperate module
01:31.48cladhairedo you happen tro havea link to your SVN so i can look?
01:31.48Tekkubit wouldn't differ much otherwise
01:32.12cladhaireI'm just concerned, because an OnUpdate functino needs to be VERY VERY VERY custom.. and having something manage that adds another function call.. which is one of the most expensive things we have to do
01:32.38hyperChipmunkhey, you guys told me function calls were cheap =(
01:34.10kergothwhat the hell is going on
01:34.22hyperChipmunkpeople are lying to friendly rodents
01:34.31kergothi'm testing a variety of method resolution types in my code here, performance testin
01:34.59kergothand it looks like my multiple inheritence's method resolution is wayyy faster than it should be
01:35.00kergothhmm
01:35.29cladhairehahaha
01:35.31cladhairei wanna play
01:35.55kergothwhat the fuck
01:35.58kergothokay, get this
01:36.12kergotha table lookup of a key takes roughly 0.2 microseconds, no __index function
01:36.13kergothand yet:
01:36.19kergothClass5 Lookups(multi): 0.2μs, 0.2μs, 0.2μs, 0.2μs, 0.2μs, 0.2μs, 0.2μs
01:36.19kergothClass5 Lookups(multi, subsequent): 0.2μs, 0.2μs, 0.2μs, 0.2μs, 0.2μs, 0.2μs, 0.2μs
01:36.45kergothhow the hell can my multiple inheritence __index function be as fast as a key lookup???
01:36.47kergothhehe
01:36.53kergoththis is nonsensical
01:36.54hyperChipmunklooks like a test resolution problem from here =p
01:37.02kergothyes, something is weird
01:37.05kergothvery, very weird
01:37.11hyperChipmunkcan you go down to nanoseconds
01:37.27kergoththe os clock isnt all that accurate, this is already subject to a fair amount of error
01:37.41kergothHAHA
01:37.42kergothwhat the fuck
01:37.52cladhairePASTEBIN BITCH!
01:37.52hyperChipmunkcan you do anything less that 0.2?
01:39.10hyperChipmunkwhois kergoth
01:39.11hyperChipmunkoops
01:39.43kergothhehe
01:39.49kergothokay, check this
01:39.58kergothi'm doing a simple inheritence chain, class a -> class b -> class c -> class d
01:40.02cladhairei mean hai
01:40.05cladhaire*nod*
01:40.07kergothclass1 is direct __index points to parent class
01:40.15kergothclass5 is my c3 linearization __index function
01:40.18*** join/#wowace Tem (n=Tem@ip70-177-40-169.br.br.cox.net)
01:40.18*** mode/#wowace [+o Tem] by ChanServ
01:40.25kergothClass1 Lookups: 0.2μs, 0.24μs, 0.28μs, 0.32μs
01:40.25kergothClass1 Lookups(subsequent): 0.2μs, 0.24μs, 0.27μs, 0.32μs
01:40.34kergothClass5 Lookups: 0.2μs, 0.2μs, 0.2μs, 0.2μs
01:40.34kergothClass5 Lookups(subsequent): 0.2μs, 0.2μs, 0.2μs, 0.2μs
01:40.36kergothlmao
01:40.49kergoththeres no way i'm faster than lua's normal inheritence
01:40.57kergothmy code is possessed
01:41.06cladhairepost the code.
01:41.07cladhairei hate you
01:46.26TemI <3 abstraction
01:46.44TemAceGUIBase -> AceGUILayoutFrame -> AceGUIRegion -> AceGUIFontString
01:48.40TemTem proud of AceGUI's new structure
01:49.16hyperChipmunk~pat Tem
01:49.17purlACTION pats Tem and says "Nicely Done!"
01:49.22Temlol
01:51.04kergothcladhaire: was just taking my giant monolithic file with 8 different class implementations and breaking it down to a test case
01:51.07kergoth:)
01:51.08kergothhmm
01:51.12cladhaire=)
01:51.15kergothstill happens, i need your help, posting it now
01:51.17kergothhehe
01:51.20cladhairethat took me an hour with my issue last night, which I still haven't resolved.
01:52.11TemOh hell.  I'm out of widget to implement that meet the following requirements
01:52.14Tem1) Aren't bugged
01:52.23Tem2) I completely understand how they work
01:52.30cladhairewhats bugged?
01:52.43Tembuttons
01:52.47cladhaireO.o
01:53.01Temthere are "easy" workarounds for them
01:53.10Tembut I just don't feel like fooling with it
01:53.13Tekkubfine clad, shoot down my idea, screw you hippie
01:53.15hyperChipmunkthe dark side are they?
01:53.30cladhaireTekkub: Lol.. i think it can be done.. it just have to be carefully
01:53.48cladhaireI should run the Ace 1.2 AceHooks versus 1.3 and show you the overhead of functino calls =)
01:54.01kergothcladhaire: http://ace.pastebin.com/643382 is c3.lua
01:54.29Tekkubwell considering every one of my onupdates has a function call in it I don't see how it's that bad....
01:54.48TekkubI mean... I con't set an update too easily without that function call
01:54.50kergothcladhaire: http://ace.pastebin.com/643383 is c3test.lua, my sanity checks to confirm it works
01:55.00cladhaireDAMN you for using lua 5.1
01:55.02cladhaireI have to go get it now.
01:55.34cladhaireTekkub: What do you mean your onupdates have function calls?
01:55.52TekkubI'm pulling one up since you didn't go look at it like I told ya to :P
01:56.11cladhairei JUST got home from work.. im lucky i'm not in bed
01:56.46kergothcladhaire: and http://ace.pastebin.com/643385 is c3time.lua, my rudamentary performance tests... be merciful, i'm new to performance testing with lua :)
01:57.15kergothi'll backport to 5.0 if it turns out we want it in ace
01:57.16Tekkubfunction PerfectRaidTargets:OnUpdate()
01:57.16Tekkubself.elapsed1 = self.elapsed1 + arg1
01:57.16Tekkubself.elapsed2 = self.elapsed2 + arg1
01:57.16Tekkubif self.elapsed1 > self.updaterate1 then self:Update1() end
01:57.16Tekkubif self.elapsed2 > self.updaterate2 then self:Update2() end
01:57.16Tekkubend
01:57.16Tekkubthat handles two diff update rates
01:57.16cladhaireTekkub: Yes, but that's after the throttle
01:57.20cladhaireIf you add a function call on top of that.. that's the problem
01:57.28Tekkubyes, that's the whole fucking point of the module I want to make
01:57.32kergothand finally, copy & paste of the result of c3time.lua:
01:57.35kergothBasic Class Lookups: 0.2μs, 0.23μs, 0.27μs, 0.3μs
01:57.35kergothBasic Class Lookups(subsequent): 0.2μs, 0.23μs, 0.27μs, 0.31μs
01:57.35kergothClass Lookups: 0.2μs, 0.2μs, 0.2μs, 0.2μs
01:57.35kergothClass Lookups(subsequent): 0.2μs, 0.2μs, 0.2μs, 0.2μs
01:57.43Tekkubto handle the frame and the throttle for the author
01:57.56Tekkuband recycle the frames to boot
01:58.20cladhaireTekkub: So your module would be passed a table with time and function pairings?
01:58.24hyperChipmunkcan you make something to handle the throttling OF the author?
01:58.36hyperChipmunkcuz, like, I'd use that
01:58.53Tekkubnot a table, probably just a few args... a function, an update rate, maybe a name to track multiple update frames
01:58.59cladhaireTekkub: Thats good.. and can simplify things for lots of people =)  Most of my OnUpdates are custom coded to avoid function calls-- but the case you're guarding for it perfect =)
01:59.03cladhaireTekkub: You have my blessing =)
01:59.15Tekkubself:RegisterOnUpdate(somefunc, updaterat, name)
01:59.21Tekkubthank you!
01:59.22Tekkub:)
01:59.42cladhaireHehe
01:59.46TekkubI mean, it's gonna be damn minimal, I just pasted the whole meat of the code there :)
01:59.57cladhairenot that you need it.. but I didn't want you to get too far on a busted concept =). not that I didn't have faith
02:00.04cladhairebut OnUpdates are a pet peeve of mine.
02:00.19TekkubI just need to write up a function to get a frame and attach the stuff you pass to it, then functions to show/hide
02:00.38TekkubI understand that completely
02:00.42cladhaireYeppers =)  code is simple
02:00.48cladhaireif you dont write it.. i'll have it done in an hour =)
02:00.53kergothcladhaire: you installing 5.1? i need to know if i'm going insane
02:00.55kergothhehe
02:01.11Tekkubbut with dynamic creation I've already tweaked all my updates to work like this, why not make a lil module to do it simply for the authors
02:01.12cladhairekergoth: I'm working on it.. you break my test environment =)
02:01.20cladhaireTekkub: Agreed
02:01.33Tekkuband it gives the added potential of frame recycling
02:01.40kergothcladhaire: just grab a luabinaries 5.1 build :)
02:01.48Tekkubeven tho unregisters will probably be rare
02:01.58Tekkubanyway I'll go write it up already :)
02:02.20Tekkubeven if no throttle rate is give is it okey to make that function call onupdate?
02:02.43Tekkubwait...
02:02.56TekkubI can just set it as the script handler if no rate is passed
02:03.18Tekkubbut then self won't get passed will it?
02:03.22Tekkub*ponder*
02:04.04Tekkub*shrug* I'll write it up, you can critique afterwards
02:05.26cladhairekergoth: Looking now
02:05.36kergothcool
02:06.02kergothresolution is straightforward, it just checks each of the classes in self.mro in turn for the key
02:06.12kergothmro is our defined method resolution order, the linearization
02:06.21Temkergoth: the hell is #variablename ?
02:07.04kergothTem, lua 5.1 length operator
02:07.15cladhairekergoth: getting an issue with std.math
02:07.16Temworks on strings, tables, ?
02:07.24kergothcladhaire, here, i'll pastebin the round function
02:07.32kergothTem, strings, tables, and anything else that defines the __len metamethod
02:08.20kergothcladhaire, http://ace.pastebin.com/643391
02:08.23cladhaireIf anyone has reasons for WoW to move to 5.1.. please let Iriel know.. we're looking for use cases to entice slouken =)
02:08.37kergothTem, BUT, you cant override __len on tables. it bypasses the metamethod for table and string types :((
02:08.55Temso it's only useful for usedata and liteuserdata?
02:08.56kergothcladhaire, the biggest change that could affect us is most likely the switch to an incremental garbage collector
02:09.00kergothcladhaire, we need numbers
02:09.38kergothTem, well, in 5.1 every type can have metamethods, even numbers and such, but i've not tried it on anything else
02:09.55Temwhat else is there?
02:09.59kergoththat said, __len works on userdata, and with newproxy you can create userdata (outside of wow, at least)
02:10.09kergothso you can create a proxy that even looks the right size
02:10.15kergothwhich is pretty cool
02:10.27Temproxy?
02:10.32kergothiteration isnt so clean though, since there still isnt an __pairs metamethod
02:10.41kergothTem, a table that proxies access to another, like to monitor accesses
02:10.42Temstill?
02:11.00TemI'm really surprized there isn't a __paris metamethod yet
02:11.05kergothme too
02:11.14kergothalso, ipairs doesnt appear to obey __len when doing its thing
02:11.22kergothi had to override it to get my proxy bits working
02:11.28TemI'm also surprized there isn't a __tobool yet either
02:12.16kergothhttp://ace.pastebin.com/643392 - proxy bits
02:13.53cladhairekergoth: there is an area in the profiling somewhere.. I'm pretty confident of that... but i'm looking
02:14.30kergothan area?
02:14.40cladhairenvm
02:14.42cladhairesmoking crack
02:14.46kergothi dunno, somethings weird, but i dunno what
02:14.50kergothcause those numbers cant be right
02:14.53kergothits nonsensical
02:14.59cladhairedon't average the numbers
02:15.02kergothhm?
02:15.05kergothi dont
02:15.09cladhairei just saw that
02:15.11cladhaireas i typed it =)
02:15.13kergothi take the median of the times executions
02:15.13kergothhehe
02:15.27kergoththe shift thing is to get the time up to a measurable amount
02:15.31kergothsince os.clock() sucks ass
02:15.47cladhaire*nod*
02:17.52kergothfyi, in 5.1, ipairs isnt its own iterator anymore
02:18.47cladhaireKergoth: I'd like to see you drop it down to 5.0 and see if we can expose anything else there.
02:19.09kergothwell, thatll take a little doing, as you can see, the actual linearization code makes use of ...
02:19.14kergothshouldnt be too difficult though
02:19.15cladhaire*nod*
02:19.22cladhaireI'm trying to go through it tho
02:20.16Tekkubclad, think I should embed an arg to pass to the onupdate func, like maybe self?
02:20.37Tekkubif this.elapsed >= this.rate then this.elapsed = 0; this.func(this.arg) end
02:20.58kergothcladhaire, :( i just wanted to see some real numbers so i could decide whether or not to use it in ace 2.0's object model
02:21.01kergothdang thing
02:21.34cladhaireTekkub: Make the args optional?  hrm
02:21.44Tekkubarg would be optional, yes
02:21.48cladhairekergoth: Hrm.. do you have a paper on the c3 linearization?
02:21.50Tekkuband probably just the one
02:21.59Tekkubto make it easy to pass a self
02:22.15Tekkubcause my onupdates usually involve a self
02:22.25kergothcladhaire, google for what i talk about in c3.lua
02:22.38kergothi mention the paper's title :P
02:22.39cladhairek.. didnt know if it was magically google-able.
02:22.43kergothits available on citeseer
02:22.52kergothwhich is the definitive academic paper site
02:22.56cladhaireyou even quoted.. but i am.. lazy tonight
02:22.56cladhaireaue
02:22.57cladhaireaye
02:23.01kergothhehe
02:26.29kergoththe c3 algo works fine, if thers a problem with those numbers its with the profiling code. all my tests confirm that its failing to linearize when it should fail and produces the right order the rest of the time
02:26.31kergothhmm
02:29.35cladhairehehe
02:29.43cladhairei'd look at the total time too of ALL cases
02:29.48cladhaireit tends to reveal a lot.
02:30.04cladhairenot that you're logic is flawed anywhere.. but raw is good
02:30.42kergothhave testlookup() and testmultilookup() do a total time of all the testit()s? os.clock() at entry adn exit of the lookup functions?
02:30.55kergothnotice my function naming sucks when i'm hammering out horrid testing code
02:30.57kergothhehe
02:31.35cladhairehehe
02:31.53cladhairekergoth: *nod* just add all the the total execution time.
02:32.49kergoththe c3 constructor is slow when doing multiple inheritence, but thats expected. i worked to ensure that c3.lua optimized the common case
02:32.56kergoth(single)
02:35.10*** part/#wowace Warol (n=Warol@adsl-75-5-43-183.dsl.emhril.sbcglobal.net)
02:37.30TemWTF!
02:37.49kergothBasic Class Lookups: 0.2μs, 0.24μs, 0.28μs, 0.32μs
02:37.49kergothBasic Class Lookups(subsequent): 0.2μs, 0.24μs, 0.28μs, 0.32μs
02:37.49kergothBasic Class Lookups(Total): 16.64s
02:37.49kergothClass Lookups: 0.21μs, 0.2μs, 0.2μs, 0.21μs
02:37.49kergothClass Lookups(subsequent): 0.2μs, 0.2μs, 0.2μs, 0.2μs
02:37.49kergothClass Lookups(Total): 13.01s
02:37.53kergothcladhaire, ..
02:38.08cladhairehahahaha
02:38.28cladhairemaybe lua is doing something peculiar?
02:38.43kergothat first i thought it wasnt actually doing the lookups properly, thats why i added the asserts on a.a, a.b, etc to c3test
02:38.45kergothbut those all pass
02:38.47cladhairei haven't had a chance to check your code, and the paper just isn't working with my brain at the moment.
02:38.52kergothso it is in fact traversing the inheritence chain
02:39.08kergothcladhaire, one thing, i use a shared metatable across all those classes
02:39.16kergothi think it might be smart enough to avoid some lookups in that case
02:39.25kergothi dunno
02:39.26cladhaire<PROTECTED>
02:39.34kergothmethinks its backport time
02:39.40kergothcause if i can repro those numbers in 5.0, i'm dancing a jig
02:39.45cladhairetry a less joined approach
02:39.54kergothelaborate?
02:39.59cladhaireI'm trying =)
02:40.52cladhairesomethign without shared metatables?
02:40.57cladhairelol
02:41.04cladhairethinking tonight is kinda difficult.
02:41.54cladhairei've been very useless tonight.  all i did was upset tekkub, and make your results even crazier =)
02:42.13Tekkub*sob*
02:42.18VanishIsn't upsetting Tekkub a fairly easy hing to do?
02:42.34Tekkubno worries, it's done time to reload and find all my typos, then test
02:42.50cladhairenot from me.. he likes him some cladhaire-abuse.
02:43.01VanishHehe
02:43.27cladhaireI had a chicken quesadilla tonight.  Even with fat free cheese its delicious.
02:43.30VanishWhen it coms to abuse he's not too picky... he likes it all
02:43.32TekkubI just ask that you look at the code BEFORE you start bitching about it :P
02:43.52VanishThat takes all of the fun out of it though
02:44.17cladhaireTekkub: It you expect me to bitch only in one place.. you should just give up now.
02:44.25Tekkubno typos? WTF?
02:44.38Tekkubsomething's wrong
02:46.05hyperChipmunkGRRRRRRRRRRRRRRRRR
02:46.23VanishHey! Stop kicking me in the stuff, man
02:49.30cladhairekergoth: You should post your implementation on the lua listserv
02:49.41cladhairei'd like to see what they have to say
02:50.16hyperChipmunkhttp://ace.pastebin.com/643423
02:50.41hyperChipmunkhow come this always shows POI's equal to 1, when the zone I'm entering has 5
02:52.46Tekkubwewt, eet werks
02:52.48hyperChipmunkand what other way would there be to detect the zone's actual # of POIs upon zone-in
02:53.22Tekkubhttp://ace.pastebin.com/643432
02:53.27Tekkubtear into it clad
02:54.01cladhaire*gasp* don;t use my embed version, use 1.3 as a basis, and get rid of the :Embed method.
02:54.08Tekkubhavn't tested the frame recycling, but it's basically a direct copy/paste from Compost so I bet it'll work fine :)
02:54.10cladhairerather, look at StickyFrames
02:54.26Tekkubnani?
02:54.30Tekkub*looks*
02:54.58cladhaireaah
02:55.01cladhaireyou'll need an embed method
02:55.07cladhaireor rather you should use one.
02:55.12cladhaireunless you change the model
02:56.17Tekkub*confused*
02:57.38Kaeltensorry was unannounced afk
02:57.49cladhaireI would suggest using a single OnUpdate on a single frame per namespace, and do some trickery to iterate the list of updates that are registered... but i'm not 100% positive on that one.  It would prevent the overhead of extra OnUpdate dispatches, as well as the extra frames
02:57.56cladhaireTekkub: What specifically confuses you?
02:58.11Tekkubwhat exactly the problem is in the first place :)
02:58.30cladhaireThe embed you use doesn't use Iriel's framework.. and it absolutely should
02:58.44cladhaire=)
02:58.52Tekkubwell I didn't even KNOW about iriel's framework so :P on you
02:59.00cladhairehaha
02:59.05cladhaireobviously you haven't looked at AceHook 1.3.1..
02:59.07cladhaireso shame on YOU
02:59.10Tekkubnow I have to searn it AND rewrite this and Compost it seems
02:59.15cladhairecause one should always be in tune with their hooks.
02:59.36TekkubI looked at whichever AceHooks is sitting on my computer :P
02:59.39cladhaireTekkub: StickyFrames is straight implementation of the framework
02:59.51cladhaireTekkub: SVN update my friend
03:00.11Tekkubmeh, for some reason I don't pull down SVN commits of the core Ace shit
03:00.25cladhaireTekkub: AceHook 1.3.1 uses a version that has worked well for me, given integration with Ace.. but you'll need AceModule to cooperate with you, or do it manually
03:00.42Tekkubon the rare occation I upload something to WoWI I don't want it breaking cause the SVN is more up to date than WoWI
03:00.56cladhaireaye.. but when i ask for beta testers, i need you bitchez.
03:01.03Tekkub:P
03:01.13cladhaireother than that.. looks solid.
03:01.17Tekkubmaybe I'll just abandon WoWI except for initial releases
03:01.33Tekkubcause I hate packaging updates and typing out notes
03:01.43cladhairehttp://svn.brokendreams.net/wow/AceHook/trunk/AceHook.lua
03:02.00TekkubJust put a big ol link to the SVN and big red "I'll never update the file here again MUAHAHAHAHA!"
03:02.03cladhairehilights and pitfalls for making an embedded library that also exists within ace
03:02.30Tekkubyea I have taken a great liking to the embeddedness of stuff like Compost :)
03:02.42cladhaireThe only embeds that work well with ace are those that use inheritance (using am embed method in this case) to give "self" the methods of the base class.
03:02.46TekkubI guess I should make it better :P
03:02.50hyperChipmunkanybody other than tekk and clad here ?
03:03.08cladhaireso I provide a AceHookLib:Embed() that takes a namespace, and a version, and runs AceHookLib:GetInstance(version):Embed(namespace)
03:03.48cladhaireYou also can't rely on ace:debug for debug messages, since it might not exist, so I created a private Debug method that doesn't get passed onto the embedding namespace
03:04.16cladhaireif object.debug then object.HookDebug = object.debug else object.HookDebug = self.HookDebug end
03:04.18cladhairein this case.
03:04.49Tekkubyea
03:04.55cladhaireI have to admit 100%, that I dont like the inheritance model we use in Ace.
03:05.09TekkubI've coded Compost as a totally not-ace library
03:05.24Tekkubyea I havn't even looked at it :)
03:05.42cladhaireUse StickyFrames as a base for Compost,
03:05.49cladhaireand AceHook as abase for AceOnUpdate
03:05.50cladhaireif you'd like
03:05.57Tekkubhonestly.... considering our kinda communal nature and Kael's lack of time...
03:06.12cladhairehttp://svn.brokendreams.net/wow/StickyFrames/trunk/StickyFrames.lua
03:06.13Tekkubmaybe Ace needs to start splitting into seperate embedables?
03:06.24cladhaire*shake* i wouldn't take that step next
03:06.28cladhaireI just k we need to begin work on 2.0
03:06.40cladhaireits all theory and personal preferencem when it comes down to it.
03:06.53Tekkub*shrug* nonetheless I think more work needs to get done on Ace core
03:07.13cladhaireTekkub: What do you want done with the 1.3.x core?
03:07.25Tekkuband AceTooltip and maybe even Compost need to get slipped into it
03:07.38hyperChipmunkyou don't have to prepend his nick; you're the only two talking!
03:07.38Tekkubthe Events module, mainly
03:07.49cladhaireAceHook is an example, where you really want self being passed in implicitly (using inheritance) instead of explicitly
03:07.49Tekkub(silence) chip
03:08.00cladhairecladhaire: I've been asked to work on AceEvent
03:08.09cladhairehyperChipmunk: If you want to do start work on it.. go ahead-- just use the svn
03:08.22hyperChipmunki r too nub
03:08.23cladhaireFritti: Cause I think we can work very well on it if we need to-- but i wont have time for a few weeks.
03:08.27Tekkubactually Kael was yammering about it earlier
03:08.42cladhaireotravi: *nod* There's a bunch that needs ot be done.. and he's fiicng the magical crash-wow bug we currently have
03:08.52hyperChipmunkstill learnin' lua, really
03:08.57Tekkubdawha?
03:09.09cladhaireElviso: I need to get my theories on modules, libraries, classes and such online somewhere
03:09.17cladhaireCodayus: So peopel can understand what I'm talking about.
03:09.18hyperChipmunk<PROTECTED>
03:09.22cladhaire=)
03:09.26Tekkubwhat crash bug?
03:09.40cladhaireIf you trigger an ACE event within an ACE event.. it .. hates itself or something.
03:09.52Tekkubhrm....
03:09.57Tekkubeenteresting
03:10.13Tekkub*creates infinate event loop*
03:10.16cladhaireTekkub: My solution is to build a delay queue while processing.. and spawn the events after the fact
03:10.23Tekkubshit there's a thought right there
03:10.24cladhairebut Kael will likely be fixing it for the 1.3.1 release
03:11.01Tekkubcan it track what function triggered an event?
03:11.07Tekkuband prevent an event loop
03:11.13cladhaireI'm not sure how the current system works
03:11.18cladhairebut it doesn't need to be that complicated
03:11.22Tekkubtrue
03:11.30TekkubI think it just iterates over a table
03:11.35cladhaireAnytime we're in the midst of processing an event (Which is just a queue).. any new events spawned are added to the queue.
03:11.43cladhairewell, to a seperate queue.
03:11.57Tekkubthat could work....
03:12.12cladhairehehe i know, that's why i decided its the best solution =)
03:12.23hyperChipmunkthat's actually very keen
03:12.36Tekkubso what, run an onupdate that just pulls an event out of the queue and processes it?
03:12.37hyperChipmunkpredictibility is good
03:12.50kergothhrm
03:12.52cladhaire*shake*
03:12.54hyperChipmunkHI KERGOTH
03:12.55cladhairegime a sec tekkub
03:12.55Tekkubtrigger event turns inte enqueueevent
03:12.57cladhairei'll code the change =)
03:12.59kergothi need to try to remember how this c3 code worked :D
03:13.09kergothsure works well, however that is
03:13.15cladhairein a naive solution at least
03:13.46hyperChipmunkhm
03:14.04Tekkubkerg, set up a SVN user for Shyva will you please?
03:14.17TekkubI'll relay password and how to change it later when he's on
03:14.32Tekkubsince it's such a PITA to catch you for a SVN pass :P
03:14.40hyperChipmunkactually, I really like the queued events thing; makes it nice and easy to log them and act on them after the fact
03:15.19hyperChipmunksay if your zoning-in events trigger before your POis for instance >8P
03:15.36TekkubI think you're confused
03:15.46hyperChipmunkno, just looking for a singular solution =p
03:16.13hyperChipmunkand trying my darndest to warp whatever topic is at hand to my problem
03:16.21hyperChipmunkcuz I'm ready to kick stuff
03:16.29Tekkubclad, it wouldn't behave this way for WoW-created events correct? cause the global args would get fucked if it did
03:16.51hyperChipmunkcan you poll the queue in an OnUpdate?
03:17.28Tekkubchip you're completely thinking of this the wrong way
03:17.41Tekkubthis is for custom triggered Ace events, not the wow events
03:17.47hyperChipmunkok I'll go sit in the corner and shut up then
03:18.05Tekkubyou could manage you own event queue probably
03:18.26Tekkubbut you'll need to store anything from arg1-arg9 as they'll get changed after the event is done
03:19.00hyperChipmunkall I want is something to trigger AFTER the zone loads
03:19.11Tekkubbut WHEN after?
03:19.17hyperChipmunkas soon as possible
03:19.46Tekkubwhat function are you calling that's not returning back valid data?
03:19.58hyperChipmunkGetNumMapLandmarks(0
03:20.00hyperChipmunkGetNumMapLandmarks()
03:20.15hyperChipmunkit still returns the previous zone's landmarks
03:20.34*** join/#wowace Jarentha1 (n=Roo@cpe-066-057-087-213.nc.res.rr.com)
03:20.38hyperChipmunkand that's the only way to tell if a battlefield is an node-based one
03:20.51Tekkub"Returns the number of landmarks on the current world map"
03:21.00Tekkubare you forcing a map change before you call?
03:21.22hyperChipmunkhm
03:21.34hyperChipmunkI think I may have to find out how to do that
03:21.36hyperChipmunkthanks man =)
03:21.39TekkubSetMapToCurrentZone() <-- try this first
03:22.18Tekkubthat was something I had to do in SpecialEventsMovement, set the map to the new zone on a zone change (big zone/region, not subzone)
03:22.20hyperChipmunkthat's not given, then?
03:22.26hyperChipmunkright
03:22.31hyperChipmunkI don't care about subzones
03:22.34Tekkubno it get set the first time you open the map usually
03:22.47hyperChipmunkI just want to know if the battlefield has objectives (i.e. av/ab style)
03:22.55Tekkubgo look at the map frame's code, it only updates the map when you open it
03:22.56hyperChipmunkI could hardcode those two battlefields
03:23.13hyperChipmunkbut that makes me hurt inside
03:23.21cladhairethat's a very simple, ugly solution-- it doesn't revamp the system at all.. just directs TriggerEvent() calls that happen during a dispatch to DelayedTrigger()
03:23.21cladhairehttp://ace.pastebin.com/643454
03:23.24hyperChipmunkthat's an excellent suggestion though =)
03:23.36hyperChipmunkthanks; I'll leave you two alone again
03:23.58Tekkub:)
03:24.11Tekkubclad, make it less ugly and just SVN the bitch up
03:24.19cladhairenah
03:24.27cladhairei dont make changes without the big man's approval
03:24.31cladhairei'll rewrite it tomorrow
03:24.32TekkubI've officially give up on "release versions"
03:24.33cladhairethe whole module
03:24.33cladhairelol
03:25.19cladhairewe use self.registry way too much.. Any registries that are static need to be locals, and referenced if necessary.
03:25.27cladhairebut i see why it sdone that way
03:25.29cladhaireagain, i'll play for it.
03:25.54cladhaires/for/with/
03:29.50*** join/#wowace Jarenthal (n=Roo@cpe-066-057-087-213.nc.res.rr.com)
03:33.05cladhaireTekkub: up for some wacky testing?
03:33.06cladhairehttp://ace.pastebin.com/643461
03:33.23cladhaireshould be 100% functionally equivalent to the current AceEvent, and handle queuing of triggered events.
03:33.27kergoththere, c3 works in 5.0
03:33.31kergothnot efficient yet, but..
03:33.33cladhaire*cheer*
03:33.41cladhairedon't optimize it yet
03:33.46cladhairedo your test pre-opt
03:33.51cladhaireso you have a baseline
03:34.31cladhairelemme alter that a bit tekkub
03:37.27cladhairehttp://ace.pastebin.com/643465
03:37.36cladhaireThats the real version
03:37.47cladhaireas in the code MIGHT work =)
03:38.14kergothcladhaire, yeah, testing now
03:38.48cladhairei want tekkub to test my code
03:39.56cladhairelyke NOW!
03:39.57kergothBasic Class Lookups: 0.31μs, 0.41μs, 0.41μs, 0.41μs
03:39.57kergothBasic Class Lookups(subsequent): 0.31μs, 0.41μs, 0.41μs, 0.41μs
03:39.57kergothBasic Class Lookups(total): 24.67s
03:39.57kergothClass Lookups: 0.31μs, 0.31μs, 0.31μs, 0.31μs
03:39.57kergothClass Lookups(subsequent): 0.31μs, 0.31μs, 0.31μs, 0.3μs
03:39.57kergothClass Lookups(total): 19.76s
03:39.57kergothlua 5.0.
03:39.57cladhairewow..l
03:39.57cladhaireyou need to post this..
03:39.57kergothso not only do we get a proper linearization for multiple inheritence, it now scales better
03:39.58cladhaireon the list i mean
03:39.58kergothhehe
03:39.58kergothhmm
03:39.58kergothcladhaire, i dunno if itll be seen as all that interesting
03:39.58cladhairei like your nickname.. its a nice soothing purple.
03:40.41cladhairekergoth: Is this still using a shared metatable?
03:40.41cladhairei'd like to see it without
03:40.41TemI don't like that system
03:40.41Temthe event queue system
03:40.41cladhaireTem: What system?
03:40.41cladhairewhats your proposal?
03:40.48Temthe problem is the args
03:40.53Temargs should be global
03:41.06Temor else you break blizzard events
03:41.28cladhairecan you trigger blizzard events from Ace:TriggerEvent
03:41.29cladhaire?
03:41.40cladhaireI thought it was only intended for "ACE_EVENT_BLAHBLAH"?
03:41.56Templease hold
03:41.59cladhairelol k
03:42.00TemI might be retarded
03:42.05kergothnope, it doesnt simulate bliz events, never did afaik
03:42.12kergothman
03:42.19kergothmy fileserver / svn server / mailserver / etc in mn is down
03:42.21TemI missed the discussion
03:42.21kergoth:'(
03:42.23Temthat's the point
03:42.28kergothoh, and webserver. kergoth.com is poof
03:42.29cladhaire*gasp* that sucks!
03:42.34Tems/that's/whats/
03:42.36kergothhard to fix it from here :P
03:42.45cladhaireTem: Yeah, this is just meant to prevent the current issue with crashing wow when triggering an event from within a dispatch
03:42.56kergothcladhaire, same performance with a seperate metatable and seperate function() end for each __index
03:42.56Temoh lol
03:43.01kergothso that isnt it
03:43.05Temyou can crash wow that way?
03:43.07cladhairekergoth: Hrm.. very odd then
03:43.11kergothquite
03:43.12cladhaireTem: Well, its an infinite loop =)
03:43.17Temthat's not a crash
03:43.27cladhaireMaybe not a crash then.. i never reproduced it.
03:43.30Temthat will just take 30-40 seconds
03:43.31cladhairebut it happens =)
03:43.39Temand cause lots of C-Stack Overflows
03:43.41kergothcladhaire, i'd expect this to scale better than __index inheritence in the long run, because its just a bunch of rawgets, doesnt have to get the mt of each
03:43.46kergothbut this is beyond my expectations...
03:43.49cladhaireeither way, its bad. i apoligize for labelling it as a "Crash", when in fact its not Tem-approved =)
03:43.50Tem7-20 depending on how many addons are installed
03:44.00cladhairekergoth: I agree.. its impressive
03:44.29kergothwell shit, i'm gonna merge this in with that class you pointed me to, and akclass, and test hte damn thing in wow
03:44.31Temcstack overflows ...
03:44.32kergothhehe
03:44.44Temamateur hour
03:44.52cladhaireTem: We do run into a problem if an ace addon relies on globals to pass anything, but I don't know if saving the global environment is worth it, but we can certainly do that, and then setfevn for the dispatch
03:44.57hyperChipmunkkergoth: whoa whoa, let's not do anything drastic here
03:45.10Temcladhaire: that would be silly
03:45.16cladhaireTem: would it?
03:45.17Temcladhaire: if they do that it's their own fault
03:45.22cladhaireTem:  Hahah
03:45.23cladhaire=)
03:45.26kergoth~whaleslap hyperChipmunk
03:45.27purlACTION beats hyperChipmunk upside and over the head with a freakishly huge killer whale named Hugh
03:45.30ckknightdown with the global environment!
03:45.39ckknightwait, what do you mean pass anything?
03:45.48cladhairehow cheap are getfenv and setfenv on the whole?  I understood they were pretty cheap
03:45.56*** join/#wowace Tain (n=tain@ip68-109-28-84.ri.ri.cox.net) [NETSPLIT VICTIM]
03:46.01Temanyway, as I was saying
03:46.07Temcstack overflows are amateur hour
03:46.13ckknightcladhaire, pretty cheap, all it's doing is changing the global table
03:46.17Temgotta get a real crash for it to count
03:46.35cladhaireckknight: If you rely on the global state when an event is triggered, and a delayed trigger will cause a problem for you-- this implementatino would break that.
03:46.46cladhaireTem: Not my bug report, so I'm not offended =)
03:46.55Temhehe
03:47.03cladhaireI'll find a crash someday =)
03:47.18TemI think I'll probably find one while I'm working on AceGUI
03:47.25cladhaireckknight: You use events more than most ace addons, so if you don't.. no one else does =)
03:47.54cladhaireTem: We could DEFINITELY save the global environment I feel and restore it for dispatch.. at least from my basic understanding of it.
03:47.57kergothstack overflows can occur whenever you have recursion, unless theres an explicit depth check, or you're doing tail recursion.  i wouldnt say its amateur hour.  functional programmers recurse all the time
03:48.01cladhairebut i agree.. we dont need to do that.
03:48.20cladhairekergoth: The problem is.. we all know what cause it.. and how to fix it =)
03:48.27Temkergoth: that's not what I meant at all
03:48.53cladhaireanyone have WOW open.. and not doing anything critical
03:48.54cladhaireplease?
03:48.57cladhaire=)
03:49.10Temkergoth: what I meant was causing a stack overflow and pronoucing proudly as I do sometimes, "I crash wow." is amateur hour.
03:49.17cladhairehahaha
03:49.33kergothahhh. hehe
03:49.49Tembut here's a fun one for you
03:50.06Temcall TargetLastTarget() in a PLAYER_TARGET_CHANGED handler
03:50.13hyperChipmunkohoho, there's my AB summon
03:50.19hyperChipmunknow for the moment of truth
03:50.24hyperChipmunkhehe Tem
03:50.26cladhaireTem: nice =)
03:50.34Temthat's a creative stack overflow
03:50.35hyperChipmunkbut it won't do it
03:50.35kergothsigh
03:50.47kergothmy server ran my addon set svn
03:50.47kergoththank god i use svk
03:50.51cladhaireTEKKUB
03:50.59cladhaireget yo bacon ass over here.,
03:51.03hyperChipmunklol
03:51.17kergothi have a local mirror with full history, and can resync back up when it returns
03:51.24hyperChipmunkYES IT WORKD
03:51.29ckknightcladhaire, but using a library or something won't affect it, right?
03:51.58cladhaireckknight: I'm not sure what you m
03:53.09Temean
03:53.16cladhaireckknight: The only issue is if you use Ace:TriggerEvent() within an ace addon, and don't pass it the args necessary for it to do its job-- i.e. you rely on specific data in the global environment.  Your event will be called immediately AFTER the current event
03:53.19cladhairewhoops.. logic error.. brb
03:53.45ckknightah
03:53.48ckknightlike arg1?
03:53.55ckknightor something?
03:54.20Temhonestly, I don't think even that will be an issue
03:54.37ckknightme either
03:54.42Temunless whatever code is triggered by the event changes the global
03:55.03cladhaireaye.
03:55.05Temeven if it's a global indicating some type of state, I still don't think it should be an issue
03:55.08cladhaireit has to pass the kergoth seal of approval.
03:55.28TemCairenn: you've been rather quiet today
03:55.31TemCairenn: what's up?
03:55.35cladhaire~lick Cairenn
03:55.37purlACTION licks Cairenn *SHLUUURRRRPPP*
03:56.05cladhairehahah no one caught that i put my code in EventHandler() which.. is only called for blizzard events.. my code.. was just fancy code with the same problem
03:56.12Cairennworried about my kiddo, spending most of my time with her right now, trying to help keep her distracted from the pain
03:56.31hyperChipmunkwhat, did she look at Tekkub?
03:56.47Cairennshe had her 4 wisdom teeth pulled last Friday
03:56.55hyperChipmunkah
03:57.02hyperChipmunkI never got around to doing that =P
03:57.07Cairennthe surgery didn't go .... easily ...
03:57.11kergoth:(
03:57.16hyperChipmunk>8(
03:57.23TekkubI'm glab I've not had to do nufin wif mah wizdom teef yet
03:57.26Cairennshe is *still* not going back to school
03:58.05Cairennshe still needs T1s to get any relief whatsoever from the pain, and even they aren't really doing it, but trying to get her off the T3s
03:58.35Cairennjust worried about my kiddo
03:58.38TemCairenn: she's still in pain?
03:58.43Cairennoh yeah
03:58.49TemCairenn: that's either not normal or I heal quickly
03:58.51Cairennshe still looks like a chipmunk, too
03:59.01hyperChipmunk>8D
03:59.03Cairennno offense hyperChipmunk
03:59.27Temnah, she doesn't look like a chipmunk
03:59.28Cairennanyway, that's why I'm quiet, tied up with her
03:59.35hyperChipmunknone taken! Chipmunks are naturally stylish
03:59.36Temshe looks like she's winning a game of chubby bunny
03:59.40Cairennlol
04:00.06Temand for me, that was mostly gone within a few days
04:00.32kergothi'm gonna have to rework c3 5.0 substantially to reduce gc pressure.  tables of tables, table copies..
04:00.34kergothhmm
04:02.04TekkubCair: teach her how to communicate in chitters
04:02.19Kaeltenkergoth: c3?
04:02.21Cairennlol
04:02.31kergothKaelten, method resolution algorithm for multiple inheritence
04:02.32Kaeltenhope she gets better soon.
04:02.35TemCairenn: get her some icecream and tell her I hope she feels better.  I remember that experience all too well
04:02.41Tekkubseriously, my cat's begun chittering at bidrs in the morning, he's a freak
04:02.51CairennTem: thanks
04:02.55kergothKaelten, the __index function i'm using appears to be faster than the case where the classes __Index just points at the parent class... it boggles the mind
04:03.31TekkubCair: get the ice cream and eat it in front of her, tell her she'll get some when she's better, then make sure you eat it all before she can
04:03.34ckknightpastebin, kergoth?
04:03.53TemTekkub: I think you're so screwed up it's become contageous to other things living near you.
04:04.02Tekkubbah
04:04.20kergothckknight, the only ones i have handy require 5.1.  working on the 5.0 code atm
04:04.28ckknighthrm
04:04.28Tekkubseriously look at chip and say that again
04:04.35ckknightcan I see the code anyway?
04:04.40ckknightI want to catch the gist
04:05.29kergothlook at the ace pastebin posts by me tonight
04:05.32kergothits all there
04:05.44ckknightokay
04:05.53kergothbase code, rudamentary unit test code, and rudamentary performance test code
04:06.15cladhaireWow.. unable to connect on wow.. thats a new one.
04:07.28ckknightI've gotten that
04:10.25Temhaha!
04:10.28TemI'm already in game
04:11.02Temcladhaire: the login servers seem to be taking their usual peak-hour shit
04:12.51cladhaire*nod*
04:14.10*** join/#wowace Wobin_ (n=wob@221.221.35.169)
04:15.20hyperChipmunkanyone know what time moonwolf normally logs in?
04:15.32Kaeltenkergoth, you got that password handy?
04:16.52cladhairehahaha
04:18.33Kaeltendamn talk about an annoying brute force.
04:19.10Tekkub*rawr*
04:19.47cladhaireIf you have something you LEGITIMATELY want me to look at for Ace, or something related to it.. toss it up on my discussion page: http://wiki.wowace.com/index.php/User_talk:Cladhaire
04:19.49kergothokay, added the __call metamethod to the c3 class to generate objects, now to split hte namespace like akclass, make the table usage more efficient, and call it done
04:20.01kergoth~emulate me
04:20.02purlForget
04:20.06kergoth:'(
04:20.17hyperChipmunk~me
04:20.19purlyou are, like, *chitterchitterchitterchitterchitterchitterchitterchitter*
04:20.25hyperChipmunk=D
04:20.49Kaelten~me
04:20.50purlhmm... kaelten is awsome
04:20.53hyperChipmunkO_o
04:20.54Kaeltenlol
04:21.04Tekkub~me
04:21.05purli heard tekkub is a furry pervert
04:21.08kergothpurl, no, emulate kergoth is <action> hmms. || <action> wields a mean spiked metal cluebat || <reply> Why don't you go away, and come back when you've got some clue? || <action> hacks on OZ, OE, bitbake, and other projects.
04:21.09purlkergoth: okay
04:21.09Tekkub:)
04:21.14kergoththats a start
04:21.36Kaelten~emulate kergoth
04:21.38purlACTION wields a mean spiked metal cluebat
04:22.02kergothpurl, no, emulate kergoth is <action> hmms. || <action> wields a mean spiked metal cluebat || <reply> Why don't you go away, and come back when you've got some clue? || <action> hacks on OZ, OE, bitbake, and other projects. || <reply> Hmm... I know I was supposed to be doing something.  I wonder what it was.
04:22.03purlokay, kergoth
04:22.04Tem~me
04:22.05purlI wonder what Tem is breaking now...
04:22.16TemTem is breaking his own code
04:22.19hyperChipmunkhehe
04:22.19kergoth~me
04:22.21purlwell, kergoth is Chris Larson, an open source developer, often in the embedded Linux arena.  Currently working for Computer Sciences Corporation in Scottsdale, AZ.  Contact at kergoth@handhelds.org  Core dev / architect on the BitBake, OpenZaurus, and OpenEmbedded projects.  Maintainer of hte tslib project.  Often the resident BOFH, an often an ass.  Newbies and ...
04:22.28kergothdoenst fit :(
04:22.38ckknightle sigh
04:22.56kergothckknight, you find that code?
04:23.30kergothhehe, i sure seem to do this alot.. picking up a specific task and implementing it like 47 different ways, eventually finding the optimal one
04:23.36kergothdid that with the table traversal stuff too
04:24.11cladhaire<-- bed times.. k k k ?
04:24.22cladhairei'll be writing a new AceEvent this weekend, for those who are curious
04:24.27kergothexcellent
04:24.33cladhairewell
04:24.34cladhairei'll try
04:24.37cladhairei make no promises.
04:24.47kergothif i have the time, i'll finish this up and start on the global stub
04:24.53cladhairebut.. its 0.17% the work of AceHook.. so I should be able to get it out.
04:25.01kergothwith the gf here, having not seen her in 4 months, not making any promises on touching the computer at all :P
04:25.03cladhairekergoth: Sexellent!
04:25.07cladhaire=)
04:25.11TainI'm going to try to go to work tomorrow.
04:25.11hyperactiveZzzzzbtw, tekkub, if you didn't hear: that solution worked perfectly, and allowed me to eliminate an entire event function + 8-10 lines of other code
04:25.14cladhaireshe's a saint for giving you to us as much as she has
04:25.22hyperactiveZzzzzso thanks a bunch; I owe you one
04:25.24cladhaireTain: A noble effort my friend.
04:25.43kergothindeed.  though i've been trying to get work done on actual work stuff while working on this class stuff.  and i wonder why i cant concentrate. jesus. do i have enough distractions or what
04:25.49kergothirc, tv, multiple bits of code
04:26.18TainI got my new PC up and running.  Still software to install of course, but the bulk of it is done.
04:26.43TainBut I have to get up for work in 6 hours and I just don't want to do it.  Damnit.
04:27.33kergothi predict i'll be taking http://www.curse-gaming.com/mod.php?addid=2235 and enhancing it and making it an ace 2.0 module
04:28.10Tekkubgood chip
04:38.29Wobin_yarf
04:47.45Tem(that was directed at the other channel
04:47.49Wobin_Yeah
04:47.49Tem)
04:47.53Wobin_I know how you feel =P
04:48.30Wobin_He has a... difficulty in identifying opinion vs insult =P
04:48.51TemI don't really care what his problem is.
04:48.56Temthis isn't the first time he's pissed me off
04:49.02Wobin_He's an arse =P
04:49.05clad|sleepI agree
04:49.07TemI can't stand him
04:49.17clad|sleepKergoth: come back so I can go to bed.
04:49.20clad|sleep=(
04:49.26clad|sleeps/(/)/
04:49.30Wobin_kergoth`bbl: Clad wants you in his bed!
04:49.37clad|sleep... duh?
04:49.44Wobin_=)
04:50.00Temsomething tells me clad|sleep hasn't seen the picture kergoth posted of himself
04:50.25clad|sleep*lick*
04:50.36clad|sleepits hanging in a 14x10 picture above my bed
04:51.08clad|sleepnext to my drawring of what I think Tem looks like in a bathing suit
04:51.09clad|sleep*wink*
04:51.39clad|sleep~crickets
04:51.57clad|sleep~botsnack
04:51.57purlthanks, clad|sleep
04:52.08clad|sleepOk, I spent 13 hours at work today, then came home and coded with you chuckle-heads all night long.  I'm exhausted (hence the insanity).  So adieu
04:52.12Tekkubpurl needs a proper response to ~fuck you
04:52.28Temheh, night cladhaire
04:52.28Tekkubbut purl won't accept certain words in the reply
04:52.36Tem~fuck you
04:52.37purlWhat, no dinner or a movie? What do you take me for? Cheap?
04:52.53TemTekkub: what would you put in it's place?
04:53.06TekkubNo fuck YOU!
04:53.15TemNo, fuck YOU!
04:53.21Tekkubat least as one of the randoms
04:53.42Temoh it's a random?
04:53.44Tem~fuck you
04:53.46purlOh, tem, Any time, big boy.
04:54.13Tem~fuck you
04:54.14purlOh, tem, Any time, big boy.
04:54.25Tem~literalinfo fuck you
04:54.27Wobin_Tem's getting lucky tonight =P
04:54.38TemTem is going to bed soon
04:54.52Tem~literal fuck you
04:54.53purl"fuck you" is "<reply> (Oh, $nick, Any time, big boy.|What, no dinner or a movie? What do you take me for? Cheap?|I've heard better pick up lines from a goat with Aspergers.|I have a headache)"
04:55.05Wobin_no Fuck YOU
04:55.21Wobin_oh that's right... I never put it in =P
04:55.22*** join/#wowace Jarenthal (n=Roo@cpe-066-057-087-213.nc.res.rr.com)
04:55.24CodayusYay for login server issues.  We can only get 3 warriors online for MC.  :-/
04:55.34Wobin_Shouldn't be a problem then Cody!
04:55.37CodayusYay for druid tanks...
04:55.51Temyeah, you only need 3 except for domo
04:56.05Temdruids can probably pull of domo's adds as well
04:56.11Temnever tried though
04:56.31CodayusWell, we're using a resto druid who says he's never really tanked before on core hounds.  This could be fun.
04:57.33Wobin_hehe
04:57.48Wobin_mark7777g
04:57.48Wobin_PeriodicTable Dependancy Where do I get PeriodicTable and What is it? Can you possibly include it in the download?
04:57.48Kaeltenok smart events dont' seem to give me any beneift on a reloadui
04:57.51Kaeltenis that expected?
04:58.04Wobin_That comment is directly -after-: wobin
04:58.05Wobin_Periodic Table A more frequently updated link for PT would be http://www.wowinterface.com/downloads/fileinfo.php...
04:58.24KaeltenI guess its not quite the same thign as zoning
04:58.26Wobin_Oh Curse Gaming users, how typical you can be
04:58.43CodayusDomo won't be an issue for a while yet.  We're new enough to MC we don't even have 8 people with the rep, never mind with the quest done.
05:00.01*** join/#wowace Jarenthal (n=Roo@cpe-066-057-087-213.nc.res.rr.com)
05:00.41TemCodayus: hehe
05:01.11TemCodayus: we progressed so fast when we go to Domo, we didn't have enough people with the quest to summon him for the first 2 weeks
05:01.31Tem(first 2 weeks of his "avialability"
05:01.47Tems/y"/y")/
05:02.36KaeltenSmarEvents is saving my light char about .5 a s ec on load time
05:03.07Wobin_the hell?
05:03.10*** join/#wowace Jarenthal (n=Roo@cpe-066-057-087-213.nc.res.rr.com)
05:03.12CodayusWe're on our 2nd MC raid.  :-)  And...wiped to a dog pack.  New tank lost target.  Doh.
05:03.17Wobin_Curse gaming does not allow links in the description text?
05:03.25Wobin_And considers it HTML
05:03.31Wobin_??
05:04.36Temthere is more than one reason I don't use curse anymore
05:04.53Wobin_oh wait
05:05.02Wobin_no, it just doesn't tell you it updates anything
05:05.06CodayusAnd 30 people wasn't enough to recover.  Ah well.  :-/
05:05.11Wobin_which is stupid
05:07.42KaeltenTem: I updated my whitelist so it uses a table lookup and it appears that it saved about 10% of my main's load time
05:07.49Kaeltenhe has about 50 ace addons running.
05:07.59Temcool
05:08.18Kaeltenbut anyway, I'm off to bed.
05:08.29Temthe real problem for me is not Ace addons
05:08.38Temlater man
05:08.46Temnight Cairenn|sleep
05:09.15Kaeltennight cair
05:09.23Cairenn|sleepnight guys
05:13.48*** join/#wowace Ratbert_CP (n=KCummins@c-24-130-132-88.hsd1.ca.comcast.net)
05:13.53*** join/#wowace Jarenthal (n=Roo@cpe-066-057-087-213.nc.res.rr.com)
05:14.44CodayusOops, the resto druid lost connection halfway through the 2nd time.  Rogue tanks ftw?
05:15.01CodayusOh well, 29 people is enough for luci.
05:22.36Codayusyay, using a druid to tank one of lucis guards.  *cry*
05:31.19Tem|Foodoh
05:31.21Tem|Foodmy
05:31.21Tem|Foodgod
05:31.32CodayusYay, we got luci.
05:31.41*** join/#wowace Arokh (i=DvdKhl@p508A6443.dip.t-dialin.net)
05:31.41Tem|Foodhttp://wow.pastebin.com/643526
05:31.44Tem|Foodbrowse that
05:31.58Tem|Food(It gets called on every BAG_UPDATE event
05:31.59CodayusNewb warrior tank kept losing aggro, but the feral druid tanked well.  I've seen more deaths with 40 people...
05:31.59Wobin_Mira's?
05:32.09Tem|FoodWobin_: yeah
05:32.15Wobin_Well he did say he didn't write the original function
05:32.25Tem|FoodWobin_: I looked up ShardTracker to see when it would be called
05:32.35Tem|Foodand it gets called every fucking BAG_UPDATE
05:32.42Wobin_ow
05:32.50Wobin_That's... hello pain
05:32.52Tem|Foodthere is a needlessly created table
05:32.58Tem|Food2 really
05:33.12Tem|Foodand he scans a tooltip
05:33.14Tem|FoodEVERY TIME
05:33.31Tem|Foodbetter make that 3 uneeded tables
05:33.45Tem|Foodbecause the tooltip scan dumps the contents of the tooltip into a table
05:34.50Tem|Foodjust for fun, turn on FireShow and tell it to only show you BAG_UPDATE events
05:35.05Wobin_Oh, trust me, I know about bag_update
05:35.12Tem|Foodthen start moving shit around
05:35.23Tem|Foodthat's just fucking stupid
05:35.28Wobin_I've deliberately got ArmchairAlchemist ignoring any bagupdate on zoning or even MrPlow sorting
05:35.53Wobin_(ignoring = deregistering)
05:36.30CodayusOkay, lost two hunters.  Mag with one tranq shot....hmmm.  Could be fun.
05:37.07Wobin_Y'know Tem... the tooltip scanning is entirely unecessary
05:37.42Wobin_Surely GetContainerItemCooldown would work?
05:53.08*** part/#wowace Ratbert_CP (n=KCummins@c-24-130-132-88.hsd1.ca.comcast.net)
05:57.29CodayusThe things you learn late at night on TS.  Really gruff grouchy raid leader who's constantly barking at people...used to do puppet shows for kids, and has a wide repitoire of silly voices.  oO
05:58.06Wobin_"Oh no, Punch!" "Oh yes! Judy!" "Oh no!" "Oh yes!"
06:02.31Tekkuberf... I think I'm gonna completely rewrite Compost to use Iriel's embedded design, huzzah
06:03.09Wobin_Where's this design?
06:03.11TekkubI will do my best to maintain backwards compatability, but you've been warned.... if anyone but my even uses it
06:03.22Tekkubhttp://www.iriel.org/wow/addondev/embedlibrary1.html
06:06.52Wobin_You're doing it already to a certain extent, aren't you?
06:07.03Tekkubyea kinda
06:07.15Tekkubthis is much more in depth and robust, I like it
06:07.23Wobin_Just not to the degree in Iriels =)
06:07.28Tekkubit'll maintain multiple major versions as well
06:08.04Tekkubso yea, if you're using Compost you may want to put a hold on it for the moment :)
06:08.10Wobin_k
06:08.30TekkubI mean, there's a whole 3 methods it should be easy to maintain compatability
06:08.33Wobin_I won't be using it until I've figured out a bit more on gui
06:08.44Tekkubbut don't get too Compost happy till I've got this new shit in :)
06:08.54Wobin_The more shit, the better the compost =P
06:09.04Tekkub:)
06:09.26Tekkubyou know...
06:09.46TekkubI think I'm gonna write up a little GC frequency/qty meter
06:09.59Wobin_AceGCInfo?
06:10.25Tekkubcompare numbers with compost enabled and disabled (I made it very easy to disable compost and have the old functionality work if you didn't notice :)
06:10.45Tekkubno more detailed than AceGCInfo...
06:11.02Tekkubgive frequecy of the GC and the average amount freed
06:11.43Tekkuband I guess an overall average memory consumption rate
06:21.14otravioO
06:44.10*** join/#wowace [MoonWolf] (n=MoonWolf@a80-127-128-193.adsl.xs4all.nl)
06:44.10*** mode/#wowace [+o [MoonWolf]] by ChanServ
07:25.11*** join/#wowace id` (n=tom@tor/session/x-0fd1cc570d54d158)
07:25.34*** join/#wowace Norque (n=Mickachu@081.a.001.dub.iprimus.net.au)
07:36.56Wobin_If you haven't seen The Brothers Tauren, I highly recommend you do =) http://video.google.com/videoplay?docid=9215047663627675265&q=tauren&pl=true
07:45.49*** join/#wowace Norque (n=Mickachu@203.134.90.81)
08:57.26Tekkubgod I feel like a fool
08:57.37Tekkubsend email job app, forget to attach resume
09:05.20Wobin_I've done that sometimes with some webapplicaitons
09:06.00Tekkubso two ponderances on my OnUpdate manager library....
09:06.24Wobin_~ponder
09:06.26purlWuh, I think so, wobin_, but if we didn't have ears, we'd look like weasels.
09:06.33Tekkubone, embedding?  I don't think it's worth the hastle since the only calls would be register and start/stop
09:06.48Wobin_What will your OnUpdate manager library do?
09:07.03Tekkubtwo, manage multiple frames or just iterate over a table of functions each update?
09:07.26Tekkubit'll let you register for something to get called at a certain frequency
09:07.38Tekkublike a normal OnUpdate with a throttle rate
09:07.46Tekkubbut you won't have to manage all that
09:07.46Wobin_Like every second or something?
09:07.56Tekkubyea if you set it for 1 second
09:08.03Wobin_A shorter term than using Timex
09:08.43Tekkublike in PRT I'm gonna update the target list (requires scanning every raid unit's target and comparing to know targets) every .25 sec whereas the frame updates for targets will be every .05 sec
09:08.50Tekkubyes
09:09.09Wobin_Although, embedding does mean that if more than one person uses it, it'll save memoryspace
09:09.15Tekkubthe aim is to provide the shortterm repeating calls that timex causes too much overhead for
09:09.27Tekkubwell not really
09:09.39Tekkubembedding only gives them faster access to the methods
09:10.00Tekkubwhich they SHOULDN"T be calling very often
09:10.01Wobin_Ah, I see what you mean
09:10.23Tekkuband they could always store a local pointer to the library and make calls that way if they choose
09:10.27Wobin_I got confused between embedding and libraries
09:10.47Tekkubyea fuck embedding, the author can embed a pointer to the library if they want one
09:11.03Tekkubembedding is what AceEvents does
09:11.08Tekkubor AceHooks
09:11.15Wobin_self:RegisterEvent()
09:11.27TekkubAceHooks is a better example, it's tables are stored in the addon it's embedded into
09:11.51Wobin_Well, essentially you'll be doing something similar to AceEvents
09:12.00Wobin_in that the addon registers to be notified
09:12.05Tekkubbut yea, if the author wants the speed of self:Blah() they can go the route of...
09:12.29Wobin_(PS, call your addon Metronome =))
09:12.36Wobin_s/addon/library/
09:12.38Tekkubself.OnUpdateLib = OnUpdateLib ... self.OnUpdateLib:RegisterOnUpdate(......)
09:12.51Tekkuboh thank you, a good mane
09:12.58Tekkubname*
09:13.21Tekkubrighto, now on to dilema two...
09:13.26Wobin_Okay, in regards to your second ponderance
09:13.45Wobin_You're asking if the library should do more managing, or if the addon should?
09:13.56Tekkuba frame for every function registered and recycle them when unregistered or a single frame for the whole thing and iterrate over a table every update?
09:14.19Wobin_What are the advantages of the first?
09:14.29Wobin_It seems more intensive, processingwise
09:14.30Tekkubwell the thought of a frame per func is that it'd be easy to enable/disable just by show/hide
09:14.49Tekkubbut it'll take more memory, a frame for each func
09:15.09Tekkubtable would be a single frame, but you got memory for each table in the table
09:15.25Wobin_Wouldn't it be easier for the addon to register/deregister, rather than using enable/disable?
09:15.34Tekkuband you'd have to iterate over it, which prolly isn't much diff than a bunch of frames hitting an onupdate
09:15.56Wobin_Essentially it's the same thing
09:16.18Tekkubyea but is there any real advantage to one system over the other?
09:17.01Wobin_Can you see the number of frames increasing to a point where the memoryload for the first method would be prohibitive?
09:17.30Tekkubwell in most cases it's prolly gonna be one func/frame for each addon that registers
09:17.44Tekkubthere might be rarer cases like PRT that'll register more than one
09:18.20Tem|FoodWobin_: I know this is WAY late, but I wasn't meaning that the tooltip scanning was unessasary, but it was done poorly and too often
09:18.24Wobin_The first method seems the same as the second in the second stage, just a bit easier with the interface...
09:18.36Wobin_Tem: Oh I understand fully
09:18.43TekkubTem! opinion
09:18.47Temuh oh
09:18.52TekkubOnUpdate manager....
09:18.52Temwhatcha got?
09:19.03TemTekkub: I'm not sure that's such a good idea
09:19.06Wobin_Tem: Considering the amount of damn bag_updates, scanning the tooltips every single time would be... dumb
09:19.21Tekkubmultiple frames with seperate OnUpdate scripts or one farme with a table that's looped over?
09:19.24Wobin_Tem: Which is why I suggested he use the function instead, if he had to do the checking
09:19.46TekkubI'm not asking your opinion on the premise of the library
09:19.49Wobin_Tem: Although I'm sure that whole function could be better rewritten
09:19.51TemTekkub: I'm no expert on the cost of a function call, but such a manger would introduce at minmum one extra function call
09:19.58TekkubI'm asking which approach you think is better
09:20.23Tekkubokey, first off I've discussed shit with clad already about that
09:20.39Tekkubsecond, no it won't, at least not how I'm already handling onupdates
09:20.51TekkubI just want to centralize managing the onupdates
09:21.07TekkubI keep doing the exact same shit in every mod I use an onupdate in
09:21.18Temyeah, I understand that
09:21.47TemI just don't completely understand how much overhead a system like that would add to something that's so sensative to screwups
09:21.59Tekkubso which is worse, looping over a table or creating a bunch of frames with their own onupdates....
09:22.17Temin theory, I think a bunch of frames would be faster
09:22.24Tembut would use more memory
09:22.31Tekkubhrm....
09:22.42Temeither way a loop is going on
09:22.47Tekkubyea I know
09:22.51Temit's just is the loop happening in C land or in lua land
09:23.00Temit's a safe bet that C is faster
09:23.07Tekkuband which is worse... C land or LUA land....
09:23.18Tekkubso your vote is for frames
09:23.23Temfor n OnUpdates running you have n extra frames
09:23.37Wobin_hm
09:23.54Temwhich will increase your memory use by n tables and n userdata objects
09:23.55Tekkubas opposed to n table value compares
09:23.59Wobin_I would say if one method were 'faster' you should go for it, especially since it's for a timing program
09:24.24Tekkubwell inside the loop the logic will be the same....
09:24.39Wobin_Just the interface on the outside
09:24.58Tekkubyea.. which is better, n frames or looping thru a table full of n tables
09:25.31TemI think my vote is for the frames
09:25.38Tekkubokey
09:25.44Temfor 2 reasons
09:25.48TekkubI'll discuss some more with clad tamara
09:25.56TekkubI got the frame stuff written up already
09:26.02Wobin_I don't know enough about the differences in efficiency between frames and tables to offer an opinion
09:26.30TemWobin_: neither do I really, I'm just giving a good guess
09:26.37Tekkubyea
09:26.49Tekkuband honestly I'm not exactly sure how to test it
09:27.01TemTekkub: I think the only person who really understands it -- maybe -- would be Iriel
09:27.14TekkubI know how to test the timing of the algy that'll get called each update, but that's the same in both
09:27.31TekkubI CAN measure the table loop, but not the frame loops...
09:28.05TemTekkub: I think you can
09:28.18Temput 2 frames updating
09:28.20Tekkubhow?
09:28.31Temif you listen I'm about to explain it
09:28.38Tem=P
09:28.40Tekkubtype faster
09:28.47Wobin_hehe
09:29.23Tekkuboh come on alreay!
09:29.27Tekkub*already
09:29.34Temat each update, have both frames spit out something
09:30.14Temwhen you look at the time closely enough, you should see a pattern
09:30.26Temtwo events followed by a pause
09:30.35Temthen another two events
09:31.04Temso then you have 2 data sets to consider
09:31.12Tekkubhrm...
09:31.14Tem1) the time between the "close" events
09:31.22Tekkubugh... this is making my brain hurt ><
09:31.25Tem2) the time between the two events and the next set
09:31.51TemThe first being how long it takes your system to move from one frame's OnUpdate to the next
09:32.04Temand the second being how long the system takes between updates
09:32.36Temthe first is the only one that should change, but the second may change as a result of the first
09:32.42Wobin_You could essentially run the two methods in parallel, with timing output and see if one has any appreciable speed difference
09:33.29Tembut make sure to take into account the ammount of time it takes to call the output function
09:33.53Temit would probably be better to benchmark it before the tests so that you don't have to measure that too
09:34.07Tekkubbut that won't matter as the functions inside the laap/frames would be identical
09:34.23TekkubI need some concreate way to time the frames
09:34.40Tekkubbut since I cannot isolate them I don't see a way I can time them accuratly
09:34.46Wobin_(OT: Is Compost on SVN?)
09:34.53Temnot sure
09:35.02TekkubI have no clue what other frame's onupdates the system is calling, or in what order
09:35.13TemTekkub: it doesn't matter
09:35.20TekkubI can encase a table loop in time/gc calls and measure that easily
09:35.38TekkubWob, yes the PT commit has the latest version
09:35.47Wobin_It doesn't specifically have to be OnUpdate... since you're the one doing the calling...
09:38.03TemTekkub: I was thinking about Compost, and I was wondering....
09:38.16TemTekkub: are you keeping a pool of unused table objects?
09:39.01TemTekkub: What I'm getting at is: Is whatever data structure that's holding those table references weak?
09:40.05TekkubI hate to sound like a dick... but did you try reading my code before you asked that?
09:40.31Temnight folks
09:40.33Tekkubheh
09:40.43TekkubI'll take that as a no :P
09:41.08Tekkub(If you read the first few lines of the library you'd have your answer)
09:42.20Tekkub15 lines of code is all ya gotta read!
09:42.29TekkubSo Wob, what's up?
09:42.52Wobin_Bank sorting!
09:43.02Tekkuboh fun
09:43.25Wobin_Not a problem really... just have to reference different bags with the same functions =)
09:43.33Tekkubyea
09:43.51Wobin_And eyeing MASH with trepidation =P
09:44.15Tekkuboro?+
09:45.13Wobin_I've got the basic framework down
09:45.31Wobin_I just have to put some sort of graphical interface to it
10:09.47Tekkubframes are fun! (now that I don't have to fuck with XML)
10:10.22Wobin_Isn't it about the same though? =P
10:10.30Wobin_Maybe I'll wait til AceGUI gets more
10:17.31[Ammo]the new lua constructed frames are perfect
10:33.01Wobin_Actually I'm not sure what sort of GUI I'm going to put up
10:33.14Wobin_Should it just be the same as NeedyList?
10:34.36Wobin_Can anyone think of a better layout?
11:08.39*** part/#wowace Norque (n=Mickachu@203.134.90.81)
11:23.59Tekkubblargh
11:40.54[Ammo]yay all the buttons in my Necronomicon are working
11:57.19Tekkubglayven someone finally hackported EngInv to EngBank
12:08.55Wobin_glayven?
12:36.33[MoonWolf]Tekkub, can you register multisets into pt ?
12:38.52Tekkubno, there's no reason to
13:11.28[Ammo]has anyone played with getting information from GameTooltip's defined only in lua?
13:11.44[Ammo]or do I still have to give it a name
13:11.47[Ammo]and use the globals
13:11.47[Ammo]meh
13:16.12[Ammo]I now have to use: local text = getglobal(self.frames.tooltip:GetName().."TextLeft1"):GetText()
13:16.22[Ammo]I think
13:47.29[Ammo]arg, need inheritance meh bah
13:49.36[Ammo]when using an action button with an instacast spell no SPELLCAST_START gets fired
13:49.49[Ammo]so I have to parse the tooltip of the button to find out which spell is being cast
13:50.09[Ammo]but I can't create a frame that inherits blizz's gametooltiptemplate
13:50.17[Ammo]I think
14:22.09hyperactiveZzzzzbam!
14:23.12otravi*gasps*
14:24.28hyperChipmunkrun now while you still can
14:24.54otraviI can't, purl stole my legs :(
14:26.06Wobin_~run
14:26.07purlACTION runs round the world
14:29.25otravihaha, I just "fell of the chair :p
14:29.40otravilike cable around leg while wakling ^^
14:29.59otravitodays entertainment!
14:30.34hyperChipmunk=x
14:41.07hyperChipmunkhi God
14:41.17hyperChipmunkhave that report for me yet?
14:41.19GodHello little munk
14:41.29GodIt's in the mail, along with the cheque
14:41.36hyperChipmunkexcellent
14:44.43*** join/#wowace ag` (n=Andreas@0x50c4844b.adsl-fixed.tele.dk)
14:57.33hyperChipmunk!date
14:57.37hyperChipmunkoops
15:14.23*** join/#wowace purl (i=ibot@pdpc/supporter/active/TimRiker/bot/apt)
15:14.23*** topic/#wowace is wowace.com | ace.pastebin.com | New official WowAce Channel (beware of the Bear)
15:16.09ckknightso should I have left center and right placement?
15:16.24hyperChipmunkooh
15:16.39ckknightMazzlefizz asked for it
15:17.56*** join/#wowace [MoonWolf] (i=moonwolf@f176182.upc-f.chello.nl)
15:17.56*** mode/#wowace [+o [MoonWolf]] by ChanServ
15:17.58hyperChipmunksounds liek a swell idea
15:17.59TainI had thought about putting in a request for that a long time ago, but I thought about it and realized I wouldn't actually use it.  So I didn't.
15:18.04TainIt is a good idea though
15:18.18ckknighthrm
15:18.49TainI do try to temper, somewhat, suggestions for the sake of being able to do something with suggestions that I think I'd actually use.
15:19.15ckknightyea
15:19.23ckknightthat's why I didn't put in Autohide for a while
15:19.29ckknightit seems so pointless for a bar that gives nfo
15:19.33ckknightinfo*
15:19.41ckknightbut people kept asking for it
15:21.25TainI never understood it either, but if people want it ehn what can you do.
15:22.06ckknightI could be a dick and just ignore it
15:22.11ckknightbut I don't want to be like that
15:22.56Wobin_I guess it's a balance of what's easy to implement and what seems not worth the time to code
15:24.05ckknightwhat do you think about if the plugins start to overlap, automatically create a new bar and place the infringing buttons on that?
15:24.50hyperChipmunkthat's the best option, really
15:25.02hyperChipmunkso at least you can click the hidden ones to turn them off
15:25.05hyperChipmunkhmm
15:25.18hyperChipmunkyou should have autocreated bars auto-disappear if they're emptied
15:25.31hyperChipmunkit should just be a temporary holding place
15:25.55hyperChipmunkls
15:26.01hyperChipmunkdoh
15:28.28otraviIt's not your day today?
15:30.52[MoonWolf]trust me , irc is not a *nix shell
15:31.04ckknightunless...
15:34.08Tain~ls
15:34.10purlbash: ls: permission denied
15:34.35otravi:p
15:34.49ckknightgoddammit, why is WoW down?
15:34.57ckknighttransferring to a new location?
15:34.57otravinot in EU :D
15:35.12ckknight?
15:37.08*** join/#wowace Tem (n=Tem@ip70-177-40-169.br.br.cox.net)
15:37.08*** mode/#wowace [+o Tem] by ChanServ
15:38.00Wobin_some are
15:38.07Wobin_transferring to the new hardware
15:43.49ckknighthere's a feature request, what do you think about it; "What about adding an options to hide zoom in and out buttons on minimap and the ability to zoom with mousewheel instead?"
15:44.32ckknightdoesn't have anything to do with the location plugin, but it is a handy feature
15:46.22*** join/#wowace id` (i=debian-t@tor/session/x-a7ee6e28d8d13dd6)
15:47.24hyperChipmunkwould allow me to delete an AddOn folder
15:49.15ckknightI use MapScroll
15:49.39ckknight*sigh* my realm is down for 24 hours
15:50.02id`:P
15:50.36ckknightwhat?
15:50.44ckknightthis'll just obselete yours
15:50.51id`what'll ?
15:51.06ckknightif I add minimap scrolling to the location plugin
15:51.17id`what location plugin
15:51.33ckknightLocationFu
15:51.44id`ckknight, if its for your bar addon then its not a good thing
15:51.54ckknightprobably not
15:51.59ckknightdoesn't seem to fit right
15:52.03ckknightthat's why I didn't do it earlier
15:52.07ckknightbut someone asked for it
15:52.20id`In my honest opinion, the interface should be split out in small parts. each part does its own thing.
15:52.35id`you dont want one thing to do everything
15:52.40id`youll end up with something like emacs
15:52.42id`*twitch*
15:52.46ckknightyea
15:52.51ckknightthat thing's a beast
15:53.18id`a bar addon is handy for showing you lots of information in little space
15:53.32id`like a bunnon that unfolds into a menu. great..
15:54.02id`but it should be the front end for something else, if its going to configure stuff. not include all the functionality itself
15:54.09id`imho
15:54.11id`:p
15:55.11id`coolest thing would be if you have an addon that uses slash commands to configure it, to have a front end that uses the same functions being used to set/unset stuff as the slash commands do
15:55.36id`so you have two addons 'talking' to eachother
15:56.18id`hey you there? -> yea -> ill enable this in the menu. set this. -> ok i set it/no theres something wrong -> response
15:56.38id`meh, </rant>
15:57.43ckknightI don't see that happening quite yet
15:58.15ckknightbut yes, eventually I want to split up a lot of things
15:58.29id`That will only happen if you do it together (the addon authors)
15:58.46ckknightThe location plugin specifically
15:58.57id`what does it do?
15:59.04ckknightand I also want to take out the Utils in FuBar and make that its own addon
15:59.09ckknightum, it does more than a bar should
15:59.19id`heh ^^
15:59.20ckknightwell, actually, only one more thing
15:59.21id`lus is so fun
15:59.22id`:p
15:59.23id`lua*
15:59.36id`im poking at keplerproject.org
15:59.40ckknightit can show an overlay on the world map, showing instances and levels
16:00.02id`ah k
16:00.15ckknightso I want to lob that out
16:01.24id`:p
16:01.32id`right um, MORE CAFFEINE
16:17.33*** join/#wowace darth_mall (n=evan@zero.navi.cx)
16:19.37*** join/#wowace Shyva (n=n0time@sd511586e.adsl.wanadoo.nl)
16:24.17id`morn Cairenn
16:24.21Cairennhey id`
16:24.42id`oo oo, anime watch time!
16:24.53id`finish gundam seed desinty \o/
16:28.00*** join/#wowace Ratbert_CP (n=KCummins@proxy-ce3.disney.com)
16:29.24*** join/#wowace Tem_ (n=Tem@ip70-177-40-169.br.br.cox.net)
16:29.24*** mode/#wowace [+o Tem_] by ChanServ
16:37.43hyperChipmunkhey, boss?
16:37.48ckknightnow someone wants me to add map notes to LocationFu
16:37.52hyperChipmunklol
16:37.53ckknighthey
16:38.24hyperChipmunkany chance we can get FuBarUtils color constants for the user's horde and alliance colors?
16:38.40hyperChipmunkyou have some basic color
16:38.40ckknightthat'd make sense
16:38.52ckknightI want to add a whole bunch of stuff to the Utils
16:39.01ckknightspecifically a shitload of Localization stuff
16:39.19ckknightbut sure, the Horde/Alliance colors dealy would be cool to add
16:39.27hyperChipmunkwell, if you could add those, it'd save me a ton of redundant code
16:39.29ckknightyou thinking the standard colors or the ones the user defines?
16:39.43hyperChipmunkwell, if the user doesn't define
16:39.47ckknightsure, that's something I'm willing to do
16:39.49hyperChipmunkthen they're standard already
16:40.17hyperChipmunkso if the user wants to define nonstandard, I figure, may as well do what he says =P
16:40.39hyperChipmunkso just go with the user colors, which in 99% of cases will likely be the default ones
16:40.41ckknightyou already have that code, right?
16:41.43hyperChipmunksorta; I wrote my own and I'm now finding it inferior to the utils stuff
16:41.49hyperChipmunkbut the values you want are:
16:42.10hyperChipmunkChatTypeInfo["BG_SYSTEM_ALLIANCE"] and the same for BG_SYSTEM_HORDE
16:42.39hyperChipmunkand r,g, and b are table entries
16:43.00hyperChipmunke.g. ChatTypeInfo["BG_SYSTEM_ALLIANCE"].r = the red value of the alliance color
16:43.40ckknightI really need to split the utils into its own adodn
16:43.41ckknightaddon*
16:44.02hyperChipmunkactually, I can poke in fubarutils and replicate one of yours if you're busy
16:44.09hyperChipmunkI'll just pastebin the final function
16:44.44ckknightokay
16:45.00hyperChipmunkhttp://ace.pastebin.com/644368 is what i have now
16:45.25hyperChipmunkgimme a moment, and I'll make the appropriate FuBarUtils-type functions
16:48.00ckknightokay, for my Utils library, should I keep it in a table or put the functions mostly as globals/
16:48.02ckknight?\
16:49.35hyperChipmunkI don't know enough about the benefits of either to make an educated response to that question
16:51.16*** join/#wowace Tem (n=Tem@ip70-177-40-169.br.br.cox.net)
16:51.16*** mode/#wowace [+o Tem] by ChanServ
16:52.13hyperChipmunkhm
16:52.38hyperChipmunksecond thought, you better make the decision on how to implement user colors; I didn't realize you only had constants
16:53.16hyperChipmunkthough hm
16:53.17ckknightyea...
16:53.32hyperChipmunkthe thing is, they're not really constants
16:54.11hyperChipmunkbut ideally, you'd want to be able to use e.g. COLOR_HEX_HORDE just like you'd use, say, COLOR_HEX_ORANGE
16:54.59hyperChipmunkpeh, you should just make it default and say 'screw it' =P
16:55.09hyperChipmunkusers suck anyhow
16:55.12hyperChipmunkwho cares what they think
16:55.15ckknightlol
16:56.46hyperChipmunkactually
16:57.25hyperChipmunkprobably be better off in the long run if you're going with the idea of a more useful FuBarUtils to make a ColorToHex function anyway
16:57.49hyperChipmunkcuz that's the real crux of the issue
16:58.09hyperChipmunkbeing able to put those stupid 3-member tables in a format function
16:58.51hyperChipmunkif I could just stick a translation function in there, there wouldn't be need for anything
17:00.17hyperChipmunke.g. format("cff%s%s|r", FuBarUtils:ColorToHex(ChatTypeInfo["BG_SYSTEM_ALLIANCE"]), text)
17:01.23ckknightisn't there already a color to hex deal in there?
17:01.43hyperChipmunkyou could even make a ChatColorToHex which would just take "BG_SYSTEM_ALLIANCE" as the arg
17:01.50hyperChipmunkI just searched the wowwiki
17:01.55hyperChipmunknothin' there
17:02.28hyperChipmunkthe word 'color' only shows up like 5 times
17:03.03hyperChipmunkfor changing chat colors and getting the RGB value for item quality color
17:05.01ckknightalright, I figured out a great way to do Bosslib
17:05.05ckknightshould I call it that?
17:05.08ckknightwith the Boss and all
17:05.39hyperChipmunklol
17:05.42Wobin_KnightLib?
17:05.54Wobin_It's a library, call it what you want, I say =)
17:06.04Wobin_Since 'users' will be coders
17:06.15hyperChipmunkchipperLib
17:06.18Wobin_And hopefully able to distinguish =P
17:06.30hyperChipmunkI like KnightLib =)
17:06.36ckknightI'm thinking KnightLib would be cool
17:06.40Wobin_hehe
17:06.59hyperChipmunkyea, wob, that was a real original one
17:07.09hyperChipmunkmad props to you
17:07.19ckknightI'm a Knight, so you get to suck it :-P
17:07.24Wobin_I do not necessarily offer originality, merely ... opportunities not always seen =P
17:07.32hyperChipmunk<PROTECTED>
17:07.35hyperChipmunknobody saw that one
17:07.46Wobin_ChipperLib *cough*
17:07.53hyperChipmunknow THAT'S a name
17:23.01ckknightreally, I just want my handy bunch of functions and not have to have FuBar installed
17:25.10hyperChipmunkso have FuBar require KnightLib, and include KnighLib as part of the fubar package
17:25.23Wobin_well not really 'require'
17:25.27Wobin_Just have it in the code
17:25.37ckknightit'd be embedded
17:25.37Wobin_(embedded)
17:25.47hyperChipmunkright
17:25.56ckknightso most people won't notice
17:25.56Wobin_nobody outside of those coding will know it exists
17:26.33Wobin_hrm
17:26.46Wobin_Should I extend ArmchairAlchemist to Engineering recipes?
17:26.59ckknightcould be cool
17:27.00hyperChipmunkno
17:27.13hyperChipmunk99% of engineering recipes require you to be engineer anyway
17:27.16Wobin_It's a bit more... cliquiesh, engineering =)
17:27.17Wobin_yeah
17:27.23hyperChipmunkonly thing it'd be used for is bullets
17:27.27Wobin_Or scopes
17:27.28hyperChipmunkand discombobulator rays
17:27.40hyperChipmunkstill not enough to justify it
17:27.46Wobin_I don't think there are enough to... ya =)
17:27.56hyperChipmunksince scopes are only needed when you get a new ranged weapon
17:28.14hyperChipmunkwhich is maybe 10 times in the lifetime of a character, spread out over a reasonable period of time
17:29.26hyperChipmunknow if you made something for engineers that would allow them to click on the component buttons in the bottom-half of the tradeskill frame to switch to the creation of that reagent, you'd be a God
17:30.06ckknightwhen used not to describe God as a proper noun, e.g. "a god", it's lowercase
17:30.11hyperChipmunkadd forward/back history arrows and you'd need to carry around a pole to fend off your adoring fans
17:30.14hyperChipmunkyea, I know
17:30.20hyperChipmunktypo
17:30.28hyperChipmunkhe was God earlier
17:30.37*** join/#wowace kergoth (i=kergoth@rikers.org)
17:30.44Wobin_Only briefly so I could ankletap Shouryuu
17:30.57kergothckknight: you or clad figure out why that c3 stuff was performing as well as it was? i did. stupid, stupid simple thing
17:31.14kergothinteresting of course, but unsurprising
17:31.23Wobin_It usually is =)
17:31.38hyperChipmunkyou're a moron?
17:31.48hyperChipmunkthat's what it usually is, for me
17:32.12hyperChipmunki'll be all like, hey, wow, this doesn't seem right
17:32.20hyperChipmunkand then I'll remember, "oh, yea. I'm a moron"
17:32.35kergothyes, it was a forehead slapping moment
17:33.22ckknightkergoth, what is it?
17:37.56kergothwait, damnit, that explains some of the performance, but not all of it :)
17:38.06hyperChipmunkmoonwolf around?
17:38.16kergothckknight: my test case for single inheritence was benefiting from c3's __index memoizing the values
17:38.26kergothso the first lookup was slow, but the new 999999 were smoking fast
17:38.29kergothhehe
17:38.33kergoths/new/next/
17:39.07Wobin_<PROTECTED>
17:39.10kergothits because i called it as class({b}) instead of class(b) (the latter "optimized" to a table __index, which removed the memoize)
17:39.30hyperChipmunkoh em geez what a dunce
17:39.50kergothWobin_: ace's classes do this
17:40.15kergothin the a -> b -> c -> d case
17:40.21kergothif d defines what we want
17:40.38kergothit checks them in that order, getting each metatable and checking the table in __index
17:40.52kergothwhen you memoize, as soon as it finds the method in d, it caches that in c, then in b, then in a
17:40.59kergothso that subsequent lookups find d's method locally in a
17:41.09kergothjust the first lookup you pay function overhead
17:41.40kergoth0.35us instead of 0.25us, roughly
17:41.43kergothfor the first lookup
17:45.53hyperChipmunkboss, did you change the unable to load plugin to be a completely silent fail?
17:47.57ckknightno, it fucks up the whole thing
17:47.59ckknightneed to fix that
17:48.44hyperChipmunkno, I mean, I've obviously got an error in my plugin, but fubar doesn't even load at all when my plugin is enabled
17:48.56hyperChipmunkno errors in fubar, no plugin errors, nuthin
17:49.05ckknightodd
17:49.07hyperChipmunkmaking it rather difficult to debug, as you might imagine =)
17:49.16ckknightyes...
17:49.28ckknightset it to not load on demand temporarily
17:49.34hyperChipmunkk
17:49.39hyperChipmunkmy plugin?
17:50.21[MoonWolf]hyperChipmunk, im here now,.
17:50.28hyperChipmunkey dude
17:50.41ckknightyea
17:50.44hyperChipmunkXRaid is yours, right?
17:50.47hyperChipmunkckknight: no dif
17:50.49[MoonWolf]I was watching battlestar.
17:50.52hyperChipmunk=D
17:51.12hyperChipmunkckknight: or do I have to restart wow completely after a toc change like that
17:51.13[MoonWolf]nope, xraid is not mine.
17:51.22otraviMoonsorrow != MoonWolf
17:51.27hyperChipmunkyou hosers
17:51.40hyperChipmunkchange your names
17:51.58[MoonWolf]I have had this one for 3 years now.
17:51.59[MoonWolf]i like it.
17:52.00hyperChipmunkdoes moonsorrow lurk in here?
17:52.23[MoonWolf]<PROTECTED>
17:52.28hyperChipmunk=(
17:52.55ckknighthyperChipmunk restart for toc change
17:53.02*** join/#wowace Tem_ (n=Tem@ip70-177-40-169.br.br.cox.net)
17:53.02*** mode/#wowace [+o Tem_] by ChanServ
17:53.09[MoonWolf]morning tem
17:53.19hyperChipmunkk, restarting X =P brb
17:54.22hyperChipmunkwell, if I wanted to contribute a bar texture for XRaid, how might I go about doing that?
17:54.51otraviPost in the topic :D
17:55.13hyperChipmunkkay
17:58.52hyperChipmunkckknight: well, fubar loads, but still no error messages =\
17:59.01hyperChipmunkguess I debug by eye =P
17:59.52kergothckknight: there were two things going on
18:00.03ckknightok
18:00.05kergothckknight: first, the single inheritence case optimization wasnt working correctly
18:00.23kergothsecond, memozing makes the numbers misleading, because i have to do the lookup 1000000 times to get a measurable result
18:00.35ckknighthrm
18:00.58kergothso that initial larger lookup time is made unnoticable due to the lack of accuracy at that level
18:01.19Wobin_hrn
18:01.27Wobin_I wonder if facboy has access to the SVN
18:01.31hyperChipmunkbah, messageboards don't allow .tga posts
18:01.38hyperChipmunker, attachments
18:02.51[MoonWolf]zip it.
18:02.56hyperChipmunkyea
18:03.07hyperChipmunkbut now I gotta make a separate png for the preview =)
18:03.29[MoonWolf]browers dont view tga anyway.
18:04.06hyperChipmunkgood point
18:04.16hyperChipmunki still have to zip it!
18:04.23ckknightwhat other localized strings would be handy?
18:04.34hyperChipmunkwow should support png =\
18:04.48ckknightI have classes "Warlock" <-> "WARLOCK" and zones "The Barrens" <-> "BARRENS" now
18:05.32hyperChipmunkooh
18:05.48hyperChipmunkthat works through localization, too?
18:06.13ckknight"Hexenmeister" <-> "WARLOCK"
18:06.28Wobin_=)
18:06.28hyperChipmunkoh, that's one way to do it =)
18:06.32ckknight"Das Brachland" <-> "BARRENS"
18:06.41hyperChipmunkI was concerned about multi-case languages
18:06.51hyperChipmunkbut if you normalize to english, that solves that =P
18:06.58ckknightyea
18:08.00ckknightcan someone point me to a page that describes AceUtils?
18:08.11ckknighthyperChipmunk, what other localizations would be handy?
18:08.20ckknightI'm thinking Spells maybe
18:08.55ckknightjrjr
18:08.58ckknighthehe*
18:09.19hyperChipmunkspells would be a beastly task
18:09.28hyperChipmunkyour translators might revolt
18:10.06hyperChipmunkunless you could access them directly from the database
18:10.16hyperChipmunkand had the right databases
18:10.40ckknighti can get the info from blizzard
18:10.55ckknightleast I hope so
18:11.10Wobin_for spell translations?
18:11.14Wobin_There is one way
18:11.18Wobin_but it's time consuming
18:11.29Wobin_head to www.wowguru.com
18:11.30hyperChipmunkyou could trawl thottbot =)
18:11.41Wobin_as much as I dislike zeeg, his site does have all the translations
18:13.27ckknightI'm sure I can crawl this somehow
18:15.12hyperChipmunkha, I figured otu my problem
18:15.24ckknightwhat was it?
18:15.38hyperChipmunkthere was another error blocking it from appearing for some reason
18:15.50hyperChipmunkI disabled the addon that had that error and it shone through =P
18:16.10hyperChipmunkaha, forgot a ()
18:16.29ckknightlol
18:16.39hyperChipmunktwice =P
18:17.00hyperChipmunkvim autocomplete doesn't include them, for obvious reasons
18:17.46otraviautocomplete + me = errors most of the times :<
18:18.02hyperChipmunkhehe, i just hit Ctrl-P and go
18:18.54hyperChipmunkthe best command in all of wow
18:18.57hyperChipmunk<PROTECTED>
18:19.22otravi/ /batfu
18:19.35otraviif you want to write /s without a space in irssi :p
18:19.57hyperChipmunkhow do you do that?
18:20.03hyperChipmunkoh
18:20.07hyperChipmunk/test
18:20.09hyperChipmunkgotch
18:20.15hyperChipmunkbut that's two characters instead of 1
18:20.24otraviYes, but it looks better :p
18:20.31hyperChipmunkfine
18:20.35hyperChipmunkanyway, as I was saying!
18:21.05hyperChipmunkI can just imagine a military commander in the heat of battle yelling, "Batfu, report!"
18:21.14ckknightno you can't
18:21.26hyperChipmunkand it cracks me up everytime
18:21.35hyperChipmunkyes I can
18:21.49otraviprove it!
18:22.02ckknightyea, you don't have the willpower
18:22.19hyperChipmunkI use "report" as my request for the state of the battlefield in AB all the time
18:22.57hyperChipmunkit's not much of a stretch to add an imaginary "Batfu" character, to whom I'm addressing the command
18:23.35ckknightif I do local func
18:23.40ckknightthen function func() end
18:23.44ckknightit'll be local, right?
18:24.10Wobin_not local function func() end ?
18:24.26ckknightno
18:24.34ckknighthas to be a different place
18:24.35Wobin_I'm not sure tbh
18:24.48ckknightgonna check with the old lua interpreter
18:26.01ckknightyea, it works
18:26.08Wobin_Yeah
18:26.19Wobin_I think cause they're first class functions that it'll work that way
18:26.36Wobin_er values
18:30.52[MoonWolf]Okay i have stripped all of the functions out of mendeleev now and converted the nameing to ExoticMaterial.
18:31.02[MoonWolf]Time to svn this baby up.
18:31.24hyperChipmunkdoes it show vendor prices?
18:31.28Wobin_er
18:31.29Wobin_aha
18:31.30Wobin_The statement
18:31.30Wobin_<PROTECTED>
18:31.30Wobin_translates to
18:31.30Wobin_<PROTECTED>
18:31.41Wobin_So since it's defined local, it stays that way =)
18:31.42[MoonWolf]both work
18:31.51Wobin_Yeah, syntactic sugar =)
18:32.44[MoonWolf]I prefer Function Object:function() notation.
18:33.00Wobin_yeah, same
18:33.15Wobin_and in actual regards to ckknight's question:
18:33.15Wobin_The statement
18:33.15Wobin_<PROTECTED>
18:33.15Wobin_translates to
18:33.15Wobin_<PROTECTED>
18:33.24ckknightah, okay
18:33.27ckknightfigured
18:33.38ckknightwow, I'm totally just stealing Iriel's shared library code
18:33.39ckknightit's really nice
18:33.41[MoonWolf]actually lua is the language with the most variations to create a functions ever.
18:33.43Wobin_I know!
18:33.46ckknighthttp://www.iriel.org/wow/addondev/embedlibrary4.html
18:33.46Wobin_Isn't it? =)
18:33.50ckknightyea
18:33.59ckknightI'll have to give him mad props
18:34.11[MoonWolf]why did the blizzard downloader start on me.....
18:34.34hyperChipmunkto hax0r ur b0x0r
18:34.45ckknightit's boxen, dumbass
18:34.51hyperChipmunkboxen is plural
18:34.54ckknightah
18:34.58ckknightmaybe he has two
18:35.15hyperChipmunkmaybe, but he didn't indicate more than one
18:35.23hyperChipmunkjust one blizzard downloader
18:35.24otravi[MoonWolf]: new DL thing that blizz inlcuded
18:35.48hyperChipmunkhe didn't say, "holy crap, why are all these blizzard downloaders start on all my boxen!?"
18:36.11[MoonWolf]ah, its gone again
18:36.19[MoonWolf]i know what it is... but it caught me by suprise.
18:36.35[MoonWolf]i was half expecting it to start downloading 1.10.1
18:37.10otraviThe stop it from starting function doesn't work tho'
18:37.16[MoonWolf]i hope scam gets cia in here soon.
18:37.21Wobin_PS keyrings in 1.11 yay
18:37.28hyperChipmunk>8O
18:37.30[MoonWolf]link
18:37.34ckknightPS keyrings?
18:37.43Wobin_in WoW
18:37.43hyperChipmunkPS: keyrings
18:37.46[MoonWolf]Piece of Shit keyrings.....
18:37.47Wobin_to store your keys =P
18:37.47hyperChipmunkone item slot
18:37.49hyperChipmunkall your keys
18:37.54otraviAAAAAH
18:37.58hyperChipmunkor 0 item slots, depending on implementation
18:38.08[MoonWolf]i assume 1 item slot
18:38.12hyperChipmunkeq was 0
18:38.16otraviThen I don't have to cary around my bag of keys!
18:38.17hyperChipmunkit was part of your character data
18:38.23Wobin_http://forums.worldofwarcraft.com/thread.aspx?fn=wow-general&t=7787923&p=1&tmp=1#post7787923
18:38.23otraviEQ is very strange
18:38.24hyperChipmunk/keys
18:38.32hyperChipmunkand it showed all your keys
18:38.56hyperChipmunkah
18:39.01hyperChipmunkit's a little sub-item
18:39.10[MoonWolf]i like the idea
18:39.28hyperChipmunker, sub-container item
18:39.56hyperChipmunkso you still have to carry it around
18:40.03Wobin_That's fine
18:40.10Elvisockknight: I'm looking at the tga's for FuBar.....it's only the background.tga that's used for the background, right?
18:40.15hyperChipmunkso the only real difference is it elminates a bank swap
18:40.21ElvisoI can't make the others out well enough to tell
18:40.34Wobin_saves room in your bank as well
18:40.38hyperChipmunkyea
18:40.47hyperChipmunkk, point taken
18:41.04hyperChipmunkit's worth it for that alone
18:41.20kergothheh
18:41.21hyperChipmunkcuz bag space is so precious in wow
18:41.37kergothi think i'm gonna add support for clock_gettime and some other posix realtime extensions to the lua posix lib
18:41.44kergothwill really make profiling easier
18:42.15[MoonWolf]seggin root, 250 dkp
18:42.21hyperChipmunkbam
18:43.28[MoonWolf]can someone link me to the fake item creator ?
18:43.39[MoonWolf]i need to create a small example for you to look at.
18:43.44Wobin_That's kremonte's isn't it?
18:43.54hyperChipmunkdoesn't it cause you to get logged off now?
18:45.43hyperChipmunkhttp://www.curse-gaming.com/mod.php?addid=3307
18:45.57hyperChipmunkoh, item creator
18:47.12[MoonWolf]http://wow.blupp.net/index.php <- its not really all that good and stuff but it shows my general idea
18:47.15[MoonWolf]oops
18:47.22[MoonWolf]http://wow.blupp.net/item.php?id=213308
18:47.24[MoonWolf]that item.
18:47.50[MoonWolf]what do you think of that look ?
18:48.07[MoonWolf](actual dkp value would be on the far right, and it would be coloured)
18:49.03[MoonWolf]anybody home ?
18:49.25Wobin_I can't load it =(
18:49.33[MoonWolf]why not ?
18:49.41Wobin_TGFWoC I expect
18:50.05[MoonWolf]:(
18:50.16hyperChipmunk=P
18:50.27hyperChipmunklooks fine
18:50.27Wobin_help help I'm being opressed =P
18:50.31[MoonWolf]leave comments on a highlite of my name.
18:50.35[MoonWolf]Wobin_, hehe
18:50.38hyperChipmunkhehehe
18:50.54hyperChipmunkdkp is evil and capitalist
18:54.32ckknightwhat's wrong with Capitalism?
18:54.57hyperChipmunkhe cant' load the page because he's in China
18:55.07*** join/#wowace darth_mall (n=evan@zero.navi.cx)
18:55.19hyperChipmunkso I guess you ought to ask the Chinese Government
18:55.50hyperChipmunkTGFWoC = The Great FireWall of China
18:56.00hyperChipmunkI presume
18:56.25otravihaha
18:57.53ckknightWobin_, you're in China?
18:58.05Wobin_Yep =)
18:58.11Wobin_Currently in Beijing
18:58.19ckknightooh
18:58.20ckknightfun
18:58.31hyperChipmunkyea, fun was the OTHER word I was thinking of
18:58.34Wobin_hehe
18:58.53Wobin_You have to forgive hyperChipmunk. He doesn't always think of more than one word at a time =P
18:59.13otravi1+1 equals ?
18:59.23hyperChipmunk? = 2
18:59.25Wobin_~1+1
18:59.27purlmethinks 1+1 is 3 for large values of 1
18:59.27otravi:o
18:59.34otravihaha
18:59.43otravi~good
18:59.44purlsomebody said good was an adjective
18:59.44ckknight~2+2
18:59.46purl4
18:59.55hyperChipmunk~cos PI/2
18:59.56ckknight~2^5
18:59.59purl7
19:00.05ckknightit's 32, dumbass
19:00.05otravi~test
19:00.07purlTest Passed!
19:00.10otraviyay
19:00.11ckknight~2**5
19:00.13purl32
19:00.16ckknightalright
19:00.23ckknight~2**64
19:00.24purl18446744073709551616
19:00.28ckknight~2**128
19:00.30purla number with quite a few digits...
19:00.33Wobin_hehe
19:00.34otravi:p
19:00.36ckknightdick.
19:00.45ckknight~2**65
19:00.47purl36893488147419103232
19:00.51ckknighthrm
19:00.54ckknight~2**100
19:00.56purla number with quite a few digits...
19:00.57Elvisockknight: I'm looking at the tga's for FuBar.....it's only the background.tga that's used for the background, right?
19:01.00ckknightah, screw it
19:01.06hyperChipmunk~cos(PI/4)
19:01.09ckknightright, Elviso
19:01.14Wobin_~2**65 + 2**65
19:01.16purl73786976294838206464
19:01.26otravi~1+PI
19:01.31hyperChipmunk~pi
19:01.33purl[pi] 3.141592653589793238462643383279502884197169399375105820974944592307816406286208998628034825342117067982148086513282306647093844609550582231725359408128481117450284102701938521105559644622948954930381964428810975665933446128475648233786783165271201909145648566923460348610454326648213393607260249141273724587006606315588174881520920962829254091
19:01.33Wobin_~PI
19:01.35purlwell, pi is 3.141592653589793238462643383279502884197169399375105820974944592307816406286208998628034825342117067982148086513282306647093844609550582231725359408128481117450284102701938521105559644622948954930381964428810975665933446128475648233786783165271201909145648566923460348610454326648213393607260249141273724587006606315588174881520920962829254091
19:01.36hyperChipmunklol
19:01.36otravi:<
19:01.41ckknight~1+pi
19:01.43purl4.14159265
19:01.50ckknight~cos(pi)
19:02.08Wobin_~cosine
19:02.14Wobin_~cos
19:02.15purlAsk me about scientology
19:02.18hyperChipmunklol
19:02.19Wobin_hehe
19:02.19hyperChipmunkrofl
19:02.20Tain~cosplay
19:02.23Wobin_~scientology
19:02.24purli heard scientology is a mental disorder :)
19:02.29otravi:o
19:02.29Wobin_So true =P
19:02.31hyperChipmunklol
19:02.39Wobin_~sin
19:02.49kergoth~answer
19:02.51purl42
19:02.55Wobin_Naturally
19:02.56kergoth~botsnack
19:02.56purlaw, gee, kergoth
19:02.56hyperChipmunkgood purl
19:03.00Wobin_~question
19:03.01purlWhat do you get if you multiply six by nine?
19:03.01otravi~spam
19:03.03purlACTION sings, Spam, Spam, Spam, Spam, Spam, Wonderfull spam!
19:03.07kergothhehe
19:05.07Wobin_I wonder how easy a dynamic bag system like EngInv would be to redo with the new dynamic frame stuff
19:05.35hyperChipmunki was gonna take a crack at it after fubar release
19:05.51hyperChipmunkbut i'm rather nub
19:06.25*** join/#wowace Tem___ (n=Tem@ip70-177-40-169.br.br.cox.net)
19:06.29kergothbest way to learn. pick up a real project
19:06.30hyperChipmunkbut that addOn MUST be maintained
19:06.43hyperChipmunkfor the good of all mankind
19:06.58hyperChipmunkso I figured I'd better do it, since nobody else seemed to be
19:07.08Elviso~meaningoflife
19:07.09Wobin_which addon?
19:07.14otraviEngInv
19:07.15hyperChipmunkEngInventory
19:07.19Wobin_ah yeah =)
19:09.43kergothhyperChipmunk: make a dead simple core that uses PT to manage sets, then we can drop on an enginventoory style ui for it, or an invsort style ui
19:10.34hyperChipmunk"I know kung fu"
19:11.09ckknightalright
19:11.21ckknightlocal lib = KnightLib:GetInstance("0.1")
19:11.32Wobin_yeah, it's always the damn ui that throws me =P
19:11.51Wobin_I've got a sorting thing going with PT atm with MrPlow...
19:16.33Wobin_I'm definitely heading to sleep
19:16.37Wobin_night all =)
19:16.47hyperChipmunknighto wobo
19:17.01kergothckknight: knightlib?
19:20.58ckknightyea
19:21.14ckknightbasically I wanted to separate FuBarUtils out of FuBar
19:24.44kergothah
19:25.38ckknightthere is one part of Iriel's code that could be optimized
19:27.00ckknightif you check at the very top of your code if the library is obseleted, you can make it return and thus not have to deal with initializing the tables and whatnot
19:27.34ckknightinstead of creating the tables/functions and then Gc'ing them, just don't create em at all
19:27.47Elvisockknight, you got a sec?
19:27.53ckknightyea
19:28.02Elvisofor the background on FuB....
19:28.14Elvisowould it be possible to create several different layers for it?
19:28.22hyperChipmunkheh
19:28.25Elvisoor is it already?
19:29.08ckknightit doesn't create layers, it does a ;SetBackdrop() on a frame
19:29.15Elvisoi see
19:29.25ckknightyea
19:29.26Elvisothere's so many possibilities I'm seeing here
19:29.29ckknightkeeps it simple
19:29.34ckknightlemme hear em
19:29.43Elvisowell I'm talking about in photoshop
19:29.54ckknightif I feel inclined enough, I could support your crazy themes
19:30.10Elvisoto simply limit it to just pre-made bkgd textures would severely limit the user's customizability
19:30.18Elviso(h/e you spell custom...)
19:30.31ckknighth/e?
19:30.31Elvisook, I'm working on getting a working sample done
19:30.35hyperChipmunkbeing able to color your segment of the bar, or have a custom backdrop skin on that part of the bar
19:30.44hyperChipmunkwould be neat
19:30.52ckknightper plugin?
19:30.53ElvisoI was thinking 3 different objects/frames
19:31.05hyperChipmunkwell, jsut putting little windows for your values or something
19:31.07Elvisoor 4
19:31.24ckknightremember KISS
19:31.26hyperChipmunkthat way the plugin author can designate his backdrop if there's colorization issues
19:31.30Elviso1) bkgd color, 2) delimiter color 3) bkgd style (the pattern)
19:31.33hyperChipmunkcontrast etc
19:32.04ckknightdelimiter color?
19:32.07hyperChipmunkI wouldn't use it, way too much, but you have to appease the artists =)
19:32.11Elvisoyou know the gold bar in titan?
19:32.17ckknightoh
19:32.26Elvisosome ppl might want red...or blue....or none
19:32.36ckknightokay, you don't need bgcolor if you have a bg texture
19:32.48ckknightand the delimiter color is just the border
19:32.56ckknightyou can edit that really easily
19:33.16Elvisowell, the texture is seperate from the bkgd color...or could be
19:33.23ckknightwhy?
19:33.34Elvisosay, texture 1 is "x x x x" and texture 2 is "o o o o"
19:33.47ckknightwhy do you need multiple textures?
19:34.03hyperChipmunklayerFX duh!
19:34.07Elvisothe texture, in the aspect I'm talking about, is just the graphic on the background
19:34.12Elvisonot the whole background itself
19:34.19ckknightwhat's the difference?
19:34.41Elvisowell
19:34.57Elvisothe "background" is just a color
19:35.04ckknightwhy not a texture?
19:35.10Elvisoit has no intrinsic graphic abilities
19:35.29ElvisoI was speaking for my "crazy themes idea"
19:35.30ckknightYou're searching for a solution to a problem that doesn't exist, I think
19:36.13Elvisodo you understand what I'm explaining though, the difference between a background color and bkgd texture?
19:36.33ckknightI understand that there could be a difference, but I honestly don't see a point
19:36.34hyperChipmunkyes, but a bckgd texture can be a color
19:36.58ElvisohyperChipmunk: that too
19:37.13hyperChipmunkso why support both, I think is what he's asking
19:37.41hyperChipmunkthough, I admit, I'm confused what the issue is in the first place, too
19:37.56Elvisolets say I have 2 textures, one has "xxxx" the other "oooo"
19:38.35kergoththeres no point. use gimp and change the background color in the texture image
19:38.38Elvisoin the current method, a new bkgd.tga would need to be made for each bkgdcolor:texture iteration
19:39.04kergothand?
19:39.05ckknightyea
19:39.10ckknightI don't see an issue with that
19:39.15ckknightKISS
19:39.16Elvisook
19:39.31ElvisoI'm anal about making things look nice though :)
19:39.37Elvisoand giving users choices
19:39.38ckknightso make a nice texture
19:40.44Elvisosometimes I love the internet for communicating....sometimes I hate it, hehe
19:41.00ckknightI understand what you're saying, fully
19:41.12ckknightit's just that it's a solution to a problem that doesn't exist
19:41.14kergothi dont see why the user needs to be able to change it _in game_. they can change it just fine now, just not from within the game
19:41.27hyperChipmunkboss, you need to implement SVG rendering in your panel
19:41.31ckknight...
19:41.43Elvisokergoth: a user with photoshop and the know-how could
19:41.46hyperChipmunkget to work
19:41.53ckknightthough that would be pimp, the API doesn't really suit it
19:41.58kergothElviso: yes, and that user can share that with others.
19:42.09kergothyou can still theme, just not on the fly from within the game
19:42.20ckknightwell, you can in game
19:42.23ckknightif someone made a plugin for it
19:42.29ckknightbut they have to have the images in place
19:42.35Elvisomaybe that's the solution, a plugin :)
19:42.51ckknightin like Interface\AddOns\FuBar_PimpTheme\
19:43.04ElvisoKISS for FuB, a AnalColorizerFu for me :)
19:43.20ckknightthen you could right click to choose the texture you want
19:43.22ckknightor whatever
19:44.11ckknightkergoth, is there an easy way to share locals between different files in one package?
19:44.36kergothokay, so multiple inheritence doing a memoize changes the first lookup from 0.19uS to roughly 1.8-2.5, depending on the depth of the inheritence chain
19:44.42kergothfirst lookup overhead only
19:44.53kergothis that reasonable, or should we do the memoizing in the class constructor?
19:44.53ckknightokay
19:44.59ckknighthrm
19:45.18ckknightI'd want it on demand, personally
19:45.23ckknightthat's just how I work, though
19:45.27kergothckknight: fraid not.  what i usually do is define my addon object in init.lua, register it in fini.lua, and then all the ones in between can stuff whatever they like into the object, rather than using a local
19:45.36kergoththats what i'm leaning towards as well
19:47.18kergothckknight: the issue with on demand is that you have less granular control as a user over where that overhead occurs.  that first lookup could happen in a critical path, whereas they'll already be avoiding creation of things in critical paths
19:47.26kergothcourse this is wow, who's gonna notice 1.5 microseconds :P
19:47.54ckknightyea
19:53.22otravianyone working on the MC timers for BigWigs+
19:55.09Shyvayes, I am
19:55.38otraviHokai, Then I'll skip the thought of starting :p
19:55.45Shyva^^
19:56.02Shyvaanyone knows what Domo says when he gives up?
19:56.12otraviI can check soon
19:56.13ElvisoI submit, I submit!
19:56.24ElvisoIdk if he says anything before that though
19:56.34otraviCurrently on Geddon tho'
19:57.08Shyvaok :-D
20:02.05ShyvaHmmm, how can I rotate texutes in wow? :-| any simple function for it? o.0
20:08.25*** join/#wowace Jarenthal (n=Roo@cpe-066-057-087-213.nc.res.rr.com)
20:08.49[Ammo]evening
20:09.08[Ammo]anyone got Lua only gametooltips working yet? ones that you can actually scan ?
20:16.57kergoth[Ammo]: maybe check with tem, he's been doing acegui stuff
20:19.00[Ammo]well I tried getting it to work
20:19.11[Ammo]but I can't set the inheritance to the blizz gametooltiptemplate
20:19.29[Ammo]so when I do: mytooltip:SetAction(id) I can't scan the textleft1 etc
20:19.29ckknightso recreate the template
20:19.35ckknightsimple enough
20:19.46ckknightnot that hard
20:19.50[Ammo]are the templates documented somewhere?
20:19.57ckknightyea
20:20.03ckknightget the Blizzard Interface Data
20:20.08ckknightFrameXML\GameTooltipTemplate.xml
20:22.29ckknightwhen I was still working with tooltips I saw it and added lines 31-40 to my own tooltip
20:22.30ckknightworked fine
20:23.51[Ammo]I'll give it a go
20:24.09[Ammo]right now I have the tooltip in an xml file and it's ugly
20:24.28ckknightno doubt
20:24.43[Ammo]it's the only thing in there and I want to get rid of it
20:24.59ckknightkergoth, does Lua do anything funny if I do alpha = { bravo = 1, bravo = 1 }?
20:25.19[MoonWolf]why would that do something funny ?
20:26.44[MoonWolf]kergoth ?
20:29.49kergothckknight: nope, thatll work fine, assuming you wanted bravo to be a string key, and not a reference to some bravo object
20:30.09kergothif you wanted the key to be whatever the bravo var points at, you'd want alpha = {[bravo] = 1}
20:30.17ckknightright, kergoth`bbl
20:30.21ckknightit's a string
20:30.32ckknightwhy is there a kergoth and a kergoth`bbl?
20:30.40kergothbbl is my instance of irssi at home
20:30.40[MoonWolf]two pcs ?
20:34.07ckknightwould it be useful to have a function that did func("Power Word: Fortitude") == "Interface\\Icons\\Spell_Holy_WordFortitude" ?
20:34.20ckknightfully localized, of course
20:37.21hyperChipmunkwhy don't you screen your irssi and ssh instead?
20:42.02kergothhyperChipmunk: because my machine at home is behind the proxy/nat box at the hotel i'm at. kinda hard to ssh into that
20:42.08kergothnow that i have this one running, i'll kill the one at home
20:45.18hyperChipmunkah
20:46.11otraviwth -31 secs on a timexbar :o
20:57.44[Ammo]thanks for the tip ckknight that fixed my lua only stuff :)
20:58.00Tainhaha I'm such a whore, got another new date tonight.
20:59.56hyperChipmunkthat's, uh, nice
21:00.47kergothTain: http://www.boingboing.net/2006/04/05/mcsweeneys_nihilist_.html
21:00.57kergothMcSweeney's: Nihilist job resume
21:00.59kergothhehe
21:01.01kergothits amusing
21:02.29hyperChipmunkhttp://mcsweeneys.net/2006/4/3fezzell.html real link
21:02.38kergothindeed
21:03.25hyperChipmunkSales Clerk, Hot Topic (January 2001 to June 2003)
21:03.25hyperChipmunkEmployee of the month 29 consecutive times.
21:04.18hyperChipmunkI'll admit I play tennis, although I don't keep score and insist that when my deluded partner does he use the terms "zero" or "nothingness" instead of "love," a superfluous notion.
21:26.20otravidamn,I was just going to give Shyva the message :(
21:29.22otravi-21 | Windfury Totem
21:29.22otravi:<
21:30.20*** join/#wowace Andreas__ (i=Default@0x50c4844b.adsl-fixed.tele.dk)
21:30.54*** join/#wowace Slayman (i=Slayman@c193022.adsl.hansenet.de)
21:31.05*** mode/#wowace [+o Tem] by ChanServ
21:31.27Temwell... that was the most useless day...
21:32.07otravi:--O
21:34.36*** join/#wowace Tekcub (n=Tekk@ip70-178-135-244.ks.ks.cox.net)
21:35.11otraviTodays best question: How do I install a foldeR?
21:35.52TemWOOOOT!\
21:35.58Temthis day just went from bad to awesome
21:36.11otraviOh? How?
21:36.18Temthe job I've been interviewing for...
21:36.29TemThe boss wants me to come in first thing tomorrow morning
21:36.44TemI kinda got the impression that I was out last time I spoke with her
21:37.12Tembut now I'm clearly not :)
21:38.23otravi:D
21:38.24Tainhah Tem I was the same with this job I just started.  Thought the manager pretty much dismissed me entirely during the interview.
21:38.33Elvisowell ckknight, I've got a nice proto, but.....my PS is being lame and not letting me save it properly
21:38.35Temaye, same here
21:38.36TainThen called and wanted me to start a week later.
21:38.42TemI don't have the job yet
21:38.51Tembut I've got a really good feeling
21:38.52TainStill a good sign though.
21:42.37kergothotravi: heh, i sure get tired of people who dont know how to play a shaman well.  the other day i was in a group with one warrior, a rogue, and a hunter, and he dropped windfury instead of grace of air :'(
21:42.48Tem.l;dsfkja;lsdkfj!
21:42.55Temmy neighber annoys the hell out of me
21:43.03TemHe has like 3 rap songs
21:43.11otravikergoth: depending on the skill of the warrior: I would too
21:43.11Temand he plays them over and fucking over
21:43.37kergothotravi: if the warrior isnt able to keep aggro without it, i dont have much confidence in the run :P
21:43.58otravihehe, I'm used to hunters only over DPS-ing :p
21:44.35otravibut I don't like the fact that my AceTimer showed -21 seconds on the bar
21:44.42otraviand -5 on another
21:44.52kergothcourse that same shaman was the one that dropped flametongue and windfury simultaniously.  twice.
21:44.59kergothso that probably wasnt the best of examples
21:45.02kergothbut still
21:45.04kergoth:)
21:45.11otravihehe
21:45.37kergothtend to get these people obviously playing on their friends characters
21:45.41kergoththis is why i hate pugs :\
21:46.11otraviYeah, I know what you mean
21:46.44otraviI also noticed while playing on my warlock that people expect you to summon them to the instance, even though you are on the other side of the world
21:47.40otravihyperChipmunk: That statusbar background made the number very hard to read :p
21:47.47kergothhmm..
21:47.53Tain"OCALA, Fla. (AP) . A Marion County Jail corrections officer was fired after an internal affairs investigation determined he struck his wife in an argument over his buying Dungeons and Dragons fantasy toys."
21:48.20kergoththis object model i'm looking at, its :new() passes the supplied arguments to an initialize() function if it was defined, so you can actually do initialization at object creation time cleanly
21:48.35kergothbut it relies on being able to pass ... directly into initialize()... in 5.0 we're stuck with unpack :(
21:49.43hyperChipmunkotravi: I don't use numbers
21:49.59hyperChipmunkyou get used to eyeballing it from the segments
21:50.01hyperChipmunkeach is 10%
21:50.12hyperChipmunkit's actually easier than using the numbers
21:50.31otraviI like numbers better :)
21:50.40hyperChipmunkyou ought to give it a try for a bit
21:50.43hyperChipmunkyou might be surprised
21:52.28otravihehe, I still like to see exactly how much health a person has dropped
21:52.35otraviso I can select a heal based on that
21:52.54Slaymangood evening gents
21:53.07otraviHello Slayman
21:53.14hyperChipmunkroll a nunter nub
21:53.27otravihyperChipmunk: working on it
21:53.28hyperChipmunkstop caring about such trivialities as other people's health
21:53.32otraviIt's planned after my rogue
21:55.16ckknightwoot
21:55.21ckknightI made a script to crawl wowguru
21:55.35ckknightshould I include the translations for trade skills, i.e. Alchemy and whatnot
21:59.13*** join/#wowace haste (n=haste@host-81-191-131-80.bluecom.no)
21:59.52haste*cries*
22:00.09otraviYou know those power switches with a power button on?
22:00.13otravihaving them under the table != smart
22:02.52Temlol
22:07.51*** join/#wowace HoJ|Slayman (i=Slayman@c207196.adsl.hansenet.de)
22:13.07kergothhehe
22:14.13*** join/#wowace Warol (n=Warol@adsl-75-5-43-183.dsl.emhril.sbcglobal.net)
22:14.23*** part/#wowace id` (i=debian-t@tor/session/x-a7ee6e28d8d13dd6)
22:45.43ckknightkergoth, why does Lua use ~= instead of !=?
22:48.28*** join/#wowace cladhaire (n=jnwhiteh@cpe-24-59-191-241.twcny.res.rr.com)
22:49.09Temhey cladhaire
22:50.27cladhaireevening.
22:52.04kergothckknight: see the lua users mailing list archives. it comes up on a regular basis
22:52.13kergothcladhaire: figured out what was causing the odd numbers :)
22:52.54cladhairekergoth: What was it?
22:53.01kergothtwo issues
22:53.26cladhairetalk.. i will be back in 3 minutes, approximately
22:53.36kergothfirst, in testlookup(), i was passing the superclass as an arg, not a table containing the superclass, which means all lookups on the class werent going to the superclass.  buncho f nils were coming out of it
22:53.46kergothhence, smoking fast
22:54.35kergothsecond, memoizing makes the numbers essentially useless, becuase the first lookup wehn it had to do real work was only the first of the 1000000 lookups that were made.  those arent averaged, but the time is scaled/rounded, losing the least significant digits, sok that inforamtion was lost
22:54.49kergothlooked like every lookup was 0.18us, when it was only the last 999999 lookups that were that
22:55.04kergothdisabling all memoizing across the board, AND fixing the calls in testlookup, made the numbers make sense again
22:56.09kergothi did compare a function __index + memoize vs a table __index in the single inheritence case, non-c3.  interesting seeing how deep the inheritence chain needs to be before it pays for the function overhead
22:56.18kergothnot very :)
22:57.25*** join/#wowace Jarenthal (n=Roo@cpe-066-057-087-213.nc.res.rr.com)
23:06.40ckknightkergoth, I've looked through like 20 messages and haven't figured out why they use ~=
23:07.48kergothi remember reading something, but i dont have a link handy
23:07.54kergothhttp://lua-users.org/wiki/SyntaxAddition has some people arguing in favor of !=
23:08.32ckknightew, they should not have !b instead of not b
23:08.35Temkergoth: by that do you mean that you don't have to go very deep in the inheritance chain for the memoize to be noticeable or that it has little to no impact unless it's VERY deep?
23:08.51kergothTem: i mean that you dont have to go very deep to benefit from memoize
23:09.32Kaeltenello
23:09.33kergothhey
23:09.48ckknighthey Kaelten
23:11.19Kaeltenwoot I show up and the conversation dies!
23:11.21Kaeltenlol
23:11.55Kaeltenkergoth: hows the c3 thingy going?
23:13.01kergothfine, working on merging it into the class model that gives objects a seperate namespace from the classes they're instances of (facilitates the equivalent of a static class member vs an object member, so things like Embed dont flow into the objects)
23:13.13kergothneed 3 seperate __index functions for it, looks like
23:13.40Kaeltenhmm
23:13.46Kaeltensounds complicated
23:14.09Temsounds fun
23:14.10Kaeltenwhat does c3 stand for anyway?
23:14.17Temclass3 is my guess
23:14.38Temmeaning the first 2 classes were failures
23:14.49kergothnope
23:14.50Kaeltenor maybe they where just learning experiacnes
23:14.51kergoth"If consistency with the extended precedence graph, local precedence order, and monotonicity are desired, a hybrid of the Dylan and L*LOOPS linearizations can be used. We call this linearization C3, because it is consistent with these three properties."
23:16.18hyperChipmunkit means the Chipmunk3 algorithm, the epitome of the purity of logical function
23:16.20kergothsee http://citeseer.ist.psu.edu/barrett96monotonic.html for the original paper
23:16.27kergothA Monotonic Superclass Linearization for Dylan (1996)
23:16.32KaeltenI think you linked that before
23:16.34kergothits the linearization used in python 2.3+
23:16.35kergothprobably
23:16.57hyperChipmunkdon't listen to kergoth
23:17.00hyperChipmunkhe r dumb
23:17.15Kaeltentem: any more progress on acegui?
23:17.24Temno sadly
23:17.36TemI'm stuck on buttons
23:18.09Kaeltenis it still the normaltext thats giving you the issues?
23:18.09TemI'm thinking more and more that I should just say "fuck it" for 1.10
23:18.32Temjust implement it expecting the stuff to -- you know -- work
23:18.49Kaeltenlol
23:18.58Kaeltenwhats borked on buttons thats giving you so many issues?
23:19.04Temthe fontstrings
23:19.29Kaeltenwell, for now don't support anything but NormalText
23:19.29Tememulating them being there is proving to be quite difficult
23:19.36Temfrom a library standpoint
23:19.41Kaeltenand then go on to another xml object
23:20.03Temfor an individual addon, it's pretty simple
23:21.03TemI was hoping to get button written since CheckButton and LootButton are derrivatives
23:21.15Kaeltenya
23:21.30Kaeltenhow are you going about it, just writing each xml object in turn?
23:21.41Tempretty much
23:21.52Kaeltenhmm, how hard is it to implement a object?
23:21.59TemI've got a pretty fleshed out backbone so for stuff that's not broken it's pretty easy
23:22.18TemAceGUIBase -> AceGUILayoutFrame -> AceGUIFrame -> AceGUIButton
23:22.19kergothah, so tahts what that guy on the lua mailing list meant
23:22.29kergotha "mixin" is like the decorator design pattern
23:22.32TemAceGUIBase -> AceGUILayoutFrame -> AceGUIRegion -> AceGUIFontString
23:22.34kergothseems like it, anyway
23:22.38TemAceGUIBase -> AceGUILayoutFrame -> AceGUIRegion -> AceGUITexture
23:22.40Temect
23:23.05Kaeltenk, well I'd like to help code the xml elements if you didn't mind?
23:23.22Temsure
23:23.34TemIt's pretty easy
23:23.42Temjust inherit from the proper class
23:24.00Temhave a CreateUIObject method
23:24.08Temand an ApplySettings method
23:26.25Temoh, can't forget a GetValue/SetValue
23:27.35Kaeltencool
23:27.42Kaeltenwhich ones next on the hit list?
23:28.00TemI think I'm gonna hi Editboxes
23:28.08Temeven though they are also somewhat broken
23:28.13Kaeltenlol
23:28.22Temhit rather
23:28.30Temso what's left?  hmm..
23:28.54Temthere's message frames
23:28.57Temscroll frames
23:29.19Temscrolling message frame
23:29.25TemsimpleHTML
23:29.27Temslider
23:29.32TemStatusBar
23:31.11Kaeltenyou just basing this off the list in the wow wiki?
23:31.25Temyeah
23:31.36Kaeltenkk
23:31.49TemI figure once we get all the simple types in, we go for the "template" objects
23:31.50Kaeltenwhat exactly is a Region?
23:31.58TemRegions are Fontstrings and Layers
23:32.02Temthey're all done :)
23:32.05Kaeltenwoot!
23:32.09Kaeltenwe've got something done!
23:32.22TemI have all of the base types in
23:32.52TemI don't know how long it's been since I commited some changes
23:32.58Tembut I fixed an anchoring bug last night
23:33.02Kaeltenbought Kristy a few games for the PS2 so I can code for a few days hehe
23:33.08Temhaha
23:33.35Kaeltenhey 7.99 used games at gamestop due have a purpose
23:33.42Tem:)
23:33.51Temhmm
23:33.58TemI haven't commited my test file ever
23:34.08Temguess I'll do that now...
23:35.06Kaeltenk, I finally can commit to the svn too so that'll help
23:35.57cladhaire<PROTECTED>
23:36.06Temyay
23:36.13Temalright Kaelten
23:36.18Temmy latest changes are up
23:36.23Kaeltenclad: nope
23:36.58cladhairegood.. then I dont have to code for it.. cause it never existed =)
23:37.07KaeltenI swear it did!
23:37.11Kaelten:S
23:37.31ckknightholy hell
23:37.57hyperChipmunkat your service
23:37.57ckknightfor the localizations of all the spells, it's like 40k per language
23:38.05hyperChipmunkI told you
23:38.07ckknight40 KiB, I mean
23:38.12ckknightyou told me nothing
23:38.15hyperChipmunkdidn't I?
23:38.20ckknightno, you didn't
23:38.24hyperChipmunkwell I thought I did
23:38.58hyperChipmunkyour fault for not reading my mind
23:39.10ckknightwell, I'll see what I do when I cut out trade skills
23:39.50kergothhmm... a mixin appears to be a class which has a 'super' clause, making it easy to drop it into an inheritence chain without it having an explicit reference to the parent class
23:40.02kergothvery hard to facilitate in lua though
23:40.17kergothnone of my 5 or so implementations of super() are such taht i'd want to use them in production code
23:40.51hyperChipmunk~super
23:40.52purlProgram to allow general users to do superuser things. URL: ftp://ftp.ucolick.org:/pub/users/will/super-3.12.1.tar.gz
23:41.01kergothheh, no
23:41.13kergothits a means of referencing your superclass from a method
23:41.15hyperChipmunkI know
23:41.20hyperChipmunkpurl let me down
23:42.54cladhaireso am i evil if i code effortless crowd control using Model:GetModel() just to prove it lets us uniquely identify mobs, even if I hate mods like that?
23:43.32hyperChipmunkyou are the spawn of satan
23:43.34cladhaireI'm taking requests for AceEvent.. since I'm going to be coding it during this raid.  Anything anyone wants to see in particular?
23:44.00Kaeltenno ... and unpack()
23:44.08hyperChipmunkbattlefield events omg
23:44.10Kaelten'smart' hooks
23:44.23cladhaireI have your requests.http://wiki.wowace.com/index.php/User_talk:Cladhaire
23:44.24Kaeltensmart events I mean
23:44.27Kaeltenlol
23:44.31kergothhmmmmmm
23:45.12hyperChipmunkbattlefield objective status updates are only currently workable two ways, both of which suck
23:45.20Kaeltenyou going to use the stub loader like you did with AceHooks?
23:45.28hyperChipmunkparsing chat messages and scanning map textures
23:45.49cladhaireKaelten: I can if you'd like me to
23:45.51Kaeltenhyper: Bug the priate for better info.
23:46.02hyperChipmunkpriate?
23:46.08Temcladhaire: are you sure it gives us unique ids?
23:46.19hyperChipmunkand the frigging messages aren't even standardized
23:46.21Kaeltenclad: I'd like it to be seperately available like acehooks is
23:46.23cladhaireTem: Combined with name, sex, level it comes pretty close.
23:46.33kergothi think i may have a clean solution to the diamond inheritence problem using the c3 linearization to dynamically generate super() functions for subsequent calls as it traverses the linearization
23:46.37Temcladhaire: sure, but it's still not perfect
23:46.52cladhaireKaelten: I'll have to play with it.. since the event queue in central in this case instead of as part of the calling namespace.
23:47.07cladhaireTem: Yeah yeah =)
23:48.39Kaeltenclad: well thats what I'd like to see.
23:49.07cladhairek
23:49.19cladhaireI need to document the current API first
23:49.51KaeltenRegister/Unregister and UnregisterAll I think
23:50.18cladhaireand trigger
23:50.21cladhairesillygoose.
23:50.35KaeltenTem: so GameTooltip would inherit from AceGUIFrame?
23:50.43Temdon't go there
23:50.45Temnot yet
23:50.48Kaeltenlol
23:50.58TemAceGUITooltip may need to be a special case
23:51.20Kaeltenwell I'm trying to do ones with which I'm familar with how they work
23:51.36Temwell, the issue is that AceGUI objects don't have a global name
23:51.57Kaeltenhmm
23:52.06Kaeltenwell how about I do Model then, that one looks like fun
23:52.07Temand no one has really done any testing to see if GameTooltipObjects need to have named child fontstrings
23:52.13Temgo for it :)
23:52.19kergoth"Some languages provide a "super" call that implements the required sibling call in this case and the parent call in other cases."
23:52.22kergothgrar
23:52.27kergothi dont wanna implement super :'(
23:52.33Temkergoth so don't
23:52.36ckknightwe don't need it
23:52.43kergothyes, we do
23:52.46ckknightwhy?
23:53.35kergothconsider the following:  class b and c both inherit a, and class d inherits b and c.  d's initialization function calls b's, and c's to ensure his base classes are setup. b's and c's both call a's, because thats their base class
23:53.41kergothso now a's initalization function was just called twice.
23:53.48kergothto initialize one object
23:53.56kergoththe "diamond inheritence problem"
23:54.09kergothwe could easily be bit by this, we'll have diamond structures in ace 2.0 if we go with what clad and i've been discussing
23:55.16kergothhence, you get a super() function that knows taht b should call c's, instead of a's, making the progression linear, obeying our method resolution order
23:55.25kergoththats the cleanest solution to it
23:55.35Kaeltenkergoth) thats yer headache.
23:55.53hyperChipmunkyea, d00d, quit yer whinin'
23:56.11hyperChipmunk<3
23:56.31kergoththe only real way to be able to do this is to dynamically change super's behavior based on the original caller
23:56.41kergothand figure out where it currently is in the mro
23:56.44kergothto find the next
23:56.55*** part/#wowace Warol (n=Warol@adsl-75-5-43-183.dsl.emhril.sbcglobal.net)
23:57.05kergothgetting the mro is easy, the object would be passed as self, most likely
23:57.16kergothbut gettnig the current position is nearly impossible without doing very ugly things
23:57.33Kaeltentem: should model actually inherit from AceGUIFrame?
23:57.38Temyes
23:58.05cladhaireKaelten: What functions did you want whitelisted?  ADDON_LOADED, VARIABLES_LOADED and PLAYER_ENTERING_WORLD?
23:58.22Kaeltenyes
23:58.30Kaeltenalthough I'm wondering if we really need variables loaded anymore
23:58.41cladhaireit doesn't hurt
23:58.43Kaeltendoesn't that ALWAYS fire beofre entering world?
23:59.36TemDISPLAY_SIZE_CHANGED
23:59.41TemUPDATE_BINDINGS
23:59.53TemUPDATE_CHAT_WINDOWS
23:59.57TemUPDATE_MACROS

Generated by irclog2html.pl by Jeff Waugh - find it at freshmeat.net! Modified by Tim Riker to work with blootbot logs, split per channel, etc.