Article Robert Cemper · Jan 23, 2023 2m read

In general Global Streams are data objects embedded in Classes / Tables.
Using and viewing them with SQL is normally a part of the access to the containing tables.

SO WHAT?

During debugging or searching for strange or unexpected behavior there could be the need to 
get closer to the stored stream. No big problem with direct access to Globals with SMP or Terminal.
But with SQL you are lost.
So my tool provides dynamic access to Global Streams wherever you may need this
Special thanks to  @Oliver Wilms  for the inspiration for this tool.    

1
1 618
Article Robert Cemper · Dec 19, 2022 2m read

If one of your packages on OEX receives a review you get notified by OEX only own YOUR package.   
The rating reflects the experience of the reviewer with the status found at the time of review.   
It is kind of a snapshot and might have changed meanwhile.   
Reviews by other members of the community are marked by * in the last column.

I also placed a bunch of Pull Requests on Github when I found a problem I could fix.    
Some were accepted and merged, and some were just ignored.     
So if you did a major change and expect a changed review just let me know.

0
0 172
Article Robert Cemper · Dec 4, 2022 2m read

If one of your packages on OEX receives a review you get notified by OEX only own YOUR package.   
The rating reflects the experience of the reviewer with the status found at the time of review.   
It is kind of a snapshot and might have changed meanwhile.   
Reviews by other members of the community are marked by * in the last column.

I also placed a bunch of Pull Requests on Github when I found a problem I could fix.    
Some were accepted and merged, and some were just ignored.     
So if you did a major change and expect a changed review just let me know.

0
0 184
Article Robert Cemper · Nov 28, 2022 2m read

If one of your packages on OEX receives a review you get notified by OEX only own YOUR package.   
The rating reflects the experience of the reviewer with the status found at the time of review.   
It is kind of a snapshot and might have changed meanwhile.   
Reviews by other members of the community are marked by * in the last column.

I also placed a bunch of Pull Requests on Github when I found a problem I could fix.    
Some were accepted and merged, and some were just ignored.     
So if you did a major change and expect a changed review just let me know.

0
0 240
Article Robert Cemper · Nov 25, 2022 2m read

If one of your packages on OEX receives a review you get notified by OEX only own YOUR package.   
The rating reflects the experience of the reviewer with the status found at the time of review.   
It is kind of a snapshot and might have changed meanwhile.   
Reviews by other members of the community are marked by * in the last column.

I also placed a bunch of Pull Requests on Github when I found a problem I could fix.    
Some were accepted and merged, and some were just ignored.     
So if you did a major change and expect a changed review just let me know.

0
0 321
Article Robert Cemper · Nov 11, 2022 2m read

If one of your packages on OEX receives a review you get notified by OEX only own YOUR package.   
The rating reflects the experience of the reviewer with the status found at the time of review.   
It is kind of a snapshot and might have changed meanwhile.   
Reviews by other members of the community are marked by * in the last column.

I also placed a bunch of Pull Requests on Github when I found a problem I could fix.    
Some were accepted and merged, and some were just ignored.     
So if you did a major change and expect a changed review just let me know.

0
0 244
Article Robert Cemper · Oct 22, 2022 2m read

If one of your packages on OEX receives a review you get notified by OEX only own YOUR package.   
The rating reflects the experience of the reviewer with the status found at the time of review.   
It is kind of a snapshot and might have changed meanwhile.   
Reviews by other members of the community are marked by * in the last column.

I also placed a bunch of Pull Requests on Github when I found a problem I could fix.    
Some were accepted and merged, and some were just ignored.     
So if you did a major change and expect a changed review just let me know.

2
0 257
Article Robert Cemper · Sep 27, 2022 2m read

If one of your packages on OEX receives a review you get notified by OEX only own YOUR package.   
The rating reflects the experience of the reviewer with the status found at the time of review.   
It is kind of a snapshot and might have changed meanwhile.   
Reviews by other members of the community are marked by * in the last column.

I also placed a bunch of Pull Requests on Github when I found a problem I could fix.    
Some were accepted and merged, and some were just ignored.     
So if you did a major change and expect a changed review just let me know.

0
0 181
Article Robert Cemper · Sep 18, 2022 1m read

I produce my monthly Review Report on OEX packages now for 18 months.
These are a view figures and some comments:

  • Total packages checked = 669
  • Packages tested and reviewed by myself = 294
  • Packages reviewed by other community contributors = 41  
  • Packages without review = 334
    • These are packages that promote partner products
    • or are mostly not available with a Docker set-up
    • or require resources unavailable to me (e.g. license keys)  
    • or I simply didn't understand the subject  (e.
1
0 159
Article Robert Cemper · Sep 2, 2022 1m read

If one of your packages on OEX receives a review you get notified by OEX only own YOUR package.   
The rating reflects the experience of the reviewer with the status found at the time of review.   
It is kind of a snapshot and might have changed meanwhile.   
Reviews by other members of the community are marked by * in the last column.

I also placed a bunch of Pull Requests on Github when I found a problem I could fix.    
Some were accepted and merged, and some were just ignored.     
So if you did a major change and expect a changed review just let me know.

1
0 247
Article Robert Cemper · Jul 28, 2022 2m read

If one of your packages on OEX receives a review you get notified by OEX only own YOUR package.   
The rating reflects the experience of the reviewer with the status found at the time of review.   
It is kind of a snapshot and might have changed meanwhile.   
Reviews by other members of the community are marked by * in the last column.

I also placed a bunch of Pull Requests on Github when I found a problem I could fix.    
Some were accepted and merged, and some were just ignored.     
So if you did a major change and expect a changed review just let me know.

0
0 289
Question Robert Cemper · Jul 2, 2022

I just met a personal challenge translating my article to French.
Tough I had to learn it at school and could read and understand
famous literature (Sartre, Molière, Mauriac, Proust, Saint-Exupéry, Anouilh, ...) 
I missed the specific terms used with ISC technology.
Thanks to @Lorenzo Scalese my errors were corrected.
But no dictionary was able to answer. 
Especially as English is gender-neutral the individual gender in other languages is just undefined.
QUESTION:
- Is there anywhere a Dictionary in ISC to cover this

2
0 269
Article Robert Cemper · Jul 1, 2022 2m read

If one of your packages on OEX receives a review you get notified by OEX only own YOUR package.   
The rating reflects the experience of the reviewer with the status found at the time of review.   
It is kind of a snapshot and might have changed meanwhile.   
Reviews by other members of the community are marked by * in the last column.

I also placed a bunch of Pull Requests on Github when I found a problem I could fix.    
Some were accepted and merged, and some were just ignored.     
So if you did a major change and expect a changed review just let me know.

0
0 200
Article Robert Cemper · Jun 20, 2022 7m read

My major interest is  Working with Globals in Embedded Python.
So I checked the available official documentation.

#1 Introduction to Globals
an attempt of a generic description of what a global is. Pointing to

#2 A Closer Look at ObjectScript
But where is Embedded Python ?
Way down you see

#3 Embedded Python

3.1 Embedded Python Overview
3.1.1 Work with Globals

Great if you have never seen a Global before
Otherwise a shocking primitive example
3.2 Using Embedded Python
Last hope: >>> but there is just NOTHING visible.
This is more than just disappointing! Even IRIS Native API for Python is more detailed.

8
3 1368
Article Robert Cemper · May 30, 2022 2m read

If one of your packages on OEX receives a review you get notified by OEX only own YOUR package.   
The rating reflects the experience of the reviewer with the status found at the time of review.   
It is kind of a snapshot and might have changed meanwhile.   
Reviews by other members of the community are marked by * in the last column.

I also placed a bunch of Pull Requests on Github when I found a problem I could fix.    
Some were accepted and merged, and some were just ignored.     
So if you did a major change and expect a changed review just let me know.

2
0 224
Article Robert Cemper · May 27, 2022 1m read

There is a popular package "WebTerminal". It is excellent in most situations.
Except:

  • running system commands in your operating shell is not so easy
  • as it communicates to the IRIS host over HTTP and WSS it consumes 2 connections
    • With only 5 connections in the community license (and the "Grace Period of CSP")
    • you can hit the limits rater fast: 2 Webterminals + 1 SMP and you are done
  • WebCommand is a pure CSP page consuming just 1 single connection
  • WebCommand allows multiple ObjectScript command lines running in sequence
  • With $ or !
1
0 311
Article Robert Cemper · May 22, 2022 1m read

I'm sure you have met this situation:

  • There is a bug in a System that you can't reproduce yourself locally
  • You need to run a few lines in the affected instance
  • You get full access to System Management Portal
  • But there is just  no terminal, nor console, nor access with Studio, Atelier or VSCode
  • How to run your few lines for testing ???
3
5 1119
Article Robert Cemper · May 14, 2022 8m read

Implementation

  • B is the Winner Table: It holds the region and a numeric as ID. Short name is left empty for privacy protection in this Demo
  • A is the table of all contests with dates
  • X,C  are the arrays of prizes. They are projected as SQL tables.   When assigned they refer to 1 winner

User guide

Start the demo in Docker from IRIS console or in Webterminal

USER>do ##class(dc.rcc.Main).
0
0 306
Article Robert Cemper · May 14, 2022 2m read

M:N Relationship is a recurring object of my interest for a long time.
So the subject turns up with me repeatedly.
For this article, I found a nice example with TWO  separate M:N relationships. Some M:N².

 

It is not pure fiction but taken from a closer view of OEX Contests that we run on a regular base.

2
1 428
Article Robert Cemper · May 1, 2022 2m read

If one of your packages on OEX receives a review you get notified by OEX only own YOUR package.   
The rating reflects the experience of the reviewer with the status found at the time of review.   
It is kind of a snapshot and might have changed meanwhile.   
Reviews by other members of the community are marked by * in the last column.

I also placed a bunch of Pull Requests on Github when I found a problem I could fix.    
Some were accepted and merged, and some were just ignored.     
So if you did a major change and expect a changed review just let me know.

2
0 248
Article Robert Cemper · Mar 24, 2022 3m read

This package offers a utility to export an XLarge Global into a JSON object file and to show
or import it again. In a previous example, this all was processed in memory. But if this is a
large Global you may either experience <MAXSTRING> or an <STORE>  error
if the generated JSON structure exceeds available memory.
 


Academic refers to the structure created.

1
0 450
Article Robert Cemper · Mar 23, 2022 1m read

I have a rather simplistic JSON Object of this structure: 

{"id":<someid>,"value":<some string>,"details": 
 [{"id":<someid>,"value":<some string>,"details": 
  [{"id":<someid>,"value":<some string>,"details":  
   [{"id":<someid>,"value"}
   ,{"id":<someid>,"value"} 
   ,{"id":<someid>,"value"} ]
  ,[{"id":<someid>,"value":<some string>,"details":  
     [{"id":<someid>,"value"}
    ,{"id":<someid>,"value"} ] ]
 ,{"id":<someid>,"value":<some string>} ] } 
   

The depth and number of depth elements are variable.
It's a finger snip to work it down with  %DynamicObject.

3
0 720
Article Robert Cemper · Mar 21, 2022 2m read

If one of your packages on OEX receives a review you get notified by OEX only own YOUR package.   
The rating reflects the experience of the reviewer with the status found at the time of review.   
It is kind of a snapshot and might have changed meanwhile.   
So if you did a major change and expect a changed review just let me know. 
Reviews by other members of the community are marked by * in the last column




# Package Review Stars IPM *
1 iris-python-dashboards 6* super demo 6.0    
2 appmsw-telestat Nice application! 5.0 y  
3 crypto-iris Complete and
0
0 191
Article Robert Cemper · Mar 19, 2022 2m read

This example demonstrates the difference you may experience when you write to
Gllobals directly from Embedded Python compared to native ObjectScript.

To make this demo useful I start 2 background jobs that simply write sequentially
to a dedicated global. A common control method signals for a synchronous start.
Similar a common stop & view interrupts data feeding.

That's the principle process:

   

As 2 jobs run in parallel the probability of just using sequential blocks is reduced.
During the development of this demo, I detected that the JOB command has problems
with ClassMethods in Embedded Python.

1
0 270
Question Robert Cemper · Mar 11, 2022

It sounds strange though it's embarrassing.

I have a class with ClassMethods written in ISOS and Embedded Python.

The ClassMethods written in ISOS start in the Background as usual. No problems

But my 

ClassMethod setPy() [ Language = python ]
{
import iris, datetime, time
- - -

Just fails the JOB command with (even 15 sec) timeout and $ZC=0
This is not funny
My actual workaround:
I created a ClassMethod in ISOS, that does an elegant JobStart
and this ClassMethod only runs the Embedded Python ClassMethod.

4
0 451
Article Robert Cemper · Feb 22, 2022 2m read

If one of your packages on OEX receives a review you get notified by OEX only own YOUR package.  The rating reflects the experience of the reviewer with the status found at the time of review.  It is kind of a snapshot and might have changed meanwhile.   
New with this edition:
Reviews by other members of the community are marked by * in the last column.

2
0 256