Eduard Lebedyuk · Sep 13, 2024 go to post

Great Article, Vic!

Please consider embedding URLs.

Also there are Object and SQL interfaces to journal records, which sometimes might be useful.

Eduard Lebedyuk · Sep 9, 2024 go to post

$zf should work:

w $zf(-100,"/SHELL","eventcreate","/ID",1,"/L","APPLICATION","/T","INFORMATION","/SO","MYEVENTSOURCE","/D","My first log")
Eduard Lebedyuk · Sep 6, 2024 go to post

While I agree that ideally you'd run two IRIS nodes in two geographically close but fully separate datacenters, running IRIS in a mirror with both servers in the same datacenter still provides protection from:

  • Server hardware failure
  • OS-level failure
  • IRIS failure

In addition to that datacenters often allow users to specify placement strategy. Select spread placement strategy to avoid hosting both servers on the same underlying hardware if possible.

So mirroring in this scenario still provides a lot of advantages.

Eduard Lebedyuk · Aug 30, 2024 go to post

Sure, you have two approaches:

  1. Define a message class with XMLPROJECTION=NONE for the properties you want to skip
  2. Redefine %ShowContents method for your message class to skip some of the properties (check Ens.Util.MessageBodyMethods for a sample implementation).
Eduard Lebedyuk · Aug 21, 2024 go to post

Can you copy FOP to two places (or each job at a start copies FOP to it's own dir) and call it in parallel after that. Would that work?

Eduard Lebedyuk · Aug 9, 2024 go to post

I agree that

[ CodeMode = objectgenerator ]

is certainly outside of this code golf conditions (method signature should not be changed), but it's still a creative example.

Eduard Lebedyuk · Aug 8, 2024 go to post
^IRIS.Msg("EnsColumnsNAMESPACENAME,"en"

Can be mapped to your DB, so you won't lose the changes on update (and also you won't need to make ENSLIB RW).

Eduard Lebedyuk · Aug 7, 2024 go to post

There are to valid ways to solve this code golf:

  • Create a program that contains all ASCII characters in the source code (so it does not have to print anything)
  • Create a program which prints ASCII characters not present in a source code

Both approaches are valid, sample solution uses approach 1.

"Print out" is any output the program produces so if you for example add 1/0 at the end it might save you a few characters.

Eduard Lebedyuk · Aug 7, 2024 go to post

Well, in that case you might as well do this (down to 41):

ClassMethod ascii() [ CodeMode = objectgenerator ]
{
 f i=0,27,0:1:94 d %code.Write($c(i+32))
}
Eduard Lebedyuk · Jul 15, 2024 go to post

Class methods are recommended for use in all cases.

While classes provide an overhead, this is usually negligible.

Eduard Lebedyuk · Jun 7, 2024 go to post

Great!

I see you are using this query:

SELECT %Actions, %Message, %Priority, %Subject, TaskStatus_TimeCreated, ID 
FROM EnsLib_Workflow.TaskResponse 
WHERE TaskStatus_AssignedTo = ? 
  AND TaskStatus_IsComplete = 0

So it returns only uncompleted tasks assigned to a current user (by the way UserName is a valid sql variable so you don't need to pass it as an argument from ObjectScript). It does not return unassigned tasks - do you autoassign tasks in production? If so, how?

Eduard Lebedyuk · May 29, 2024 go to post

Create subscript level mappings for a correct database.

%ALL global mapping is higher priority than namespace mapping: if %ALL has ^a global mapped to db A and your namespace has ^a mapped to db B, global ^a from db A would be used when you access it from your namespace.

But, subscript mapping is higher priority than global mapping: if %ALL has ^a global mapped to db A and your namespace has ^a(1) mapped to db B, global ^a(1) from db B would be used when you access ^a(1) from your namespace.