Robert Cemper · Sep 7, 2022 go to post

SOAP is quite specific and critical to data format and structure.
You might extend it, but then Edge Server is the active part and you depend on its regular "broadcast".
If Doc Server should be the active partner I'd rather suggest to use JDBC in Linux.
Your actual $get might be embedded as a Method projected as SQL Procedure that you call.
There exist examples to even execute COS commands by that approach:
see: ObjectScript over ODBC

Robert Cemper · Aug 31, 2022 go to post

Hi @Ditmar Tybussek 
Raw containers from ISC are always just US versions. (aka. international)
If you use Dockfile you have all freedom to condition  YOUR container according to your needs.

MgmtPortal: this is a good old  CSP feature that looks for the primary language of your browser
and translates your pages to DE if available.
Docker itself seems to have no idea about your environment.

Robert Cemper · Aug 26, 2022 go to post

if it is a straight 8bit DB  you have the challenge to find out
how characters beyond the primitive 7bit ASCII are stored  e.g. ÀöÜß € ¡¿ è & é ç
is it ISO Latin 1 , 2 ,3 4, 5 ... or any of the horrible Win encondings

Robert Cemper · Aug 24, 2022 go to post

2 mistakes: 
#1^$get(node) delivers the content of variable node
but you would expect the result of $get(@node)  using node as global reference

#2) the better way is to use the implicit GET
Set node = $Query(^FromExtraMed(""),1,value)
write value  

Robert Cemper · Aug 23, 2022 go to post

if you have just to place a bunch of lines at OS level from inside IRIS you may try my package
WebCommand If you can operate with irisowner privileges
It's  similar to  ! or $  in normal terminal or console access.   Article on DC
 

Robert Cemper · Aug 20, 2022 go to post

A somewhat similar example might be found in ENSDEMO

Class Demo.Loan.FindRateTCPService

Robert Cemper · Aug 18, 2022 go to post

The count is totally correct as you asked for all lines of codes 
you get counted all executable code.
you do not count properties, comments, whatever .....

It might be easier to do an export in UDL format and let some
Notepad or similar count the lines without any qualification.

BTW. do get paid by lines ?  

Robert Cemper · Aug 16, 2022 go to post

Thank you @Ben Spead !
In our common project, I had the joy of letting rule creativity (which in turn triggers productivity)!
That's a key skill of an excellent project manager. 
It acts like a musher in 
Iditarod. Making the dogs give their best + having fun     

Robert Cemper · Aug 16, 2022 go to post

It's funny you raise that subject now, as I just finished writing my "technologic bio" for my sons.
I won't translate the whole booklet but just pick out some highlights, 

#1) Why did you choose to become a software engineer / developer?

To become Engineer was an almost a genetic determination. I could roll back my ancestors down
to 1600 to find a repeating pattern of technical construction in wood, stone, metal, ...
and started with studying electronics. Software just happened by consequence and found its
summit by a complete operating system, with a distributed  M-database, interpreter, ... on VAX.

#2) How and when did you start to generate a "flow state of mind" during your career?

As a boy I was reading Walt Disney's comics. "Gyro Gearloose" was the most impressive
character to me and his statement "An engineer can invent everything" just caught me.
I was reading the German translation that added some extra fun:  "Dem Intschinör ist nix zu schwör!".
It became my personal mission statement:  "For a real engineer ‘IMPOSSIBLE’ doesn’t exist !"
It became a red trace throughout my whole life. And the epigenetic 'fighter gen' inherited from my
first ancestor surviving the 30years war with honors formed me to never give up.  
#3)What are recommended habits inside and outside, during you own time and during
your work time, to be focused during your coding session and daily tasks?

  • For software development, you should understand the language you use down to its darkest corner. You have to be as fluent as in a foreign language you speak. You know that you are there if you use it also in your dreams.
  • Let your creativity roll on and seek to have fun with it to find the 'impossible' solution, and forget about thinking: "this can never happen!" This is just an illusion.
  • Don't accept stops by rules that are not yours. I've seen so many nonsense measurements like the number of lines by month. In the first years even the number of punched cards (!) length of code, length of lines, number of comment lines by method, sick naming conventions, .. 
  • find your solution first and make it fast and stable and leave the polishing to please Code Quality and similar tools that will never follow your mind to the  "coding clerks"  (minor qualified engineers) to please controllers and administrators and managers who are not able to follow your great ideas. 
  • Finally, share your oeuvre with a qualified software engineer that you trust, to add the minimum required comments and explanations triggered by his questions. 
  • If your employer dislikes your style., leave it. Working against your own fire of creativity and your own fun at working can never be compensated by money. I did it for some short years and was not happy at work at all. I fought for my success and had my achievements. But fun at work came back only until returned to software engineering.  
Robert Cemper · Aug 10, 2022 go to post

, which approach would you take ?
I would try to use embedded Python to escape from <MAXSTRING>
cut it to reasonable pieces and use them in COS as far as necessary.

Robert Cemper · Aug 9, 2022 go to post

Thanks for the announcement.
It releases energy for new solutions and examples, that were blocked otherwise.  

Robert Cemper · Aug 9, 2022 go to post

ALL code needs compiling. You just don't recognize it.
<tab> as the first separator indicates that you to want to store a local commandline.

WRITE<space>123 executes immediately while

WRITE<tab>123  stores a line labeled WRITE with a nonsense code 123

WRITE<tab>WRITE<apace>123  creates a useful command line that you may run by

DO<space>WRITE
This just explains what is happening. But this is not a programming tutorial.

Robert Cemper · Aug 9, 2022 go to post

It's an ages-old story dating back almost 50 years.
At that time code was not compiled but interpreted (as Python shell today)
the code was kept in the local partition and <tab> signaled that this is to be kept and not executed immediately.  Also, somelabel<tab> worked like that.
Today it is compiled undercover, but not kept.  Similar to the origin.

Robert Cemper · Aug 8, 2022 go to post

that's because the browser or this horrible web editor converts <tab> to <blank>
this is just core MUMPS style for writing .INT code


AUMHSCRTC:USER>a<tab>SET x=1
AUMHSCRTC:USER><tab>WHILE x<10 {
AUMHSCRTC:USER><tab>WRITE !," Looping",x
AUMHSCRTC:USER><tab>SET x=x+1
AUMHSCRTC:USER><tab>}
AUMHSCRTC:USER><tab>WRITE !,"DONE"
AUMHSCRTC:USER>do a