Re: [U2] FW: Valid Backup on Windows Universe

2009-06-29 Thread Anthony W. Youngman
In message 4a4122b1@gmail.com, Steve Romanow 
slestak...@gmail.com writes

Kevin Gusler wrote:

Steve -

Why do you think this?

The failure I see of this system is that even though the db is paused, it
is not in a safe state for backup.
Once you broke the mirror would it not be safe to backup that array??


Kevin Gusler
Applications Developer
Mortgage Builder Software, Inc.
Main:800.850.8060 ext. 106
Fax:  248.304.0601
www.mortgagebuilder.com



The db is basically in mid sentence.  The commits are not atomic.  If 
you restore to the tape, you may in my case have half an order or an 
invoice half processed.  the unidata dbpause does not make people get 
out of maitnenance screens or release locks, so records can be in an 
uncommitted state.  Risk is small, but it is present.

___
But that's a programming issue. It's easy to do exactly the thing with a 
SQL database. It's just that because pretty much EVERY write to a SQL 
database will corrupt integrity until the transaction is complete, SQL 
programmers use transactions as a matter of necessity. Because in MV 
database writes have traditionally often been complete transactions, we 
don't have the same mindset.


Cheers,
Wol
--
Anthony W. Youngman pi...@thewolery.demon.co.uk
'Yings, yow graley yin! Suz ae rikt dheu,' said the blue man, taking the
thimble. 'What *is* he?' said Magrat. 'They're gnomes,' said Nanny. The man
lowered the thimble. 'Pictsies!' Carpe Jugulum, Terry Pratchett 1998
Visit the MaVerick web-site - http://www.maverick-dbms.org Open Source Pick
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] Program Comments/Documentation/Notes/Revision History

2009-06-29 Thread Mecki Foerthmann

With other words nothing I really need like manipulating a U2 database.
Does it make cups of tea too?
Well, I don't like cups of tea, so why should I change?

Steve Romanow wrote:

Mecki Foerthmann wrote:

It really boils down to this.
What can you do with Python in a U2 database that I can't do with 
Pick Basic?

Umm, real unit testing ala nosetest

real exception handling,

umm, real inline documentation (the topic of this thread)

Umm, access to thousands of trained developers all over the world.

lets see, point 5, joining this decade with a modern toolkit.

cross platform capability built in (python runs everywhere, everywhere 
I care about at least.)


Great UI toolkits gtk, Qt, Tcl, (for free)

integration with everything under the sun (except U2) jython, ipython, 
.NET,


Anyone think of anything else?


And do I really need to be able to do that to do my job improving and 
maintaining commercial software in an SB+ Unidata environment any 
better?
If you limit youself to what SB+ can do, wow.  I am coding around SB+ 
as much as possible.

Do I get paid more if I write code in Python instead of Basic?
Doesnt matter.  You will have a better chance of being employable with 
your next job by learning python (or anything else).


I doubt it. The hardest bit is not the coding but figuring out the 
business logic, and no language nor fancy tool can do that for you.
It is also hard to graft policies and processes onto a toolkit that 
was never made for it.  SB+ and Unibasic are very dated and are 
showing there age more and more every year.


I bet there are a lot of things I can do with Pick Basic and 
multi-value that you can't (or at least not as easily) do with Python.
Please name some.  I would really like to know.  Basic has nothing to 
do with MV, nor does python.  Unibasic is merely the language chosen 
to manipulate data objects.
What I propose is no different that what Tony G does with  .NET,  or 
what the java bindings for mv are.


For a db to remain relevant, it needs hooks and GOOD, FREE bindings to 
as many technologies as possible.  If IBM wants a license for every 
single thing related to U2, its growth and uptake will remain stunted.


Things could be a lot different in our marketplace.  We should charge 
for services, not connections.  If you give away the connections, we 
have larger installs, which give more opportunity for consulting and 
getting money into peoples pockets.





So in the end would it really benefit me in what I am doing for a 
living every day if I would learn yet another new language?


I am going to be learning a new language every day that I continue to 
work.  I am not going to hang my whole career on Unibasic.

___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] Program Comments/Documentation/Notes/Revision History

2009-06-29 Thread Results

All,
  Please keep it polite. This is a civilized list.

  - Charles Barouch
  resu...@keyally.com
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] Program Comments/Documentation/Notes/Revision History

2009-06-29 Thread Steve Romanow
Mecki,

My apologies for being confrontational.  This is a subject I care deeply about. 
 I have worked in mv shops exclusively since 1994 (not bragging)  and my point 
was primarily that the IT world has surpassed our tools by a large margin.

I have written my last complicated F-correlative and also my last prestore in 
ED.  I don't save the brain cycles to remember their syntax.

I am also tired of apologizing to programmers who come to my company for how 
archaic U2 FEELS.  I know how nice Unidata is, but I feel like the country 
cousin come to town, marveling at the tools available to my team mates working 
next to me with other db's.

No I don't want to join them in MSSQL.  Further from the truth.  I really want 
to see a mv db that I does what I want.

If I say I one more time, I'm going to be sick.

:)

Regards,
Steve
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] Program Comments/Documentation/Notes/Revision History

2009-06-29 Thread Brian Leach
Hi

I thought about adding code folding to mvDeveloper, but with Pick/Basic it 
doesn't really work in the same way.

If you have a language that is function or member based, there is a very clear 
boundary for each function, e.g.

private void doSomething{
  code in here
}

which makes it easy to collapse.

The problem with Pick/Basic is that there isn't always a clear boundary.
If your subroutines are all like this, it will work:

GoSub MySubroutine

MySubroutine:
  code here
Return

But an IDE or editor has to be able to cope with bad style/design as well as 
good, so you may have the following:

If SomeTest Then
   GoSub MySubroutine
End Else
   GoSub JumpIntoTheMiddle
End

MySubroutine:
   If SomeTest Then
  Return
   End
   (code)
   (falls down into...)
JumpIntoTheMiddle:
   (some more code)
Return

Here you have overlapping labels, and more than one return. Which means that 
the boundary isn't clear. It can be done, but it makes it more complicated.

Brian
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] Program Comments/Documentation/Notes/Revision History

2009-06-29 Thread Steve Romanow

Brian Leach wrote:

Hi

I thought about adding code folding to mvDeveloper, but with Pick/Basic it 
doesn't really work in the same way.

If you have a language that is function or member based, there is a very clear 
boundary for each function, e.g.

  
Could a mild folding (fold the ones there is no dispute about) work?  If 
it worked 90% of the time (but 100% correct) I would use it.  Just leave 
the indeterminate ones un-folded.


I have tinkered some with folding in vim with U2, but I have not worked 
it into my workflow yet.


Good examples Brian.

private void doSomething{
  code in here
}

which makes it easy to collapse.

The problem with Pick/Basic is that there isn't always a clear boundary.
If your subroutines are all like this, it will work:

GoSub MySubroutine

MySubroutine:
  code here
Return

But an IDE or editor has to be able to cope with bad style/design as well as 
good, so you may have the following:

If SomeTest Then
   GoSub MySubroutine
End Else
   GoSub JumpIntoTheMiddle
End

MySubroutine:
   If SomeTest Then
  Return
   End
   (code)
   (falls down into...)
JumpIntoTheMiddle:
   (some more code)
Return

Here you have overlapping labels, and more than one return. Which means that 
the boundary isn't clear. It can be done, but it makes it more complicated.

Brian
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
  


___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] Mixed Case UV Basic Programming Standards.

2009-06-29 Thread Anthony W. Youngman
In message 6806801183013245804b6a7c6b34750715a...@hera.gnosys.local, 
phil walker p...@gnosys.co.nz writes

As anyone written or thought about writing a code refactorer for
U2-BASIC, this would/could/should standardize code semantics and also
appearance?
If this could be made configurable to the style you want to use then
that would be good...and any program with a GOTO in would be
deleted...without warning ;-).


So any proper well-written program would get deleted without warning? 
:-)


About the ONLY place where GOTO really is the best way of handling 
things is dealing with error conditions - and this is the code most 
programs (not only in MV) lack.


Most well-written programs will contain GOTOs, to clean up the mess 
caused when the program trips over something the computer or user should 
have done and hasn't (and it's not always the programmer's fault - it 
could well be hardware failure, network dropped, or something stupid 
like that).


Cheers,
Wol
--
Anthony W. Youngman pi...@thewolery.demon.co.uk
'Yings, yow graley yin! Suz ae rikt dheu,' said the blue man, taking the
thimble. 'What *is* he?' said Magrat. 'They're gnomes,' said Nanny. The man
lowered the thimble. 'Pictsies!' Carpe Jugulum, Terry Pratchett 1998
Visit the MaVerick web-site - http://www.maverick-dbms.org Open Source Pick
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] Program Comments/Documentation/Notes/Revision History

2009-06-29 Thread Brian Leach
Steve

I think you're possibly out of date in your view of the database - again, not 
wanting to be confrontational but this is an important point that you raise. 

I've also used MV for many years, but for the vast majority of that it has been 
as part of a client/server or similar platform.

If you're using MSSQL, you still end up coding stored procedures in TSQL - 
which is truly archaic. The only difference is that you *have* to use other 
languages on the client side to make up for the lack of inherent functionality.

Over the years I've used UniVerse with VB, ASP, Java, Delphi, PHP, VB.net, C#, 
ASP.Net and I'm now journeying into Silverlight. There is, and for the last 20 
years has been, no good reason to limit the database by your choice of 
language. With the APIs available, you can code in whatever you like.

 
BTW I gave up F correlatives as soon as I moved to UniVerse - that's what I 
descriptors are for .. and I haven't used ED for serious development for almost 
20 years. I use my own autodoc style, and have a parser that uses that to 
assemble documentation. These things are not platform limitations.

On another specific point, I actually prefer the fact that Universe and UniData 
statements support Else and On Error as opposed to exception handling. I've 
seen too many C# projects where exception handling was - pardon the pun - very 
badly handled, bubbling exceptions up but not finally treating them correctly. 
java may be retentive in the extreme, but at least it forces you to handle 
exceptions - just about the only thing in that language I wish would be added 
to C# (even as an option). 

The language syntax hasn't evolved on the U2 platforms, but the functionality 
avilable has, which is the important thing. There are other interesting moves 
with Pick/Basic outside the U2 space - take a look at what is happening with 
QM, for example. They have added some OO features to the language that seem 
genuinely useful. Perhaps we should petition IBM to add something similar, but 
I don't think a rewrite of the language is necessary so long as the hooks are 
in place to call into UniVerse or UniData from the outside world.

No, the reason why so many UniVerse and UniData sites look and feel archaic is 
because they are. People simply haven't taken full advantage of the features, 
and developers keep within their comfort zone. And management sees a working 
system and rarely spends the money. It's not the database that is limited, it's 
the imagination of those who pay for it.

Brian
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] Archaic?

2009-06-29 Thread Steve Romanow

Brian Leach wrote:

Steve

I think you're possibly out of date in your view of the database - again, not 
wanting to be confrontational but this is an important point that you raise.
You are correct.  The inroads IBM has made by offerring XML-DOM, SOAP, 
etc show they do have a plan and a clue.
 


I've also used MV for many years, but for the vast majority of that it has been 
as part of a client/server or similar platform.
  
Unfortunately, my only experience with a graphical toolkit is my most 
recent position.  All of my previous shops have been pure U2 (or D3, or 
Adds Mentor) with character based UI.


My company is using SB+ almost exclusively in a terminal.  We ssh to our 
erp system a lot, and the console works fine for us.

If you're using MSSQL, you still end up coding stored procedures in TSQL - 
which is truly archaic. The only difference is that you *have* to use other 
languages on the client side to make up for the lack of inherent functionality.
  
We have MSSQL in house, but I do not use it.  I am happy with my unix 
based db.


We did just commission an outside developer to rewrite our offline 
ordering system.  I was not too involved in the whole project.  I do 
remember being supremely embarrassed by the VSG and the bolt on 
appearance and age of the tools we have available.  I defend U2 against 
ppl all the time, but some of the criticism is warranted.

Over the years I've used UniVerse with VB, ASP, Java, Delphi, PHP, VB.net, C#, 
ASP.Net and I'm now journeying into Silverlight. There is, and for the last 20 
years has been, no good reason to limit the database by your choice of 
language. With the APIs available, you can code in whatever you like.

  
You are 100% correct.  Did you notice sth common about your whole list?  
With the exceptopn of php and java, they are all win32 technologies.  I 
know there is mono for C#, but I am still holding out for a poweful 
server-sode, as well as client side solution for mv. 
 
BTW I gave up F correlatives as soon as I moved to UniVerse - that's what I descriptors are for .. and I haven't used ED for serious development for almost 20 years. I use my own autodoc style, and have a parser that uses that to assemble documentation. These things are not platform limitations.
  
:)  I had a regression recently back into old-D3, after several years in 
Unidata.  I almost died.  I am so glad to be back.
On another specific point, I actually prefer the fact that Universe and UniData statements support Else and On Error as opposed to exception handling. I've seen too many C# projects where exception handling was - pardon the pun - very badly handled, bubbling exceptions up but not finally treating them correctly. java may be retentive in the extreme, but at least it forces you to handle exceptions - just about the only thing in that language I wish would be added to C# (even as an option). 
  
I was a little extreme ealrier this evening.  This is sth I am 
passionate about.  I think I want to amend my stance andsay I dont think 
I would replace unibasic with python.  What I would _love_ to see is 
it along side of Unibasic.  Fully functional and integrated, but a 
companion, not a replacement.


There is no technical reason we have to have  to have one DML.   All the 
existing bindings are for client side integration.  Python integration, 
well done, will provide true cross platform solution.


Want to use your mv db with twisted?  zope? report to a zenoss install?  
apache cgi?  iis?  doesnt matter, it will all work.

The language syntax hasn't evolved on the U2 platforms, but the functionality 
avilable has, which is the important thing. There are other interesting moves 
with Pick/Basic outside the U2 space - take a look at what is happening with 
QM, for example. They have added some OO features to the language that seem 
genuinely useful. Perhaps we should petition IBM to add something similar, but 
I don't think a rewrite of the language is necessary so long as the hooks are 
in place to call into UniVerse or UniData from the outside world.

  
I just want to rip the bandaid off quickly.  Why make the revolution 
take 20 years.  I only have about  that long left to work.  I want to 
see it in my lifetime.  :)

No, the reason why so many UniVerse and UniData sites look and feel archaic is 
because they are. People simply haven't taken full advantage of the features, 
and developers keep within their comfort zone. And management sees a working 
system and rarely spends the money. It's not the database that is limited, it's 
the imagination of those who pay for it.

Brian
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
  
I really like your solutions and your work.  I think I may be on the 
same track, but 10 years behind you.  I do not use windows (personally) 
so a lot of yours and Tony G's work is not quite what I need.


Steve

Re: [U2] Program Comments/Documentation/Notes/Revision History

2009-06-29 Thread Symeon Breen
Here Here Brian - I was about to say something on the same lines...



-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Brian Leach
Sent: 29 June 2009 10:12
To: u2-users@listserver.u2ug.org
Subject: Re: [U2] Program Comments/Documentation/Notes/Revision History

Steve

I think you're possibly out of date in your view of the database - again,
not wanting to be confrontational but this is an important point that you
raise. 

I've also used MV for many years, but for the vast majority of that it has
been as part of a client/server or similar platform.

If you're using MSSQL, you still end up coding stored procedures in TSQL -
which is truly archaic. The only difference is that you *have* to use other
languages on the client side to make up for the lack of inherent
functionality.

Over the years I've used UniVerse with VB, ASP, Java, Delphi, PHP, VB.net,
C#, ASP.Net and I'm now journeying into Silverlight. There is, and for the
last 20 years has been, no good reason to limit the database by your choice
of language. With the APIs available, you can code in whatever you like.

 
BTW I gave up F correlatives as soon as I moved to UniVerse - that's what I
descriptors are for .. and I haven't used ED for serious development for
almost 20 years. I use my own autodoc style, and have a parser that uses
that to assemble documentation. These things are not platform limitations.

On another specific point, I actually prefer the fact that Universe and
UniData statements support Else and On Error as opposed to exception
handling. I've seen too many C# projects where exception handling was -
pardon the pun - very badly handled, bubbling exceptions up but not finally
treating them correctly. java may be retentive in the extreme, but at least
it forces you to handle exceptions - just about the only thing in that
language I wish would be added to C# (even as an option). 

The language syntax hasn't evolved on the U2 platforms, but the
functionality avilable has, which is the important thing. There are other
interesting moves with Pick/Basic outside the U2 space - take a look at what
is happening with QM, for example. They have added some OO features to the
language that seem genuinely useful. Perhaps we should petition IBM to add
something similar, but I don't think a rewrite of the language is necessary
so long as the hooks are in place to call into UniVerse or UniData from the
outside world.

No, the reason why so many UniVerse and UniData sites look and feel archaic
is because they are. People simply haven't taken full advantage of the
features, and developers keep within their comfort zone. And management sees
a working system and rarely spends the money. It's not the database that is
limited, it's the imagination of those who pay for it.

Brian
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users

___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] Program Comments/Documentation/Notes/Revision History

2009-06-29 Thread kishor

Hi Brian,
How about adding a folding option that you can manually set the start  
and end points and add your comments for the fold?


I use mvDeveloper for U2 development and textpad for other MV databases.

Kishor


Quoting Brian Leach br...@brianleach.co.uk:


Hi

I thought about adding code folding to mvDeveloper, but with   
Pick/Basic it doesn't really work in the same way.


If you have a language that is function or member based, there is a   
very clear boundary for each function, e.g.


private void doSomething{
  code in here
}

which makes it easy to collapse.

The problem with Pick/Basic is that there isn't always a clear boundary.
If your subroutines are all like this, it will work:

GoSub MySubroutine

MySubroutine:
  code here
Return

But an IDE or editor has to be able to cope with bad style/design as  
 well as good, so you may have the following:


If SomeTest Then
   GoSub MySubroutine
End Else
   GoSub JumpIntoTheMiddle
End

MySubroutine:
   If SomeTest Then
  Return
   End
   (code)
   (falls down into...)
JumpIntoTheMiddle:
   (some more code)
Return

Here you have overlapping labels, and more than one return. Which   
means that the boundary isn't clear. It can be done, but it makes it  
 more complicated.


Brian
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users





___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] Program Comments/Documentation/Notes/Revision History

2009-06-29 Thread Dawn Wolthuis
On Sun, Jun 28, 2009 at 4:32 PM, Steve Romanowslestak...@gmail.com wrote:
 Mecki Foerthmann wrote:

 It really boils down to this.
 What can you do with Python in a U2 database that I can't do with Pick
 Basic?

 Umm, real unit testing ala nosetest

I realize this is the U2 list, but I thought I would note that at
least one implementation of mvbasic is enhanced for OO and does have a
unit test framework (like junit). I will state up front that I'm using
Cache' then just refer to it with other terms such as our MV toolset
as this is not intended to be a sales pitch.

 real exception handling,

it has this too

 umm, real inline documentation (the topic of this thread)

Available in the OO classes, so you can put a /// comment, for
example, in front of any mvbasic method and these work with html,
this is not available within mvbasic code itself, however

 Umm, access to thousands of trained developers all over the world.

To a great extent, you have to train those who work on any project in
the specifics of whatever platform you are using anyway. BASIC is one
of the easiest languages to learn, so I'll agree this is an advantage,
but not as big as one might think.

 lets see, point 5, joining this decade with a modern toolkit.

On the flip side of this one, you get developers who do not feel a
need to chase every shiny object (so to speak) that comes along if
they are writing mvbasic. Coding with today's most current tools
pretty much implies you will be behind on some front next year, at
which point you will either stop and revise your code for the new
stuff or lose your most work with shiny objects developers.

 cross platform capability built in (python runs everywhere, everywhere I
 care about at least.)

I have only read a few pieces of python and was not overly impressed
with the whole white space approach, for example, but there are many
who love it, so I'll assume it is a nice language. It is just a
language, however, and I already have plenty of those, with javascript
and mvbasic along with markup like html, xml, css. I can see no good
reason to swap out any of those for python.

 Great UI toolkits gtk, Qt, Tcl, (for free)

We are using an AJAX framework for mvbasic and it works well (although
I'm a bit slow to catch on at times). There definitely are plenty of
toolkits out there and most do not integrate mvbasic, but the fact
that some do is encouraging.

 integration with everything under the sun (except U2) jython, ipython, .NET,

This hasn't been a problem either. So, python is fine, but so is
mvbasic. They can both be used to get the job done, with an exception
that you note that python doesn't work natively with U2, while mvbasic
does. There are many variations and nothing works with everything.

 Anyone think of anything else?


 And do I really need to be able to do that to do my job improving and
 maintaining commercial software in an SB+ Unidata environment any better?

 If you limit youself to what SB+ can do, wow.  I am coding around SB+ as
 much as possible.

I think there are tools out now or there will be that convert SB+ to
something newer too (I think our MV implementation has or will have a
tool for that)

 Do I get paid more if I write code in Python instead of Basic?

 Doesnt matter.  You will have a better chance of being employable with your
 next job by learning python (or anything else).

If a particular employer is looking for specific toolset skills, it is
not hard to teach yourself new tools if you understand your profession
to begin with, enough to get your foot in the door of an interview. I
will grant that at first it will be like picking up a saxophone when
you are a flutist (not trying to get into the flutist vs flautist
discussion) where you can perform the fingerings but surely are not as
ept at the instrument at the outset. This is where my statement that
you end up having to learn any environment these days comes in. It is
not as if a person is likely to know the precise full suite of tools
in the platform of any company when they arrive.

 I doubt it. The hardest bit is not the coding but figuring out the
 business logic, and no language nor fancy tool can do that for you.

 It is also hard to graft policies and processes onto a toolkit that was
 never made for it.  SB+ and Unibasic are very dated and are showing there
 age more and more every year.

The data model for U2 has really made a comeback this century with XML
and JSON  being much more like PICK than RDBMS's data structures. Most
RDBMS's have enhanced their toolset for newer SQL standards so they
can handle nested structures even if inelegantly. So in some ways
there is a movement back to MV, even if not typically in the form of
MV databases (somewhat unfortunately, I think).

 I bet there are a lot of things I can do with Pick Basic and multi-value
 that you can't (or at least not as easily) do with Python.

 Please name some.  I would really like to know.  Basic has nothing to do
 with MV, nor does 

Re: [U2] Program Comments/Documentation/Notes/Revision History

2009-06-29 Thread Steve Romanow

TY Dawn,

Very cool post.  You laid it out there very nicely.

I hope to avoid the shiny new thing syndrome. I need to look up the book 
reference you made.


WRT to the resurgence of mv-like data structures, no one will care that 
we've been mv when mv wasn't cool.


Thanks guys for engaging me in this exercise.  I'm usually not this 
outspoken.


Steve


___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] Program Comments/Documentation/Notes/Revision History

2009-06-29 Thread Brian Leach
  Thanks guys for engaging me in this exercise.  I'm usually 
 not this outspoken.

We *like* outspoken. It's better than leaving things unsaid grin.

Brian

___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] Program Comments/Documentation/Notes/Revision History

2009-06-29 Thread Steve Romanow

Brian Leach wrote:
  Thanks guys for engaging me in this exercise.  I'm usually 
  

not this outspoken.

Look at the times of my posts.  I should use Google's Beer Goggles.  No 
posts over 5 lines between 2am and 7am.

___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] Mixed Case UV Basic Programming Standards.

2009-06-29 Thread Charles Stevenson
I started this thread and I thank those who have helped me think about 
it.  Some good ideas there.


But, hey guys, one of the thread's rules was:

  2. NOT about GOTO.  Take it outside.

So if you don't stop, I will have to come down on this with my full 
authority.  (My full authority consists of a polite request to change 
the subject line  abandon this thread.  Can't think of anything else.)


I think all that can be said about GOTO has been said; everyone already 
knows every arguments on every side.  If you have a standard in that 
regard  I'm programming for you, I promise to abide by it  make it work.


cds
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] Program Comments/Documentation/Notes/Revision History

2009-06-29 Thread Anthony W. Youngman
In message 
1fdb619c0906290746n2d553c0ao867cb5d64327b...@mail.gmail.com, Dawn 
Wolthuis dawnwolth...@gmail.com writes

On Sun, Jun 28, 2009 at 4:32 PM, Steve Romanowslestak...@gmail.com wrote:

Mecki Foerthmann wrote:


It really boils down to this.
What can you do with Python in a U2 database that I can't do with Pick
Basic?


Umm, real unit testing ala nosetest


I realize this is the U2 list, but I thought I would note that at
least one implementation of mvbasic is enhanced for OO and does have a
unit test framework (like junit). I will state up front that I'm using
Cache' then just refer to it with other terms such as our MV toolset
as this is not intended to be a sales pitch.


Many of you will know this, I expect, but Jim Idle (of jBase fame) 
worked for Cache for a while. I meet him every now and then on a 
compiler-compiler mailing list. So I would guess he was rather involved 
in writing a lot of this stuff for Cache :-)


Cheers,
Wol
--
Anthony W. Youngman pi...@thewolery.demon.co.uk
'Yings, yow graley yin! Suz ae rikt dheu,' said the blue man, taking the
thimble. 'What *is* he?' said Magrat. 'They're gnomes,' said Nanny. The man
lowered the thimble. 'Pictsies!' Carpe Jugulum, Terry Pratchett 1998
Visit the MaVerick web-site - http://www.maverick-dbms.org Open Source Pick
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] Program Comments/Documentation/Notes/Revision History

2009-06-29 Thread Charles Stevenson

Dawn Wolthuis wrote:

Just my two cents.  cheers!  --dawn
  
How come Dawn's two cents are always worth more than my two cents?  
Don't answer that.
All, I've found lurking on this whole thread informative  
thought-provoking.  Thanks.

___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] Mixed Case UV Basic Programming Standards.

2009-06-29 Thread Dan Fitzgerald
My standard is to coat anyone using a goto with salty duck fat  drop them
from 15 feet up into the play yard at the Atlanta Humane Society during Pit
Bull Play Hour. To make my standard work, you'll have to learn to fly a
helicopter... 

Given the subject, I feel compelled to add: I'm kidding.

I like mixed case for readability, plus it makes the code look less
Cretacious. The downside is that unless all of the legacy code has been
rewritten, in order to - for example - find all of the write commands, I
have to do multiple searches  account for typos (Write vs write, in
addition to WRITE). Not much of a downside. I use camelHump in my own stuff
(great name, thanks to whoever threw it in here!).

-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Charles Stevenson
Sent: Monday, June 29, 2009 2:43 PM
To: U2 Users List
Subject: Re: [U2] Mixed Case UV Basic Programming Standards.

I started this thread and I thank those who have helped me think about 
it.  Some good ideas there.

But, hey guys, one of the thread's rules was:

   2. NOT about GOTO.  Take it outside.

So if you don't stop, I will have to come down on this with my full 
authority.  (My full authority consists of a polite request to change 
the subject line  abandon this thread.  Can't think of anything else.)

I think all that can be said about GOTO has been said; everyone already 
knows every arguments on every side.  If you have a standard in that 
regard  I'm programming for you, I promise to abide by it  make it work.

cds
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users

___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] Mixed Case UV Basic Programming Standards.

2009-06-29 Thread Dawn Wolthuis
Since we are writing something new, I started out with Java styling
rules, then saw that the AJAX toolset was written by people more
accustomed to vb styling, so there is some mishmash, but we have

File Names: CamelCase
Field Names: CamelCase
Constants: UPPER
local variables: sometimeslower otherwise lowerCamelCase
verbs and other reserved words: lower

This pretty much aligns with our javascript styling too.  --dawn

On Wed, Jun 24, 2009 at 1:38 PM, Charles
Stevensonstevenson.c...@gmail.com wrote:
 I don't like the way I use mixed case, so it tends to evolve.  Not good,
 because consistency in programming style throughout an application makes for
 easier maintenance,  maintainability is the god of software quality.

 So I am wondering how others use mixed case.
 Do you capitalize/lower/mix case for  commands? Operators? Variables?
 Equates? etc.
 How do you use/not use special characters in variable names?

 For example:
  readu OrderMaster from ORDER.MASTER, OrderMasterId locked ...
  readU OE_rec from OE_f, OE_id  locked ...
  ReadVU OE_Date From ORDER.MASTER, OE$Id,  OE$Date Locked ...
  READU order.master.rec( oe$date ) FROM order.master.file, order.master.id
 LOCKED ...
 That sort of thing.

 I hesitate to even ask this for fear of starting a war. So ground rules for
 this thread:

 1. NOT about MERITS of Uppercase only vs. Mixed Case programming.
    I am only interested in answers from people who actually use mixed case.
 2. NOT about GOTO.  Take it outside.
 3. This is about PREFERENCE, NOT SUBSTANCE.
    By substantive I mean rules like:
       - Only open a file once.
      - Readu should always have a locked clause.
    By preference I mean stuff like my example.  They are all functionally
 equivalent.
 4. NO ARGUMENTS about whether someone's style is good or bad, or yours is
 better.
      Explaining why you do it a certain way is helpful, though.
      Just remember, when it comes to preferences, no two programmers will
 agree,
      yet consistent style, whate'er it be, increases maintainability.

 Thanks,
 Chuck Stevenson
 ___
 U2-Users mailing list
 U2-Users@listserver.u2ug.org
 http://listserver.u2ug.org/mailman/listinfo/u2-users




-- 
Dawn M. Wolthuis

Take and give some delight today
___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


[U2] UV UOJ hung sessions

2009-06-29 Thread John Hester
We have an issue where UOJ sessions initiated by our web app server
occasionally get hung.  This is a rare occurrance, but when it does
happen the end user on the site usually repeats the action that causes
it enough times to chew up a large number of UV licenses.  The sessions
remain until killed via kill -9 at the linux OS level.  We had this
problem once in the past and were able to track down the offending UV
BASIC subroutine via PORT.STATUS because of a unique EXECUTE 'SELECT
...' within the program.  We're not so lucky this time and PORT.STATUS
is not providing any useful info that would point to what subroutine was
called.  Is there any way to know what the hung session is doing aside
from adding code to write out logging info within every subroutine
called by UOJ?  Maybe something in the /proc filesystem?

We're running UV 10.2.7 on RedHat ES 5.1.

Thanks,
John

___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] UV UOJ hung sessions

2009-06-29 Thread Baakkonen, Rodney A (Rod) 46K
 Do you have truss or a trace command at UNIX that can track what the
PID is doing. It is pretty  low level stuff, but if it is doing any file
IO, you can see that and maybe see what is going on.

-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of John Hester
Sent: Monday, June 29, 2009 3:46 PM
To: U2 Users List
Subject: [U2] UV UOJ hung sessions

We have an issue where UOJ sessions initiated by our web app server
occasionally get hung.  This is a rare occurrance, but when it does
happen the end user on the site usually repeats the action that causes
it enough times to chew up a large number of UV licenses.  The sessions
remain until killed via kill -9 at the linux OS level.  We had this
problem once in the past and were able to track down the offending UV
BASIC subroutine via PORT.STATUS because of a unique EXECUTE 'SELECT
...' within the program.  We're not so lucky this time and PORT.STATUS
is not providing any useful info that would point to what subroutine was
called.  Is there any way to know what the hung session is doing aside
from adding code to write out logging info within every subroutine
called by UOJ?  Maybe something in the /proc filesystem?

We're running UV 10.2.7 on RedHat ES 5.1.

Thanks,
John

___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users





--
CONFIDENTIALITY NOTICE: If you have received this email in error, please 
immediately notify the sender by e-mail at the address shown.  This email 
transmission may contain confidential information.  This information is 
intended only for the use of the individual(s) or entity to whom it is intended 
even if addressed incorrectly.  Please delete it from your files if you are not 
the intended recipient.  Thank you for your compliance.  Copyright 2009 CIGNA
==

___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] Archaic?

2009-06-29 Thread Tony G
Four responses to notes raised in this thread:

Back in the 90's I was as big on Java and more open initiatives
as VB, but the MV world wasn't interested.  Earlier in this
decade I was on a quest to create Linux desktop app interfaces
for MV but no one seemed interested.  So I planted a firm foot in
the .NET market and got a fast reputation as a Microsoft zealot.
Go figure.  Today most of the solutions I advocate are based on
Microsoft tools simply because they work consistently for all MV
platforms.  If this market had a firm demand for something else,
I'd offer solutions using the preferred technologies.  I still
blog about using cross-platform Flex for MV GUI development, and
development for iPhone and other non-Microsoft mobile platforms,
but no one seems to be interested.  Hardly anyone mentions
Python, PHP, Perl, Ruby, or other cross-platform tools in this
industry so they're hardly worth pursuing as more standardized
solutions.  For all of the love of open software that we see
expressed in these forums, we can probably count on a few fingers
how many people in this market actually write code at the OS
level to integrate with their MV environment.  People love to
bash Microsoft (and it's usually well deserved) but I don't see
any other technologies that are clear winners in this market.
What I'm seeing out there is .NET versus a world where people are
reticent to move forward due to uncertainty and lack of
confidence in anything that's out there.  I got over that
speedbump years ago and I've been happy with my solutions for
about 8 years now.  How many of you can say the same?

About C# and bubbling up errors, I don't understand why there is
a problem.  As with Java, your C# app code is instantiated in a
Main function.  Personally I try/catch as much as possible at the
lowest levels, but for anything that bubbles up, wrap that
initial instantiation in Main in a try/catch as the ultimate
handler.  For web applications, use the methods provided in the
global.asax to trap errors, and report exceptions in the event
log, via email, or by other preferred methods.

If you look at my blog you'll see I've narrowed down modern
client/server development to the bare basics.  Browsers only
support JavaScript (or VBScript) if they're not using plugins.
Plugins give us Java and enhanced JavaScript, and with
Silverlight/Moonlight we get C# and to some extent VB.NET,
IronPython, Ruby and possibly others (I'm sure some people will
be surprised at that).  That's all there is and there's nothing
to indicate the world is shifting to provide more alternatives in
the thin client - after that we need self-updating thick clients.
So if you want to do web development, pick one and run; don't
wait for something else to come along.  If you want to use one
language in the client and on the server, Silverlight, Moonlight,
and Java Applets are the only options.  We can use MVBASIC as a
back-end for ALL client and middle-tier languages and
technologies.  There's no reason to wait to do development.  My
ongoing recommendation is to decouple the server from the details
of the client so that you can provide alternative client UI's and
technologies, and completely replace your tiers as required.
This is where most MV-oriented tools fail us.

Finally, as far as bindings to other languages is concerned, I've
written a document (that I keep editing and never get to
publishing) on a new project I call mvEsperanto which allows any
language to make use of any MV platform using a common API and a
variety of connectivity methods.  Other environments have a
diversity of language bindings and it's time MV does as well -
but unlike other interfaces this will not be limited to a single
DBMS vendor, OS, communications interface, or other
commercial/religious interests.  Look for this within the next
few weeks.

Tony Gravagno
Nebula Research and Development
TG@ remove.pleaseNebula-RnD.com
Nebula RD sells mv.NET and other Pick/MultiValue products
worldwide, and provides related development services
remove.pleaseNebula-RnD.com/blog 
Visit PickWiki.com!  Contribute!

___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] Program Comments/Documentation/Notes/Revision History

2009-06-29 Thread Allen E. Elwood
Hey David,

Why not just write a program to flip them back and forth between commented
and decommented?

*#*comment 1
code
code
code
*#*comment 2

Is what it would look like until you re-ran it to restore the comments
or you could write it so that after comment 1 it would have 40 chars of the
original comment, or something to that effect...

Allen

-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org]on Behalf Of David A. Green
Sent: Friday, June 26, 2009 9:50 AM
To: 'U2 Users List'
Subject: [U2] Program Comments/Documentation/Notes/Revision History


I've always commented my program at the beginning, but some programs have
many changes and when we have 300+ lines of comments it gets a little
tedious to deal with embedded in the source code.



I'm think of placing them in an external file and then doing a $INSERT in
the source code in order to tie them together.



How do you handle the long comments?



Thanks,

David A. Green

www.dagconsulting.com

(480) 813-1725



___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


[U2] Running total from UniVerse dict

2009-06-29 Thread Kate Stanton
I am sure we used to be able to do this using I-type, but I cannot remember 
how.


Now we are using I-types again (not just ocreelatives), I want to be able to 
show each item outstanding for an account, with a running balance.


Can anyone help?

I have been to the doc, and read about CALC and TOTAL, but they seem to 
apply to totalling lines (and I can't make that work either - I am feeling 
very inadequate).


TIA, Kate

Kate Stanton
Walstan Systems Ltd
4 Kelmarna Ave, Herne Bay, Auckland 1011, New Zealand
Ph: +64 9 360 5310  Fax: +64 9 376 0750  Mobile: +64 21 400 486
Email: k...@walstan.com 


___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] Running total from UniVerse dict

2009-06-29 Thread Bernard Lubin
Hi Kate,

Try this...  This will show the running total for every printed line

ED DICT FILENAME RUNNING.TOTAL
This is a Type I Descriptor last compiled on 30/06/09 at 09:07.
20 lines long.

: P7
0001: I
0002: @1...@record8
0003: MD2
0004: RUNNING TOT
0005: 10R

Regards
 







-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Kate Stanton
Sent: Tuesday, 30 June 2009 9:55 AM
To: U2 Users List
Subject: [U2] Running total from UniVerse dict

I am sure we used to be able to do this using I-type, but I cannot remember 
how.

Now we are using I-types again (not just ocreelatives), I want to be able to

show each item outstanding for an account, with a running balance.

Can anyone help?

I have been to the doc, and read about CALC and TOTAL, but they seem to 
apply to totalling lines (and I can't make that work either - I am feeling 
very inadequate).

TIA, Kate

Kate Stanton
Walstan Systems Ltd
4 Kelmarna Ave, Herne Bay, Auckland 1011, New Zealand
Ph: +64 9 360 5310  Fax: +64 9 376 0750  Mobile: +64 21 400 486
Email: k...@walstan.com 

___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
-- 
Message  protected by DealerGuard: e-mail anti-virus, anti-spam and content
filtering.
http://www.pentanasolutions.com

Click here to report this message as spam:
https://login.mailguard.com.au/report/1xLyloqUd9/dBLuI50jon61fjTIRoMZh/0


___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] Running total from UniVerse dict

2009-06-29 Thread David Jordan
Hi Kate

I believe you are looking for the @ variables to solve your problem.  I think 
in the uv help they come under the @ in the same area as the screen commands

Regards

David Jordan

___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users


Re: [U2] Running total from UniVerse dict: THANKS!

2009-06-29 Thread Kate Stanton

It works!

I have been back to the manuals, and would NEVER have found it there.  Talks 
about @n as the result of the nth compound expression, but not as @1 as the 
result of the previous line.


Help greatly appreciated - what a fabulous resource.

Hi Kate,

Try this...  This will show the running total for every printed line


ED DICT FILENAME RUNNING.TOTAL

This is a Type I Descriptor last compiled on 30/06/09 at 09:07.
20 lines long.

: P7
0001: I
0002: @1...@record8
0003: MD2
0004: RUNNING TOT
0005: 10R

Regards

-Original Message-
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Kate Stanton
Sent: Tuesday, 30 June 2009 9:55 AM
To: U2 Users List
Subject: [U2] Running total from UniVerse dict

I am sure we used to be able to do this using I-type, but I cannot remember
how.

Now we are using I-types again (not just ocreelatives), I want to be able to

show each item outstanding for an account, with a running balance.

Can anyone help?

I have been to the doc, and read about CALC and TOTAL, but they seem to
apply to totalling lines (and I can't make that work either - I am feeling
very inadequate).

TIA, Kate

Kate Stanton
Walstan Systems Ltd
4 Kelmarna Ave, Herne Bay, Auckland 1011, New Zealand
Ph: +64 9 360 5310  Fax: +64 9 376 0750  Mobile: +64 21 400 486
Email: k...@walstan.com

___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
--
Message  protected by DealerGuard: e-mail anti-virus, anti-spam and content
filtering.
http://www.pentanasolutions.com

Click here to report this message as spam:
https://login.mailguard.com.au/report/1xLyloqUd9/dBLuI50jon61fjTIRoMZh/0


___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users 


___
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users