Re: [U2] SpreadsheetML and Excel2013

2014-03-24 Thread Tony Gravagno
George, if you're seeing the Problems During Load dialog, the error might 
refer to the Content.MSO folder:
C:\Users\username\AppData\Local\Microsoft\Windows\Temporary Internet 

(on older systems that might be c:\WinTemp\Temporary Internet Files\Temporary 
Internet Files\Content.MSO)

From the NebulaXLite Developer Guide page 49: 

The Content.MSO directory is hidden.To get to the file, use Windows Explorer to
get to the Temporary Internet Files folder, then in the address bar manually
type “Content.MSO”.A list of files
should display.(All files except the most recent can be deleted.)

XML files from v2003 should certainly be compatible with v2013. However, 
there are at least two kinds of XML out there. There is the SpreadsheetML and 
then there is a newer Open format which has been in transition over the years. 
It's possible though unlikely that v2013 has some detail fixed that an older 
version of Excel (or related tools) embedded into your documents. Without more 
information I couldn't make any other guesses.

[ad] Relevant to MV/U2, NebulaXLite generates full Excel workbooks with rich 
sheets all from BASIC:

Tony Gravagno, Nebula Research and Development     

George Gallen wrote:
Is anyone else having issues with Excel2013 giving errors to previously working 
XML files from Excel2003

It keeps telling me there is an error in the table, and says there is log file, 
which is blank - not helpful.
U2-Users mailing list

Re: [U2] [OT] Interview Questions

2013-10-09 Thread Tony Gravagno
We're actually on the same page, Doug, thanks. What was on my mind is that 
while everyone knows they need to diversify, too many do not actually 
diversify. I know some very smart, highly expert BASIC people who have known 
for many years that they need to do something beyond BASIC, but they don't. 
With the recession at its peak people were being sacked everywhere and 
BASIC-only people were in a panic about what they would do if they lost their 
job. What did they do? Some went looking for more BASIC-only jobs, though some 
people cross-trained, and others took the opportunity to retrain themselves 
completely out of the industry. I don't want to be anecdotal, I'm citing a 
general flaw that many of us share to some degree. My last four blogs discuss 
in various ways how MV people cling so dearly to MV-only, to their own 
detriment and that of this industry.

Keeping this on-topic, it's not enough for an individual to know that they need 
to cross-train. A valued employee will do some of it on their own, off-hours, 
because that's how professionals hone their craft. And they'll ask their 
company for classes and time to practice on app modernization that the company 
values. They'll get books and spend time on websites for JavaScript and .NET 
and HTML5, etc. They'll mention other technologies
 that can be used to satisfy current business requirements. They'll take 
initiative on their own behalf,
 as a matter of their own
 survival. When they get a new job they'll ask about how they're going to 
improve their skills in addition to how they're going to use their current 
skills to help the company. This is the kind of person who distinguishes 
themselves as a long-term contributor compared to someone who's just selling 
time for money. Unfortunately our industry doesn't have enough of these people, 
both in end-user shops and in the VAR channel, and this is why we have a high 
attrition of end-users leaving to other technologies. (I'm hoping some of our 
colleagues out there are now thinking about how to open a new discussion with 
their managers.. If you'd like some help with that, please feel free to email 
me off-list. TG


On Tuesday, October 8, 2013 3:56 PM, doug chanco wrote:
    I agree with everything you said
 except one thing .

And I'm going to alienate about 70% of our colleagues
 here, but I think 
a modern interview needs to favor those who have current knowledge of a 
variety of technologies. A BASIC-only developer isn't going to cut it 
anymore and people who are BASIC-only are holding onto their jobs 
because they know
 their current applications, not for their technical 
skills ..

I think you have it wrong
 and that 70% agree with you and 30% will disagree, I don't want to get to far 
off topic on this off topic topic, but most if not all know that just being a 
pick basic developer doesn't cut it anymore, pick talks to all kinds of 
modern technologies and the green screen apps are going the way of the 
dinosaurs, so one would have to have their head in the sand to not see that you 
need more skills than just knowing pick basic and how to create dictionaries 
and write prok's, having said that your post was well said as usual

U2-Users mailing list

Re: [U2] [OT] Interview Questions

2013-10-08 Thread Tony Gravagno
I wrote a short blog series on the ineffectiveness of 98% of the 
companies recruiting for MV positions, I just haven't published it yet. 
In short, they don't know what questions to ask and most end-users don't know 
either. That's why we see a high percentage of failed hires in 
this industry, and Kevin is just confirming that.

Kevin, don't forget

In addition to some of the suggestions here, I'd give a candidate a set of 
hands-on tests. Their resources: The command line and a browser. We're all 
going to have varying degrees of success coughing up a solution on the spot, in 
a verbal interview, or in writing. But if we can put it to the keyboard, most 
of us are going to have much better success. The browser is there for a touch 
of the real world. I might not know the exact syntax to get something done, but 
if I screw up and fall into debug, I will still get the job done quickly if I 
can access the product documentation, wiki's, and these valuable forums. Rather 
than asking a person for a fish, just make sure they know where to fish and 
that they know how to use the fishing pole. If they don't know where to find 
solutions then they're going to flounder (pun wasn't intended, but I'll take 
it). If they know where the industry/community resources are then they'll be 
able to respond to dynamic
 requirements even if they don't know a solution off-hand.

And I'm going to alienate about 70% of our colleagues here, but I think a 
modern interview needs to favor those who have current knowledge of a variety 
of technologies. A BASIC-only developer isn't going to cut it anymore and 
people who are BASIC-only are holding onto their jobs because they know their 
current applications, not for their technical skills. If you're going to hire 
someone who isn't familiar with your app, they Must be on top of technologies, 
only one of which is MV. So depending on your company/client directions, the 
modern candidate must know MV + (Java and/or .NET and/or PHP and/or MySQL 
and/or SQL Server). They must have a solid grasp on XML and/or JSON. They must 
have a working knowledge of web services with SOAP and/or REST - and 
sending/receiving transactions with MV. A new hire must understand how MV 
behaves as a component in an enterprise, not as the one and only server in an 

Yeah, we're going to pay more for this person, but the person who 
differentiates themselves by knowing more than just Pick has already 
distinguished themselves in their ability to adapt to change - and that's 
really the kind of person we need to hire these days. Unfortunately it's going 
to be a lot easier to train someone to use Pick if they already know other 
technologies, than it will be to train a MV-only person to use other 
technologies. The people who haven't picked up on technology from this 
millennium demonstrate a long-term lack of drive and initiative - that's the 
kind of person we do Not want to hire these days.

(One of the services I passively offer is assistance with hiring, 
interviewing, etc. Please feel free to contact me for assistance in creating 
job ads which attract the right people, and evaluating the people who respond.)

Tony Gravagno     
Nebula Research and Development    
U2-Users mailing list

Re: [U2] No mail

2013-09-23 Thread Tony Gravagno
I'm getting mails for this thread, nothing else seems to be going to
the list at the moment except for the TU.TO.EXCEL discussion last week
and the Colorado job.
Nothing like a scare about mail not getting through to stop people
from sending mail, eh?
Or, ya know it's possible that people just don't have anything to say
at the moment.
I dunno how you can be getting zero emails from the list - you've been
responding to recent postings...

Shall we just assume it's business as usual here and that the stutter
with your own personal email has now passed?

 From: Will Johnson
  Are you saying you got the emails?  Cause I'm still getting ZERO
 from the list, for over a week now.

U2-Users mailing list

Re: [U2] Looking for work in Toronto area

2013-09-12 Thread Tony Gravagno

 From: Michael Spencer 
 If you know of any current offerings...

U2-Users mailing list

Re: [U2] Select from one file with save-list from another file

2013-08-28 Thread Tony Gravagno
Not sure where to toss this into this thread so I'll start at the
beginning. I wanted to see the solutions that would be offered. I
blogged on exactly this topic back in 2008. The solution I published
for D3 uses @environment variables to allow us to do inner queries
with a tiny bit of simple and reusable code, no dict items, no work
files, and no save-lists. Perhaps someone can describe the
UD/UV-specific equivalents so that we can accomplish this here using
similar methods? I'll be happy to add the U2 solution to the blog for
future reference.

Tony Gravagno   
Nebula Research and Development 

 From: Hilk, Brandon 
 UniVerse 10.1, HP/UX, Pick.
 Is there a way I can build a save-list from a selection from one
 X.INFO (where the record ID is an 8 digit number) and use that list
 select from file Y.INFO (where that 8 digit number is not the record
 but does exist as a foreign key elsewhere in the file). In SQL
 would be considered a join and would look something like this:
 select *
 from X.INFO, Y.INFO
 and X.INFO.status='ccc';
 I can run this in TCL and have it return the results I want but
can't build
 a save-list from it because I don't know the UniVerse/SQL syntax to
 So to summarize, is there a way to use a save-list built from X.INFO
 make another save-list comprised of the record ID's from Y.INFO?

U2-Users mailing list

Re: [U2] Select from one file with save-list from another file

2013-08-28 Thread Tony Gravagno
This line caught my eye:
 readlist var from 10 else then result = lower(var)

else then ?

I get it, but ... yuck. :)


 From: Martin Phillips 
 Spotted a bug - I knew this would turn out to be the wrong source

U2-Users mailing list

Re: [U2] [JOB] Las Colinas (Irving), TX

2013-08-23 Thread Tony Gravagno
The company may also wish to post to which
now has 12 other MV jobs listed.
Best to ya, bud.

 From:  Bruce Holt
 Luxury retailer has need of a UniVerse DBA
 Where: Irving, TX
 What UniVerse DBA (must be on site, no telecommute)
 When: Now!
 Why: I vacated the position and my replacement could not make the
 move to be on site
 How: e-mail me your Resume/CV at mvdbman at gmail dot com
 Best regards, 
 Certified UniVerse DBA

U2-Users mailing list

[U2] UO.NET versions

2013-08-16 Thread Tony Gravagno
I have a client running a lot of mv.NET sessions through UO.NET into
Unidata, all over Windows. The site uses UO.NET v2.170.0.7433 from

Rocket Software has a couple new versions of UO: from March 2013 and
July 2013.

Is anyone here running mv.NET with these 2013 versions of UO against

Any comments about stability, or any issues whatsoever?

It's good to be up on the latest release of software, but no one wants
to put production users on alpha/beta software. UO itself might be
stable (despite quarterly updates), not alpha/beta but some specific
aspect of mv.NET usage might trip on a recent update that other apps
do not. We're just looking for some warm fuzzies.

Tony Gravagno   
Nebula Research and Development 
Nebula RD sells mv.NET and other Pick/MultiValue products  
worldwide, and provides related development services

U2-Users mailing list

[U2] PickJobs.Net for MV Jobs/Contracts

2013-08-14 Thread Tony Gravagno
The website http://PickJobs.Net has been re-launched with a new look
and tools for matching people to work.

Read about it here:

Tony Gravagno   
Nebula Research and Development  

U2-Users mailing list

Re: [U2] I am looking for a CRM package on multi-value

2013-08-07 Thread Tony Gravagno
You're quite clear that you don't want a pitch for non-MV so that's
not where I'm going here. I think this inquiry is fascinating for how
it's presented rather than what it's about. In short, in this case I
think you're doing MV a dis-service by being so supportive. Because my
response isn't specifically about U2, and not a direct answer to your
question, I've posted it as a blog:

Tony Gravagno   
Nebula Research and Development 

 From: Wjhonson 
 I am looking for a Customer Relationship Management application.
 I have a client who is familiar with Universe and would prefer that,
 willing to look at other MV database applications.
 However they also will want to demo this to their own clients from
 time-to-time and so want a pretty looking face on it.
 The backend has to be multi-value of some sort, so don't pitch me
 multi-value solutions please
 What are my choices if any?
 Only looking for *already installed* choices, not custom work.
 Some customization is always necessary, but they want to see a
 working application from the get-go.

U2-Users mailing list

[U2] XAdmin wiki?

2013-08-05 Thread Tony Gravagno
From: Daniel McGrath
Subject: Re: [U2] Pick flavor in U2 personal edition
 XAdmin, part of our U2 DBTools package:

I confess that I've always had a lack of skill with detailed U2
administration. Some people pretend that all MV environments are the
same but when you move away from R83 compatibility they become very
different. XAdmin presents a wide variety of tools to the U2 DBA but
I'm not aware of any tutorials that take users through the various
Is anyone aware of a wiki or ebook that documents each of the features
with notes about how they can be of use, when to use various features,
etc? A wiki can be infinitely better than company documentation
because it would include real-world tips and tricks that developers
never include. And when a public wiki is open to the
vendor/developers, they can occasionally add insight that we'd never
see in company-provided documentation. (Personally I think ALL MV
documentation should be in wiki format but getting that off the ground
is an exercise in futility.)

Is a wiki for XAdmin something that would get any traction at RS,
U2UG, or PickWiki?
I'd be happy to help coordinate the effort but frankly I'm not
qualified to contribute detailed content. My contribution would be
more about asking questions for others to provide answers, as well as
editing, formatting, etc. 

As to motivation or de-motivation - I'm sure there are companies that
offer training on U2 administration with focus on XAdmin. People from
these companies aren't motivated to provide a lot of data for free on
a public wiki. Then again, demonstration of expertise is like a
business card which lets people know who are the experts on the topic.
I'm not one to fall for carrots dump everything you know into a free
web page and you'll get lots of business but there is some value
for people in efforts like this depending on how it's approached.

Anyway - am I missing something that's already in progress?

Tony Gravagno   
Nebula Research and Development 
Visit! Contribute!   

U2-Users mailing list


2013-08-05 Thread Tony Gravagno
 From: Al DeWitt 
 I'm a Domain Admin so permissions is not an issue.

I understand the sentiment there but we may not be aware of the
permissions required for the operation in question, so it's tough to
know if the right permissions have not been granted.

My related experiences, dunno if this helps anyone...

Some products need their own access to remote data resources. The
permissions of the current user, especially telnet, are not used to
access remote resource, because it's the DBMS not the user that is
doing the access. Most sites don't run their DBMS services with
Administrator privs - that's a huge security issue. (I can just see
people now going huh? really? and checking their services ... go
ahead, we'll be here when you get back...)

I'll sometimes temporarily open full permissions to the target and
give admin privs to the client application just to see if that
resolves the issue. You'd be surprised at how often this does reveal a
permissions issue - but again you shouldn't leave it like that because
this is a huge security issue. NOT being a domain admin I usually have
issues getting the right restricted permissions back so I always try
to have someone else handy to fix it. :)

I also use Sysinternals tools to find out exactly what the system is
trying to do. Maybe in this OpenSEQ case it's not actually reading
from the intended target. Again, you might be surprised at all of the
disk reads that need to be done to get to the real data you're trying
to access. This could help to identify performance issues too.


U2-Users mailing list

Re: [U2] XAdmin wiki?

2013-08-05 Thread Tony Gravagno
Whoe dude, hang on. :)

The answer to the question does this exist or what do you folks
think isn't to do an install.

There are already generic resources available. We don't need yet
another wiki site with yet another login and markup language. I was
hoping we could make use of one of the existing, well-known resources
before jumping to something completely new. Yeah, I know the SB/XA
wiki has been around a while but unless a site uses SB, chances are
they don't know about that site ... like me. I didn't even know that
SB/XA Wiki existed - there isn't a single mention of it at PickWiki.
Honestly, I don't believe yet another site will thrive in isolation.
There are too many of these already. 

And ... SB/XA is NOT the XAdmin. These two offerings deserve their own


 From: Jo Lester 
 I am attempting to install right now.  While looking for answers,
 site keeps cropping up in my search.

U2-Users mailing list

Re: [U2] XML or JSON converter for Unibasic

2013-08-02 Thread Tony Gravagno
I do this sort of thing all the time. I'm also curious to know if a
Uni-query can be rendered directly as XML or JSON. I know QM can
render as XML with a simple modifier on the command-line, thought U2
could do this too. JSON is a different animal and I'm not aware of any
decent JSON builders for any MV environment  - they're all proprietary
and unpublished except for the new one in Unidata.

The real problem with all of these XML/JSON solutions is that the
output we get from our reports is 2-dimensional columns and rows - a
curious anomaly after all of these years, considering how much we
pride ourselves on being multi-dimensional. XML and JSON aren't of
much use with flat data. Coding a 2D export to XML or JSON is trivial.
Where this gets complex is in nested relationships, XML and JSON excel
in representation of multi-dimensional data, and again, none of the MV
platforms have rushed to provide decent rendering in this area.
(Except maybe TigerLogic which has built a rich XML server around the
D3 core, like DataStage was built around Universe.)

In plain terms, a U2 report will have something like:
That's 2D. But when you're passing data to another environment, it
expects 3D:

JSON is exactly the same as XML in structure, just different in
syntax. Part of the problem is that the output here needs to use names
which are acceptable in XML/JSON tags. That might come from the dict
item, probably not unless you have custom dict items just for this.
The way this is usually done is with metadata stored in the dict item
or somewhere else. So you'll have a dict item named ORD#, the
description might say Order ID but the node name will be id.

Note above that I'm using id123/id. But that could have been done
like this:
  order id=123
The issue here is that there is no schema definition that defines
whether you use elements (unique nodes) or attributes (id=123)
within elements. Hardcoded general-purpose solutions will work for
your internal purposes but they won't work as a general solution for
exchanging data with other entities.

And let's not even get into namespaces.

In summary, the above explains why it's tough to have a
general-purpose solution for rendering query output as XML or JSON. A
lot of other metadata is required in order to describe what the
document will look like. The only recourse we have is to use the XML
hooks provided in the DBMS, to hard-code on a case-by-case basis, or
to export and let some external tool do the formatting ... but in all
cases you still need to provide metadata or none of these tools will
know whether to use id or ordnum, or whether to use elements or

All of that said, the nature of my business is to create solutions to
problems like this. I'll be happy to do so for any company that
associates value with such solutions.

Tony Gravagno   
Nebula Research and Development 
Visit! Contribute!

 From: Charles_Shaffer 
 I am looking for a way to send the output of a Unidata data query in
 Unibasic back to a web server (PHP) for building web pages.
 Up until now I have used a proprietary method (LF, HTAB, etc.), but
 would like to simplify/standardize the method.  Seems like this
 be done with XML, or JSON or something I don't know about. Has
 anyone had experience with this and could you offer some advice?
 Hoping for a simple subroutine approach as opposed to a
 comprehensive commercial package. Management here is very price
 sensitive.  When I say price sensitive, I mean that if it costs
 they get their panties all in a bunch.  A few hundred dollars might
 sellable, a few thousand would not be.

U2-Users mailing list

Re: [U2] Pick flavor in U2 personal edition

2013-08-02 Thread Tony Gravagno
From: Eric Armstrong 
 I downloaded the U2 personal edition to my pc, and it is working,
 how do I get it to use the Pick flavor?

If I care about the flavor I'll use UniAdmin to create accounts - or
whatever they call that thing now that takes 10 minutes to start up on
a system with no other activity. ;)


U2-Users mailing list

Re: [U2] What is true

2013-08-01 Thread Tony Gravagno
Fascinating stuff. :)
I don't like the idea of spaces being numeric but when I get data from
unknown sources I do tend to TRIM and test for NUM(x).

With the following program:
- Universe in Information flavor reports True on all tests.
- Unidata only reports 3-8 as True
- D3 does not consider any of the tests as True, and flags
5,6,8,9,11,12 as non-numeric

This is obviously not consistent across all platforms/flavors.

X = 1
IF   3 = 3 THEN CRT T1
Z =  
Z = Z:2

 From:  Martin Phillips 
 Not odd at all. The language defines the relational operators as
 performing a numeric comparison if both items being compared are
 numbers or can be treated as numbers.
 It is valid for a numeric string to include leading or trailing

 From: Ed Clark 
 A curious feature of true and false on universe:
 0001 x=char(32)
 0002 if x=0 then crt 'is zero' else crt 'not zero'
 0003 if x then crt 'true' else crt 'false'
 0004 x:=0
 0005 if x=0 then crt 'is zero' else crt 'not zero'
 0006 if x then crt 'true' else crt 'false'
 space is true, but space:zero is false.

U2-Users mailing list

Re: [U2] What is true

2013-08-01 Thread Tony Gravagno
Just adding a little more subtlety. Consider:
X = Y = 3 
In some languages this sets Y to 3 and then X to Y, so X=3. But in
BASIC, as Brian said, we need to force the precedence on Y=3 before

In other contexts, parentheses force an equation. Consider:
In this case, X and Y can be set and returned. But the third argument
is an equation, and while FOO can write to the variable in its own
context, when the data comes back it's read-only, since what went out
was not a variable but the result of the evaluation of an equation.

(X) does nothing to define the Boolean nature of a variable. While
it's a nice visual cue it's not functional in the code.


 From: Brian Leach 
 It's not the parentheses that define the Boolean, it's the equality
 the way. Parentheses just force the precedence.

 From: Jim Swain 
 This is not true as when A='HELLO'  IF (A) returns true.
 You use the parenthesis to set a Boolean variable, i.e  BRITISH =
set to 1
 when the conditions inside the parenthesis are met, otherwise
BRITISH is set to 0

 From: Tom Whitmore 
 If you wrap a variable in parenthesis it will be treated as a
Boolean test.
 For example:
 IF (A) THEN CRT 'TRUE' ELSE CRT 'FALSE'   will result in TRUE.

U2-Users mailing list

Re: [U2] What is true

2013-08-01 Thread Tony Gravagno
You're right. X is never 3, but I did say so. As I said below, that's
the way it works in languages other than BASIC. X=Y=3 will set both
values to 3 because of the order of operations.

And I was wrong when I said we Need to force precedence. It doesn't
Need to be forced in BASIC, but in other languages it does. In BASIC,
without the parentheses each developer will be left to wonder or just
know from experience that BASIC is different from other languages. The
parentheses in this case provide clarity and force precedence for
anyone coming to BASIC from the outside world. Hehe, but we know that
never happens...

Last time I agree with Brian on anything... ;)

 From: Jim Swain 
 Now I'm getting confused... its not a case of precedence
 In the case of X = Y = 3
 X is set to 1 (true) when Y = 3
 X is set to 0 (false) when Y # 3
 X in this instance will never = 3
 From: Tony Gravagno

 Just adding a little more subtlety. Consider:
 X = Y = 3
 In some languages this sets Y to 3 and then X to Y, so X=3. But in
 as Brian said, we need to force the precedence on Y=3 before X=Y.

U2-Users mailing list

Re: [U2] Anti-fraud software

2013-08-01 Thread Tony Gravagno
 From: Jerry Banker 
 Are any of you using some sort of anti-fraud software? If so, what?
 you build it yourself or is there a software package out there that
 work with UniVerse.

Could you be more specific?

If you're talking about protecting your BASIC apps in the field, I can
describe how our Nebula RD products are activated and protected.
Comments and suggestions are welcome from our colleagues here.

In summary, I have a security mechanism which I've considered offering
as a separate product. The user sends a key request and we return a
key which locks the product to the specific system over a limited or
infinite period of time. It's evolved in response to changing
environments, and now works with all MV platforms and versions, OS's
and OS versions, can be used with different company products, and keys
to specific product versions. I can provide more info on request.

Tony Gravagno   
Nebula Research and Development 

U2-Users mailing list

Re: [U2] Copy File to SharePoint

2013-08-01 Thread Tony Gravagno
 Has anyone figured out a way to take a file from UNIX and copy it

Google for unix to sharepoint returns good results.


U2-Users mailing list

Re: [U2] accuterm WED issue

2013-08-01 Thread Tony Gravagno
AccuTerm adding a space into code might be an issue to report to I think the segfault should be addressed with
Rocket Support.

 From: Bertrand, Ron
 Interesting issue popped up a couple of days ago with Accuterms WED.
 We have a program calling a subroutine that wraps to the next line:
  01, 22, CMDPROMPT, 'QEGIA', 59 )
 When I formatted the program in WED it added a space after the 01 on
 the next line.  At least I assume it's a space because the Universe
 editor does not show any other characters with an ^.   This caused
 to be blown out of universe - still not sure why yet- with a
 segmentation fault.
 01 ,22,CMDPROMPT,'QEGIA',59)
 Removed the space and everything works fine. Curious if anybody has
 seen this activity or had the same thing happen to them?

U2-Users mailing list

[U2] What services to MV DBMS VARs provide?

2013-08-01 Thread Tony Gravagno
Comments welcome on new blog:

U2-Users mailing list

Re: [U2] What is true

2013-07-31 Thread Tony Gravagno
From: Keith Johnson
 Hi Tony,
 'Twas a teensy bug under an unusual circumstance... Hey, wait a
 minute, you're the one who complained that no-one updated other
 people's code! You wouldn't be trying to yank Will's chain, would

Indeed I do comment occasionally on the proportion of takers to givers
with MV FOSS, and the unfortunately low number of takers at that. When
I saw your name on a recent update I had to chuckle at the
coincidence/irony - no yankin intended.

BTW, Keith, I dunno if you got an email I sent to Emerald Glen today.
The old domain is gone and your contact info on PickWiki is old - I
was concerned that we had lost ya. Thanks for chiming in.

Since we're here, as to testing file vars - in a platform where we
have so few data types I'd consider it quite poor for a developer to
not know if a given variable was supposed to contain a file
descriptor, or to try to use it without testing for assignment. My
approach is to use IF NOT(ASSIGNED(FVAR)) or in Unidata IF
UNASSIGNED(FVAR). But at a higher level where I only open files once,
I do this:

  OK = 1 
  GOSUB OPEN.FILES ; * note, no need to check individual files
  RETURN ; * leave without setting init, app is in a bad state
* OK to continue from here
* Don't even attempt file operations if Not(Initialized)

Visit! Contribute!  

U2-Users mailing list

Re: [U2] What is true

2013-07-30 Thread Tony Gravagno
 From: Wjhonson 
 I saw it here by KRJ whoever that is

That's Keith Johnson in NZ. What an unusual last name... ;)
Ironically, it looks like he recently modified one of your postings to
PickWiki too.

About the true/false thing, I always use 0 and 1 but I was chastised
about that by a colleague recently, that it might not be completely
cross-platform, and now I stutter on it every time I do that,
wondering if I'm not really following a best practice:

OK = 1

I'm curious too - is anyone aware of a platform/flavor where this has
not worked in the last decade?

Tony Gravagno   
Nebula Research and Development 
Visit! Contribute!

U2-Users mailing list

Re: [U2] [UD] BASIC Code Failing

2013-07-29 Thread Tony Gravagno
 From: Charlie Noah 
 1. If POLREC6 is null, an empty value won't be inserted...
 2. INSERT sometimes doesn't like delimited source
 3. If POLREC6 has multivalues itself...

Charlie, you present a valid discussion of a failure with the Insert
statement, but that might not be the problem at all. Bill Haskett's
original statement says he just inserted a DEBUG statement before the
problem line and the problem went away. We're not talking about syntax
or any one statement. We're talking about a run-time failure to
execute any random statement in your code base. The ramifications for
that are huge.

The best thing that can happen to anyone here is to find one of these
buggers in some non-critical location. The worst thing anyone can do
is to hide the condition so that the problem doesn't occur in a benign
area - that just leaves the problem undiagnosed and unresolved for
potentially critical areas in the current application or others. I
can't emphasize strongly enough how devastating a problem like this
could be ... if indeed this is the problem.

I strongly encourage any sites still covered by support to report this
issue to RS if they have a repeatable case. Diagnosing these issues in
the wild can be extremely difficult, making it easy for too many
people to get lazy, delay, defer, work-around, and not get aggressive
about the problem. But any manager of any large site here should be
thinking about how much damage an issue like this can do to their
business if it's not resolved. People who do Not see this problem in
their systems should be as assertive about seeing it resolved as those
who Do see it.

And Rocket stands to reap huge rewards in terms of customer
satisfaction if they pro-actively take steps to resolve this issue
with anyone who reports it. It doesn't make sense to avoid an
opportunity to resolve an issue for paying clients just because a
system where it's repeatable isn't currently covered.


U2-Users mailing list

Re: [U2] [UD] BASIC Code Failing

2013-07-26 Thread Tony Gravagno
 From: Woodward, Bob 
 If this occasional problem is consistently the same lines then just
 validate the insert afterwards...

Dale, don't accept that solution. (Sorry Bob)

Note, we're still not really Sure yet that this is a good definition
of the problem, just a working theory...

Overall, the problem seems to be that some statements can't be trusted
to be executed - not specific statements or functions, but random
lines of code in different systems. The problem might not be something
wrong with the statements themselves but just where they happen to be
in the program. The issues might be fixed with some extra code, or by
putting the few lines in question into an internal subroutine just to
move the bytecode to a different location. But a solution like that
is random and subject to just moving the problem to an as yet unknown
and perhaps more critical location.

When you can't trust a line of code to be executed in a linear series
of statements the reliability of everything we do comes into question.
If this is indeed the problem, fixing it by writing work around code
isn't good for anyone here.

It's tough to call in Support when the problem is so vaguely defined
but having sat in the chair as a QA Manager and Product Manager for
a related product, I can tell you the resolution starts with finding
sites that seem to have this issue, assigning someone to the task of
gathering data and scheduling tests on the target systems, getting
engineers to verify the issue, and establishing a pattern from which a
problem can be diagnosed.

I don't know who has to initiate that with Rocket Software but I'd
assume it starts with paying clients filing formal requests with
Support and committing to follow-through toward a resolution. And
while re-compilation might indeed be the correct fix, don't accept a
tier-1 techie solution intended to just get you off the phone!


U2-Users mailing list

Re: [U2] [UD] BASIC Code Failing

2013-07-25 Thread Tony Gravagno
Bill, at Pick Systems we occasionally saw issues like this, where the
object code would behave differently if specific statements (their
opcodes/tokens) were broken across frame boundaries. Until DBMS
patches become available, the problem could be avoided with some
carefully-placed NULL statements. I've seen this with RPL too, for
exactly the same reasons. I know nothing of U2 internals but the
internals are of course similar. Unfortunately without a confirmed
cause/effect scenario defined by engineers, it's a crap shoot as to
whether inserting NULLs will help, or where they can be inserted to
ensure they work.

I suggest you contact Rocket and ask them to pursue this as a
byte-level issue in your object code. Sending them the code might not
help if they test in an environment that's different from your own.
They need to see it on your system. I'm just trying to save you some
wasted diagnostic time...


 From: Bill Haskett 
 ... a single BASIC program didn't run a couple of lines of code...

U2-Users mailing list

Re: [U2] LIST reports and Fields that Do reads

2013-07-20 Thread Tony Gravagno
 From: David Wolverton 
 In UniData we also make sure the file is opened to a COMMON
 variable. Makes a huge performance difference vs doing the OPEN on
 every call to the subroutine.

 From: Wjhonson 
 I had forgotten that one!

Wow, I thought that was SOP these days across all new MV apps of any
size. Then again we hardly ever discuss style and coding patterns in
these forums so it's no surprise that patterns like this aren't as
common as Design Patterns ala GOF.

I never re-open a file if it's used across many programs, and I use
Include items to contain the housekeeping that determines whether to
open the files and to do the opening. I use named common in D3 because
it keeps the files open across level pushing and between TCL
executions. The pattern is:

- Enter into a program
- Move into the Include code
- If current account is not the same as the prior account, set INIT=-1
- Check INIT flag
-- If not set or -1 do all initialization, open files
-- Otherwise just continue
- Return to the functional code

These patterns make for small and well organized code. It's easy to
make a single change that affects the entire application (need to get
them right though). Adding new modules is easier because the
housekeeping is already done elsewhere. Optimizations in one place can
impact the entire app.


U2-Users mailing list

Re: [U2] SBClient Issue

2013-07-18 Thread Tony Gravagno
I dunno if this is the situation here, but a Google search for dde
flush returns some hits that indicate you may need to flush the DDE
buffer before exiting. HTH

[related plug] : 

 From: Al DeWitt 
 We have a custom report that was written using paragraphs and the
 DDE functionality.  Our process is to
 1)Open an Excel Worksheet
 2)Run the report which outputs to the worksheet.
 We are encountering situations where the report appears to work
 normally but not all the data is written to Excel.  This was first
 on Excel 2010, but I am able to reproduce this on Excel 2003 as
 Is there some temporary file or buffer in SB+/SBClient that I might
 need to expand the size of?  If so what is the name of it?

U2-Users mailing list

Re: [U2] CentOS with Universe?

2013-07-17 Thread Tony Gravagno
 From: Dawn Wolthuis 
 We have a VAR who would prefer to load Universe and their
 application on a supported platform, but we would prefer not to pay
 for RHEL 6. I searched the list and found a few tidbits, but does
 have a good list of what changes might be required to successfully
 Universe 11.1 on CentOS? How much pain would we be introducing for
 ourselves and our VAR, if they were willing to play along?

Dawn, you have accurate responses from everyone:
1) Should be exactly the same.
2) Might not be.
3) There is risk involved.

Personally I run CentOS whenever I need Linux. But it does have its
own errors from time to time, and sometimes it takes a while to get
them fixed - just visit the CentOS forum and see what people are
talking about. That's the gamble we take for freeware. (It's only
free if your time is worthless.)

How much does RHEL Support help? Well, many systems I know never even
update their RHEL systems. They install and then don't want to patch
because it might mess up dependencies, forcing a reinstall. And RedHat
does the same themselves to an extent - they guarantee that their
distro isn't volatile like Fedora - in part because they don't provide
many updates to common FOSS after production. As an example, you need
an update to something like cURL (v7.19 from the current RHEL6 yum
update but v7.31 in real world) you'll have to get it from somewhere
other than RedHat, and that could break a lot of stuff. And because
they bashed Windows for so many years about this (DLL HELL) before
drinking the Linux Kool-Aid, these folks are afraid to say Linux has
exactly the same problems, or afraid to admit they don't update their
system, or maybe they just don't know that their packages are a couple
years old and unpatched. (No need for people to jump in to reassure us
that you update your personal system(s) - trading anecdotes doesn't
change the fact that other people do things differently.)

But the real point here ... is that once U2 is working, and it
should out of the box, then it shouldn't break, as long as you
don't change anything. It's been around since 2010 and CentOS is right
there with it now. The only time you could have issues is when U2 is
certified over a new RH release and CentOS hasn't caught up to them
yet. The cost for not being with a current RHEL release is that you
won't be able to install a brand new OS/DBMS combo with confidence,
you'll just have to wait a while for the dust to settle. Now, what if
you do get that brand new release of RH/UV and it breaks. You need to
wait for Rocket to work with RH anyway. So if you're going to wait
there anyway, why not just wait a little longer and get it all free?

You asked how much pain would we be introducing ... all we can tell
is how much pain you could or might, not would. The odds are in
your favor - chances are very slim that there will be an issue in RHEL
that affects U2, that it will get fixed by RH but not passed on in
CentOS. There's just a time delay - you'd be paying RedHat to get
changes to you faster, that's all, but you'll eventually get the same
changes from CentOS.


U2-Users mailing list

Re: [U2] Fwd: UML mapping tool for MV (UniVerse)

2013-07-17 Thread Tony Gravagno
From: George Gallen 
 Maybe because of Pick's lack of organization enforcement - that is
 of it's failings - it puts all the burden of documentation onto the

That's the essence of our being and arguably the strength of the
platform:  RDBMS sites have DBA's separate from the programmers. MV
sites traded away the DBAs and left schema to application developers
 who know BASIC ... which according to Edsger Dijkstra, the
teaching of BASIC should be rated as a criminal offence: it mutilates
the mind beyond recovery.  Nuf said. :)

 Nobody got time for that!

LOL - The quote that became a phenomenon - I only wish the poor person
who originally said it got royalties.


U2-Users mailing list

Re: [U2] [U2} UniVerse, ODBC, 64-Bit, Windows7

2013-07-17 Thread Tony Gravagno
From: Robert Houben 

Rather than Windows On Windows I like to think Microsoft has built-in
World Of Warcraft.

 With Microsoft typical logic this is where 32 bit versions of
 reside on x64. 64 bit ones are in system32.

(I know Robert is aware of why MS did the WoW thing initially but I'm
having some fun here.)

Yes, compare this to the perfectly logical Linux where /usr/lib64 is
just a symlink to /usr/lib, where both 32bit and 64bit applications
are stored together.

Of course that depends on your distro but that apparently hasn't
confused any Linux developers ... oh wait it has. As an example Ubuntu
is more explicit with /usr/lib, /usr/lib32, and /usr/lib64. Oh wait,
they changed between v2 and v3 to multiarch with usr/lib and now
/usr/lib/x86_64-linux-gnu. But I'm sure that moving target didn't
confuse developers ... oh wait it did...

I'm not adverse to bashing any entity for stupidity, and Microsoft
deserves its share. But it's tough to bash one group when the
alternative is just as bad at the exact same things. That's twice
just today that I get a chance to comment on such things.


U2-Users mailing list

Re: [U2] Fwd: UML mapping tool for MV (UniVerse)

2013-07-16 Thread Tony Gravagno
(Hey Don, I think you have your ReplyTo set, so replies to your posts
to the list go to you direct.. Resending this to list...)

I think Don is spot on - substitute time off and other consequences
for finger breaking, though the Italian in me is quite partial to the
finger solution.

It's assumed that the norm is to have bad dicts with no documentation
- a problem that needs to be remedied. That's just accepted norm. If
it's clear that it's not accepted then it doesn't become the norm
which then requires some sort of remedy. If the norm is established as
policy, and consequences for failure to adhere to policy are well
known, then most of these problems with administering chaos go away.
That goes for backups, version control, comments, application of
patches/updates, and other areas where change (or inaction) in an
environment can have adverse effects.


 From: Don Robinson
 Sarcasm on:
 Use the Don security theory, first offense, cut off a couple of 
 fingers, second offense, cut off right hand, problem solved.
 Sarcasm off
 Seriously, this boils down to a management issue, employee
 and buy in.

 From: Wjhonson
 But with programmers able to create new DICT entries as they will,
 do you *keep* it spotless?

U2-Users mailing list

[U2] [ANN] FOSS4MV - Free Open Source Software for the MVDB world

2013-07-13 Thread Tony Gravagno
Posted for Kevin Powick

Fellow developers, 

I'm happy to announce a new resource for MVDB developers. FOSS4MV! 

FOSS4MV is a community for people that use or develop Free and Open
Source Software for MVDB platforms, such as D3, OpenQM, jBASE, U2,
Reality, Cache, etc. As such, it has three major offerings to promote
communication and collaboration.  A Google+ Community, source code
repositories at Bitbucket, and a Twitter account to keep you

Google+ is a surprisingly useful communications platform that makes it
easy to share information with individuals, groups, or the public at
large. Some G+ communities have memberships that number in the tens of
thousands, and I know that many MV developers already have a G+

Bitbucket, from Atlassian, is a leading provider of source code
repository hosting using today's two leading source code control
platforms, Git and Mercurial (Hg). Not only does Bitbucket support the
top two SCC platforms, but they also allow unlimited, free public and
private** repositories. 

FOSS4MV is set up as a bitbucket Team allowing people to join the
team and create repositories under the FOSS4MV banner, while still
retaining complete control over the management of their repositories.
However, there is no requirement to join the FOSS4MV team account to
get your code on the site. If you're just looking for a good home to
share your code, but do not wish to manage a repository, let us know
via email ( and we'll post it for you. 

Twitter Is a great way to keep-up with what's going on with
individuals, companies and communities such as FOSS4MV. You don't
actually have to tweet to follow a Twitter account, so if you're not
already on Twitter, sign-up and subscribe to FOSS4MV to keep an eye
on what's happening. The traffic should be fairly low volume. 

== Final Remarks == 

Promoting software development and collaboration amongst MV developers
is not a new idea but, until fairly recently, a standard set of tools
for building communities wasn't readily available. Today, we have
powerful and widely accepted tools that make collaboration not only
easier, but enjoyable. 

Participation grows communities, and every little bit helps. With all
the knowledge that we have amongst the veterans with 20 to 30+ years
of MV experience, I'm sure we can build something useful to all MV
developers, both old and new. So, at the very least, if you have any
tips, tricks, or code that you wish to share, join the G+ community,
get on the FOSS4MV Bitbucket team, or just send us your code and we
will give it a good home. 

== Links == 

G+ Community: 
Source Code: 


Kevin Powick

** Private, free repositories are limited to 5 members.  Once a
private repository exceeds 5 members, you require a paid account.  The
nature of FOSS4MV makes this a moot point as its repositories will be
public by default.

U2-Users mailing list

Re: [U2] uniobjects dll question

2013-07-12 Thread Tony Gravagno
 doug chanco wrote:
  Is it possible to just put the uniobjects dll on a system without
  installing it?  I am working on a home project where I have an
  android app call a web service to get UV data from my linux
  I have a hosted system running windows server and I am working on
 a c# web service that will receive data and pass it to  a
subroutine (via
  uniobjects) on my linux box. 

 From: Jeff Schasny 
 The .dll does not need to be installed. Visual Studio will include
it in the
 installation package for your C# application after you add it to the

Errr, that's only if you tell it to. When you reference a DLL it
doesn't automatically copy the DLL into your bin path because that can
make for huge deployment packages when the target client already has
some DLLs. If you know you want to copy the DLL, click on it then look
at properties and you'll see the option to copy.

Now, sometimes you may not want to do that. Let's say you have UO vX.Y
and it works a treat on your system with your configuration against
your version of UV or UD. So you do your clients a favor and bundle
your UO with your app. But then you get calls that UO works fine here
but your app doesn't work. What's happening there is that they might
be using a different version that works for them but your version
doesn't work. If you just provide a reference, your app will use their
UO and everything will be great.

But you often don't know if they have UO or not. For a given app and
audience you have a pretty good idea so you can decide whether or not
to do that Copy deployment.

Another issue is with versioning. While the .NET Framework was
designed to allow multiple versions of the same DLL to co-exist in
harmony, most .NET developers don't code to make use of that. So let's
say you do bundle the UO DLL with your package. Be careful about
moving that to a general location or using the GAC because you could
be over-writing a DLL that works for your client with your older or
newer version.

I apologize that I haven't played with the UO / UO.NET DLLs for a
while but I had these exact issues with them until we worked out which
version work in specific environments. I wrote an applet that detects
and identifies the version of UO on a system, and tells you if it can
make a good connection. This helped to resolve the issue with why
isn't it working? or why is my UO broken after this app was
installed? which version do you have? I don't know I might not
even have it installed...

Anyway, the answer isn't quite That cut n dried...

BTW, Doug, I think you're using the right approach, going from Android
to a middle tier and then doing a proxy to Universe/Linux. Too many
people approach this as how do I connect from Android to UV/Linux?.
The answer is that you don't need to and frequently don't want to.

Coming back to the original question for a moment, I think Doug might
have wanted to know if you need to install the Client Library on a
client PC just to get the UO DLL. The answer is no, you don't need
that 110MB+ installer just for the one tiny DLL, and the licensing
permits the DLL to be deployed with your solution.

Tony Gravagno   
Nebula Research and Development 
Nebula RD sells mv.NET and other Pick/MultiValue products  
worldwide, and provides related development services  
Visit! Contribute!   

U2-Users mailing list

Re: [U2] Mobile phones

2013-07-10 Thread Tony Gravagno
 From: Symeon Breen
 I have an application that is based in the UK, one of the things it
does is
 allow entry of a phone number, I then determine if this is a mobile
 phone) and send a text (easy in the uk as all mobiles begin with 07)
 We are embarking upon our first US client (well existing uk customer
 with a US presence) so my question is - how with US phone numbers
 can I determine if it is a cell phone ?

Symeon, I can confirm that you can't tell if a US number is a mobile.
I have another business where I use Pick as the backbone, and we
provide phone numbers, short code, bidirectional text/SMS (broadcast
outbound and process inbound requests), and related services
internationally - and it's all done with BASIC. In short, anyone can
port a land line number to a mobile, and transfer mobile numbers
amongst carriers to a point where you never really know anymore. This
is a good thing in a way, it's the same sort of federation that we
enjoy when we don't have to know the OS under a website, or the mail
server under an email address.

My suggestion would be not to try to be so smart. Just ask the user if
they want to provide a mobile number And if they want to opt-in to SMS
messages. You don't want to be one of those slimeballs that send text
messages without approval, and in some areas that might be illegal

Best to you,

U2-Users mailing list

Re: [U2] Mobile phones

2013-07-10 Thread Tony Gravagno
 From: Peter Cheney 
 There is the cost associated with this too. Currently I think it is
 per international SMS message and given that there's no guarantee of
 delivery success, the likelihood of repeated failed attempts is

Peter, my mouth fell open at that. We provide messaging to 150-200
countries for 3-12 cents (US) depending on the target location, and
this service can be integrated with any MV system on the planet
originating the message.

You'll never get guaranteed delivery anywhere. SMS receipt depends on
the consumer's phone carrier, their phone, whether they're roaming,
whether the user is on a national Do Not Call list, and many other
factors. Sometimes you'll need to use a different prefix or other code
to SMS a mobile phone, and in some countries some local carriers don't
support inbound international SMS.  Nor are there ever bounce messages
because the carrier can't tell if the message was received, only (with
luck) that they sent it. Since all carriers intend to send messages,
they don't expect to provide bounce services.

As I said, the best way to know if you have a mobile phone number is
to get the user to provide it. The best way to get a text to the
mobile user is to get their collaboration - at minimum with a
confirmation from the mobile user that your message was received. It
might seem inelegant but we're talking about reaching out to an
audience of some billions of people. The scope is huge and technology
isn't perfect so we must use the easiest and ideally lowest-cost
remedies available. Sometimes end-users tell you how they want things
to work. I'm telling you what works, which is usually what end-users
Really want.

Contact me for related solutions, including cloud-based services that
just do what you want.

Tony Gravagno   
Nebula Research and Development 
Visit! Contribute!   

U2-Users mailing list

Re: [U2] Monitoring Program: Can This Be Done?

2013-06-26 Thread Tony Gravagno
Dove-tailing with Ian's response, AHK would be an excellent solution,
not only for acting on the client PC but also for monitoring window
usage, PC transition to screensaver or hibernate, etc. It's also free
- but a hefty learning curve if you're not familiar with the scripting

To answer your question, yes, with C# this is also do-able, free, and
with no new languages to learn. If you want to do this on your own,
find some freeware that listens for Win32 events - though that area
can present as much of a learning curve as AHK. You want a tray app
that runs on system startup or with the SB client, to identify the
SBClient window when it opens, then check for various events like
minimize and window activated. You also want a timer that periodically
checks to see if the screensaver is running. (The first mechanism is
reactive, the second is proactive.) You will need to DllImport
user32.dll for this.

A search on the topic reveals many hits, including this helpful blog
with a C# solution that you should be able to tweak for your purposes:

If you do Not want to do that on your own, you can email me to discuss
development services.


Tony Gravagno   
Nebula Research and Development 
Nebula RD sells mv.NET and other Pick/MultiValue products  
worldwide, and provides related development services  
Visit! Contribute!   

 From: McGowan, Ian 
 For your original question, I don't know about how to capture the
 timestamp for SB activity, but is an
 amazing piece of software that can definitely switch to the SBClient
 window and hit escape a bunch of times.  I have used it several
 to 'scrape' data from one system and plug it into another, when more
 elegant solutions wouldn't work for whatever reason...

 From: Al DeWitt 
 I have been asked to inquire if there is a way I can write a C#
 to be installed on certain (shop floor) PCs to log SBClient activity
 (keystrokes?) with a timestamp.  This program would then read the
 last activity timestamp, compare it to the current time and if the
 interim is greater than a certain number of minutes execute a series
 Escape strokes to back the app out to the close screen and thus free
 up licenses.

U2-Users mailing list

Re: [U2] [JOB] Work for Tiger Logic

2013-06-10 Thread Tony Gravagno
 From: Wjhonson 
 As to the point of competing only, I would suggest that most if
not all
 the people who read this list, also read others, and have various
 not just U2 skills.  Are you suggesting that a U2 person would not
 have skills in say... D3 ?

Yeah, I am suggesting that. But skills does not equate to
expertise. I have skills with SQL Server and MySQL but I'm no guru
with either. Let's separate developers into two broad groups.

There are those who only know Pick through their U2 experience. These
are developers in end-user shops who have no need to know anything
about other MV platforms. In fact this one group is not one group at
all but two groups, the Universe people who don't care an iota about
Unidata, and the Unidata people who feel the same about Universe. This
is only a U2 group for political purposes, and because the platforms
have common features now simply because they have had common ownership
for so long. We can talk about BASIC, verbs, and correlatives in
common terms, but some people here (long-time Pick professionals) have
commented on the stark differences between these platforms that have
made migrations difficult. It's not just the differences, it's that
it's so hard to know what all of the differences and similarities are,
despite the platforms commonly being lumped under a single U2 banner.

Then there are those like you and me who work across two or more MV
platforms. YMMV, but as much as I've tried to become more competent
with U2 over the last decade, I find the impedance mismatch between
the platforms pushes me back home to D3 every time I focus energy on
U2. I have apps that run on both Universe and Unidata and I
competently support these apps for my many U2 clients. I also provide
specialty development services and have no problem integrating with
U2. But I wouldn't dare to be so arrogant as to call myself a U2
expert in this respected audience, despite my 30 years of experience
with just about every Pick platform available. My experience with D3,
QM, jBase, Ultimate, ADDS, GA, and a dozen other platforms still
doesn't make me a U2 expert. And there are enough U2 experts here who
haven't ported their wares to D3 to prove that the comfort doesn't
translate in the other direction either.

Coming back to the topic, the U2-only people would not be qualified to
provide DBMS support for any other platform without a good amount of
re-training. They'd do better than a SQL-only person but they're also
disadvantaged with a number of preconceived notions of how the system
works, details which don't apply to other platforms. And I believe
most cross-MV people would also not be qualified to provide DBMS-level
support for any DBMS unless they already focused on it. Knowing
UniBASIC as a U2 developer doesn't make someone qualified to debug
BASIC compiler or runtime errors for an end-user calling for help on

I work with people all the time who use platforms other than D3 and
they freely admit they are as distant from D3 as I am from their
platforms of choice. I have D3 clients who have contracted U2 people
who profess to be Pick experts (avoiding the assertion of being
competent with D3) only to find the situation didn't work. So while
TigerLogic is open to considering someone with experience with another
MV platform, I wouldn't want one of them answering the phone when I
call TL any time soon, any more than you'd want me answering the
Support phone at Rocket Software. That doesn't apply to everyone of
course - I'm sure there are people out there who can transition well
between platforms given a fair amount of time. I think that's the kind
of person they're hoping to attract.

As a final note, and perhaps with some irony... any of these MV
companies would do well to hire people with experience with competing
products. I think a huge tactical error that TL has made over the
years is that they do not have enough people there who understand the
other MV platforms enough to provide competitive data to prospects, or
existing clients who are considering migration. That's one of the
reasons why they've lost business to competitors. D3 has many features
available elsewhere, TL as an entity just doesn't know they do, or
how to articulate that. So someone from, say, Rocket comes along and
says to a D3 site lookie what We have and a site will leave, not
knowing they already have that feature. Someone who knows both
platforms could help save that loss. Well, that's TL's loss and
everyone else's gain.

Sun Tzu said: Know yourself, know the enemy, know the terrain.


U2-Users mailing list

Re: [U2] [JOB] Work for Tiger Logic

2013-06-09 Thread Tony Gravagno
Wow. I mean, no surprise, but ... you're nosey. :)

So salary commensurate with requirements but you'd like people to
guess at it anyway, even though we'll never know what it actually is.
That's a spectacular waste of time.

Having sat in one of the chairs for which they are advertising, and
with regular contact with their Support department for the decade-plus
since, I can tell you that someone who does not have the required
skills will not do well there and will therefore not survive long in
the job. So no, those are not just would be nice to have's, with the
exception of the one item that says a plus.

And unless you're providing a community service to U2 people who may
be looking for work, I'd suggest that this topic is more suited to the
MVDBMS group or LinkedIn than this (competing) product-specific group.


Wjhonson wrote: 
 Looking at these requirements, and the well-known phrase that salary
 is commensurate with experience.  I wonder if anyone wants to hazard
 a guess at what salary these requirements might command in Orange
 I know what they'd command in the bay area and it's not pretty :)
 Of course maybe some of these requirements
 are merely would be nice to have's  

U2-Users mailing list

Re: [U2] Signature Capture and use

2013-06-06 Thread Tony Gravagno
Harold, I created a general-purpose solution for this a few years ago, 
documented on my blog. I'd be very happy to discuss it with you next week. (out 
of the office this week)

Harold.Oaks wrote:

I'm sure some of you are implementing signature pad capture to a
Universe system.  What are you using and doing?
I'd like to look into adding that feature to our jail system.
Sent from my Android phone with K-9 Mail. Please excuse my brevity.
U2-Users mailing list

Re: [U2] Signature Capture and use

2013-06-06 Thread Tony Gravagno
Indeed. Typed manually on my phone. Here is the correct link. Thanks.

Robert Frailey wrote:

Link doesnt work

- Original Message - 
From: Tony Gravagno 

 Harold, I created a general-purpose solution for this a few years
 documented on my blog. I'd be very happy to discuss it with you next
 (out of the office this week)

 Harold.Oaks wrote:

I'm sure some of you are implementing signature pad capture to a
Universe system.  What are you using and doing?
I'd like to look into adding that feature to our jail system.
 Sent from my Android phone with K-9 Mail. Please excuse my brevity.
 U2-Users mailing list 

U2-Users mailing list

Sent from my Android phone with K-9 Mail. Please excuse my brevity.
U2-Users mailing list

Re: [U2] Recognition for Rocket and Rocket's U2 in dual rankings today!

2013-06-04 Thread Tony Gravagno
 From: John R. Israel 
 I believe new management came in and decided to totally re-write
 everything is something else (SQL?)

(huge snip)

Here is an article related to the RR debacle. It was a $67Million mistake that 
other companies should learn from.
Other articles are still available I'm sure, but finding them is kind of tough 
now given that this was from 2005. We were discussing this and a similar failed 
effort at Oxford Health in CDP between 2005 and 2007. I proposed then that we 
could create a whole page at PickWiki called FailedMigrationsFromMV. Funny how 
so many years later that still seems like a good idea. ;)

RR had a lot of bright .NET/SqlServer types who arrogantly thought they could 
completely replace the rules of a system that had years of detailed MV rules. 
They over-designed, over-coded, and did all of the things that curmudgeons 
accuse new developers of doing with the new toys that come around every couple 
years. They thought they knew better without understanding what it was that 
they were trying to replace.

To their credit, RR announced the error, wrote off the $67M, and then went on 
to do something else. Most of us remember that they failed in their first 
attempt but I don't know anyone who knows what they did after that - certainly 
no one in this industry who will admit that they were successful at migrating 
away from MV. :)

My take on this was that this industry lost something like 25,000 seats because 
there weren't enough people there to convince RR that they already had the 
tools required to update their existing application for a new millennium. In 
this regard, Their failure is Our fault. I can't tell you how many times I find 
myself in end-user meetings where senior management Still doesn't know what's 
possible with their MV system (until I speak up). MV is Always on the chopping 
block just waiting for the axe to fall. For this condition I continue to blame 
the DBMS providers and their hands-off policy regarding their reseller channel, 
where most VARs would rather tell an end-user that something can't be done than 
to admit that they just don't know how to do it. While that's a discussion for 
another time, I suspect that's how it played out at RR too.


U2-Users mailing list

Re: [U2] [UV] UniObjects.Net vs Thrid-party Products

2013-05-28 Thread Tony Gravagno
I'll  preface by saying I catch some heat when I advocate some
products, because I happen to sell them too. People confuse the cause
and effect there. I sell products because I use them - I'm putting my
money where my mouth is. I was using them first as a choice, having
considered other options just like fellow colleagues, and then I
decided that I liked them so much that I would sell them too. When I
sell a product like mv.NET, I get feedback from my clients. I pass
that back to the up-line developer, we get product changes, and we all
win. That's my motivation - to ensure that the products I like stay
good. Some people here know that when I decide that I can't rely on a
product anymore, I stop advocating it. And with that said, I've been
using mv.NET happily for about 8 years now.

As Symeon says, mv.NET is a super-set of the free DBMS tools.
Comparing them is like comparing water to coffee, apples to apple pie,
or radio to TV. You can survive on the former but you'll get much more
from the latter. The difference with the software, again echoing
Symeon, is that mv.NET doesn't need UO.NET or any of its
functionality - mv.NET can use telnet or SSH or UO as the basic
transport too.

IBM saw the value-add of mv.NET compared to UO.NET, and purchased a
version of the source to re-brand and sell to U2 sites. I don't think
they continued that - their version couldn't keep up with mv.NET
itself. The point here is to emphasize the conclusions of the
evaluation of their own product.

While this doesn't apply to most U2 developers, one of the big
advantages of mv.NET is that works for all MV platforms. For
third-party developers this is huge because it means reporting tools,
communications interfaces, and entire applications can be portable
across a wider variety of DBMS products. YMMV

Please feel free to contact me for more info.

Tony Gravagno   
Nebula Research and Development 
Nebula RD sells mv.NET worldwide   
and provides related development services  

 From: Symeon Breen 
 Uniobjects.Net is the base requirement. MV.NET builds on this and
 gives you a heap more (tho infact you can use it without
 So it depends if you want simple connectivity to the DB to do
 commands and subroutine calls, for which would
 or if you want any of the other fancy stuff on top that MV.NET will
 you ...

 From: Perry Taylor 
 I'm investigating the pros and cons to using UniObjects.Net vs
 party products such as MV.Net, etc.  Anyone care to chime in with

U2-Users mailing list

Re: [U2] [UV] UniObjects.Net vs Thrid-party Products

2013-05-28 Thread Tony Gravagno
From: Wjhonson 
 You stated below that its transportable.
 Maybe you could give a few examples of what mv.NET can do for
 those who don't need the transportable feature.

Fair question. I'll provide some examples here but invite anyone with
more detailed interest to contact me directly.

-  mv.NET includes a code generator which creates strongly typed
classes from U2 files. You can pass an assembly to someone who has
never seen the MVDBMS and they'll see a collection of Customers, with
individual Customer objects that only expose what you want them to
see. One developer might just get name/address info, another will get
read-access to accounting data, and another will get read/write access
to contact info. Of course you can create POCO's manually but you
don't need to. The generated classes can use your BASIC programs for
read/write/select. And because they're partial classes you can
intercept/insert/override functionality.

-  mv.NET includes sophisticated session management to ensure you have
processes to respond to inbound requests, and you can manage exactly
how that's done for all of your applications in one easy to use

-  mv.NET includes built-in paging for selections. Most new multi-tier
developers will code a Select and populate a list box with the
results, and Then realize that this doesn't work well when a million
records are in the pipe. But here your code can set a retrieval
interval and just pull data in batches, as needed.

-  mv.NET includes an RPC class which allows the DBMS to trigger
client-side events.

-  It has a built-in XAML generator/editor for Silverlight.

-  It has built-in web services for those who don't want to roll their

- Similar to UO.NET it also has a built-in ADO.NET class library,
allowing developers more familiar with relational databases to operate
on U2 data in a manner that's more convenient for them. Note, this
doesn't mean you need to do SQL queries against your MV DBMS - it
means it looks relational to them without you needing to do anything
on your side.

For every one of those and other features, different people will say
I can do that on my own. In my experience about 50% of the people
who say that about many features might be able to. But the point is
that even those folks will wind up writing a lot of wrapper code
that's already built into this other product. And they'll need to
maintain it. How much is your time worth? Is free software really
free when you spend That much time building on features? The decision
here is up to the individual. After writing my own connectivity
products for years I decided to stop doing the lower-end stuff so that
I could focus on higher-end apps and interfaces. YMMV.


Tony Gravagno   
Nebula Research and Development 
Nebula RD sells mv.NET worldwide   
and provides related development services 

U2-Users mailing list

Re: [U2] [UV] UniObjects.Net vs Thrid-party Products

2013-05-28 Thread Tony Gravagno
 From: Daniel McGrath 
 Tony, out of curiosity, have you looked at UO.NET's replacement: U2
 Toolkit for .NET?

Not recently bud. Once I settle on a toolkit that works well, my
research in that specific area slows down. How much research do we
continue to do on cars after we've made a purchase? Do we keep house
hunting after we move into a new home? It's appropriate to be informed
about what's happening in our industry, but I have dozens of
platforms, frameworks, toolkits, and related versions that I need to
keep up with - that still means time needs to be allocated for
hundreds of permutations of all of these blasted software packages
that are all supposed to save us time. Like everyone else here, I
need to use whatever free time I have to hone my skills with the
latest versions of the tools I already use, rather than continue to
look into replacements. Despite professional curiosity, at some point
we need to stop playing with tools and just hunker down to write real

I'd like to say that at some point I'll cycle back around for another
look at the U2 toolkit, but remember that for my purposes of writing
applications that are the same across all MV platforms,  a
platform-specific tool is generally off of my radar. Sure, it would be
nice to save my clients money using free tools, but I have U2 clients
that have been running a single license of mv.NET for years. The tiny
cost of the tool is trivial in the big picture. People need to think
hard about exactly how much free costs them, or how adverse they are
to buying a low-cost license for something that will last years.

And that's just the cost of the tool. When a U2 site posts a job ad
for someone to do UI work or web services, they might say must know
U2 Toolkit for .NET. If they have a tool that anyone in the MV
industry can use, the scope of candidates broadens to include U2
developers And everyone else. .NET developers have already broadened
their scope to the outside world. Once they/we have made that jump,
there's no reason anymore to limit one's self to a single MV platform
and related tools. A company that is going in this direction should
think hard about branching out and then snapping right back again to
platform-specific tools. Sure, you're going to find someone who does
U2-only work with .NET, but why limit your scope to U2-only people?
The non-end-user developers that I know who use mv.NET aren't
interested in limiting themselves to one platform anymore.  It doesn't
make sense to not have access to that pool of talent just because you
want to use a free tool.

And no, the DBMS vendors shouldn't feel threatened by this - we're
enhancing applications for everyone, not the competition. It's the
end-users that win here as well as their up-line channel. So Rocket
Software and Tiger Logic and Ladybridge and everyone else should be
encouraging their developer channel to use mv.NET rather than somehow
feeling threatened by it.

(More than I expected to write on that one, sorry.)

Tony Gravagno   
Nebula Research and Development 
Nebula RD sells mv.NET worldwide   
and provides related development services 

U2-Users mailing list

Re: [U2] How to create WCF oData Service using Visual Studio 2012, Code First Entity Model and U2 Toolkit for .NET?

2013-05-23 Thread Tony Gravagno
That's some great info but I think the Stack Overflow people would
object to their site being used as a blog/wiki by a commercial entity.
I recommend putting nice articles like that on, the
company website, or


 From: rkumar

U2-Users mailing list

Re: [U2] U2 demos and sample code now on Github

2013-05-21 Thread Tony Gravagno
 From: George Gallen 
 What might be helpful, would be a little help Blurb about what
 is, and how to use it?

You can download the e-book Git Succinctly, generously provided for
free by Syncfusion:
That page has a summary of the contents.
(BTW, they have a Lot of other great+free ebooks there.)

For GitHub in particular:
- Google  how to use github 
- At YouTube search for github.

You'll find a huge number of pages and videos to suit every need and
learning style. Finding information is easy. Consuming information and
translating that into expertise and daily habit requires time and


U2-Users mailing list

Re: [U2] Illegal use of the file, select, cursor, BCI, Socket, HTTP, XML, SCTX , MQS, SOAP or database variable.

2013-05-08 Thread Tony Gravagno
 From: Wjhonson 
 I'm assuming that a file you want to read into a Pick system, with
 embedded MM.MM dollars is coming from an outside source.  I can't
 recall ever seeing 12.2 used for 12.20 outside of a Pick system.

This is weird, I've seen a few discussions within the last week where
people can't tell the difference between data storage format and
rendering or transport format.

With regard to:
 I can't recall ever seeing 12.2 used for 12.20 outside of a Pick
I have news for you - they ALL  do. Other systems don't store data
with trailing zeros because they have no need to store them. It's up
to each individual user/application to decide whether to use 1 digit,
2, 4, or none. Data is stored with as few characters as possible,
which is part  of the reason why we tend to store integer-only in MV.
Our system of storing integers with implied 4 digit precision is
flawed and archaic, but we all live with it, except where apps have
been written where the author was unaware of such conventions.

When importing data we can expect to see just about anything. The
format is determined by accepted convention and is largely
unimportant. Most applications use classes to define their data types,
whether Integer, Float, Decimal, or Currency. When discussing data
transfers the discussion usually includes how do you want your
numbers?. To that I generally respond, I don't care, whatever works
for you, just document it and keep it consistent. If they say
Integer, I mask it as required. If they mask it, I convert to integer.
If they want to send a dollar amount, it's usually sent with two
decimals as an output format, but since we all know it's just data,
it's not unreasonable to expect dollar figures with 0 or 1 decimal.

In  other words, there are no conventions - we make it up with each
project and site, following app-specific standards as possible.


U2-Users mailing list

Re: [U2] Illegal use of the file, select, cursor, BCI, Socket, HTTP, XML, SCTX , MQS, SOAP or database variable.

2013-05-08 Thread Tony Gravagno
There are a couple ways to prevent automatic numeric reformatting in

1) Any value preceded by a single quote is not treated as a number and
is thus not reformatted. So a telephone number becomes '123-456-7890.

2) If the document  is real Excel and not just CSV rendered in the
Excel application, you can format the column to be Text. This also has
the advantage of avoiding a warning which may display from 'values,
where Excel keeps trying to let you know that a value looks like a
date or some other format.

And of course all of these situations are avoidable by using


 From: Jeff Schasny 
 You can create a custom format in Excel containing a zero mask of
 ever many characters you like and that will preserve (well, actually
 replace the already stripped) leading zeros.
 Anthonys Lists wrote:
  With our phone numbers ... we are forced to use a database that
  exports to excel ...
  And if you don't put spaces and whatnot in phonenumbers to force
  to realise it's text, all your phone numbers have their leading
  stripped ...
  (I believe it's written by outside consultants, but the lady
  to the organisation who looks after it thinks it's wonderful. As a
  database programmer forced to use it, my opinion of it is

U2-Users mailing list

Re: [U2] AES Encryption Of CC Numbers

2013-05-03 Thread Tony Gravagno
 From: Wjhonson
 Looks like no to me.
 Maybe someone could write one ?

Yeah, and maybe someone could give the source away for free too, eh?

Things like this shouldn't be built into a database. The database
should call to well-maintained underlying utilities written by people
who specialize in such things. That can be done with GCI or other

If you do link with a dedicated solution, I know some people have
expressed concern that simply by transferring credit card data into
another tool the data is exposed. For example, the most naïve approach
would be something like this:

CMD = \aes.encrypt \ : INFO : \  result.file\
EXECUTE \sh  -C \ : cmd CAPTURING OUT ; * ignore syntax
READ ENCRYPTED FROM F.TMP,\result.file\ ...

The problem there is that a hacker could put code into the system to
log process activity. For example, the above commands would be openly
visible to a ps auwx | grep encrypt. Some people like the idea of
writing stuff to disk, processing it there, and then importing the
results. But a simple file activity monitor could grab that data in
the time it takes to process and delete it.

Now someone could respond that if you have a hacker who can do that on
your system that the gig is already up. Sure, but that's the nature of
hacking, and blind confidence in security is exactly what leads to
announcements in the nightly news, fines, and law suits. One
disgruntled employee or consultant could easily accomplish that -
attacks like this don't always come from outside.

Just the concept of storage of credit cards brings up all kinds of
warnings. There are laws and protocols for such things requiring a Lot
of research and internal compliance - this game is not for amateurs.

The bottom line is usually simply not to do that, which leads to and similar solutions proposed in this thread. Don't
accept cards in your own web pages for local storage, and don't allow
customer service people to enter CC data in your green screen app. Use
resources provided by professionals. Integrate. Everything doesn't
need to be DIY.

Shout out to Gary Heiman - wow dude, it's been more than 25 years...


U2-Users mailing list

Re: [U2] FOSS

2013-05-03 Thread Tony Gravagno
From: Wjhonson 
 Tony, the link I posted has tons of free code.

Just no MV BASIC implementation. So the tons of free code there has nothing to 
do with your suggestion that someone write something new.

 So giving it away for free is not anything new, although I know that
 attacking that idea is your own personal hobby horse :)

I manage and/or contribute to freeware on Google Code, Codeplex, Sourceforge, 
GitHub, PickWiki, my own freeware page, and elsewhere. I also provide 
occasional forum support for various freeware projects and Android apps. It's 
easily evident that I don't have any axe to grind against freeware.

 I was just suggesting maybe there could also be a BASIC algorithm
 listed on that link, along with all the other ones listed.

And I just have a visceral reaction when people _assume_ that something of 
value is going to be written on uncompensated time, given away for free, and 
then maintained at no cost by people who obviously derive commercial benefit.

You mistake my pro-FOSS comments as attacks. The problem with the FOSS model is 
that it's horrendously abused by people who take but don't give back, by people 
who assume that there is no cost in terms of time or contributions, let alone 
money) for what they consume, but people who casually suggest that someone else 
will provide slave labor for the benefit of all. The FOSS world is a mass 
graveyard of dead projects abandoned by altruistic developers who've been 
abused by hoards of people who love their software creations - and when one 
developer is beaten down the locusts fly off to the next project. Our own 
community has hundreds of offerings that have suffered this fate. I support the 
model enough to point out its faults in the hope that good software doesn't go 
away because of the propagation of this inane idea that somehow it's all free 
- as in beer.

One of the problems with this MV industry is that it's all about Take and not 
about Give. If this industry as a whole had a clue what FOSS was about (rather 
than just paying lip service) then we could be following the lead of many other 
platforms out there and attracting new developers.

Far from attacking FOSS, I have strong objections to those who chronically 
don't understand how it works, especially when that erodes at our everyday 
business lives. _That_ is the hobby horse that I ride.


U2-Users mailing list

Re: [U2] revision control with git/github

2013-04-30 Thread Tony Gravagno
We had a discussion about his recently in the MVDBMS group.   

 From: Aaron Titus 
 I am curious to know if anyone has
 implemented revision control with git or github for Unibasic
 and system builder objects. If so, how did you do it?

U2-Users mailing list

Re: [U2] History of Prime Information

2013-04-30 Thread Tony Gravagno
No, SMI was always in Des Plaines, IL.

Oak Brook was home to the McDonalds User Group (MUG) which managed
accounting for hundreds (thousands?) of McDonalds hamburger
franchises. That software was originally in RPL until it was ported to
BASIC. (I had a hand in that.)

I have a couple clients in Oak Brook now, including a Universe site
that will not be outted without their permission.

I dunno about any other large/famous sites...


 From: Mike Street 
 SMI and, of course, RPL.
 From: Wjhonson 
 Now where have I heard of Oak Brook before?  I mean in relation to

U2-Users mailing list

Re: [U2] Refactoring Tools

2013-04-22 Thread Tony Gravagno
Brian, on my freeware page I have a Merge/Split routine. I use it to
merge Included code modules so that I can run, debug, and edit them as
a unit, then split the modules off back into their components. From
there, re-compiling all code allows the entire app to benefit from an
individual effort.
The utility gets a uniquely stamped backup of every item before every
operation to ensure nothing gets lost.

WRT your query, it sounds like you want to factor out common code. I'd
approach this by writing a utility that scans items for common blocks
of text, wrapping those blocks with start/end markers which I use in
the Merge/Split. So let's say you have 100 lines that start with label
FOO: * do foo. Wrap that as follows:

FOO: * do foo


With all program items marked like that, run the Merge/Split on them
and do a split (without a prior merge since you're creating new
Includes). You'll get a single INC.FOO item and all other items will
then INCLUDE INC.FOO at the right location.

This will take some manual effort. You don't really know what blocks
to refactor out until you've looked around for common patterns, and
you will find a lot of blocks that are close but not quite the same.
You could factor out all FOO subroutines into individual items, then
delete items that are the same, and modify code which includes that
code to use a single Include item.

The most benefit comes when  you find lots of large common blocks of
code. This usually comes in the form of long EQUate lists, Common
definitions, blocks of Open statements, and logging and other
housekeeping. You may even find value in Includes of Includes.

If you do use the Merge/Split freeware, I'd appreciate if you'd pass
back any updates you make for this specific purpose.

Aside from that more manual approach, check out mvToolbox. It has a
ton of features that do all sorts of magical things - for all I know
it might have some hidden function to help to refactor out an entire
application. Some developers load it to every new site they work on,
to organize app code before doing any other work on it. (Yes,  that
needs to be done properly.)
Use that link to avoid getting passed off to the awful awful web ring.
While marketed via  a poor website, mvToolbox is great software which
only suffers from having too many features and too much documentation.
Get over the  too/too issue and you will find a number of gems in
there at too low of a price for such a useful tool.


 From: Brian Leach 
 I'm doing some intensive work with a large UniVerse site to assist
 in migrating their 20 year old code base and working practices to
 Agile, XP and TDD. They are really enthusiastic in embracing the
 modern world and making good progress, but there is a huge amount
 of legacy code to be cleaned up and test harnessed.
 So before I spend time possibly reinventing the wheel, does anyone
 know of any good refactoring tools for UniVerse Basic?

U2-Users mailing list

Re: [U2] c#/uniobject/chinese/spanish characters

2013-04-05 Thread Tony Gravagno
Doug, I wrote a couple short extension methods which convert from
Arabic to UTF-16 and back. The pattern goes like this:

- Get input from GUI
- Convert from known code page to utf-16, in this case that's
- Save the data into MV ... it's just text and doesn't get munged on
the wire

To display in GUI:
- Read the text from MV
- Convert back from utf-16 to original code-page
- Display in GUI

I believe you would just substitute a different code page for other
languages - obviously it must be the same language going in both
directions, this isn't Bablefish. ;)

It works great for platforms that have no I18N or  other language
support. This dealer in Amman Jordan has 40 old mvBase systems in the
field that are now adopting a GUI based on mv.NET and this small bit
of code.

I don't think you can sort or select on this kind of data in MV.
Although once it was in the DBMS, I think we were  able to see
everything great with AccuTerm in a character interface. It works in
D3 too. I didn't try any others.

U2 might support a better storage mechanism, so let's see what others
say. But I'll be happy to provide the C# code that does  the
translation. Just email me.

Tony Gravagno   
Nebula Research and Development 
Nebula RD sells mv.NET and other Pick/MultiValue products  
worldwide, and provides related development services  
Visit! Contribute!

 From: doug chanco
 Subject: [U2] c#/uniobject/chinese/spanish characters
  anyone care to share any suggestions on the best way to create pick
 records that include chinese/spanish characters via c# and
 or just c# and writing to a unix file?
 I have some ideas I am mulling around in my head but I thought I'd
 into the vast knowledge base available on here.
 I am basically looking at creating a pick record (or a unix one)
that is a
 mixture of html and text (in english/chinese and spanish).
 any thoughts/suggestions are extremely welcomed

U2-Users mailing list

Re: [U2] Social Networks for MV

2013-04-02 Thread Tony Gravagno
 *From:* symeonb
  Marketing has always been about multiple ways to do predominantly the
  same thing  you have a newspaper campaign, poster campaign, radio,
  tv, cpc ads, web banners, cold calling etc,  these are just some more.

From: Bill Haskett 
 That isn't mostly true if you're a small business.   ... In a small business, 
 isn't such a redundancy of resources that these decisions don't matter.

In short, I believe that's only a small part of the decision process. A longer 
response is on the blog, now Part5 *gasp*. It's generally a recap but if you're 
still not quite sold in one direction there's extra commentary there that might 


U2-Users mailing list

Re: [U2] Hibernate and UniVerse

2013-04-01 Thread Tony Gravagno
Dan, that's a great answer and the right answer and I don't mean to
take anything away from it here.

This is one of the biggest stumbling blocks for many of us in the MV
world - getting mainstream tools to work as easily with our databases
as it does with others. I spend a Lot of time doing things like
creating ObjectDataSource wrappers in .NET for MV, where SqlDataSource
and XmlDataSources are readily available. I created an Entity
Framework provider for MV. I write custom BAL/DAL implementations in
Java and other languages simply because these can't be generated from
MV server schema with existing tools. Get FOSS software for ECommerce,
a CMS, or CRM, and it will have ready-made data access for MySQL or
perhaps SQL Server - but you can't use them with MV. ORMs like
Hibernate, NHibernate, CSLA, or OpenAccess requires custom providers,
as do NetTiers templates (for which I created a provider) and other
code generators. Getting help at that low level is difficult, lonely
work because very few people write that kind of code and documentation
is always sparse.

Hibernate has been around for a decade, but poor Bill here is facing
this task on his own like this is some new technology. I have to
believe a bunch of people have dabbled with this over time, perhaps
even made inquiries to their VARs, or with IBM/Rocket Sales or Support
with questions like do you support Hibernate, and if not, who might
be able to do this? Does anyone track requests like that? Does
Marketing ever get a peek at inquiries like that to consider new
development, or perhaps to act like a partner and link up developers
in the field with common interests? It seems like every time a
question like this comes up, it's from one guy who gets convinced that
he's the only one who's ever asked the question before. And given all
of this, is it any wonder that we can't get new developers into this
industry when there are no standard providers (database access layer /
interfaces) for common mainstream libraries and products? Why don't
the MV DBMS companies have a standard protocol for new technologies:
When something new is on the horizon, do some research in the client
base, find  out what people need to do development, and then (based on
cost-justification of course, which is always tough) create the tools.
But be pro-active about it. Consider it an exercise in

off the soap box /

Thanks for your time.

 From: Daniel McGrath
 Every relational database uses its own custom 'flavor' of SQL (after
 that's what standards are for, right?). To handle these differences,
 Hibernate uses the concept of 'dialects' so it knows what keywords
 valid for that type of database.
 UniVerse is not one of the stock dialects available, so you will
have to
 create a custom dialect to support it. On the positive side, this
 allow you to register keywords such as SAMPLE, SAMPLED and
 UNNEST that are unique to UniVerse.
 I can't offer you much more help than to point you to some starting
 Hope it helps,
 Dan McGrath
 Managing Director, U2 Servers Lab
 Rocket Software

 From: William Brutzman 
 When trying to do ORM (Object Relational Mapping) with ColdFusion...
 I am getting an error message... Hibernate Dialect must be
 set for dataBase: Universe.
 Tips and tricks on Hibernate configuration settings would be

U2-Users mailing list

Re: [U2] Compressing PDFs

2013-03-28 Thread Tony Gravagno
In addition to 7-Zip (the software, not just the compression
algorithm), consider WinRAR. They're both based on the same UnRAR
decompression. They both support multiple platforms, multiple
compression methods, multiple volumes, security, etc.  I hope I don't
start a war by suggesting that anyone spend money for software or
anything, but WinRAR is shareware for $30 and has Windows extensions
for a UI that make it worth it to some people. You don't need to pay
for it, and I'd guess most people do not, but it's a good thing to do,
especially for a company. There is a tiny nag on file opens which is
easy to dismiss. I've been using WinRAR for almost a decade and swear
by it for all compression needs. For some people the choice is just a
matter of personal preference where most other comparisons are
similar. You'll see arguments out there about 128bit AES vs 256, or
how many CPU cores are utilized, or whether you get 80% compression vs
85%. At some point it just comes down to feel.

I'd recommend that you do not provide your trading partners with
software, but tell them the compression mechanism you use and why, and
then point them to a couple websites from which they can make their
own choices. Otherwise you could get stuck providing support because
YOU told them to use brandX.

As to your local storage, consider delivering files to your trading
partners in a format that's easy for Them to manipulate, but
re-compress/store files in a way that's easy for You to manipulate.
The content is ultimately the same and file transport/unpacking issues
are rare and easy to remedy.


 From: Israel, John R. 
 There are several issues here that I am dealing with for this
 #1 The company that we are sending the PDFs to is Windows based, so
 I am limited as to the formats they can accept (zip and 7z being two
 #2 In my testing, I have found that 7z gives significantly more
 compression.  In my test, I took a single PDF that was 17k in size.
 made 3 copies of it for a total of 17 x 4 = 68k.  Using a
traditional zip, I
 was able to compact these 4 PDFs down into a 33k file (about half).
 HOWEVER, after compressing it down with 7z, those same 4 PDFs went
 down to only 8K!  That is a SIGNIFICANT difference.
 #3 I wrote a program we all use that archives the intended file,
 transmits the archive to the 2nd party.  That way, if they did not
get it, I
 can re-send it from the archive w/o having to try to re-create the
 (which may have changed).  Also, if there are any issues, I can look
 the archive file and determine exactly what they got and then
 determine if the problem was mine or theirs.

 From: Israel, John R.
 HPUX, UniData  SB:
 After a bunch of work, I have a UNIX directory that has a bunch of
 I wish to bundle these PDFs up into a 7zip formatted compressed
file.  I
 see that there is a ported version of the Windows version of 7zip
 UNIX called p7zip.
 Has anyone installed p7zip and if so, what else needed to be
 with it?  Is it stand-alone or is it dependent on other software
 being loaded first?
 Does anyone have a simple way for UNIX to run the Windows
 command line version of 7zip against my UNIX PDF directory?

U2-Users mailing list

Re: [U2] Social Networks for MV

2013-03-28 Thread Tony Gravagno
Oh dear, you gentlemen seem to have coerced another blog out of me in
response to your comments. :) Really, I'm just trying to keep my
content in one place so that others can see the common message.

 From: Robert Houben 
 If you are consumer oriented, you may need to assign more resources
 to managing the activity on a Facebook page, but then you'll
 get more value from it, too.  Note that we are a very small B2B
 company, but in my opinion, the effort I've put into social media
 been hugely rewarded.

Follow-up for Bill : You provide property management companies with
software to manage properties. As I understand it, your browser-based
app accepts requests from residents which are then scheduled for
handling. Consider that in your business you could offer an option for
the system to send a tweet to a resident when their lights are fixed
or when the garage is unavailable. This is how people use these
services now - it's often very pragmatic and not social in the

Consistent with my messages here - don't just look at these media with
a subjective/personal view. Your clients could be willing to pay for
integration with social media. But as many of us with decades of
experience here know, end-users won't ask their Pick developers for a
lot because they generally don't expect that  they will get what they
want. So offer it up. See what happens. If nothing else, just the fact
that you're offering to integrate with social media puts you in a
different category from traditional Pick developers and application


[ad]I would be remiss if I didn't mention that I can integrate any U2
system with any social media service. Inquiries for related services
are welcome.[/ad]

Tony Gravagno   
Nebula Research and Development 
Visit! Contribute!   

U2-Users mailing list


2013-03-26 Thread Tony Gravagno
 From: Nancy Fisher 
 Thanks. I'm beginning to think we're having printer commands stopped
 by our (accuterm) terminal interface.

Accuterm!? Heck yeah. You didn't mention that part! :) Those ESCape
sequences tell AccuTerm to do all sorts of cool stuff. You'd hope
that it's smart enough to not process the codes until it receives the
AUX-off, but...

Check with Pete Schellenbach. You might be able to execute a script to
turn off command processing and then do something to turn it back on
 something that would not occur during the printing process.


[snipped mile-long digest]

U2-Users mailing list


2013-03-25 Thread Tony Gravagno
General response...

This is why I love PrintWizard:
PRINT \barcode src=1234567890 style=code39\
Really. Look below. Now look above. Now think about which code you'd
rather maintain, or pay someone else to maintain, every time you get a
new printer.
Jus' sayin'...

I do not sell PrintWizard and do not get commissions or any
recompense. Bob Rasmussen does provide it but he's respectfully modest
here. I do have pages up on my site with code samples and screenshots
from a time when I was considering selling it:
Save yourself some pain. Check it out. Contact Bob.

 From: Nancy Fisher 
 I'm having some problems getting the internal barcode to print on an
 okidata 320 turbo:
 Sending to an aux printer:
 PRINT CHAR(27):CHAR(16):CHAR(66):CHAR(10):1234567890
 I get the TEST and sometimes I get '67890'.
 I could certainly have the Aux codes messed up, or just about
 as this is my first attempt at sending codes to an OKIDATA.  It says
 the IBM PPR emulation Mode, and has the internal barcode (using
 code 39).

U2-Users mailing list

Re: [U2] Date conversion..

2013-03-22 Thread Tony Gravagno
From: Sathya 
 Hi experts..
 I have one problem in creatin a spreadsheet report with date format.
 One of the column in the spreadsheet is a date and it is displaying
 numbers. Please help me in printing it as a date.
 BTW I'm using OCONV to write the value to the column.

The problem isn't with MV. When you say spreadsheet people here
imply Excel, and I'm guessing that's what you mean too. What most
people do is they generate a CSV file with no formatting and then
expect Excel to format it in specific ways. The simple answer is, if
you just want text in Excel, put a single quote before the value:

123, abc, '3/22/2013

You can also force it to text like this using a formula:


The immediate response might be but I want a Date column. OK, but
you're not doing anything to tell Excel that the column itself should
use date formatting.

This is exactly the reason why I created NebulaXLite. It gives you any
kind of real Excel formatting of your choice for any cell, column, or
row. With nothing but BASIC, you can:
- use set fonts, colors, text rotation, and borders,
- set column widths and row heights
- merge cells, use hyperlinks, add comments to cells
- set document properties, add multiple worksheets in a workbook
- and documents open in Google Docs and OpenOffice
Compare all of that (and yes, much more) to plain old delimited text.

Lots of companies here use NebulaXLite. It's free for developers and
only a one-time purchase price of $200 for production end-user
systems. Support and enhancements are free.


Tony Gravagno   
Nebula Research and Development 
Visit! Contribute!   

U2-Users mailing list

Re: [U2] Social Networks for MV

2013-03-19 Thread Tony Gravagno
 From: Robert Houben 
 And just to mess with your heads a bit more...

Oh dear, you seem to have provoked yet another blog. :)

Summary: It's not just the individual services. Each of us has
different roles in life. Pinterest might not appeal to us as MV people
but it might appeal to the companies we support who wish to use it for
marketing. And while you might not want to tweet about your MV
epiphanies, in the broad landscape of social media there are many APIs
(web services) for extracting data into your MV system, and publishing
data from your MV system. As professionals and business people,
ignoring this can be a strategic mistake.

Thanks for the ongoing inspiration.

U2-Users mailing list

Re: [U2] Social Networks for MV

2013-03-16 Thread Tony Gravagno
Wow, what an awesome set of responses. Thank you VERY much.

There are consistent opinions in many of the responses. So I hope all
of you will forgive if I respond to my own post here with a new
sub-thread, and with another blog, as I wanted to keep all of the
thoughts together.
In summary, what We think about social media is unimportant. What is
important is, that is where other people are, so that is where we
should be too. I'd be interested to know if this second blog entry
prompts any re-consideration.

I recognize that this isn't directly a U2 topic. This is more of an
industry topic, of which U2 users are a part. Increasingly, U2 is
becoming less associated with the MV industry and more a
self-contained industry of its own. I don't think that's the right
direction. We all lose personally, and the industry suffers, because
there are so few common places where MV/Pick users congregate. I'm
encouraging people to broaden the horizons rather than furthering the
contraction. Our scope as more diversified professionals shouldn't be
limited to any one group, or just to U2 groups in different web sites.

In this forum in the past, we've discussed the merits of email versus
browser-based forums, Usenet, Google Groups, etc. The passionate
preferences expressed for all of these media is exactly the same as
that expressed, for or against the various social media. I'm
suggesting that now the question is not just which forum but what
other media should we consider in addition to forums? It's almost the
next inevitable question ...

Twitter is OK for some purposes, not others. Same with LinkedIn, etc.
No one medium is good for all purposes.  I think everyone should give
proper consideration to each venue, individually, on its merits as a
tool for providing and receiving specific kinds of information.

Your (really really verbose, thankful, and apologetic) colleague  :)

Tony Gravagno, Nebula Research and Development  
USA 949-380-1668 Skype: gravagnot 
Visit! Contribute!   

U2-Users mailing list

[U2] Social Networks for MV

2013-03-15 Thread Tony Gravagno
I'm on a mini campaign to make more MV colleagues aware of the
benefits of using Twitter and other social media. Everyone is welcome
to visit my blog on the topic and to comment here or there.

Tony Gravagno   
Nebula Research and Development 
Nebula RD sells mv.NET and other Pick/MultiValue products  
worldwide, and provides related development services  
Visit! Contribute!   

U2-Users mailing list

Re: [U2] Replacements for Old SB?

2013-03-13 Thread Tony Gravagno
 From: Martin Phillips 
 The Nucleus product from BinaryStar
 ( can import SB projects. This is
 recommended route for SB users migrating to QM and is probably
 equally applicable for users migrating to other platforms supported

Thank you my friend. I didn't know Nucleus had this feature. I trust
Harvey would build quality into that import process. The next question
would be whether it's a high-quality import of 80% of the
functionality or a high-quality import of 98% of the functionality. As
time permits I'll follow-up on this, but if anyone has done this
specific conversion I'd be interested to know of the experience.


U2-Users mailing list

Re: [U2] Replacements for Old SB?

2013-03-13 Thread Tony Gravagno

 -Original Message-
 From: Tony Gravagno 
 I'm also aware of another product based in the UK that has excellent
 tools for migrating From SB, but I don't like where they migrate To.

 From: Colin Alfke  
 What about Osmosis?

(Please forgive what's as much a dump of information as introspection.
I hope it's of use to someone.)

That's the one. I won't disparage a fine product like this. Osmosis is
good software, does a lot of things, and its SB conversion is the best
I've seen. But Osmosis hasn't caught the attention of this industry. I
won't recommend replacing a dead-end offering with another offering
that doesn't have an established history and no firm future. It's a
good technical solution but as yet I don't think it's a good business
decision for a variety of sites. Perhaps in the future.

About its future: InterSystems now has a partnership with SC Systems
who created Osmosis. I'd be real concerned that this whole exact
scenario could play out again at some point with InterSystems only
supporting Osmosis over Caché. What a tragedy that would be for some
shop that just wants to sell widgets.

Now, I said I don't like where they migrate To. That's wrong. Like
SB, Osmosis supports both character UI and thick-client. It's not that
I don't like it. It's that I haven't had a single department manager
tell me they want a thick client GUI in almost a decade. Anyone who is
looking to me for GUI these days wants a browser. That's what I based
that statement on. However, the success of SB and ATGUI fly in the
face of that. People probably just ask me about browser UIs because
that's what I tend to talk about in public. These orphans who would
rather face a hard drive crash than upgrade are probably not that
picky. They probably could do well with a thick-client GUI, and that
means Osmosis. 

Given the politics of the product I'd still have a hard time
recommending it at this time, but if a site is willing to get back on
support and spend the money to bring their app into this century, then
Osmosis might be the right, perhaps only solution for them.

As a side note, with DesignBais resembling SB as it does (foundations
in SB actually), at one point I tried to pull together the teams from
DesignBais and Osmosis, to combine the best of what these products
have to offer - excellent SB conversion into a well-supported
browser-based product. Neither side was interested - and years later
I'm still constantly stumbling on potential prospects for that. Oh


U2-Users mailing list

[U2] Replacements for Old SB?

2013-03-12 Thread Tony Gravagno
I'm still running across sites that have 1990's versions of
SystemBuilder on different DBMS platforms.

What's the latest wisdom on either migrating away from SB to another
cross-platform product, or the pain of migrating/upgrading to a
current UV/SB+ ?

I'm fully aware that DesignBais is very familiar looking to SB users
but there are no good conversion tools to get to that product.

I'm also aware of another product based in the UK that has excellent
tools for migrating From SB, but I don't like where they migrate To.

Thanks for your thoughts.

Tony Gravagno   
Nebula Research and Development 
Nebula RD sells mv.NET worldwide   
and provides related development services  
Visit! Contribute!   

U2-Users mailing list

Re: [U2] Replacements for Old SB?

2013-03-12 Thread Tony Gravagno
From Wjhonson
 Of all the jobs posted over the past several years, several have
 for SB+ experience, none have asked for any other product of that

I'll respond to that here because it dove-tails with what I have
below. You don't see ads, in-part, because the sites still running the
old software are largely not aware that an MV community exists that
might respond to such an ad. Many of them don't even know what
software they have running on their DOS system. Most of them that I
run across have no consultants (I dare say Value-Add Reseller) who
strongly insists on upgrades. The result is that they only reach out
to the world after a hard drive failure, hurricane, or some other
catastrophe. More below. 

 From: Brian Leach
 So an 80% conversion is easy ..

Yeah, everyone claims to do 80%, some only really do 50%. But we all
know it's that last 20% that occupies your time for the next year or
three. So perhaps to further refine the query, I'm looking for tools
that really do bring us closer to that 95-98% mark - with no marketing
fluff to bridge the gap between there and 80%.

I don't have any immediate opportunities but I keep stumbling on these
poor sites. And if I do, and picking up orphans isn't my business,
then you gotta know that people who do go after that business must be
finding more of these. Some of these sites have gone through
developers (aka snake-oil salesmen) who claim they're going to convert
the software but never do, and eventually the sites just migrate away
from MV. It's a terrible story.

[uh oh, soapbox alert]
You'd think the MV DBMS providers would take some interest in this but
I've yet to see any of them pro-actively offer assistance to any of
these sites, for-fee or otherwise. I know the original intent was to
discontinue support for SB and  earlier SB+ in an effort to force
end-users to migrate to U2. That tactic worked for some sites but the
people who implemented that policy simply didn't have a plan-B for the
large number of sites that didn't fall for it. They were thinking
about starving out their DBMS competition by leveraging this tool.
What actually happened is that end-users decided not to upgrade their
DBMS just so they could keep using SB, and these sites migrate away
from the model as soon as some young nephew comes along. So everyone
loses with this predatory approach.

I'm not asking any company to maintain software when it's not in their
financial interest, nor to chase small sites that are more inclined to
drop support than to migrate to a new platform. But from a marketing
perspective we all lose when a policy like this is only


U2-Users mailing list

Re: [U2] Replacements for Old SB?

2013-03-12 Thread Tony Gravagno
From: Wjhonson 
 Not sure what you mean by saying that discontinuing support for SB
 would make people migrate to U2 ?
 System Builder and U2 have been married since the days of Ardent.
 Not all U2 sites use it, I would suggest no more than one third of
all U2
 sites have ever user System Builder.
 Maybe you meant that they wanted people to move to .NET and

Prior to the SB/U2 marriage, SB wasn't as monogamous.  SB and SB+
were supported on other MV platforms. Ardent or IBM decided that SB+
would not be supported for other databases. It was an obvious effort
to compel migrations to supported platforms, now only Universe and
Unidata, where end-users would also now be forced to pay for DBMS
licenses in addition to SB. Some end-users migrated from their
original DBMS just to keep SB, it wasn't any newfound appreciation for
U2. Many of these sites don't care about the DBMS at all, they just
use whatever their VAR sells them under the application. I'm talking
about the sites that had a choice and decided not to play.


U2-Users mailing list

Re: [U2] Replacements for Old SB?

2013-03-12 Thread Tony Gravagno
 From: Wjhonson 
 Thanks I never knew that history.  I've been fairly focused on [what
 now called] mvEnterprise, followed by Universe,  MvBase, and then
 back to Universe.  So never got into the D3 stuff.
 So if SB is not supported on D3, I wonder if there is a competing
 product that runs on D3, *and* more importantly actually has a toe
 hold in the market.

Well, I didn't mention D3 in my original note because that's not the
only platform affected. mvBase is also affected. I dunno about
mvEnterprise. But yeah, let's face it, Ardent/IBM targeted PS/RD/TL
with a legitimate but fairly hostile competitive move, and yes all of
those platforms belong to TigerLogic.

As to competing product, I wouldn't really use that term. If you use a
product like SB that you can't get away from because your application
relies on it, then there is no competition as in alternatives of
choice, any more than chocolate is an alternative for someone with a
cocaine habit. That's why this was a fairly predatory tactic.

If one considers alternatives in the same class as SB+ for _new_
development, there are a bunch of them including DesignBais, Viságe,
ATGUI, and OpenInsight. Those are application development platforms.
Then there are connectivity tools with similar but varying degrees of
integration and GUI design, including FlashCONNECT, mv.NET, UO.NET,
and Coyote. All of these tools, and many others compete with SB+ in
an audience where people have more of a choice and limits on time and

My original point was that there's no clean path from old SB to
_anything_, including the current SB+. I can't easily recommend an old
site migrate to UV with SB+ now because the pain is about as bad as
going with other options.

The options I want to avoid presenting to any MV user is migration
away from the platform, or getting a completely new MV application.
There are plenty of people offering these solutions.


U2-Users mailing list

Re: [U2] ISO Date Format

2013-03-11 Thread Tony Gravagno
It's things like this that make me wish more MV platforms had
user-defined processor codes. U2 excels in the versatility here. I
can't use wonderful codes like this because most of my code needs to
work across platforms.  Wah.  :'(


 From: Charles Stevenson 
 OCONV( 16507   , DYMD[4'',2'',2] )  --  20130311
 ICONV( 20130311, DYMD[4'',2'',2] )  --  16507

From Brian and Robert:

U2-Users mailing list

Re: [U2] Unidata index and short-circuit evaluation

2013-03-08 Thread Tony Gravagno
Side comment:

I understand what Wil is saying and I think he has a valid point. But
I believe the value of the point is now insignificant. The tiny bit of
contention that Will brings up here is about just how much disk access
is done by any given process. Eliminate disk reads and the process
speeds up - or so it used to be.

I confess that over the last decade my certainty about such matters
has continued to dwindle, as well as my concern. It used to be easy
when there was a single fixed drum with some number of platters and
heads, sectors were 512 bytes, rotation rate was 5400rpm, and you
could measure memory + L2 cache and get some idea of where your data
was and what the latency to data was going to be like.

These days sites are running many different kinds of drives. SSD (HHD
and now SSHD) drives now have as much capacity as disk-based drives,
making disk almost as fast as cache (depending on what kind) - and
the cost has come down to nearly the same price as hard drives. These
tiny disks spinning in a box are almost as obsolete as 9-track tape.
Now couple that with virtualization where you have no idea which part
of the virtual machine is in cache. Couple that with RAID where
multiple drives and controllers add some latency, but also reduce some
disk hits with striping. That's just in the hardware, and I didn't
even mention caching controllers.

When working with traditional MV blobs we can also map processes to
memory, allocate more frames to processes to eliminate hits to
overflow and file space, and thus reduce the number actual file reads.
With U2 and other systems the OS caches for us, whether on disk swap
space or in memory.

So what IS a disk read anymore? A read from disk is completely
unrelated to actual disk activity these days. As I said above, we're
not even really talking about disk anymore. Sure, at a higher level
we just want to reduce the number of READ statements, regardless of
where the data comes from in the universe (oh, I didn't mention
virtualized data in the cloud either...) but these days, a READ
statement is more like a virtual read, just telling the system to
get the data from wherever it is now - it's not a directive to go to

I've lost touch with all of the places where data can be. But I also
realized a while back that it's futile to beat my head against a wall
trying to chase disk reads around for better performance this week,
because I'm never really going to have a good answer, and it's just
going to change next week anyway.

Well, that's how I see it. YMMV

 From: Wjhonson 
 I didn't miss it.
 The point of the request, was from the beginning to the ending.
 Of course the first *portion* will be quick and use few disk reads.
 I was discussing the full example.

 From: Wol

 Wjhonson wrote:
  If your file is small enough, and your system idle enough that the
  remains *in memory* for all possible scenarios below, than you may
  not notice speed issues.
  However, the monster in the kitchen, is the number of DISK READS
  are doing.  If your prior reads get cycled out before they are
read again,
  then you should run a single combined select which will do all
  at the same instant.

 You missed the fact that the first select is based on an index. That
 should not go anywhere near the data anyway. So doing it before or
 the same time as the other selects is irrelevant.
 But yes. I based my recommendations on minimizing the number of
 disk accesses ...

U2-Users mailing list

Re: [U2] VOC Pointer

2013-03-04 Thread Tony Gravagno
 From: Israel, John R. 
 I need to copy PDFs from a Windows server into a UNIX dir (where
 UniData lives). Can I map a VOC pointer? Other thoughts?
 Running HPUX, UniData 7.2.1.

I'm not as familiar with internals in UV/UD as with other platforms so
this may not apply - and I'm eager to understand exactly how these
systems Do work in this regard...

If you create a Voc pointer and use Copy, I believe the DBMS would
pull data through the virtual machine, drawing it into the DBMS from
the source, applying EOL/AM conversions, then writing it back out to
the target with similar character translation. That can be hugely

On other platforms that have a virtual machine environment (blob),
overflow frames, etc, that would also mean pulling lots of frames from
overflow and then just releasing them. Again, a major performance
issue at the time of operation, and a source of rapid overflow
fragmentation if done too often.

I agree with the suggestions by others to use FTP, etc, and for the
reason stated here I would strongly discourage using DBMS verbs for
OS-level file transfers.

Now, can someone familiar with UV and UD internals confirm or correct


U2-Users mailing list

Re: [U2] UV full screen editor

2013-02-25 Thread Tony Gravagno
I'll second the vote for the wED utility in AccuTerm. In the recent
v7.1 a Lot of welcome enhancements were made which take this Far
beyond similar editors - and free with the emulator aint a bad deal

I'm also quite fond of mvToolbox ( It's a
fabulous bit of software, and it's only fault is that it does too
much. It has too many features, too much documentation, and the author
is too eager to update the product. I'm serious. This is proof of the
concept that software with too many features can confuse an industry
into lack of adoption. But this software does more than any other in
its class in this industry, and if you like a real does everything
kind of product then you should look at this. The website is
unmaintained, marketing is almost non-existent, and the author is too
eager to give the software away just to give it exposure. I swear,
it's the weirdest story of any product around. But the bottom line is
that this is great software that responds to the current inquiry.


 From: Bill Haskett 
 Probably the simplest, and easiest to use, would be AccuTerm

U2-Users mailing list

Re: [U2] UniData PE on Fedora 18

2013-02-25 Thread Tony Gravagno
In the bigger picture, Fedora is a hobbyist system and changes very
rapidly. It's not meant to be used for production applications. You
could get UV to work on it this week and it will break with a core
update next week, or with some tiny dependency change or profile
setting that's tough to trace. MV databases aren't oriented toward
agile/chaotic environments like that. Serious developers should strive
for stability in their own environment, with an eye for deployment
over end-user systems with equal stability. Sure, I enjoy a challenge
as much as the next geek, but at some point you need to ask yourself
if you're wasting time chasing drivers and patches and hacks (like
symlinks) when you really want to be doing something more productive.

Get CentOS or RedHat. They're stable, well supported, and certified by
the DBMS providers.


 From: Bob Little 
 I have UniVerse PE running just fine on Fedora 17 which uses version
 of  Perhaps the newer library is perhaps backward
 compatible to version 2 in which case a symlink may work.

 From: James Canale, Jr. 
 Thanks for the suggestions.  I'll give CentOS a shot (OpenSUSE 12.2
 Fedora 18 didn't locate

U2-Users mailing list

Re: [U2] Dumping data to file from TCL

2013-02-20 Thread Tony Gravagno
 From: Mike McGuane

 From: Phil Walker 
 Hi Mike, 
 I might be just being dumb, but how would curl help me here?

I'm, guessing he posted to the wrong thread. That's the right answer
to the question by Peter in the Consuming HTTPS service thread where
he asks: Is it possible to have a UV basic program communicate with
or consume / use a restful http service? I use cURL all the time
because it's independent of MV platform and OS. I have standard
wrappers for parsing responses to various queries. Rather than
wondering what SoapCreateRequest() or protocolLogging() will do for
you under the covers, personally I choose to have full access to the
source and control my own destiny. Symeon said as much in his note
about Restful webservices are nothing magical,

William also posted here about using Dynamic Connect, and I think cURL
is a possible replacement for some applications for that as well.

As to something like SELECT File SAVING IType, uh, if File is a
remote datasource then you could use cURL for that, otherwise as we
degos say, fuggedaboudit. :)


U2-Users mailing list

Re: [U2] [AD] FREE pick date conversion android app [/AD]

2013-02-15 Thread Tony Gravagno
 From: doug chanco 
 another option would be write  a web service that your B4A could
 and it would use uniobjects to get pick data and return it to your

That's the way to do it - and all such projects. You use their tools
to do things in their environment, find out how to make a web service
call, and use that to get into your environment. Don't try to put your
tools into their environment.

BTW, for real geeks, just use straight Pick BASIC code to generate
Java and the apk. You can make use of tons of free code out there,
including pre-developed activities and views, and also make use of
standard web service client code to call your UO interfaces.

Tony Gravagno   
Nebula Research and Development 
Visit! Contribute!   

U2-Users mailing list

Re: [U2] Quick Question on u2 toolkit for .net

2013-02-14 Thread Tony Gravagno
 From: Bill Haskett 
 Really?  I've never heard that, or seen that either.

Bill, in VS2008-2010 there the DataManager is built-into VS and when
you open a program a menu bar allows compile/catalog of BASIC with
simple keyword highlighting. These features are not yet in mv.NET on
VS2012. I can show you (or anyone else) when we're online...


Tony Gravagno   
Nebula Research and Development 
Nebula RD sells mv.NET worldwide   
and provides related development services  
Visit! Contribute!   

U2-Users mailing list

Re: [U2] : Evaluating DCOUNT

2013-02-11 Thread Tony Gravagno
I have multiple views on this category of inquiry:

I think only an engineer at RocketSoftware can answer this question.

Some people actually use the non-optimization to their benefit. They
count on the fact that the expression will be evaluated on every
iteration, whether it's a DCount, Field, or some other calculation.
Changing this could break applications.

Evaluation of expressions might be dynamic - they might only
re-evaluate if they need to. The BASIC runtime could setup a dirtyFlag
on loops with an expression as an operand. If any component of the
expression changes, set the flag. Next time through the iterator check
the dirtyFlag. If it's set, then the expression must be re-evaluated,
else use the previous value. However, a new problem here is that now
there is a special check being set on every variable assignment, which
can be a performance issue in itself. More variables involved in the
expression means more runtime checks and performance can become worse
than if it were just re-evaluating the one expression on every loop.

This falls into the category of be careful what you wish for, you may
get it. My bottom line is that we should strive for more options to
define and override behaviors like this. We should have the option to
make code behave as we expect, using compiler directives - and if a
developer doesn't understand the options they're using, that's their
problem, not a platform issue. THAT is what we should ask for when
looking for features. It's not so much how it works, but knowing if
it's possible to change behavior so that the runtime processes our
code the way we want.

Tony Gravagno   
Nebula Research and Development 
Nebula RD sells mv.NET and other Pick/MultiValue products  
worldwide, and provides related development services  
Visit! Contribute!   

 From: Peter Cheney 
 Does a DCOUNT get evaluated again for each iteration of a loop?
 Or is UniVerse these days intelligent enough to keep track of what's
 going on?
 for i = 1 to dcount(array,@fm)
*commands here
 next i
 totalattributes = dcount(array,@fm)
 for i = 1 to totalattributes
*commands here
 next i
 Apart from readability and perhaps easier debugging is there an
 internal difference?
 I know it was an issue on older pick releases but I cannot remember
 it ever affected UV?

U2-Users mailing list

Re: [U2] Job on Dice

2013-02-11 Thread Tony Gravagno
 From: Wjhonson 
 Who is this in Sacramento?

 I don't know of any pick companies in the Sacramento area

Dude, really? Are you serious?

Sacramento is a major metro area, state capitol city, and not only are
you surprised that there are any Pick companies there, but you think
it's worth our time to know that your personal database doesn't
include such companies?


U2-Users mailing list

Re: [U2] Record locks (Unidata 7.2)

2013-02-07 Thread Tony Gravagno
I think people understand exactly what you're saying, but disagree.
Most applications don't use the more rigorous coding for having a
Locked clause that provides additional information to the user,
retries, etc. That's not wrong, it's just not necessary ...
depending on the site.

That said, when we used to have a lot of people in an office and a
dumb terminal beeping was a recognized message to everyone, it was OK
(generally) to just do the READU. These days with more alternative
UIs, thick-client, thin-client, web services, mobile, etc, there's no
one to hear that beep. So for modern development I would agree that
you really don't want an unconditional lock hanging around, you want a
Locked clause with logic to rollback the transaction and exit
gracefully, perhaps with a message sent to the site admin.

The penalty for Not having a Locked clause with a new UI is that the
port will hang, the UI will receive a timeout (which many clients
aren't prepared to process), and the DBMS port could be sitting there
indefinitely with no one aware of the condition. This can cascade to
multiple ports until suddenly everything grinds to a halt and GUI
users around the world are unable to access the app. I believe some
heads will be nodding here because I hear about this happening


 From: Wjhonson 
 Then you're misunderstanding what I'm saying.

 From: Kevin King 
 +1. Well stated.
 Woodward, Bob wrote: 
  In an active user session where users are obtaining a lock for a
  length of time, you're right.  There are lots of times, though,
  lock intervention is not a benefit.  It all depends on the need of
  application and many situations where I would highly recommend
  using the default locking system of READU.

  From: Wjhonson
  I wouldn't however *recommend* this approach to locking as the
  can never tell if their terminal is waiting on a lock, or just
  in some other odd manner, or perhaps processing a batch of
  So it's rather a nasty trick to play on the user, to just use
  without a LOCKED clause

U2-Users mailing list

Re: [U2] Searching for 'Bad' Dates

2013-01-29 Thread Tony Gravagno
 From: Peter Cheney
 How about a DICT item that performs a match like 2n'/'2n'/'2n on
 that field?

Better to simply look for anything non-numeric.

U2-Users mailing list

Re: [U2] Universe and ADO connections

2013-01-23 Thread Tony Gravagno
Mike, in response to your question:

mv.NET has an ADO.NET-compliant provider called Adapter Objects. It
exposes the MV environment as tables, rows, columns, and stored
procedures for all CRUD, rather than files, items, attributes, and
BASIC programs, respectively. So the ADO.NET developer gets what
she/he needs without being a Pick expert. The queries to U2 are
pseudo-SQL, rather than being something like SQL-92 compliant. The
idea here is that the MV developer(s) collaborate with the .NET
developer(s) to craft queries with Where, and OrderBy clauses, where
we would normally use WITH and BY. For anything more complex the best
approach is to expose a BASIC subroutine as a stored proc, and accept

mv.NET includes Adapter Objects to help keep non-Pick people happy,
but also included is Core Objects, which is more of a Pick-like
interface. This is a super-set of UO.NET. mv.NET uses UO.NET as a
basic lower-level transport and wraps round it a more powerful set of

If you already abstract your UI from the middle-tier and the data
(Business Access Layer=BAL, Data Access Layer=DAL...) then replacing
existing code should not be a challenge.

mv.NET also includes Solution Objects, which generates strongly typed
classes - completely abstracting you away from database queries. This
will be familiar to those who know NHibernate, CSLA, the .NET Entity
Framework, and other ORM tools. You generate collection classes like
Customers which encapsulate instances of Customer, and those might
have methods like .Save or .UpdateSalesRep. So the mechanics of data
access are eliminated and the classes are usable by anyone independent
of their experience with RDBMS or Pick.

There are also built-in facilities for session pooling, Web Services,
Silverlight, and other common requirements.

Please feel free to contact me for more information, including
mentoring and other services to help with the conversion.

Tony Gravagno   
Nebula Research and Development 
Nebula RD sells mv.NET and other Pick/MultiValue products  
worldwide, and provides related development services  
Visit! Contribute!   

 From: Mike Randall 
 Anyone out there have a list of the various ADO connectors for
 I'm looking for pros and cons of the various offerings.
 We had been using the data provider from IBM and now have Rocket's
 As we have experienced some issues,I need to know what is
available as
 options to possibly migrate our current web applications over to.
 New management and customer complaints about the web applications
 a bad combination.

U2-Users mailing list

Re: [U2] Web service

2013-01-17 Thread Tony Gravagno
Brian, excellent point, and I'm indeed using that feature in a small JavaScript 
wrapper for MV that I use. However, this is where you get into the devil in 
the details. A JSON query must be POST, even if it's really just a GET 
request, and once you do that there are some issues with IIS6 and older IE 
which require some very specific JS calling parameters. The whole idea of web 
services is that they should be generic and callable from anywhere. In this 
respect, WCF is better than ASMX. That said, you're right, received wisdom or 
not (excellent phrase BTW), I tend to start with ASMX because it's so easy, and 
only use WCF if I need something more rigorous (or if I'm afraid of getting 
laughed at, or questioned by a client who only wants the very latest tech). 
ASMX is easier to create and use, maybe just as a prototype before you need to 
get into details about service contracts and other messy mumbo jumbo (not so 
excellent phrase).

On topic - when someone says I want a web service, my response is always OK, 
that's dirt simple, see my articles or video. But then the  more specific they 
get, the more we need to start going down these twisty little passages of 
detail - and frankly I prefer to leave that for official engagements. (I'm 
reminded of prospects who say I need a web site, how much will it cost? ... I 
get that a LOT.) It's very hard for us to provide good answers without better 
questions. Of course when we provide half-baked answers to casual questions, 
our astute colleagues will eagerly and correctly let us know how inadequate the 
initial responses were. :)


From: Brian Leach
 Note - these days ASMX and SOAP services are getting a little passe', and the 
 favored approach is using WCF and REST.

That's the received wisdom but it's worth pointing out to the group that from 
.NET 3.5 ASMX pages automatically switch to JSON format if they receive a 
suitable http content type that avoids the XML bloat so you can call them 
directly from jQuery, DOJO etc., and are far less messy to set up and deploy 
than WCF.

U2-Users mailing list

Re: [U2] Web service

2013-01-17 Thread Tony Gravagno
No, it shouldn't be different. The UV service exposes a WSDL definition of the 
web service (I don't recall how but I'm sure someone here can say). See my text 
which you snipped below ( *grin* ) where I describe how to create a web service 
client from VS using a URL. Point that to your UV WSDL and it will generate the 
C# client as you describe here. The only issues I've seen in stuff like this is 
with namespaces and odd attributes on nodes rather than nested nodes. For 
some-ns:address city=foo /
compared to:


From: Rudy.Cooper
I’m using soap.  I have a service in UV that get’s called from a Seibel app, 
which has been running for several years now.  I created the soap server using 
the UV web services developer.  It works great for the Seibel app.  So now I 
want to consume that same web service but I want to create the client in vs2010 
using c#. So would consuming it be any different if the web service was written 
in UV as opposed to one that is an asmx web service?

From: Tony Gravagno
I have a video which shows how to create and consume ASMX web services in just 
a few minutes:

It's using mv.NET…

U2-Users mailing list

Re: [U2] Web service

2013-01-16 Thread Tony Gravagno
I have a video which shows how to create and consume ASMX web services in just 
a few minutes:
It's using mv.NET but that's irrelevant, as that is the part that gets executed 
after the web service is invoked. The call to the web service and the response 
are exactly the same with UO.NET or any other DBMS tools within the called 

Rudy -  there are a million examples of C# web service clients and servers out 
there. This isn't a MV-specific topic. Is something missing from your 
description  here?  You can easily generate a C# web service client by going to 
references, Add Web Service Reference (or whatever that is) and enter the 
address to the WSDL for your service. You don't need to code a web service 
client, you can generate it and just use the resulting strongly typed classes. 
I do this stuff all the time and I rarely need to craft a web service down to 
the point where XML parameters or some other protocol nuances need to be coded. 
If you're in that spot then you're probably not going to get much help from 
this group or anywhere else on something that specific. I'd guess your 
situation is not as dire and you can have this up in a few minutes.

Note - these days ASMX and SOAP services are getting a little passe', and the 
favored approach is using WCF and REST.


-Original Message-
From: Rudy.Cooper
I’ve been banging my head against the wall but getting nowhere trying to find a 
good example of of a c# program consuming a web service.
Specifically, I need an example of a c# program consuming a UV web service.  We 
have a few web services in UV that are consumed by a Seibel app.  I would like 
to write the same thing in C# using vs 2010.  Does anyone have an example in C# 
that they could send me or provide a link to a good working example?

U2-Users mailing list

Re: [U2] How to create/consume WCF oData Service (RESTful Service) using U2 toolkit for .NET?

2013-01-15 Thread Tony Gravagno
Lame question followed by an awesome response by Rajan Kumar of Rocket

From: rajank
This is  information for U2 Community.
Please read:

U2-Users mailing list

Re: [U2] U2 Database provider for .Net

2012-12-26 Thread Tony Gravagno
 From: Daniel McGrath 
 It is part of U2 Toolkit for .NET 1.2, which is currently in beta (I
 has now invited you to the beta).

To avoid the impression that this is a new product for a very old
framework, the branding for that should probably be:

..NET U2 Toolkit v1.2
U2 .NET Toolkit v1.2
U2 Toolkit v1.2 for .NET
v1.2 U2 Toolkit for .NET

At some point the framework version and product version may coincide
and you guys are going to have an identity crisis.

Just don't put the version next to .NET or U2, which are versioned
products of its own.

Imagine if the toolkit gets to release 10 and someone writes:
U2 v12 Toolkit for .NET 9 v10  :)

The only way to simplify that is:
U2 Toolkit for .NET (v10 certified for U2 v12 and .NET v9)

Whenever we get there of course...

Or you can just assume that if someone isn't smart enough to figure
out what you're talking about that they're not smart enough to use the
product anyway. :)

Consequences of the world we live in...

T v2.2

U2-Users mailing list

Re: [U2] Secrets was Vinnie Smith

2012-12-20 Thread Tony Gravagno
When WJ talks about publishing a list of MV end-users I strongly
object. But in this case I agree that a list of MV VARs and
applications is of value.

Our colleagues here are right about it not being important that MV is
the database under a new application. However there are two audiences
that need satisfaction:

1) New prospects that do go to the next question does anyone else use
this thing?
It would be good for the MV industry to have some evidence of a
diversity of applications. We all know that Universe and Unidata have
a lot of apps, but at the risk of being disparaging, if I mention the
Univision database, few people here would know what I was talking
about and the natural question might be OK, are there any apps or
users for it? We can't even answer these questions for ourselves.

2) Existing sites planning to migrate because they don't see what we
here refer to as an Industry or a  Community.
I think there are a huge number of these, perhaps one in five
companies or worse. The companies that have been using Pick forever
have old management and they won't be asking questions until there is
a turnover. New management at these companies need to be sold on the
technology which was already purchased. And they're not going to go to
their existing VARs to be re-sold. They need that information coming
to them so that they don't feel a need to look elsewhere.

Too many people (Pick VARs) don't get this : Marketing is an ongoing
effort even to the existing client base, it's not an event and not
something that just needs to be done once in a while. There are always
people out there asking why are we using this thing? These people
were raised on MySQL and SQL Server, and now they're fond of MongoDB
and NoSQL and cloud solutions. We need to be able to re-assure these
people that this industry is vibrant, that there are many applications
still in active support/development status, and that their investment
isn't going to wither with age commensurately with their VAR.

The other side of that coin is that we need to convince ourselves of
that first.

The MV industry is not going to prosper with so many companies
competing with one another in an effort to make one another smaller.
We need collaboration amongst the DBMS providers toward improving the
image of the industry to the outside world. We need more
cross-platform information repositories like PickWiki and the Google
and LinkedIn forums, and more independent businesses like
International Spectrum. We need a better presence so that people
here don't silently or publicly express concern for the dying breed of
Pick developers, lack of qualified and employable talent for a modern
age, and the increasing volume of orphan applications and end-users.

When each one of us feels secure with our own next 10 to 20 years of
professional growth, THEN we can argue about the need for lists of
apps and other data. Until then the need for better marketing of some
kind has been obvious for as long as this market has existed. Whether
the solution is a list of applications is irrelevant.  (Some including
myself would say a list like that might be too small and actually
damning compared to the huge PickHits book of the 90's.) OK, maybe
that idea has issues, but this industry needs something more than what
it has now.


U2-Users mailing list

Re: [U2] Wally Terhune

2012-12-13 Thread Tony Gravagno
Breathing a sigh of relief. These days whenever I see someone's name
in a subject and nothing else, I immediately brace myself for an
obituary - consequences of a long career in a small and aging

Good luck Wally.

 From: Dan Goble 
 Congratulations on your upcoming retirement.  Thanks for all the
 support you have given us over the years for us Unidata guys.   Your
 breadth of knowledge will surely be missed.
 Enjoy retirement,

U2-Users mailing list

Re: [U2] Creating XML nodes with a namespace prefix

2012-12-11 Thread Tony Gravagno
Hey Gregor, your blog is inspiring, will need to spend some time

Over the weekend I wrote a XPath-like parser to extract data out of
XML documents like you explain how to build them. At some point I'll
probably FOSS this at PickWiki. I invite you to post to PickWiki, or
at least link to your blog in key spots where others provide XML info.
Email me if you need assistance.

All: One thing frustrates me about content that's hosted in private
websites and Not hosted in the wiki. People have a tendency to post
content and then stop paying for their domain. So huge repositories of
valuable code and wisdom get lost. PickWiki links to a few sites that
were lost like this. Either the people died or lost interest or
re-hosted somewhere and didn't bother to tell anyone. If you have code
or info of value, post it to PickWiki  - or at least make sure there
are plans to share your published information in the event of your
untimely STOP/END.

Tony Gravagno
Nebula Research and Development
Visit! Contribute!

 From: Gregor Scott 
 Of course it can go on a wiki - I documented it so people know there
 a way.
 Which wiki - pickwiki or the U2Ug wiki?

U2-Users mailing list

Re: [U2] Another job ad written by people who have no clue

2012-12-09 Thread Tony Gravagno
 From: Martin Braid 
 I don't have time for this  Give us all a break

I completely agree. This is  nonsense.

And for historical accuracy and with some relevance to Pick, RPL did
and still does support one or multi-line IF just like every other
language on the planet.

So please, done already?

U2-Users mailing list

Re: [U2] U2 Toolkit for .NET and Windows PowerShell - how?

2012-12-05 Thread Tony Gravagno
Or someone here can post to which is there for Exactly
this purpose. That way if someone wants to augment the info with
better code or examples or documentation, you don't need to wait for
some company to find the resources to do it for you.

Or someone at Rocket  can post to PickWiki and Then the community can
provide supplements.


 From: Wjhonson 
 It seems like the U2 Support Team, should put these examples of How
 To Do, on the Rocket website

 From: rajank 
 Please visit the above link (stackoverflow).
 There is an answer (*ADO.NET *way and *UO.NET *way). See screen
 shot and PowerShell script.
 If you have more question, you can ask U2 Support Team.

U2-Users mailing list


2012-11-28 Thread Tony Gravagno
From: dennis bartlett 
 Does anybody have a working copy of BFORMAT...

To answer the question:
For printing:
A Lot of other utilities here:

In addition to suggestions for ED/FOR and FORMAT, I also suggest using
the wED editor in AccuTerm which supports code formatting - the
upcoming v7.1 has some dramatic enhancements in this area.


U2-Users mailing list

Re: [U2] converting D3 to UniData

2012-11-22 Thread Tony Gravagno
 From: Daniel Ruckel 
 Can I convince someone in this group to share their experience/s
 converting D3 to UniData?

As someone who uses both platforms I'd have to ask why anyone would
want to do such a thing. I support clients and products on both
platforms - there's no big difference. As someone who has probably
used every MV platform in existence since the early 80's (like many
here), I'm telling ya, I don't see anything compelling in a sideways
move. Migration is mostly just a huge, very time consuming (months
typically), and costly annoyance. So as to experience - yeah, it's a
lot of work for no significant purpose.

If you have a beef with your VAR, change your support provider. No
need to change the DBMS too - that's babies and bathwater... As far as
TigerLogic, they had some shaky times some years ago and it cost them
some business, but they really straightened out. Management is on the
ball and Support is on par with everyone else, for better or worse. I
know a number of people made Business decisions in the past to leave
Raining Data, but that was because they weren't pleased with pricing
or support, not for technical reasons. Those business dynamics have
changed. These days I can't see any company really making a sideways
move like this because there's nothing That compelling going on in our
market right now - it's all just vendors fighting for one another's

That said, InterSystems brings a lot to the table technically and in a
business sense, but even they have all but said if you aren't going to
really build on their platform, they don't want just another sideways
migration - you aren't going to give them anything to brag about
unless you really take advantage of what they offer. And the same goes
for migration amongst any of the other MV platforms.

Which leads to the ultimate (pun intended) question here - Why are you
even considering a migration, and why in the world is Unidata even on
the list of options?


Feel free to contact me off-list

U2-Users mailing list

Re: [U2] Fwd: [MailServer Notification]Content Filtering Notification

2012-11-22 Thread Tony Gravagno
One of the annoying things about this list is that when you respond to
a post it seems to go directly to the author as well as to the list.
And people tend to Reply-All when they should just Reply. Because of
this I sometimes get a direct response from the author as though I
contacted him directly, and an off-list discussion ensues. *sigh*

Anyway, it looks like your posting went to someone in South Africa
with an Exchange server and an overly aggressive filter.
 (  AxizWorkgroup


 From: Bill Haskett 
 Anyone see anything like the below?  I just received two emails at
 same time as my post today.  I wonder if this is a U2 group thing.
 The header information is below the message.  Thanks,

 Received: from (

 Received: from nobody by with local (Exim 4.71)...

U2-Users mailing list

Re: [U2] United States Postal Service - Intelligent Mail barcode

2012-11-20 Thread Tony Gravagno
IMb includes POSTNET and PLANET. PrintWizard does POSTNET with a single line of 

PRINT barcode pointsize=20 src=:INFO: style=POSTNET

I dunno if PW supports PLANET or IMb. Bob?

But rather than full IMb, this end-user might be OK with just POSTNET, so the 
solution is readily available.


 From: sam.alan 
 We have a client that needs to print the United States Postal Service’s
 Intelligent Mail barcode (Imb) on their bills.
 The USPS has provided specifications for encoding the zip codes into
 the format needed to print the IMb.
 (The encoding specifications begin in section 3.2, page 4.)
 The ideal solution would be for us to add a call from our UniBasic bill
 print program to a subroutine that performs the necessary steps to
 encode the zip codes into the IMb format. Has anyone already written
 a program that does the encoding?

U2-Users mailing list

  1   2   3   4   5   6   7   8   >