Thank you. Interesting observation. Any chance to get that fixed/patched in J805?
> On 18 Apr 2017, at 13:27, David Mitchell <[email protected]> wrote: > > Folks, > > I tried some tests using Excel's com interface and j.dll from j602, j804, > j805 and j64-806, all on Windows 10. I found these things. > > 1. The built-in registration with j602 ("%~dp0j.exe" /regserver) continues to > work. It registered j.exe and j.dll and I was able to use j.dll in Excel > macros after selecting the JDLLServer Type Library in References-VBA Project. > > 2. External registration of j.dll in j804 worked fine (regsvr32 bin\j.dll). > I was able to use the J804 j.dll in Excel as above. > > 3. External registration of j805 said it worked, but JDLLServer Type Library > did not show up in Excel. > > 4. I ran some Registry searches and found that with j602 and j804, there were > a set of keys created starting with this ID: > HKEY_CLASSES_ROOT\TypeLib\{21EB05EB-1AB3-11CF-A2AC-8FF70874C460} > HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{21EB05EA-1AB3-11CF-A2AC-8FF70874C460} > HKEY_CLASSES_ROOT\Wow6432Node\TypeLib\{21EB05EB-1AB3-11CF-A2AC-8FF70874C460} > that defined the JDLLServer Type Library and JDLLServer. > > 5. In J805, the Registry keys that were created by the registration process > for JDLLServer Type Library were these: > HKEY_CLASSES_ROOT\TypeLib\{00000000-0000-0000-0000-000000000000} > HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{00000000-0000-0000-0000-000000000000} > HKEY_CLASSES_ROOT\Wow6432Node\TypeLib\{00000000-0000-0000-0000-000000000000} > which were not seen by Excel. > > 6. I tried the following grep's in the various bin directories: > > C:\Users\me\j602\bin>grep -i 8FF70874C460 * > Binary file j.dll matches > Binary file j.exe matches > > C:\Users\me\j804\bin>grep -i 8FF70874C460 * > Binary file j.dll matches > Binary file jqt.exe matches > > C:\Users\me\Downloads\j\j805\bin>grep -i 8FF70874C460 * > Binary file jqt.exe matches > (no j.dll) > > C:\Users\me\Downloads\j\j64-806\bin>grep -i 8FF70874C460 * > Binary file jqt.exe matches > (no j.dll) > > So it appears that starting in J805, the J dll no longer has a non-zero UUID > for registering j.dll. > > David Mitchell > >> On 4/15/2017 07:45, Herbert Weissenbaeck // Privat wrote: >> no success with vs 2015 and vs 2017. >> same error as before. >> have installed the new dll, unregistered and re-registered with >> syswow64\regsvr32. >> >> Sent from my iPhone >> >>> On 15 Apr 2017, at 07:17, Herbert Weissenbaeck // Privat >>> <[email protected]> wrote: >>> >>> Is there a chance to have the j805 j.dll re-built in a way that makes it >>> usable? >>> I need a functioning j.dll for serious work/calculations and would prefer >>> not to use a beta version but the latest stable release. Or is j806 beta >>> considered safe and stable enough? >>> >>> Sent from my iPhone >>> >>>> On 15 Apr 2017, at 01:52, bill lam <[email protected]> wrote: >>>> >>>> There should be some mistake when building the j805 j.dll. >>>> However j806 beta seems working again. >>>> >>>> >>>> Пт, 14 апр 2017, Herbert Weissenbaeck // Privat написал(а): >>>>> I tried to refer to the j.dll directly. >>>>> VS tells me "A reference to (path...)\j.dll could not be added" >>>>> >>>>> i wonder, why j804 behaves differently. >>>>> >>>>> Sent from my iPhone >>>>> >>>>>> On 14 Apr 2017, at 08:35, bill lam <[email protected]> wrote: >>>>>> >>>>>> not sure why it can not add reference in vs. actually you don't have to >>>>>> add jdllserver to reference if you don't need intelligent sense. >>>>>> >>>>>> On 14 Apr, 2017 7:57 pm, "Herbert Weissenbaeck // Privat" < >>>>>> [email protected]> wrote: >>>>>> >>>>>>> bill, >>>>>>> thank you for your support. >>>>>>> using syswow64/regsvr32 does not give any error message, confirms that >>>>>>> the >>>>>>> dll is registered, but does not resolve my problem. the error message i >>>>>>> receive when trying to add the reference to J DLL Server in VS remains >>>>>>> unchanged. >>>>>>> best >>>>>>> herbert >>>>>>> >>>>>>> Sent from my iPhone >>>>>>> >>>>>>>> On 14 Apr 2017, at 00:36, bill lam <[email protected]> wrote: >>>>>>>> >>>>>>>> sorry, it should be syswow64 >>>>>>>> >>>>>>>> Пт, 14 апр 2017, bill lam написал(а): >>>>>>>>> From your previous msg, it said >>>>>>>>> 'C:\Program Files\j805\bin\j.dll' >>>>>>>>> >>>>>>>>> please check this is a J32 installation and have registered it >>>>>>>>> using wow64/regsvr32. >>>>>>>>> >>>>>>>>> Чт, 13 апр 2017, Herbert Weissenbaeck // Privat написал(а): >>>>>>>>>> I am actually compiling for 32bits (x86) only. (That's sufficient for >>>>>>> this stage of my development.) >>>>>>>>>> >>>>>>>>>> Sent from my iPhone >>>>>>>>>> >>>>>>>>>>> On 13 Apr 2017, at 22:22, bill lam <[email protected]> wrote: >>>>>>>>>>> >>>>>>>>>>> 32-bit inproc server must be used with an 32-application. >>>>>>>>>>> 32-bit out-of-process server can be used with either 32 or >>>>>>>>>>> 64 application. Please confirm what are the intended 32/64 bit >>>>>>>>>>> version of jdllserver and application (not visual studio). >>>>>>>>>>> >>>>>>>>>>> jdllserver is in-proc server so that 32/64 bit must match, with >>>>>>>>>>> application. use regsvr32 inside wow64 folder to register the >>>>>>>>>>> 32-bit j.dll >>>>>>>>>>> >>>>>>>>>>> Чт, 13 апр 2017, Herbert Weissenbaeck // Privat написал(а): >>>>>>>>>>>> Robert, >>>>>>>>>>>> >>>>>>>>>>>> coincidentally I had the last Windows update just one hour ago; but >>>>>>> the problem was there before and after. >>>>>>>>>>>> >>>>>>>>>>>> I am presently traveling and have no access to any other computer >>>>>>> than my notebook; thus I can not try to replicate my problem on another >>>>>>> machine. >>>>>>>>>>>> >>>>>>>>>>>> (I am using VS 2017 Enterprise on an English Windows 10 an a >>>>>>> ThinkPad P50 Xeon machine to develop an app that connects to J DLL >>>>>>> Server. >>>>>>> Had 804 so far but would like to switch to 805.) >>>>>>>>>>>> >>>>>>>>>>>> Is anybody successfully using the 32 bit 805 DLL Server from VS in >>>>>>>>>>>> a >>>>>>> .net application? >>>>>>>>>>>> >>>>>>>>>>>> Best >>>>>>>>>>>> Herbert >>>>>>>>>>>> >>>>>>>>>>>>> On 13 Apr 2017, at 21:09, robert therriault >>>>>>>>>>>>> <[email protected]> >>>>>>> wrote: >>>>>>>>>>>>> >>>>>>>>>>>>> Herbert, >>>>>>>>>>>>> >>>>>>>>>>>>> This may not be related at all, but is this recent? I read that >>>>>>> Windows 10 had the Creative update pushed on it in the last couple of >>>>>>> days >>>>>>> and if it was like the last time it may break some things. Not sure why >>>>>>> it >>>>>>> would affect 805 and not 804. ;-) >>>>>>>>>>>>> >>>>>>>>>>>>> http://www.infoworld.com/article/3189776/microsoft- >>>>>>> windows/microsofts-critical-windows-and-office-patches- >>>>>>> present-a-panoply-of-problems.html >>>>>>>>>>>>> >>>>>>>>>>>>> Cheers, bob >>>>>>>>>>>>> >>>>>>>>>>>>>> On Apr 13, 2017, at 5:57 PM, Herbert Weissenbaeck // Privat < >>>>>>> [email protected]> wrote: >>>>>>>>>>>>>> >>>>>>>>>>>>>> Thank you. Tried to run vs as admin. >>>>>>>>>>>>>> same result >>>>>>>>>>>>>> >>>>>>>>>>>>>> uninstalled and re-installed j805 into users directory. >>>>>>>>>>>>>> same (negative) result. >>>>>>>>>>>>>> >>>>>>>>>>>>>> I can however use J EXE Server via COM also in the 805 version >>>>>>> (but want J DLL Server, which still gives me an error). >>>>>>>>>>>>>> >>>>>>>>>>>>>> Any more ideas? >>>>>>>>>>>>>> >>>>>>>>>>>>>> Sent from my iPhone >>>>>>>>>>>>>> >>>>>>>>>>>>>>> On 13 Apr 2017, at 20:18, bill lam <[email protected]> wrote: >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> I am not sure. IIRC It works for me. Perhaps it is a security >>>>>>> issue. try >>>>>>>>>>>>>>> run visual studio as admin. >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> program files is protected, not sure if this is related to your >>>>>>> problem. >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> On 14 Apr, 2017 7:48 am, "Herbert Weissenbaeck // Privat" < >>>>>>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> its regsvr32 without the "/r", i suppose. >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> in an admin console the registration seems to work. the J DLL >>>>>>> Server >>>>>>>>>>>>>>> (version 3) type library shows up in visual studio with file >>>>>>> version 805. >>>>>>>>>>>>>>> (the j804 one showed file version 701.) >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> however selecting it gives an error: "A reference to 'J DLL >>>>>>> Server (version >>>>>>>>>>>>>>> 3) Type Library' could not be added. Could not register the >>>>>>> ActiveX type >>>>>>>>>>>>>>> library 'C:\Program Files\j805\bin\j.dll'. >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> the same thing works without any problem with j804. why? >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> Sent from my iPhone >>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> On 13 Apr 2017, at 19:22, bill lam <[email protected]> wrote: >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> typo, regsvr32 >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> On 14 Apr, 2017 7:21 am, "bill lam" <[email protected]> >>>>>>> wrote: >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> jdllserver should work for all versions. try open an admin >>>>>>> command prompt >>>>>>>>>>>>>>>>> at bin folder and type >>>>>>>>>>>>>>>>> regvsr32 /r j.dll >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> On 14 Apr, 2017 6:17 am, "Herbert Weissenbaeck // Privat" < >>>>>>>>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> On my Windows 10 machine J805 fails to register as a COM >>>>>>>>>>>>>>>>> Server. >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> When I use jreg.cmd under 804 I get a "J DLL Server (version >>>>>>>>>>>>>>>>> 3) >>>>>>> Type >>>>>>>>>>>>>>>>> Library" in the kist of available Type Libraries in MS Visual >>>>>>> Studio. >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> When I do the same with J805, no type library is registered. >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> Is this a bug or a feature? I would prefer working with 805 >>>>>>> over 804. >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> Any hints/fixes? >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> On 13 Apr 2017, at 16:23, 'Bo Jacoby' via Programming < >>>>>>>>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> Hi Louis. >>>>>>>>>>>>>>>>>> Thanks for asking. I regret not knowing the answer. >>>>>>>>>>>>>>>>>> An ordinal fraction is like an array in J, with minor >>>>>>> differences. >>>>>>>>>>>>>>>>>> - Arrays have names. Ordinal fractions have numbers. >>>>>>>>>>>>>>>>>> - An array has a finite number of dimensions. An ordinal >>>>>>> fraction has >>>>>>>>>>>>>>>>> an infinite number of dimensions. >>>>>>>>>>>>>>>>>> - Arrays may have different shapes. All ordinal fractions >>>>>>>>>>>>>>>>>> have >>>>>>> the >>>>>>>>>>>>>>>>> same shape: 9 9 9 9 . . . >>>>>>>>>>>>>>>>>> - Arrays have zero-origin indexing (0 1 . . . n). Ordinal >>>>>>> fractions >>>>>>>>>>>>>>>>> have one-origin indexing (1 2 3 4 5 6 7 8 9). >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> - Arrays have elements. Ordinal fractions do not have >>>>>>>>>>>>>>>>>> elements. >>>>>>>>>>>>>>>>>> - Arrays may have subarrays. All ordinal fractions have >>>>>>> subordinate >>>>>>>>>>>>>>>>> ordinal fractions. >>>>>>>>>>>>>>>>>> - Array elements contain data. Any ordinal fraction may >>>>>>> contain a data >>>>>>>>>>>>>>>>> element. >>>>>>>>>>>>>>>>>> Ordinal fractions were invented (by me) in 1980, but have had >>>>>>> limited >>>>>>>>>>>>>>>>> dissemination so far. I made programs in fortran and pascal >>>>>>>>>>>>>>>>> and >>>>>>> basic for >>>>>>>>>>>>>>>>> manipulating ordinal fraction files, but I have not managed to >>>>>>> do it in >>>>>>>>>>>>>>> J. >>>>>>>>>>>>>>>>> The programs were general, because the logic is in the data >>>>>>> file and not >>>>>>>>>>>>>>> in >>>>>>>>>>>>>>>>> the program. I have been alone doing this. >>>>>>>>>>>>>>>>>> Thanks! Bo. >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> Den 20:08 torsdag den 13. april 2017 skrev Louis de Forcrand >>>>>>>>>>>>>>>>>> < >>>>>>>>>>>>>>>>> [email protected]>: >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> Hi Bo, >>>>>>>>>>>>>>>>>> This is cool. >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> As for the way you suggest using it here, isn't it equivalent >>>>>>> to >>>>>>>>>>>>>>>>> (without the first six rows of your data): >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> (~.@[ ,. +//.)/@|: >>>>>>>>>>>>>>>>>> ? >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> Louis >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> On 12 Apr 2017, at 21:57, 'Bo Jacoby' via Programming < >>>>>>>>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> Hi Joe! >>>>>>>>>>>>>>>>>>> My favorite datastructure is ORDINAL FRACTIONS - the algebra >>>>>>> of data >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> | >>>>>>>>>>>>>>>>>>> | >>>>>>>>>>>>>>>>>>> | >>>>>>>>>>>>>>>>>>> | | | >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> | >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> | >>>>>>>>>>>>>>>>>>> | >>>>>>>>>>>>>>>>>>> | | >>>>>>>>>>>>>>>>>>> ORDINAL FRACTIONS - the algebra of data >>>>>>>>>>>>>>>>>>> This paper was submitted to the 10th World Computer >>>>>>>>>>>>>>>>>>> Congress, >>>>>>> IFIP 1986 >>>>>>>>>>>>>>>>> conference, but rejected by the referee.... | | >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> | >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> | >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> Your data are coded like this >>>>>>>>>>>>>>>>>>> 10 Joe >>>>>>>>>>>>>>>>>>> 20 Bob >>>>>>>>>>>>>>>>>>> 30 Jane >>>>>>>>>>>>>>>>>>> 01 blue >>>>>>>>>>>>>>>>>>> 02 red >>>>>>>>>>>>>>>>>>> 03 purple >>>>>>>>>>>>>>>>>>> 11 1 >>>>>>>>>>>>>>>>>>> 11 -1 >>>>>>>>>>>>>>>>>>> 11 1 >>>>>>>>>>>>>>>>>>> 22 1 >>>>>>>>>>>>>>>>>>> 22 1 >>>>>>>>>>>>>>>>>>> 22 3 >>>>>>>>>>>>>>>>>>> 22 -1 >>>>>>>>>>>>>>>>>>> 22 -1 >>>>>>>>>>>>>>>>>>> 33 5 >>>>>>>>>>>>>>>>>>> 33 -2 >>>>>>>>>>>>>>>>>>> 33 2 >>>>>>>>>>>>>>>>>>> (Written with double CRs because the mail program has a >>>>>>> history of >>>>>>>>>>>>>>>>> deleting my CRs). >>>>>>>>>>>>>>>>>>> Summation gives the result >>>>>>>>>>>>>>>>>>> 10 Joe >>>>>>>>>>>>>>>>>>> 20 Bob >>>>>>>>>>>>>>>>>>> 30 Jane >>>>>>>>>>>>>>>>>>> 01 blue >>>>>>>>>>>>>>>>>>> 02 red >>>>>>>>>>>>>>>>>>> 03 purple >>>>>>>>>>>>>>>>>>> 11 1 >>>>>>>>>>>>>>>>>>> 22 3 >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> 33 5 >>>>>>>>>>>>>>>>>>> I have not done the summation in J, but I'd like to do it. >>>>>>>>>>>>>>>>>>> Perhaps this helps you. >>>>>>>>>>>>>>>>>>> Bo. >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> Den 0:04 torsdag den 13. april 2017 skrev chris burke < >>>>>>>>>>>>>>>>> [email protected]>: >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> Incidentally, for production code, I suggest starting by >>>>>>> removing any >>>>>>>>>>>>>>>>> sales >>>>>>>>>>>>>>>>>>> not matched in returns and vice versa, so that the matching >>>>>>> algorithm >>>>>>>>>>>>>>> is >>>>>>>>>>>>>>>>>>> applied only to potential matches. >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> On Wed, Apr 12, 2017 at 2:53 PM, chris burke < >>>>>>> [email protected]> >>>>>>>>>>>>>>>>> wrote: >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> Great. >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> In case you need more complicated handling of the "gray >>>>>>>>>>>>>>>>>>>> area" >>>>>>>>>>>>>>>>>>>> transactions, I believe they would be relatively few in >>>>>>> number, so >>>>>>>>>>>>>>>>> most of >>>>>>>>>>>>>>>>>>>> the time you could do the matching efficiently, then check >>>>>>> for any >>>>>>>>>>>>>>> keys >>>>>>>>>>>>>>>>>>>> with returns preceding sales. For those, setting aside the >>>>>>> first such >>>>>>>>>>>>>>>>>>>> return and repeating should clear them quickly. >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> Timing should be well under 1 second for a million records. >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> On Wed, Apr 12, 2017 at 1:57 PM, Joe Bogner < >>>>>>> [email protected]> >>>>>>>>>>>>>>>>> wrote: >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> Just for completeness, I added a line that incorporates >>>>>>>>>>>>>>>>>>>>> the >>>>>>> sequence >>>>>>>>>>>>>>>>> check >>>>>>>>>>>>>>>>>>>>> into the cancel logic. Works great >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> NB. hui progressive index >>>>>>>>>>>>>>>>>>>>> NB. http://code.jsoftware.com/ >>>>>>> wiki/Essays/Progressive_Index-Of >>>>>>>>>>>>>>>>>>>>> oc=: i.~ (] - {) /:@/: >>>>>>>>>>>>>>>>>>>>> pi=: #@[ ({. i.&(,.oc) }.) [ i. , >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> NB. argument is 3-col table of seq,key,qty >>>>>>>>>>>>>>>>>>>>> NB. result is the unmatched transactions >>>>>>>>>>>>>>>>>>>>> matchtrans=: 3 : 0 >>>>>>>>>>>>>>>>>>>>> msk=. 0<{:"1 y >>>>>>>>>>>>>>>>>>>>> sales=. msk#y >>>>>>>>>>>>>>>>>>>>> returns=. (-.msk)#y >>>>>>>>>>>>>>>>>>>>> ndx=. (}."1 sales) pi | }."1 returns >>>>>>>>>>>>>>>>>>>>> cancels=. ndx<#sales >>>>>>>>>>>>>>>>>>>>> NB. ensure cancel is after sale >>>>>>>>>>>>>>>>>>>>> cancels =. cancels *. (({."1 (<<(cancels)#ndx){sales) < >>>>>>> ({."1 >>>>>>>>>>>>>>>>>>>>> (cancels#returns))) >>>>>>>>>>>>>>>>>>>>> ((<<<cancels#ndx){sales),(-.cancels)#returns >>>>>>>>>>>>>>>>>>>>> ) >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> On Wed, Apr 12, 2017 at 4:14 PM, Joe Bogner < >>>>>>> [email protected]> >>>>>>>>>>>>>>>>> wrote: >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> Chris, this looks promising. Thanks for sharing. It's >>>>>>> nearly instant >>>>>>>>>>>>>>>>> on >>>>>>>>>>>>>>>>>>>>> a >>>>>>>>>>>>>>>>>>>>>> million rows. >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> Which row had a return before a transaction? seq 10 was >>>>>>>>>>>>>>>>>>>>>> an >>>>>>> example >>>>>>>>>>>>>>>>> of a >>>>>>>>>>>>>>>>>>>>>> partial return. The hypothetical customer returned 2 out >>>>>>> of the 5 >>>>>>>>>>>>>>>>>>>>> purchased >>>>>>>>>>>>>>>>>>>>>> prior. I added that example since technically per the >>>>>>> original spec >>>>>>>>>>>>>>>>> it >>>>>>>>>>>>>>>>>>>>>> wouldn't be cancelled out in this pass. It's a gray area >>>>>>> so I may >>>>>>>>>>>>>>> be >>>>>>>>>>>>>>>>>>>>> able >>>>>>>>>>>>>>>>>>>>>> to use this approach, especially since I don't see how to >>>>>>>>>>>>>>> incorporate >>>>>>>>>>>>>>>>>>>>> the >>>>>>>>>>>>>>>>>>>>>> time element into the progressive index. >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> Thanks again >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> On Wed, Apr 12, 2017 at 3:52 PM, chris burke < >>>>>>> [email protected]> >>>>>>>>>>>>>>>>>>>>> wrote: >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> This might be done by comparing matrices of sales and >>>>>>> returns. The >>>>>>>>>>>>>>>>>>>>>>> function >>>>>>>>>>>>>>>>>>>>>>> below seems to be close to what you want. It doesn't >>>>>>> exactly match >>>>>>>>>>>>>>>>> your >>>>>>>>>>>>>>>>>>>>>>> example, but your example has cases where returns are >>>>>>> made before >>>>>>>>>>>>>>>>> the >>>>>>>>>>>>>>>>>>>>>>> transactions. Was this intentional? >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> The code should run faster than a looping solution. >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> Code: >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> NB. hui progressive index >>>>>>>>>>>>>>>>>>>>>>> NB. http://code.jsoftware.com/ >>>>>>> wiki/Essays/Progressive_Index-Of >>>>>>>>>>>>>>>>>>>>>>> oc=: i.~ (] - {) /:@/: >>>>>>>>>>>>>>>>>>>>>>> pi=: #@[ ({. i.&(,.oc) }.) [ i. , >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> NB. argument is 3-col table of seq,key,qty >>>>>>>>>>>>>>>>>>>>>>> NB. result is the unmatched transactions >>>>>>>>>>>>>>>>>>>>>>> matchtrans=: 3 : 0 >>>>>>>>>>>>>>>>>>>>>>> msk=. 0<{:"1 y >>>>>>>>>>>>>>>>>>>>>>> sales=. msk#y >>>>>>>>>>>>>>>>>>>>>>> returns=. (-.msk)#y >>>>>>>>>>>>>>>>>>>>>>> ndx=. (}."1 sales) pi | }."1 returns >>>>>>>>>>>>>>>>>>>>>>> cancels=. ndx<#sales >>>>>>>>>>>>>>>>>>>>>>> ((<<<cancels#ndx){sales),(-.cancels)#returns >>>>>>>>>>>>>>>>>>>>>>> ) >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> Example: >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> dat=: ".;._2 (0 : 0) >>>>>>>>>>>>>>>>>>>>>>> 1 1 1 >>>>>>>>>>>>>>>>>>>>>>> 2 1 _1 >>>>>>>>>>>>>>>>>>>>>>> 3 1 1 >>>>>>>>>>>>>>>>>>>>>>> 4 2 1 >>>>>>>>>>>>>>>>>>>>>>> 5 2 1 >>>>>>>>>>>>>>>>>>>>>>> 6 2 3 >>>>>>>>>>>>>>>>>>>>>>> 7 2 _1 >>>>>>>>>>>>>>>>>>>>>>> 8 2 _1 >>>>>>>>>>>>>>>>>>>>>>> 9 3 5 >>>>>>>>>>>>>>>>>>>>>>> 10 3 _2 >>>>>>>>>>>>>>>>>>>>>>> 11 3 2 >>>>>>>>>>>>>>>>>>>>>>> ) >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> matchtrans dat >>>>>>>>>>>>>>>>>>>>>>> 3 1 1 >>>>>>>>>>>>>>>>>>>>>>> 6 2 3 >>>>>>>>>>>>>>>>>>>>>>> 9 3 5 >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> On Wed, Apr 12, 2017 at 9:35 AM, Joe Bogner < >>>>>>> [email protected]> >>>>>>>>>>>>>>>>>>>>> wrote: >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> I have a problem I'm trying to solve in different >>>>>>> languages. I >>>>>>>>>>>>>>>>> have a >>>>>>>>>>>>>>>>>>>>>>>> solution in SQL and also in kdb which largely resembles >>>>>>> the SQL >>>>>>>>>>>>>>>>>>>>>>> solution. >>>>>>>>>>>>>>>>>>>>>>>> I'm curious what a J solution would look like. More >>>>>>> specifically, >>>>>>>>>>>>>>>>> I'm >>>>>>>>>>>>>>>>>>>>>>>> interested in picking the brains of others here to see >>>>>>> if this >>>>>>>>>>>>>>> type >>>>>>>>>>>>>>>>>>>>> of >>>>>>>>>>>>>>>>>>>>>>>> problem can be solved without looping (some form of >>>>>>> scan?). >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> EDIT: Initially I wrote this up thinking the J solution >>>>>>> would >>>>>>>>>>>>>>>>>>>>> difficult, >>>>>>>>>>>>>>>>>>>>>>>> but it was actually fairly straightforward -- about 15 >>>>>>> minutes, >>>>>>>>>>>>>>> but >>>>>>>>>>>>>>>>>>>>>>> still >>>>>>>>>>>>>>>>>>>>>>>> would like to see if there are alternatives. If nothing >>>>>>> else, >>>>>>>>>>>>>>> maybe >>>>>>>>>>>>>>>>>>>>> an >>>>>>>>>>>>>>>>>>>>>>>> interesting problem to share. >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> Example data: >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> A store has a transaction log with a sequence for each >>>>>>>>>>>>>>> transaction. >>>>>>>>>>>>>>>>>>>>> The >>>>>>>>>>>>>>>>>>>>>>>> transaction log records a key for a unique >>>>>>>>>>>>>>>>>>>>>>>> customer/item >>>>>>>>>>>>>>>>> combination. >>>>>>>>>>>>>>>>>>>>>>> The >>>>>>>>>>>>>>>>>>>>>>>> transaction log records how many units were purchased >>>>>>>>>>>>>>>>>>>>>>>> or >>>>>>> returned. >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> Goal: >>>>>>>>>>>>>>>>>>>>>>>> Attempt to match up related transactions and cancel out >>>>>>> instances >>>>>>>>>>>>>>>>>>>>> when >>>>>>>>>>>>>>>>>>>>>>> the >>>>>>>>>>>>>>>>>>>>>>>> customer/item combination is returned at the same >>>>>>> quantity as a >>>>>>>>>>>>>>>>>>>>> previous >>>>>>>>>>>>>>>>>>>>>>>> transaction >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> Examples: >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> Joe buys 1 blue pen, which is defective, then returns >>>>>>> the 1 >>>>>>>>>>>>>>>>> defective >>>>>>>>>>>>>>>>>>>>>>> blue >>>>>>>>>>>>>>>>>>>>>>>> pen, then buys another blue pen. EXPECTED: cancel out >>>>>>> first two >>>>>>>>>>>>>>>>>>>>>>>> transactions and leave the the last one for 1 pen >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> Bob buys 2 red pens in two separate transactions. He >>>>>>> then buys 3 >>>>>>>>>>>>>>>>>>>>> more. >>>>>>>>>>>>>>>>>>>>>>> He >>>>>>>>>>>>>>>>>>>>>>>> returns the first two purchases as two separate return >>>>>>>>>>>>>>>>> transactions. >>>>>>>>>>>>>>>>>>>>>>>> EXPECTED: cancel out all transactions except the one >>>>>>>>>>>>>>>>>>>>>>>> for >>>>>>> qty 3 >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> Jane buys 5 purple pens and subsequently returns two of >>>>>>> them. She >>>>>>>>>>>>>>>>>>>>> buys >>>>>>>>>>>>>>>>>>>>>>> two >>>>>>>>>>>>>>>>>>>>>>>> more. EXPECTED: No transactions match exactly, so >>>>>>> nothing is >>>>>>>>>>>>>>>>>>>>> cancelled >>>>>>>>>>>>>>>>>>>>>>> out >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> Data: >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> data=: 0 : 0 >>>>>>>>>>>>>>>>>>>>>>>> seq key qty >>>>>>>>>>>>>>>>>>>>>>>> 1 1 1 >>>>>>>>>>>>>>>>>>>>>>>> 2 1 _1 >>>>>>>>>>>>>>>>>>>>>>>> 3 1 1 >>>>>>>>>>>>>>>>>>>>>>>> 4 2 1 >>>>>>>>>>>>>>>>>>>>>>>> 5 2 1 >>>>>>>>>>>>>>>>>>>>>>>> 6 2 3 >>>>>>>>>>>>>>>>>>>>>>>> 7 2 _1 >>>>>>>>>>>>>>>>>>>>>>>> 8 2 _1 >>>>>>>>>>>>>>>>>>>>>>>> 9 3 5 >>>>>>>>>>>>>>>>>>>>>>>> 10 3 _2 >>>>>>>>>>>>>>>>>>>>>>>> 11 3 2 >>>>>>>>>>>>>>>>>>>>>>>> ) >>>>>>>>>>>>>>>>>>>>>>>> tbl =: ,. ' ' cut every cutLF data >>>>>>>>>>>>>>>>>>>>>>>> 'seqs keys qtys' =: |: ". every }. tbl >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> Goal: >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> goals =: 0 : 0 >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> goal >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> cancelled >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> credit >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> ok >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> cancelled >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> cancelled >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> ok >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> credit >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> credit >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> ok >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> ok >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> ok >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> ) >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> tbl,.(cutLF goals) >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> +---+---+---+---------+ >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> |seq|key|qty|goal | >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> +---+---+---+---------+ >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> |1 |1 |1 |cancelled| >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> +---+---+---+---------+ >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> |2 |1 |_1 |credit | >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> +---+---+---+---------+ >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> |3 |1 |1 |ok | >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> +---+---+---+---------+ >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> |4 |2 |1 |cancelled| >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> +---+---+---+---------+ >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> |5 |2 |1 |cancelled| >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> +---+---+---+---------+ >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> |6 |2 |3 |ok | >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> +---+---+---+---------+ >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> |7 |2 |_1 |credit | >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> +---+---+---+---------+ >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> |8 |2 |_1 |credit | >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> +---+---+---+---------+ >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> |9 |3 |5 |ok | >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> +---+---+---+---------+ >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> |10 |3 |_2 |ok | >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> +---+---+---+---------+ >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> |11 |3 |2 |ok | >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> +---+---+---+---------+ >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> One approach: >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> applycredits =: 3 : 0 >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> goals=.(<'goal') >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> creditids=.0 >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> for_i. (i. # seqs) do. >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> key=.i{keys >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> seq=.i{seqs >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> qty=.i{qtys >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> nextcredit =.| {. qtys #~ ((key=keys)*(seqs>seq)*(qtys< >>>>>>> 0)) >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> if. nextcredit = qty do. >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> goals=.goals,<'cancelled' >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> creditids =. creditids, seqs #~ >>>>>>> ((key=keys)*(seqs>seq)*(qtys<0)) >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> elseif. creditids e.~ seq do. >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> goals=.goals,<'credit' >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> elseif. do. >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> goals=.goals,<'ok' >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> end. >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> end. >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> goals >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> ) >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> tbl ,. ( applycredits 0 ) >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> +---+---+---+---------+ >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> |seq|key|qty|goal | >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> +---+---+---+---------+ >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> |1 |1 |1 |cancelled| >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> +---+---+---+---------+ >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> |2 |1 |_1 |credit | >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> +---+---+---+---------+ >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> |3 |1 |1 |ok | >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> +---+---+---+---------+ >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> |4 |2 |1 |cancelled| >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> +---+---+---+---------+ >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> |5 |2 |1 |cancelled| >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> +---+---+---+---------+ >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> |6 |2 |3 |ok | >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> +---+---+---+---------+ >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> |7 |2 |_1 |credit | >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> +---+---+---+---------+ >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> |8 |2 |_1 |credit | >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> +---+---+---+---------+ >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> |9 |3 |5 |ok | >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> +---+---+---+---------+ >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> |10 |3 |_2 |ok | >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> +---+---+---+---------+ >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> |11 |3 |2 |ok | >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> +---+---+---+---------+ >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> (cutLF goals) -: ( applycredits 0 ) >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> 1 >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> thanks for any input >>>>>>>>>>>>>>>>>>>>>>>> ------------------------------ >>>>>>> ------------------------------ >>>>>>>>>>>>>>>>>>>>> ---------- >>>>>>>>>>>>>>>>>>>>>>>> For information about J forums see >>>>>>> http://www.jsoftware.com/forum >>>>>>>>>>>>>>>>>>>>> s.htm >>>>>>>>>>>>>>>>>>>>>>> ------------------------------ >>>>>>> ------------------------------ >>>>>>>>>>>>>>>>> ---------- >>>>>>>>>>>>>>>>>>>>>>> For information about J forums see >>>>>>> http://www.jsoftware.com/forum >>>>>>>>>>>>>>>>> s.htm >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> ------------------------------ >>>>>>> ------------------------------ >>>>>>>>>>>>>>>>> ---------- >>>>>>>>>>>>>>>>>>>>> For information about J forums see >>>>>>> http://www.jsoftware.com/forum >>>>>>>>>>>>>>>>> s.htm >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> ------------------------------------------------------------ >>>>>>> ---------- >>>>>>>>>>>>>>>>>>> For information about J forums see http://www.jsoftware.com/ >>>>>>> forums.htm >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> ------------------------------------------------------------ >>>>>>> ---------- >>>>>>>>>>>>>>>>>>> For information about J forums see http://www.jsoftware.com/ >>>>>>> forums.htm >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> ------------------------------------------------------------ >>>>>>> ---------- >>>>>>>>>>>>>>>>>> For information about J forums see http://www.jsoftware.com/ >>>>>>> forums.htm >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> ------------------------------------------------------------ >>>>>>> ---------- >>>>>>>>>>>>>>>>>> For information about J forums see http://www.jsoftware.com/ >>>>>>> forums.htm >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> ------------------------------------------------------------ >>>>>>> ---------- >>>>>>>>>>>>>>>>> For information about J forums see http://www.jsoftware.com/ >>>>>>> forums.htm >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> ------------------------------------------------------------ >>>>>>> ---------- >>>>>>>>>>>>>>>> For information about J forums see http://www.jsoftware.com/ >>>>>>> forums.htm >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> ------------------------------------------------------------ >>>>>>> ---------- >>>>>>>>>>>>>>> For information about J forums see http://www.jsoftware.com/ >>>>>>> forums.htm >>>>>>>>>>>>>>> ------------------------------------------------------------ >>>>>>> ---------- >>>>>>>>>>>>>>> For information about J forums see http://www.jsoftware.com/ >>>>>>> forums.htm >>>>>>>>>>>>>> >>>>>>>>>>>>>> ------------------------------------------------------------ >>>>>>> ---------- >>>>>>>>>>>>>> For information about J forums see http://www.jsoftware.com/ >>>>>>> forums.htm >>>>>>>>>>>>> >>>>>>>>>>>>> ------------------------------------------------------------ >>>>>>> ---------- >>>>>>>>>>>>> For information about J forums see http://www.jsoftware.com/ >>>>>>> forums.htm >>>>>>>>>>>> >>>>>>>>>>>> ------------------------------------------------------------ >>>>>>> ---------- >>>>>>>>>>>> For information about J forums see http://www.jsoftware.com/ >>>>>>> forums.htm >>>>>>>>>>> >>>>>>>>>>> -- >>>>>>>>>>> regards, >>>>>>>>>>> ==================================================== >>>>>>>>>>> GPG key 1024D/4434BAB3 2008-08-24 >>>>>>>>>>> gpg --keyserver subkeys.pgp.net --recv-keys 4434BAB3 >>>>>>>>>>> gpg --keyserver subkeys.pgp.net --armor --export 4434BAB3 >>>>>>>>>>> ------------------------------------------------------------ >>>>>>> ---------- >>>>>>>>>>> For information about J forums see http://www.jsoftware.com/ >>>>>>> forums.htm >>>>>>>>>> >>>>>>>>>> ---------------------------------------------------------------------- >>>>>>>>>> For information about J forums see >>>>>>>>>> http://www.jsoftware.com/forums.htm >>>>>>>>> >>>>>>>>> -- >>>>>>>>> regards, >>>>>>>>> ==================================================== >>>>>>>>> GPG key 1024D/4434BAB3 2008-08-24 >>>>>>>>> gpg --keyserver subkeys.pgp.net --recv-keys 4434BAB3 >>>>>>>>> gpg --keyserver subkeys.pgp.net --armor --export 4434BAB3 >>>>>>>> >>>>>>>> -- >>>>>>>> regards, >>>>>>>> ==================================================== >>>>>>>> GPG key 1024D/4434BAB3 2008-08-24 >>>>>>>> gpg --keyserver subkeys.pgp.net --recv-keys 4434BAB3 >>>>>>>> gpg --keyserver subkeys.pgp.net --armor --export 4434BAB3 >>>>>>>> ---------------------------------------------------------------------- >>>>>>>> For information about J forums see http://www.jsoftware.com/forums.htm >>>>>>> >>>>>>> ---------------------------------------------------------------------- >>>>>>> For information about J forums see http://www.jsoftware.com/forums.htm >>>>>> ---------------------------------------------------------------------- >>>>>> For information about J forums see http://www.jsoftware.com/forums.htm >>>>> >>>>> ---------------------------------------------------------------------- >>>>> For information about J forums see http://www.jsoftware.com/forums.htm >>>> >>>> -- >>>> regards, >>>> ==================================================== >>>> GPG key 1024D/4434BAB3 2008-08-24 >>>> gpg --keyserver subkeys.pgp.net --recv-keys 4434BAB3 >>>> gpg --keyserver subkeys.pgp.net --armor --export 4434BAB3 >>>> ---------------------------------------------------------------------- >>>> For information about J forums see http://www.jsoftware.com/forums.htm >>> >>> ---------------------------------------------------------------------- >>> For information about J forums see http://www.jsoftware.com/forums.htm >> >> ---------------------------------------------------------------------- >> For information about J forums see http://www.jsoftware.com/forums.htm >> > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
