Re: [U2] Unidata programming books?

2011-03-02 Thread Symeon Breen
Hi If you are already a programmer then I am not sure a book is the right thing tbh - the manuals provided with unidata would suffice. If you are not a programmer, then I am not sure what book would be best, many of them are rather old. It may be better to learn general programming

[U2] AUTO: Chris Thornton, Milton Keynes DataStage software engineer, is on leave. (returning 03/03/2011)

2011-03-02 Thread Chris Thornton1
I am out of the office until 03/03/2011. I am on leave until Thursday 3rd March. For 8.5 / Concierge issues please contact lha...@us.ibm.com For other support issues, please contact dave.cheese...@uk.ibm.com For all other urgent issues please contact julian.vi...@uk.ibm.com Note: This is an

[U2] UV PE Linux

2011-03-02 Thread Bob Little
The copy I had expired on 2/28/11 and there's no current version on Rocket's website. Does anyone know when or if there will be an updated UV PE Linux version available? Bob Little UniVerse Developer Market America Greensboro, NC 336-478-1694 ___

Re: [U2] UV PE Linux

2011-03-02 Thread Carl Dula
It appears you can get it here: http://www.rocketsoftware.com/u2/resources/downloads -- Carl Dula Voice: 973-227-8440 X111 Pulsar Systems, Inc.Fax: 973-227-8440 271 US Highway 46, STE H209

Re: [U2] UV PE Linux

2011-03-02 Thread Bob Little
I see UniData PE for Linux and UniVerse PE for Windows, but I don't see UniVerse PE for Linux. -bob -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Carl Dula Sent: Wednesday, March 02, 2011 7:32 AM To:

Re: [U2] UV PE Linux

2011-03-02 Thread Carl Dula
Sorry, try it here... http://www.rocketsoftware.com/u2/resources/premium/downloads/universe-linux?searchterm=universe+personal+edition+linux - Original Message - From: Carl Dula c...@pulsarsystems.com To: u2-users@listserver.u2ug.org Sent: Wednesday, March 02, 2011 7:32 AM

Re: [U2] UV PE Linux

2011-03-02 Thread Mike Street
But this is the version which expired on Feb 28th 2011 ... -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Carl Dula Sent: Wednesday, March 02, 2011 12:50 PM To: u2-users@listserver.u2ug.org Subject: Re: [U2] UV PE

Re: [U2] UV PE Linux

2011-03-02 Thread George Gallen
Mike, Look into a little utility called timeshift. I don't know if it still works with later *nixs, I believe it's a wrapper that will run a process under any date you want it to be.I think that's what it did. I don't know what would happen if you started the UV server inside the time

Re: [U2] UV PE Linux

2011-03-02 Thread DavidJMurray (mvdbs.com)
In Rockets last newsletter - 28 Feb 2011 - they state that UniVerse 11.1 on Linux as PE will be available real soon now... Bob Little-4 wrote: I see UniData PE for Linux and UniVerse PE for Windows, but I don't see UniVerse PE for Linux. - Learn and Do Excel and Share

[U2] Is this worth rewriting?

2011-03-02 Thread Dave Laansma
This is some old code that I didn't write, so please don't use it for anything profitable ... The proposal to the group is: Due to the repeated references deep into the PARMS tables, if this were rewritten to reference these locations as few times as possible, IN YOUR OPINION, would there be a

Re: [U2] Is this worth rewriting?

2011-03-02 Thread Steve Romanow
On 3/2/2011 11:43 AM, Dave Laansma wrote: This is some old code that I didn't write, so please don't use it for anything profitable ... The proposal to the group is: Due to the repeated references deep into the PARMS tables, if this were rewritten to reference these locations as few times as

Re: [U2] Is this worth rewriting?

2011-03-02 Thread Charlie Noah
Hi Dave, Not enough information. 1. How many records does it run against? 2. How long does it take to run? 3. How massive is the PARMS data? If 2 above is insignificant, you may be better off to let sleeping dogs lie, rather than having to test against a full EOM run. Otherwise, I vote for a

Re: [U2] Is this worth rewriting?

2011-03-02 Thread Martin Phillips
Hi Dave, In general, access to an element of a dimensioned array is fast so the frequent references to PARM(12) should not be a problem. On the other hand, even with the benefits of field level hints, repeated references to the same field/value may be improved by extracting the data into a

Re: [U2] Is this worth rewriting?

2011-03-02 Thread Ron Hutchings
Couldn't help but notice it was written without the += and -= constructs. Date: Wed, 2 Mar 2011 11:43:58 -0500 From: dlaan...@hubbardsupply.com To: u2-users@listserver.u2ug.org Subject: [U2] Is this worth rewriting? This is some old code that I didn't write, so please don't use it for

Re: [U2] Is this worth rewriting?

2011-03-02 Thread FFT2001
In a message dated 3/2/2011 9:12:57 AM Pacific Standard Time, martinphill...@ladybridge.com writes: Incidentally, and at the risk of starting a new war on style, this is a great example of why developers should use equate tokens with meaningful names rather than numbers for field

Re: [U2] Is this worth rewriting?

2011-03-02 Thread FFT2001
In a message dated IF PARMS(7)102,CM#'' THEN CUMO(M)=CUMO(M)+PARMS(7)102,CM ELSE CUMO(M)=CUMO(M)+PARMS(12)134,CM END Just as a follow up, IF Not Not, is very bad style. And parsing long and then short is as well. This part should have been

Re: [U2] Is this worth rewriting?

2011-03-02 Thread Mecki Foerthmann
If it works, why bother? It IS an ugly piece of code, though. On 02/03/2011 16:43, Dave Laansma wrote: This is some old code that I didn't write, so please don't use it for anything profitable ... The proposal to the group is: Due to the repeated references deep into the PARMS tables, if

Re: [U2] Is this worth rewriting?

2011-03-02 Thread David Wolverton
Well -- I usually code so the 'first clause' is my 'expected outcome' -- that is, if the PARMS(7)102,CM is TYPICALLY 'not empty' -- so I would do # THEN myself as well.. I do it as much to express the code as the 'typical path'. I also perceive (although have never tested!) the THEN clause as

Re: [U2] Is this worth rewriting?

2011-03-02 Thread Steve Romanow
On 3/2/2011 1:34 PM, David Wolverton wrote: So I'm curious why it would that be a bad idea to say ' # THEN'? Is there actually any extra 'overhead'? Or is this a 'preference' issue? Myself, I actually think of it as being 'better documented' explaining how I think the average transaction

Re: [U2] Is this worth rewriting?

2011-03-02 Thread Bill Brutzman
Begin case Case code will never run on any machine ever again ; not worth rewriting Case 1 ; someone will probably look at the code

Re: [U2] Is this worth rewriting?

2011-03-02 Thread David Wolverton
The += I completely agree with. No arguments on that point at all. But #or = ... that's the exact same amount of code! ;-) And this example seems to point that ONE or the other is needed. That is, you could not change their code IF PARMS(7)102,CM # '' THEN

Re: [U2] Is this worth rewriting?

2011-03-02 Thread Steve Romanow
On 3/2/2011 2:05 PM, David Wolverton wrote: As what if PARMS(7)102,CM = 0? 0 would 'fail' the 2nd test, but is 'not blank'. So you cannot 'shorten' the clause at all. It either has to be = or # in this case (not knowing anything about the data). Adding a zero into the sum is basically a

Re: [U2] Is this worth rewriting?

2011-03-02 Thread David Wolverton
By jove, you're right! In this example, you COULD shorten the clause and it would work! I missed that!! But back to the 'issue' I was raising, although in this example it's moot - the generic statement was that 'IF ... # ... THEN' is 'bad style' ?? I still have missed why that should be

Re: [U2] Is this worth rewriting?

2011-03-02 Thread Steve Romanow
On 3/2/2011 2:18 PM, David Wolverton wrote: By jove, you're right! In this example, you COULD shorten the clause and it would work! I missed that!! But back to the 'issue' I was raising, although in this example it's moot - the generic statement was that 'IF ... # ... THEN' is 'bad style' ??

Re: [U2] Is this worth rewriting?

2011-03-02 Thread Jeff Schasny
Argh! Multi statement lines in a case construct. Shoot me now. Sorry. Bill Brutzman wrote: Begin case Case code will never run on any machine ever again ; not worth rewriting Case 1

Re: [U2] Is this worth rewriting?

2011-03-02 Thread Dave Laansma
The reason I ask specifically of the repeated references is, during one of the sessions at U2UG-Denver, it was implied that each time you reference a specific location in a table, the OS basically has to start at the beginning of the table and 'find' its way to that location (explained in my

[U2] Git and U2

2011-03-02 Thread DavidJMurray (mvdbs.com)
Has anyone used Git and U2 - either UniVerse or Unidata - together? Or any other suggestions for a version control - open source is preferred? Thanks in advance, djm - Learn and Do Excel and Share http://mvdbs.com http://mvdbs.com -- View this message in context:

Re: [U2] Is this worth rewriting?

2011-03-02 Thread Martin Phillips
Hi Dave, The reason I ask specifically of the repeated references is, during one of the sessions at U2UG-Denver, it was implied that each time you reference a specific location in a table, the OS basically has to start at the beginning of the table and 'find' its way to that location Whilst

Re: [U2] U2-Users Digest, Vol 23, Issue 2

2011-03-02 Thread jay rappaport
you say tha half a million records go thru this monthly? what is the concern then of creating a value of zero vs leaving a CUMM element null? it would seem highly unlikely that not a single record you process has no value. just element the tests for null that only stop a single addition and are

Re: [U2] Git and U2

2011-03-02 Thread Steve Romanow
On 3/2/2011 3:18 PM, DavidJMurray (mvdbs.com) wrote: Has anyone used Git and U2 - either UniVerse or Unidata - together? Or any other suggestions for a version control - open source is preferred? Thanks in advance, djm - Learn and Do Excel and Share http://mvdbs.com http://mvdbs.com

Re: [U2] Is this worth rewriting?

2011-03-02 Thread Kevin King
What Martin said. It would be better to extract to temporary 1-attribute variables and loop through those rather than looping through the 101st attribute repeatedly. Especially for the prior prior year when LY.CNT = 24. So I say aye. This can definitely be improved.

Re: [U2] Git and U2

2011-03-02 Thread Rex Gozar
I use CVS with Universe. I chose to use shell scripts to build Universe accounts; I use the same scripts for both Linux and Windows (via cygwin). rex ___ U2-Users mailing list U2-Users@listserver.u2ug.org

Re: [U2] Is this worth rewriting?

2011-03-02 Thread Rex Gozar
Optimization is about getting rid of bottlenecks in the code. Does this code snippet really represent a significant percentage of the total processing time? Really, what percent? If you can't quantify it, don't change it. rex ___ U2-Users mailing

Re: [U2] Is this worth rewriting?

2011-03-02 Thread Steve Romanow
On 3/2/2011 4:07 PM, Rex Gozar wrote: Optimization is about getting rid of bottlenecks in the code. Does this code snippet really represent a significant percentage of the total processing time? Really, what percent? If you can't quantify it, don't change it. rex

Re: [U2] Is this worth rewriting?

2011-03-02 Thread Allen E. Elwood
Yes and the code would make much more sense if they had names other than parm... You know, stuff like QTY, COST and SALES crazy things like that aye -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Kevin King

Re: [U2] Is this worth rewriting?

2011-03-02 Thread Steve Romanow
On 3/2/2011 5:08 PM, Allen E. Elwood wrote: Yes and the code would make much more sense if they had names other than parm... You know, stuff like QTY, COST and SALES crazy things like that aye -Original Message- From: u2-users-boun...@listserver.u2ug.org

Re: [U2] Is this worth rewriting?

2011-03-02 Thread fft2001
Let me clarify. The problem in my mind is not with the IF X # '' THEN It's with the ELSE portion, which in effect *means* IF X # (# '') The Else clause is essentially executed on a Not Not condition. That adds unnecessary confusion for the next programmer. W -Original

Re: [U2] Is this worth rewriting?

2011-03-02 Thread fft2001
Dave you are correct when referring to dynamic arrays, the 101 type entries in your code. In general, outside of the REMOVE type operations, references like that, must start at field 1 and walk the array until it gets to field 101, reading every character between. Which is why, in general,

Re: [U2] Is this worth rewriting?

2011-03-02 Thread Allen E. Elwood
That is an object used in prelude. It is passed around everywhere. The question was how to make it faster. In a loop you want to eliminate redundant overhead to accomplish this. The way to stop that overhead in the reference to dynamic vars is to place them into single attr vars as Kevin

Re: [U2] REMOVE() was Is This Worth Rewriting

2011-03-02 Thread Steve Romanow
I tried to drink the KoolAid and use REMOVE on some projects, but found a show stopper on UDT6.1. I cannot remember the specifics. Oh, I remember, In cases where you are addressing aligned mv's with your loop variable it was not saving you that much because you still need extract the other

[U2] [AD] RE: Git and U2

2011-03-02 Thread Bill Brutzman
I have available U2-based SCM (Software Configuration Mgr)... called Ch. O Menu-driven O User-interface - Developer to specify change notes - no command-line hassle O Integrates with VOC the latest rev and file path O OSGI... Cross References Subs and their

Re: [U2] [AD] RE: Git and U2

2011-03-02 Thread Steve Romanow
On 3/2/2011 5:43 PM, Bill Brutzman wrote: I have available U2-based SCM (Software Configuration Mgr)... calledCh. O Menu-driven O User-interface - Developer to specify change notes - no command-line hassle O Integrates with VOC the latest rev and file path O

Re: [U2] [AD] RE: Git and U2

2011-03-02 Thread Bill Brutzman
Right now, Ch is not SB+ aware. --Bill -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Steve Romanow Sent: Wednesday, March 02, 2011 5:45 PM To: U2 Users List Subject: Re: [U2] [AD] RE: Git and U2 On 3/2/2011 5:43

Re: [U2] REMOVE() was Is This Worth Rewriting

2011-03-02 Thread fft2001
Yes. Your aligned multivalues are also referred to as dependent-controlling sets. You have one attribute controlling the placements of the values for the others. Nasty buggers, always bite. You have to grab them right behind the ears. -Original Message- From: Steve Romanow

Re: [U2] Is this worth rewriting?

2011-03-02 Thread Tony Gravagno
From:David Wolverton The += I completely agree with. No arguments on that point at all. I've actually only adopted use of +=, -=, etc in Pick BASIC over the last few years. I've been concerned that older developers wouldn't recognize the syntax, and that it wasn't portable across Pick

Re: [U2] Is this worth rewriting?

2011-03-02 Thread Keith Johnson [DATACOM]
Agreed that the dimensioned extract wouldn't make much difference, still the attributes numbers are quite high. The code below goes from 15 extracts maximum per for-next loop to 6. I can't help but think this might mean something if it takes 90 minutes to run. 001: MONTHLY.USAGE: 002: CM =

Re: [U2] Is this worth rewriting?

2011-03-02 Thread Brian Whitehorn
007: IF TEA # '' OR EAT # '' OR ATE # '' THEN CUM(M) = TEA + EAT + ATE to 007: IF (TEA : EAT : ATE) # '' THEN CUM(M) = TEA + EAT + ATE likewise, 011: IF YAM # '' OR AMY # '' OR MYA # '' THEN to 011: IF (YAM : AMY : MYA) # '' THEN AU$0.02. -Original Message- From:

Re: [U2] Is this worth rewriting?

2011-03-02 Thread Boydell, Stuart
My druthers... IF (TEA + CAKE + ...) THEN ATE += TEA + CAKE + ... CASE @TRUE ;* finding CASE 1 is unintuitive use of a magic number / antithetical case statements may be obviated (for testing etc) by CASE @FALSE -Original Message- 007: IF TEA # '' OR EAT # '' OR ATE # '' THEN CUM(M) =

Re: [U2] Is this worth rewriting?

2011-03-02 Thread Dan McGrath
If you are running UniData, you can also move the TEA, EAT, ATE, YAM, AMY MYA outside of the FOR M loop if you exclude CM. Inside you can than do TEACM = TEA1,CM, etc Of course, as stated by others, whether it is worth the changing/testing time cannot be known unless you have actually

Re: [U2] Git and U2

2011-03-02 Thread Don Robinson
David My favorite is Perforce. It' not open source but a two user, five workspace version is free. I use one workspace on development and one on production so five is plenty for me. It is not MV aware but I've used it with Unidata, Universe and jBASE. It has command line and GUI interfaces for

Re: [U2] Is this worth rewriting?

2011-03-02 Thread Chris Austin
try this, your loops are using too many conditionals. What kind of data is this, string, integer, etc? MONTHLY.USAGE: -- CM = MONTH + LY.CNT TEA = PARMS(12)101,CM EAT = PARMS(12)133,CM ATE = PARMS(12)134,CM FOR M = 1 TO 12 IF TEA+EAT+ATE '' THEN CUM(M) = TEA+EAT+ATE YAM =

Re: [U2] Is this worth rewriting?

2011-03-02 Thread Chris Austin
I didn't realize the CM var could be used so I re-wrote it. This program logic looks horrible though, I would definitely re-write it with consideration of indexing some fields to make it run more efficient. Chris MONTHLY.USAGE: CM = MONTH+LY.CNT FOR M = 1 TO 12 TEA = PARMS(12)101,CM EAT =

Re: [U2] Is this worth rewriting?

2011-03-02 Thread Allen E. Elwood
All right, I just went ahead and rewrote this the way I would do it since I haven't written a single bit of code since I got laid off at the end of September. And I did it while my wife and I are watching Judge Judy - it was *fun* :-) Granted I can't use real var names since I don't know what

Re: [U2] Is this worth rewriting?

2011-03-02 Thread Allen E. Elwood
#1 In a binary register, in machine code, there is no such thing as #. There is NOT and = which is two comparisons. Now, granted, there have been significant improvements in cpu's since I did machine code in 1975, so maybe that has changed... #2 Ummmhey, that's funny. I think I did that

Re: [U2] Is this worth rewriting?

2011-03-02 Thread Dan McGrath
#1 In x86 assembly, you use can use JE or JNE. So you do the comparison, then jump. How you jump (or don't jump) determines if it was an = or #. -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Allen E. Elwood Sent:

Re: [U2] Is this worth rewriting?

2011-03-02 Thread Gregor Scott
A suggestion: Raise the @VM to @AM to improve dynamic array performance. Attribute lookups are way faster than value lookups, and you have already extracted the data to a new variable MONTHLY.USAGE: CM = MONTH + LY.CNT P12.101 = RAISE(PARMS(12)101) P12.133 = RAISE(PARMS(12)133) P12.134 =

Re: [U2] Is this worth rewriting?

2011-03-02 Thread Allen E. Elwood
Oh yeah, assembly - no sweat, you could do that on an old IBM360 along with floating point math and hosts of really awesome and incredibly mind numbing complicated stuff. But non-relocateable machine code? You know, the stuff that's *really* doing the work? I've never seen any that could do a

Re: [U2] Is this worth rewriting?

2011-03-02 Thread Allen E. Elwood
Nice! I tend to eschew RAISE and LOWER as they can cause really bummer problems if you forget to LOWER before stuffing back into a record and testing doesn't find it, and then it hits the live account and all hell breaks loose. But for stuff that doesn't go back into a record, that's pretty

Re: [U2] Is this worth rewriting?

2011-03-02 Thread Dan McGrath
Yes, in the real instruction that gets send down those long multi-stage pipe lines in our multi-core CPUs :) They take the same amount of clock cycles to compare if a 32bit/64 bit value is equal, or not equal. When values are compared it merely sets one of the many flags in the CPU. This binary

Re: [U2] Is this worth rewriting?

2011-03-02 Thread Gregor Scott
The other thing to try, though not really a performance improvement, is the following: Replace: IF P7.100CM = '' THEN CUMO(M) += P12.101CM END ELSE CUMO(M) += P7.100CM END IF P7.101CM = '' THEN CUMO(M) += P12.133CM END ELSE CUMO(M) += P7.101CM END IF P7.102CM =

Re: [U2] Is this worth rewriting?

2011-03-02 Thread Dan McGrath
Actually, (at least in UniData) it is a performance improvement :). It has to do with how BASIC compiles the code into the object file and tags each line with a line number. Each time it jumps to a line or progresses to the next it must process the line number to update it for when it shows

Re: [U2] Is this worth rewriting?

2011-03-02 Thread Allen E. Elwood
Ok, just to be clear, there is a difference between an interpreted instruction and a hard wired machine code instruction. An actual BRANCH ON NOTEQUAL operand ANALOG *circuit* must be etched in silicon at the flip-flop level before it's a machine code instruction. So like, not impossible. But

Re: [U2] Is this worth rewriting?

2011-03-02 Thread Robert Houben
That *is* cool! I still remember helping my dad with his tube tester. He'd repair radios and TVs for his friends from work. In return he got their rejects for parts. We never had to buy a TV... There's something about the sound from an old tube radio that you can't beat! Sometimes when I

Re: [U2] Is this worth rewriting?

2011-03-02 Thread Gregor Scott
Which is where the -T option on the BASIC statement comes in handy, though debugging then become s much harder. -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Dan McGrath Sent: Thursday, 3 March 2011 4:24 PM

Re: [U2] Is this worth rewriting?

2011-03-02 Thread FFT2001
The parens are redundant since concat is a higher precedence than Not Also how about If YAM:AMY:MYA IS NOT(NULL) THEN more intuitive :)~~ In a message dated 3/2/2011 4:54:51 P.M. Pacific Standard Time, brian.whiteh...@pentanasolutions.com writes: 011: IF (YAM : AMY : MYA) # ''

Re: [U2] Is this worth rewriting?

2011-03-02 Thread FFT2001
You my friend get the micro-management award for this thread. In a message dated 3/2/2011 9:24:18 P.M. Pacific Standard Time, dmc...@imb.com.au writes: Actually, (at least in UniData) it is a performance improvement :). It has to do with how BASIC compiles the code into the object file