go to post Robert Cemper · Jul 18, 2021 On what operating system do you run this repo ?Your ERROR message looks like coming from Windows [backslash] (No directory \home\....)BUT the whole code seems to be written just for Linux/ Docker images It is nowhere mentioned as a prerequisite. Might be implicit to.>>> "you’ll need the InterSystems Sandbox" I never heard of, never used it.
go to post Robert Cemper · Jul 16, 2021 there's a mistakeMethode CopyFrom(source As %AbstractStream) as %Statusjust returns an obviously strange status.to see the content use DO stream.OutputToDevice()
go to post Robert Cemper · Jul 16, 2021 to get a clearer picture of the requirements it is essential to understandhow the connection operates: connection is established and messages are exchanged leaving the connection open connection is established, the message is sent, the connection is closed It's evident that the behaviors are different on both ends for #1 you start with a Listener and keep it cyclic reading, eventually writing for #2 you open the listener, receive something and close itto send your message you need an open - write - close cycle.both are possible but you have to know what your opponent expects and how it reacts. The whole requirement is rather archaic. Sounds like a webserver without HTTP.REST would be the better approach. Finally, you may consider outplacing the whole connection management to Node.jswhich is far better suited for such exercises. Eg: wrap incoming stream into REST
go to post Robert Cemper · Jul 14, 2021 see this docu TCP Client/Server Communication- the key trick is to use READ with a timer- if there is no input, you either write or place the next timed read if there's nothing to send
go to post Robert Cemper · Jul 13, 2021 put it into %ZLANGC00 as ZY and just have ClassMethod ToNato(t) { ZY }
go to post Robert Cemper · Jul 12, 2021 leaving aside that there are evident typing errors that break the codeyour reply underlines that the criteria: "Shortest answer wins!"misses the precise definition of what is measured.There is not much chance to be shorter than "x x q o" (= 7 char)
go to post Robert Cemper · Jul 10, 2021 Out of curiosity, I checked the size of the underlying OBJ code:> object size = 380 (+47% !) + timestamp = 18 So the expected gain is not what you would assume at first sight.For the price of an almost unreadable code
go to post Robert Cemper · Jul 9, 2021 Sorry, I never touched Angular I only know where it is coming from.
go to post Robert Cemper · Jul 8, 2021 my 1st attempt: N(t) s a="Alfa,Bravo,Charlie,Delta,Echo,Foxtrot,Golf,Hotel,India,Juliett,Kilo,Lima,Mike,November,Oscar,Papa,Quebec,Romeo,Sierra,Tango,Uniform,Victor,Whiskey,Xray,Yankee,Zulu" f i=1:1:$l(t) s %=$E($zcvt(t,"U"),i) w $s(%?1A:$p(a,",",$a(%)#32)_" ",%=" ":"",1:%) Line1=174 Line2=84 Total=258
go to post Robert Cemper · Jul 4, 2021 I come from Vienna, Austria.I guess we are "neighbors" according to your mail (.si)
go to post Robert Cemper · Jul 4, 2021 Zdravo Matjaž!you are right in principle. Though there are hundreds of similar cases since DECADES!ok, the cleaner solution brings us back to my previous proposal.add a calculated property to your serial class ##class(Packing.Needs.Attributes) like this Property List As %List [ Calculated, SqlComputed, SqlComputeCode = { set {*}= $LB({attr1},{attr2},{attr3},{attr4} ) }, SqlComputed ]; attr1,attr2,attr3,attr4 have to be the SQLnames of these properties !!! WARNING#1: you have to maintain this list manually at every change of the attributes! WARNING#2:: this calculation happens at every access to the object. The additional parameter SqlComputeOnChange = (attr1,attr2,attr3,attr4) may reduce this. though I've never tried in practice
go to post Robert Cemper · Jul 4, 2021 Ok. the picture becomes clearer: %SerialObject is stored as $LB($LB(....),...)you can get your result by 2 steps. do attribute.%SerializeObject(.serialraw) set list=$list(serialraw)
go to post Robert Cemper · Jul 3, 2021 don't think so complicated. leave your serial object as it isbut use instead a CALCULATED, SQLCOMPUTED Property as $LB() and you can then index it
go to post Robert Cemper · Jul 3, 2021 IRIS includes a bunch of "legacy" routines".Typically %R*, %G* that you can load by "legacy" commands in a "legacy" session or terminal(not webterminal or simliar commandline simulatiors)They are hidden in some way, It is not specific to VSC but the same with Studio.Though ZL %RI ZS %zRI should create a routine that you can work on. Z*,z*%Z*,%z* is writable Use code
go to post Robert Cemper · Jul 2, 2021 my PullRequest is pending.IMAGE=intersystemsdc/iris-community:2019.4.0.383.0-zpmis broken as it starts with SHELL ["/irissession.sh"]instead of SHELL ["/bin/bash", "-c"] Newer imags don't have that problem