[Hardhats-members] Re: more M read questions
OK. So here is a screenlog showing block read functionality, while still using OPEN^%ZISH. GTM>s fname="tempbinblock" GTM>set path="/home/kdt0p/" GTM>do OPEN^%ZISH("handle",path,fname,"RB") w POP 0 GTM>for i=1:1:15 U IO read block U $P w $Length(block),! 512 512 512 512 ... 512 512 512 GTM> Notice that 512 is the block length that is set by the undocumented binary "B" mode. Kevin - --- SF.Net email is Sponsored by the Better Software Conference & EXPO September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf ___ Hardhats-members mailing list Hardhats-members@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/hardhats-members
Re: [Hardhats-members] Re: more M read questions
I didn't know that either! === Gregory Woodhouse [EMAIL PROTECTED] "It is foolish to answer a question that you do not understand." --G. Polya ("How to Solve It") On Aug 23, 2005, at 2:38 PM, Kevin Toppenberg wrote: Second, I'm ticked off because I just found that OPEN^%ZISH has this functionalilty built into the code, but it is not documented in either the new HTML kernel API manual, or Kernel system manual. Here is the source code for OPEN^%ZISH OPEN(X1,X2,X3,X4,X5,X6) ;SR. Open file ;D OPEN^%ZISH([handlename],[directory],filename,[accessmode], [recsize]) --- SF.Net email is Sponsored by the Better Software Conference & EXPO September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf ___ Hardhats-members mailing list Hardhats-members@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/hardhats-members
Re: [Hardhats-members] Re: more M read questions
On Tue, 2005-08-23 at 16:23 -0500, Jim Self wrote: [KSB] <...snip...> > I haven't worked with this level of code in quite awhile and I forget > what differences in > device parameters apply to different device types, such as for sockets > and communication > between processes, such as we use in CGI between Apache and GT.M. > > In making M2Web capable of uploading binary files from web browsers, > we settled a long > time ago on using READ * (single character) because it works - and > incidentally is MUCH > faster than Kevin's previous example would indicate. (I think I sent > such a response to > the list, but it might still be waiting in my outbox.) > > I remember that READ * is unacceptably slow on other MUMPS, but it > seems to work quite > well on GT.M. Do you think we can get significantly better performance > with block reads > now with the latest versions of GT.M. [KSB] Jim, there has been no recent change to GT.M in this area, so if you like the application code you are running, stay with it. As I recollect, UC Davis is running a web based paperless clinical system at one of the world's largest veterinary medicine teaching hospitals with the database on a dual CPU 1.3GHz Pentium 3 machine. So your code is obviously doing something right, and if it ain't broke, don't fix it. -- Bhaskar --- SF.Net email is Sponsored by the Better Software Conference & EXPO September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf ___ Hardhats-members mailing list Hardhats-members@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/hardhats-members
Re: [Hardhats-members] Re: more M read questions
I'm sure you know this, but unbuffered I/O can be painfully slow. The problem is that buffering can also cause problems for certain network protocols: imagine an MTA (message transfer agent) sending QUIT to terminate an SMTP session. If the TCP stack hadn't filled the advertised window, it could simply wait for more data to become available before actually sending a TCP segment. But of course, no further data is forthcoming, so we have a problem. My guess is that GT.M is doing no buffering at all but just handing data off to Linux, which implements the sliding window protocol, effectively creating an adaptive buffer. When no data is received, the remote TCP will periodically send an empty ACK shrinking the window size. Not ideal, but it should work, especially if your data transfers are not particularly bursty. === Gregory Woodhouse [EMAIL PROTECTED] "The most incomprehensible thing about the world is that it is at all comprehensible." --Albert Einstein (1879-1955) On Aug 23, 2005, at 2:23 PM, Jim Self wrote: Bhaskar wrote: On Tue, 2005-08-23 at 11:53 -0500, Kevin Toppenberg wrote: [KSB] <...snip...> P.S. Kevin, did you ever get your IO working? I think that was what started the thread. No I didn't. But this thread got off track, so I started a new one. I can't get block reads to work properly. I hope this helps (4 lines; watch out for line breaks): iodemo set file="/etc/dictionaries-common/words" open file:(readonly:fixed:recordsize=80) for use file read x use $P write $l(x),! zwrite x quit:$ZEOF quit I use zwrite to demonstrate that linefeeds are being read in as characters into strings. I haven't worked with this level of code in quite awhile and I forget what differences in device parameters apply to different device types, such as for sockets and communication between processes, such as we use in CGI between Apache and GT.M. In making M2Web capable of uploading binary files from web browsers, we settled a long time ago on using READ * (single character) because it works - and incidentally is MUCH faster than Kevin's previous example would indicate. (I think I sent such a response to the list, but it might still be waiting in my outbox.) I remember that READ * is unacceptably slow on other MUMPS, but it seems to work quite well on GT.M. Do you think we can get significantly better performance with block reads now with the latest versions of GT.M. --- Jim Self Systems Architect, Lead Developer VMTH Computer Services, UC Davis (http://www.vmth.ucdavis.edu/us/jaself) --- SF.Net email is Sponsored by the Better Software Conference & EXPO September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf ___ Hardhats-members mailing list Hardhats-members@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/hardhats-members
[Hardhats-members] Re: more M read questions
First of all I would like to thank Bhaskar for his answer. It only took 70 posts on this thread to get to that point. :-) Second, I'm ticked off because I just found that OPEN^%ZISH has this functionalilty built into the code, but it is not documented in either the new HTML kernel API manual, or Kernel system manual. Here is the source code for OPEN^%ZISH OPEN(X1,X2,X3,X4,X5,X6) ;SR. Open file ;D OPEN^%ZISH([handlename],[directory],filename,[accessmode],[recsize]) ;X1=handle name ;X2=directory, X3=filename, X4=access mode ;X5=new file max record size, X6=Subtype ; N %,%1,%2,%IO,%I2,%P,%T,X,Y,$ETRAP S $ETRAP="D OPNERR^%ZISH" S U="^",X2=$$DEFDIR($G(X2)),X4=$$UP^XLFSTR(X4) S Y=$S(X4["A":"append",X4["R":"readonly",X4["W":"newversion",1:"readonly") S Y=Y_$S(X4["B":":fixed:nowrap:recordsize=512",$G(X5)&(X4["W"):":WIDTH="_+X5,1:"") ... Notice that Access mode takes the following allowed inputs: ---DOCUMENTED--- A -- append R -- read W -- write --NOT DOCUMENTED--- B -- binary W -- width (not sure how to not confuse with W/write) Notice also that parameters X5 and X6 are added, and not documented in the API. I'll experiment and see if I can get this OPEN^%ZISH functionality to work and post back. Kevin On 8/23/05, Greg Woodhouse <[EMAIL PROTECTED]> wrote: > You can create a DEVICE file entry with specific open parameters if > need be. > > If you set recordsize=255 (or a larger value), will read reliably > return that number of characters, or will it read as many characters as > possible without blocking? I may have misunderstood Kevin's problem, > but I thought he was getting less than a full record in a single # > read. > > --- "K.S. Bhaskar" <[EMAIL PROTECTED]> wrote: > > > I hope this helps (4 lines; watch out for line breaks): > > > > iodemo set file="/etc/dictionaries-common/words" > > open file:(readonly:fixed:recordsize=80) > > for use file read x use $P write $l(x),! zwrite x quit:$ZEOF > > quit > > > > I use zwrite to demonstrate that linefeeds are being read in as > > characters into strings. > > > > -- Bhaskar > > > > > > > > --- > > SF.Net email is Sponsored by the Better Software Conference & EXPO > > September 19-22, 2005 * San Francisco, CA * Development Lifecycle > > Practices > > Agile & Plan-Driven Development * Managing Projects & Teams * Testing > > & QA > > Security * Process Improvement & Measurement * > > http://www.sqe.com/bsce5sf > > ___ > > Hardhats-members mailing list > > Hardhats-members@lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/hardhats-members > > > > > > === > Gregory Woodhouse <[EMAIL PROTECTED]> > > "Design quality doesn't ensure success, but design failure can ensure > failure." > > --Kent Beck > > > > > > > > > --- > SF.Net email is Sponsored by the Better Software Conference & EXPO > September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices > Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA > Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf > ___ > Hardhats-members mailing list > Hardhats-members@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/hardhats-members > --- SF.Net email is Sponsored by the Better Software Conference & EXPO September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf ___ Hardhats-members mailing list Hardhats-members@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/hardhats-members
Re: [Hardhats-members] Re: more M read questions
Bhaskar wrote: >On Tue, 2005-08-23 at 11:53 -0500, Kevin Toppenberg wrote: > >[KSB] <...snip...> > >> > P.S. Kevin, did you ever get your IO working? I think that was >> what >> > started the thread. >> >> No I didn't. But this thread got off track, so I started a new one. >> I can't get block reads to work properly. > >I hope this helps (4 lines; watch out for line breaks): > >iodemo set file="/etc/dictionaries-common/words" >open file:(readonly:fixed:recordsize=80) >for use file read x use $P write $l(x),! zwrite x quit:$ZEOF >quit > >I use zwrite to demonstrate that linefeeds are being read in as >characters into strings. I haven't worked with this level of code in quite awhile and I forget what differences in device parameters apply to different device types, such as for sockets and communication between processes, such as we use in CGI between Apache and GT.M. In making M2Web capable of uploading binary files from web browsers, we settled a long time ago on using READ * (single character) because it works - and incidentally is MUCH faster than Kevin's previous example would indicate. (I think I sent such a response to the list, but it might still be waiting in my outbox.) I remember that READ * is unacceptably slow on other MUMPS, but it seems to work quite well on GT.M. Do you think we can get significantly better performance with block reads now with the latest versions of GT.M. --- Jim Self Systems Architect, Lead Developer VMTH Computer Services, UC Davis (http://www.vmth.ucdavis.edu/us/jaself) --- SF.Net email is Sponsored by the Better Software Conference & EXPO September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf ___ Hardhats-members mailing list Hardhats-members@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/hardhats-members
Re: [Hardhats-members] Re: more M read questions
You can create a DEVICE file entry with specific open parameters if need be. If you set recordsize=255 (or a larger value), will read reliably return that number of characters, or will it read as many characters as possible without blocking? I may have misunderstood Kevin's problem, but I thought he was getting less than a full record in a single # read. --- "K.S. Bhaskar" <[EMAIL PROTECTED]> wrote: > I hope this helps (4 lines; watch out for line breaks): > > iodemoset file="/etc/dictionaries-common/words" > open file:(readonly:fixed:recordsize=80) > for use file read x use $P write $l(x),! zwrite x quit:$ZEOF > quit > > I use zwrite to demonstrate that linefeeds are being read in as > characters into strings. > > -- Bhaskar > > > > --- > SF.Net email is Sponsored by the Better Software Conference & EXPO > September 19-22, 2005 * San Francisco, CA * Development Lifecycle > Practices > Agile & Plan-Driven Development * Managing Projects & Teams * Testing > & QA > Security * Process Improvement & Measurement * > http://www.sqe.com/bsce5sf > ___ > Hardhats-members mailing list > Hardhats-members@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/hardhats-members > === Gregory Woodhouse <[EMAIL PROTECTED]> "Design quality doesn't ensure success, but design failure can ensure failure." --Kent Beck --- SF.Net email is Sponsored by the Better Software Conference & EXPO September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf ___ Hardhats-members mailing list Hardhats-members@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/hardhats-members
Re: [Hardhats-members] Re: more M read questions
On Tue, 2005-08-23 at 11:53 -0500, Kevin Toppenberg wrote: [KSB] <...snip...> > > P.S. Kevin, did you ever get your IO working? I think that was > what > > started the thread. > > No I didn't. But this thread got off track, so I started a new one. > I can't get block reads to work properly. I hope this helps (4 lines; watch out for line breaks): iodemo set file="/etc/dictionaries-common/words" open file:(readonly:fixed:recordsize=80) for use file read x use $P write $l(x),! zwrite x quit:$ZEOF quit I use zwrite to demonstrate that linefeeds are being read in as characters into strings. -- Bhaskar --- SF.Net email is Sponsored by the Better Software Conference & EXPO September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf ___ Hardhats-members mailing list Hardhats-members@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/hardhats-members
[Hardhats-members] Re: more M read questions
On 8/23/05, K.S. Bhaskar <[EMAIL PROTECTED]> wrote: > ... If anyone ever feels that I get too > commercial, please feel free to castigate me. I don't think so either. > > P.S. Kevin, did you ever get your IO working? I think that was what > started the thread. No I didn't. But this thread got off track, so I started a new one. I can't get block reads to work properly. Kevin --- SF.Net email is Sponsored by the Better Software Conference & EXPO September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf ___ Hardhats-members mailing list Hardhats-members@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/hardhats-members
Re: [Hardhats-members] Re: more M read questions
It was a helpful post. Thanks! Kevin On 8/22/05, Ruben Safir <[EMAIL PROTECTED]> wrote: > On Sun, 2005-08-21 at 21:35 -0400, David Sommers wrote: > > Your initial comment was that you didn't want > > to use file sharing because it couldn't be easily tunneled over RPC. > > Not I > > I was just trying to throw out some useful ideas. I don't think rysnc > requires SAMBA. > > Ruben > > > > --- > SF.Net email is Sponsored by the Better Software Conference & EXPO > September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices > Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA > Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf > ___ > Hardhats-members mailing list > Hardhats-members@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/hardhats-members > --- SF.Net email is Sponsored by the Better Software Conference & EXPO September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf ___ Hardhats-members mailing list Hardhats-members@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/hardhats-members
RE: [Hardhats-members] Re: more M read questions
On Sun, 2005-08-21 at 21:35 -0400, David Sommers wrote: > Your initial comment was that you didn't want > to use file sharing because it couldn't be easily tunneled over RPC. Not I I was just trying to throw out some useful ideas. I don't think rysnc requires SAMBA. Ruben --- SF.Net email is Sponsored by the Better Software Conference & EXPO September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf ___ Hardhats-members mailing list Hardhats-members@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/hardhats-members
RE: [Hardhats-members] Re: more M read questions
Rsync is part of the SAMBA project. So - it essentially uses SMB (Windows file sharing). Your initial comment was that you didn't want to use file sharing because it couldn't be easily tunneled over RPC. I think the recommendation was made out of context. The context is: I want to tunnel a file over RPC or some other point-to-point method. If SMB/Samba is not the option you want (which is what you stated), then rsync doesn't work. Rsync is an APPLICATION that uses SMB to sync files. You should shoot for something like FTP or build it straight into your application (as Base64 conversion, etc). The application that you use for FTP is up to you and your implementation. /David. David Sommers, Architect | Dialog Medical -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Kevin Toppenberg Sent: Sunday, August 21, 2005 7:20 PM To: [EMAIL PROTECTED] Subject: Re: [Hardhats-members] Re: more M read questions I am already using rsync to upload my backup data to our Windows server, and include VistA data with our financial data backup. But I still don't see how I would incorporate that into an image viewer that needs to request a specific file from a server. Kevin On 8/21/05, Ruben Safir <[EMAIL PROTECTED]> wrote: > On Sun, 2005-08-21 at 18:50 -0400, David Sommers wrote: > > Rsync is a tool used to synchronize or replicate files. In terms of > > sending a single file from server to client upon request, a tool is > > not > > recommended but a protocol. Whether it be Secure FTP, BitTorrent, > > SMB, > > or the like. > > This is largely semantics. A protocol without a tool is useless. In > fact, the tool near always predates the protocol. The protocol is > defined by the tool makers once it becomes popular. > > Use rsync. Whatever protocol it uses, which is actually some kind of > incremental crypto fingerprinting, it runs fast as hell, uses minimum > bandwidth, and is free software. > > Ruben > > > > --- > SF.Net email is Sponsored by the Better Software Conference & EXPO > September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices > Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA > Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf > ___ > Hardhats-members mailing list > [EMAIL PROTECTED] > https://lists.sourceforge.net/lists/listinfo/hardhats-members > --- SF.Net email is Sponsored by the Better Software Conference & EXPO September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf ___ Hardhats-members mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/hardhats-members --- SF.Net email is Sponsored by the Better Software Conference & EXPO September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf ___ Hardhats-members mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/hardhats-members
Re: [Hardhats-members] Re: more M read questions
That I can't answer. No pipe? No File Pipe? Ruben On Sun, 2005-08-21 at 19:20 -0400, Kevin Toppenberg wrote: > I am already using rsync to upload my backup data to our Windows > server, and include VistA data with our financial data backup. > > But I still don't see how I would incorporate that into an image > viewer that needs to request a specific file from a server. > > Kevin > > On 8/21/05, Ruben Safir <[EMAIL PROTECTED]> wrote: > > On Sun, 2005-08-21 at 18:50 -0400, David Sommers wrote: > > > Rsync is a tool used to synchronize or replicate files. In terms of > > > sending a single file from server to client upon request, a tool is > > > not > > > recommended but a protocol. Whether it be Secure FTP, BitTorrent, > > > SMB, > > > or the like. > > > > This is largely semantics. A protocol without a tool is useless. In > > fact, the tool near always predates the protocol. The protocol is > > defined by the tool makers once it becomes popular. > > > > Use rsync. Whatever protocol it uses, which is actually some kind of > > incremental crypto fingerprinting, it runs fast as hell, uses minimum > > bandwidth, and is free software. > > > > Ruben > > > > > > > > --- > > SF.Net email is Sponsored by the Better Software Conference & EXPO > > September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices > > Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA > > Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf > > ___ > > Hardhats-members mailing list > > [EMAIL PROTECTED] > > https://lists.sourceforge.net/lists/listinfo/hardhats-members > > > > > --- > SF.Net email is Sponsored by the Better Software Conference & EXPO > September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices > Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA > Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf > ___ > Hardhats-members mailing list > [EMAIL PROTECTED] > https://lists.sourceforge.net/lists/listinfo/hardhats-members --- SF.Net email is Sponsored by the Better Software Conference & EXPO September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf ___ Hardhats-members mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/hardhats-members
Re: [Hardhats-members] Re: more M read questions
I am already using rsync to upload my backup data to our Windows server, and include VistA data with our financial data backup. But I still don't see how I would incorporate that into an image viewer that needs to request a specific file from a server. Kevin On 8/21/05, Ruben Safir <[EMAIL PROTECTED]> wrote: > On Sun, 2005-08-21 at 18:50 -0400, David Sommers wrote: > > Rsync is a tool used to synchronize or replicate files. In terms of > > sending a single file from server to client upon request, a tool is > > not > > recommended but a protocol. Whether it be Secure FTP, BitTorrent, > > SMB, > > or the like. > > This is largely semantics. A protocol without a tool is useless. In > fact, the tool near always predates the protocol. The protocol is > defined by the tool makers once it becomes popular. > > Use rsync. Whatever protocol it uses, which is actually some kind of > incremental crypto fingerprinting, it runs fast as hell, uses minimum > bandwidth, and is free software. > > Ruben > > > > --- > SF.Net email is Sponsored by the Better Software Conference & EXPO > September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices > Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA > Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf > ___ > Hardhats-members mailing list > [EMAIL PROTECTED] > https://lists.sourceforge.net/lists/listinfo/hardhats-members > --- SF.Net email is Sponsored by the Better Software Conference & EXPO September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf ___ Hardhats-members mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/hardhats-members
RE: [Hardhats-members] Re: more M read questions
On Sun, 2005-08-21 at 18:50 -0400, David Sommers wrote: > Rsync is a tool used to synchronize or replicate files. In terms of > sending a single file from server to client upon request, a tool is > not > recommended but a protocol. Whether it be Secure FTP, BitTorrent, > SMB, > or the like. This is largely semantics. A protocol without a tool is useless. In fact, the tool near always predates the protocol. The protocol is defined by the tool makers once it becomes popular. Use rsync. Whatever protocol it uses, which is actually some kind of incremental crypto fingerprinting, it runs fast as hell, uses minimum bandwidth, and is free software. Ruben --- SF.Net email is Sponsored by the Better Software Conference & EXPO September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf ___ Hardhats-members mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/hardhats-members
RE: [Hardhats-members] Re: more M read questions
Rsync is a tool used to synchronize or replicate files. In terms of sending a single file from server to client upon request, a tool is not recommended but a protocol. Whether it be Secure FTP, BitTorrent, SMB, or the like. /David. David Sommers, Architect | Dialog Medical -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Ruben Safir Sent: Sunday, August 21, 2005 2:35 PM To: [EMAIL PROTECTED] Subject: Re: [Hardhats-members] Re: more M read questions On Sun, 2005-08-21 at 14:19 -0400, Kevin Toppenberg wrote: > Thanks Ruben, > > Are any of these options something that could be put into a $Windoze > client so that it could securely request images from server, or would > it involve setting up an environment for the client to run int? > I'm not sure. I haven't used a Windows computer in about 15 years. google rsync and windows I guess. But rsync is a miracle. Ruben > Thanks > Kevin > > > On 8/21/05, Ruben Safir <[EMAIL PROTECTED]> wrote: > > On Sun, 2005-08-21 at 13:42 -0400, Kevin Toppenberg wrote: > > > Hmm... if I had an ftp server, I would want to be sure that only those > > > authorized to request a file were sent the file. Perhaps I need to > > > look more into the secure FTP options > > > > rsync through ssh or FreeSWan... > > > > > > > > --- > > SF.Net email is Sponsored by the Better Software Conference & EXPO > > September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices > > Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA > > Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf > > ___ > > Hardhats-members mailing list > > [EMAIL PROTECTED] > > https://lists.sourceforge.net/lists/listinfo/hardhats-members > > > > > --- > SF.Net email is Sponsored by the Better Software Conference & EXPO > September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices > Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA > Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf > ___ > Hardhats-members mailing list > [EMAIL PROTECTED] > https://lists.sourceforge.net/lists/listinfo/hardhats-members --- SF.Net email is Sponsored by the Better Software Conference & EXPO September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf ___ Hardhats-members mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/hardhats-members --- SF.Net email is Sponsored by the Better Software Conference & EXPO September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf ___ Hardhats-members mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/hardhats-members
Re: [Hardhats-members] Re: more M read questions
Kevin; The point I was making was that there are things that MUMPS does really well and there are things that it does not perform well at. In such cases, one needs to use other tools. The endian issue is one of underlying operating system and hardware architecture. This is an area that MUMPS specifically avoided in order to maintain platform independance. There are big assumptions that need to be made that bar transport of such an interface to another platform. For those issues, VistA usually calls out to the underlying vendor tools or out to user supplied tools. Sometimes it is better to let the underlying OS do some of the work. That was what I was aluding to. Chris - Original Message - From: "Kevin Toppenberg" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Sunday, August 21, 2005 9:51 AM Subject: [Hardhats-members] Re: more M read questions Are you making this more difficult that it has to be? (I can't *imagine* you doing that! :-) ) I don't know about the big/little endian issues. I am not planning to store two-byte words, so I don't think this comes into play. I will just store the bytes as they come in the stream. And I don't want to use a GT.M unique solution, as that will greatly limit potential use by others. Kevin P.S. I read that using this syntax: use IO:(NOTERMINATOR) is supposed to make the stream not stop at "terminator" characters. But it doesn't seem to work for me yet. Kevin On 8/21/05, Chris Richardson <[EMAIL PROTECTED]> wrote: > Kevin; > >There is only a single data-type in MUMPS, strings. What you are doing > is a fixed length buffer read of characters (real characters or binary > data). You are opening up a big bag of issues which the MDC argued over > for > decades. If you are talking about binary, are you talking about big-endian > or little-endian representation (what do the bits mean?). By dealing in > characters, we don't have to worry about byte order per word. Now some > implementations did provide tools for doing these operations (most notable > was Micronetics (now InterSystems). I believe that GTM has some of these > same tools. They also have the thinnest binding with the underlying > operating system, so poking out to do this type of operation is pretty > simple in GT.M. > --- SF.Net email is Sponsored by the Better Software Conference & EXPO September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf ___ Hardhats-members mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/hardhats-members --- SF.Net email is Sponsored by the Better Software Conference & EXPO September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf ___ Hardhats-members mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/hardhats-members
Re: [Hardhats-members] Re: more M read questions
FreeSWan is just a VPN standard implementation. Ruben On Sun, 2005-08-21 at 14:19 -0400, Kevin Toppenberg wrote: > Thanks Ruben, > > Are any of these options something that could be put into a $Windoze > client so that it could securely request images from server, or would > it involve setting up an environment for the client to run int? > > Thanks > Kevin > > > On 8/21/05, Ruben Safir <[EMAIL PROTECTED]> wrote: > > On Sun, 2005-08-21 at 13:42 -0400, Kevin Toppenberg wrote: > > > Hmm... if I had an ftp server, I would want to be sure that only those > > > authorized to request a file were sent the file. Perhaps I need to > > > look more into the secure FTP options > > > > rsync through ssh or FreeSWan... > > > > > > > > --- > > SF.Net email is Sponsored by the Better Software Conference & EXPO > > September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices > > Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA > > Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf > > ___ > > Hardhats-members mailing list > > [EMAIL PROTECTED] > > https://lists.sourceforge.net/lists/listinfo/hardhats-members > > > > > --- > SF.Net email is Sponsored by the Better Software Conference & EXPO > September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices > Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA > Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf > ___ > Hardhats-members mailing list > [EMAIL PROTECTED] > https://lists.sourceforge.net/lists/listinfo/hardhats-members --- SF.Net email is Sponsored by the Better Software Conference & EXPO September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf ___ Hardhats-members mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/hardhats-members
Re: [Hardhats-members] Re: more M read questions
On Sun, 2005-08-21 at 14:19 -0400, Kevin Toppenberg wrote: > Thanks Ruben, > > Are any of these options something that could be put into a $Windoze > client so that it could securely request images from server, or would > it involve setting up an environment for the client to run int? > I'm not sure. I haven't used a Windows computer in about 15 years. google rsync and windows I guess. But rsync is a miracle. Ruben > Thanks > Kevin > > > On 8/21/05, Ruben Safir <[EMAIL PROTECTED]> wrote: > > On Sun, 2005-08-21 at 13:42 -0400, Kevin Toppenberg wrote: > > > Hmm... if I had an ftp server, I would want to be sure that only those > > > authorized to request a file were sent the file. Perhaps I need to > > > look more into the secure FTP options > > > > rsync through ssh or FreeSWan... > > > > > > > > --- > > SF.Net email is Sponsored by the Better Software Conference & EXPO > > September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices > > Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA > > Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf > > ___ > > Hardhats-members mailing list > > [EMAIL PROTECTED] > > https://lists.sourceforge.net/lists/listinfo/hardhats-members > > > > > --- > SF.Net email is Sponsored by the Better Software Conference & EXPO > September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices > Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA > Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf > ___ > Hardhats-members mailing list > [EMAIL PROTECTED] > https://lists.sourceforge.net/lists/listinfo/hardhats-members --- SF.Net email is Sponsored by the Better Software Conference & EXPO September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf ___ Hardhats-members mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/hardhats-members
[Hardhats-members] Re: more M read questions
Thanks Ruben, Are any of these options something that could be put into a $Windoze client so that it could securely request images from server, or would it involve setting up an environment for the client to run int? Thanks Kevin On 8/21/05, Ruben Safir <[EMAIL PROTECTED]> wrote: > On Sun, 2005-08-21 at 13:42 -0400, Kevin Toppenberg wrote: > > Hmm... if I had an ftp server, I would want to be sure that only those > > authorized to request a file were sent the file. Perhaps I need to > > look more into the secure FTP options > > rsync through ssh or FreeSWan... > > > > --- > SF.Net email is Sponsored by the Better Software Conference & EXPO > September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices > Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA > Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf > ___ > Hardhats-members mailing list > [EMAIL PROTECTED] > https://lists.sourceforge.net/lists/listinfo/hardhats-members > --- SF.Net email is Sponsored by the Better Software Conference & EXPO September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf ___ Hardhats-members mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/hardhats-members
Re: [Hardhats-members] Re: more M read questions
On Sun, 2005-08-21 at 13:42 -0400, Kevin Toppenberg wrote: > Hmm... if I had an ftp server, I would want to be sure that only those > authorized to request a file were sent the file. Perhaps I need to > look more into the secure FTP options rsync through ssh or FreeSWan... --- SF.Net email is Sponsored by the Better Software Conference & EXPO September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf ___ Hardhats-members mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/hardhats-members
[Hardhats-members] Re: more M read questions
Hmm... if I had an ftp server, I would want to be sure that only those authorized to request a file were sent the file. Perhaps I need to look more into the secure FTP options. I had thought that the server could just load up the file for the client, and then send it out via RPC. Perhaps its going to be too much hassle, though. Kevin On 8/21/05, Maury Pepper <[EMAIL PROTECTED]> wrote: > - Original Message - > From: "Kevin Toppenberg" <[EMAIL PROTECTED]> > To: <[EMAIL PROTECTED]> > Sent: Sunday, August 21, 2005 12:00 PM > Subject: [Hardhats-members] Re: more M read questions > > > > Maury, > > > > Thanks for your feedback. I agree that they byte-by-byte approach > > will have to be changed. > > > > I am doing it for a couple of reasons. First, I think it is a severe > > limitation of Kernel if it can't read in a binary file. > > > Reading, storing, transmitting -- all very different issues. > > > Second, because I want to allow the server to send CPRS, or other > > imaging client, a binary file (i.e. an image), without the client > > having to be given filesystem access to the image server. It should > > save setup hassles, and also increase security. > > > Fair enough. Add a RPC call to do this instead of worrying about reading > and storing the data within VistA. Something like FTP (or one of its secure > cousins) could be subverted. > > > > > --- > SF.Net email is Sponsored by the Better Software Conference & EXPO > September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices > Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA > Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf > ___ > Hardhats-members mailing list > [EMAIL PROTECTED] > https://lists.sourceforge.net/lists/listinfo/hardhats-members > --- SF.Net email is Sponsored by the Better Software Conference & EXPO September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf ___ Hardhats-members mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/hardhats-members
Re: [Hardhats-members] Re: more M read questions
- Original Message - From: "Kevin Toppenberg" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Sunday, August 21, 2005 12:00 PM Subject: [Hardhats-members] Re: more M read questions > Maury, > > Thanks for your feedback. I agree that they byte-by-byte approach > will have to be changed. > > I am doing it for a couple of reasons. First, I think it is a severe > limitation of Kernel if it can't read in a binary file. > Reading, storing, transmitting -- all very different issues. > Second, because I want to allow the server to send CPRS, or other > imaging client, a binary file (i.e. an image), without the client > having to be given filesystem access to the image server. It should > save setup hassles, and also increase security. > Fair enough. Add a RPC call to do this instead of worrying about reading and storing the data within VistA. Something like FTP (or one of its secure cousins) could be subverted. --- SF.Net email is Sponsored by the Better Software Conference & EXPO September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf ___ Hardhats-members mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/hardhats-members
[Hardhats-members] Re: more M read questions
Maury, Thanks for your feedback. I agree that they byte-by-byte approach will have to be changed. I am doing it for a couple of reasons. First, I think it is a severe limitation of Kernel if it can't read in a binary file. Second, because I want to allow the server to send CPRS, or other imaging client, a binary file (i.e. an image), without the client having to be given filesystem access to the image server. It should save setup hassles, and also increase security. Kevin On 8/21/05, Maury Pepper <[EMAIL PROTECTED]> wrote: > Kevin, > > You are on the right track. Increasing the number of characters per READ is > by far the most significant thing you can do to speed up your routine. > Reading one character at a time using a star-Read is very slow. Each M > implementation has a way to do binary reads -- ie, a read which does not > look for a terminator and does not translate any characters (like HT into > spaces), but the M Standard does not specify this level of detail -- it's > left to the implementer. > > I don't know whether VistA provides a way to call a file Open that provides > the necessary parameters for this. Others on this list will. > > Most M's do not have a problem storing binary data strings in globals. (I > know of only one that uses null-terminated strings, and to my knowledge, it > has never been used for VistA.) > > WHY do this at all? It seems like the long-way around. Normally, when a > file is the object of interest, one just points to it by name and lets the > underlaying OS and utilities handle it. > > > - Original Message - > From: "Kevin Toppenberg" <[EMAIL PROTECTED]> > To: "Hardhats Sourceforge" <[EMAIL PROTECTED]> > Sent: Sunday, August 21, 2005 8:46 AM > Subject: [Hardhats-members] more M read questions > > > > The read command in M seems to be the most complicated function it has. > > > > I am trying to perform a binary read. I do it this way: > > > > read blockIn#255 > > > > The problem is that as I debug the code, $length(blockIn) does not > always=255. > > > > I think this is because sometimes the stream contains a "terminator", > > such as a #13 etc. > > > > How do do a read that ignores the usual "terminators"? > > > > Thanks > > Kevin > > > > > > --- > > SF.Net email is Sponsored by the Better Software Conference & EXPO > > September 19-22, 2005 * San Francisco, CA * Development Lifecycle > Practices > > Agile & Plan-Driven Development * Managing Projects & Teams * Testing & > QA > > Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf > > ___ > > Hardhats-members mailing list > > [EMAIL PROTECTED] > > https://lists.sourceforge.net/lists/listinfo/hardhats-members > > > > > --- > SF.Net email is Sponsored by the Better Software Conference & EXPO > September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices > Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA > Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf > ___ > Hardhats-members mailing list > [EMAIL PROTECTED] > https://lists.sourceforge.net/lists/listinfo/hardhats-members > --- SF.Net email is Sponsored by the Better Software Conference & EXPO September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf ___ Hardhats-members mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/hardhats-members
[Hardhats-members] Re: more M read questions
Are you making this more difficult that it has to be? (I can't *imagine* you doing that! :-) ) I don't know about the big/little endian issues. I am not planning to store two-byte words, so I don't think this comes into play. I will just store the bytes as they come in the stream. And I don't want to use a GT.M unique solution, as that will greatly limit potential use by others. Kevin P.S. I read that using this syntax: use IO:(NOTERMINATOR) is supposed to make the stream not stop at "terminator" characters. But it doesn't seem to work for me yet. Kevin On 8/21/05, Chris Richardson <[EMAIL PROTECTED]> wrote: > Kevin; > >There is only a single data-type in MUMPS, strings. What you are doing > is a fixed length buffer read of characters (real characters or binary > data). You are opening up a big bag of issues which the MDC argued over > for > decades. If you are talking about binary, are you talking about big-endian > or little-endian representation (what do the bits mean?). By dealing in > characters, we don't have to worry about byte order per word. Now some > implementations did provide tools for doing these operations (most notable > was Micronetics (now InterSystems). I believe that GTM has some of these > same tools. They also have the thinnest binding with the underlying > operating system, so poking out to do this type of operation is pretty > simple in GT.M. > --- SF.Net email is Sponsored by the Better Software Conference & EXPO September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf ___ Hardhats-members mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/hardhats-members