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

Robert Cemper · Aug 8, 2022 go to post

you are mixing things.
#1) working:
1.1 yo talk to login + authentication
1.2 you talk to command prompt that stores your code locally. 
#2) not working
 authentication from script is not supported, the rest goes nowhere
#3) not working examples
both assume that
3.1 you enter the code in Studio, VSCode, ...and COMPILE  it.
3.2 you call the compiled code from the command line

Robert Cemper · Aug 4, 2022 go to post

DATEDIFF only compares the YEAR numbers. So:
    write  $system.SQL.DATEDIFF("yy",$h-250,+$h)   >>>> 1
because of comparing 2021 to 2022
but it definitely is less than 1 year
and it depends on the actual day of the year 

Robert Cemper · Aug 3, 2022 go to post

To my experience, it is a 5 CONNECTIONS limit overruling the whole licensing code.
implemented in the most restrictive way you can think of.
My bypass was to apply for a demo license (container) and non-castrated image.
It's evident to me that the Community License is just for ****** censored ******
not for adult applications.   
I feel  - not amused (brit.) - about this company. @Andreas Dieckow 
*edited*

Robert Cemper · Jul 29, 2022 go to post

Hi @Scott Roth !
from my ~260+ reviews, I can confirm to you that Docker provides just the vanilla platform for 
demonstration and prepares genal settings (eg.REST)  and shuffles demo data.
But in 98% of those cases, the effective code is installed by ZPM.  
And if ZPM is not installed there is one of those famous 1-liners to install it  (with enough privileges).
To me, docker-compose is just a comfortable way to mix up ports, and volumes, to integrate the container with the environment outside the container.
I'm rather sure our well known Docker Experts have a related cookbook ready for publishing
(there was just no contest to win a prize for it and make money)
The real info on what to copy where is mostly in Dockerfile., which is called by docker-compose.

Robert Cemper · Jul 29, 2022 go to post

Out of curiosity.
For my review analysis, I try to read the STARS In OpenExchange review pages.
The display is generated by Drupal based on some frames running JS scripts in the browser, filled with data from a DB in background that I have no access to.
Is there a chance by using BeautifulSoup to analyze this dynamic content?
 

Robert Cemper · Jul 14, 2022 go to post

in ObjectScript it might be
list("A","x")=""
list("B","y")=""
list("C","z")=""

and you pass it by reference 
do method(.list)
and consume is using $ORDER() or $QUERY()

Robert Cemper · Jul 14, 2022 go to post

and of course any TRIGGER on DELETE will give you more options
e.g. LOG^%ETN()   to dump the full call stack