Article Robert Cemper · Feb 8, 2022 1m read

I have created a package to export a Global into JSON object file and to re-create it by reloading from this file
embeddedPython refers to the new available technologies. It should be understood as a learning exercise of 
how to handle the language interfaces. Only Global nodes containing data are presented in the generated JSON file.
Differently from the previous example, this one is using embedded Python only, no ObjectScript. Therefore PURE

2
0 663
Article Robert Cemper · Jan 30, 2022 2m read

If one of your packages on OEX receives a review you get notified by OEX only on YOUR package.
It reflects my experience with the status I found at the time of my review.
It is kind of a snapshot and might have changed meanwhile.

5
0 257
Article Robert Cemper · Jan 24, 2022 1m read

I have created a package that offers a utility to load a Global into JSON object and reverse     
to create a Global from this type of JSON object. Compact refers to the structure created.
Globals nodes are included with data for a fast data load.   
But also the related code is quite compact.

3
0 439
Article Robert Cemper · Jan 24, 2022 1m read

I have created a package that offers a utility to load a Global into JSON object and reverse     
to create a Global from this type of JSON object. Academic refers to the structure created.
Each logical node of the Global is presented separately with all its descendants.
Even if they don't contain any stored data.

1
0 390
Question Robert Cemper · Jan 12, 2022

II try to explore the new SQL LOAD DATA  feature in SQL comparing it to SQL INSERT

I'm stuck at this point:  INSERT INTO <table> (columns...) VALUES  (.....)
allows having not just simple column references but also ALL Standard SQL FUNCTIONS (at least)
example:  

INSERT INTO Test (ShortName,DOB) VALUES  (SUBSTRING(Name,1,4),TO_DATE(displayDate,'MM-DD_YYY'))

This works perfectly. 
BUT the same VALUE clause applied to LOAD DATA  fails in various ways:

LOAD DATA FROM FILE

3
0 341
Article Robert Cemper · Jan 2, 2022 3m read

Thanks to @Yuri Marx we have seen a very nice example for DB migration from Postgres to IRIS.
My personal problem is the use of DBeaver as a migration tool.
Especially as one of the strengths of IRIS ( and also Caché) before is the availability of the
SQLgateways that allow access to any external Db as long as for them an access usinig 
JDBC or ODBC is available. So I extended the package to demonstrate this.

3
2 925
Article Robert Cemper · Nov 26, 2021 13m read

Finding errors in your code or examining unexpected behavior is the main purpose of Debugging
I will try to refresh the traditional tools away from the helpers you have in Studio, VScode, Serenji, ....
to the basics which have been there before your preferred EDI used it in the background.

10
3 1525
Article Robert Cemper · Oct 12, 2021 2m read

Just in case you never heard about OFX before
V1 was an attempt to create a dedicated SGML for banking and ignoring XML. Details.
It evolved to XML but not for M$ MONEY. Today we would use JSON for similar tasks.

4
0 568
Article Robert Cemper · Sep 29, 2021 4m read

I'm running reviews on Open Exchange since April 2021.
I have seen excellent packages, good ones, and some that made me feel just lost.
And I started to recognize contributors also by their style and organization of the submitted packages.

3
0 505
Article Robert Cemper · Sep 11, 2021 2m read

During the last weeks, I was working on various issues and problems related to SW development.
I found that quite often problem analysis was mostly chasing issues just on the surface
but not really attacking the deeper reasons of the problem and follow the consequences.
It's like the doc that stops your leg bleeding but doesn't see that it is broken.

In a former responsibility as Software Support Manager at Digital Equipment Corp. and
later CIO for Austria and Eastern Europe I trained successfully my product and operational 
specialists in analytic troubleshooting.

2
0 564
Article Robert Cemper · Sep 10, 2021 4m read

I'd like to share with you some storage features that also exist in Caché but are almost 
unknown and mostly not used. They are of course available in IRIS and gain importance
with large and distributed storage architectures.

0
1 600
Article Robert Cemper · Jul 10, 2021 2m read

If one of your packages on OEX receives a review you don't get notified by OEX only on YOUR package.
​​​So @Evgeny Shvarov  suggested publishing my monthly summary of reviews here in DC.
It reflects my experience with the status I found at the time of my review.

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

0
0 212
Article Robert Cemper · Jun 12, 2021 2m read

For several weeks I'm creating reviews on OEX.
So I'd like to explain to you the criteria that I apply to find my ratings.
Of course, each reviewer is an independent person and has his own criteria and his own opinion.
And that's good and important! As Winston Churchill once said:

"If 2 people always have the same opinion, then 1 of them is superfluous"

6
0 429
Article Robert Cemper · Apr 26, 2021 3m read

Why SSH ?

If you do not have direct access to the server that runs your IRIS Docker container
you still may require access to the container outside "iris session" or "WebTerminal".
With an SSH terminal (PuTTY, KiTTY,.. ) you get access inside Docker, and then, depending
on your needs you run "iris session iris" or display/manipulate files directly.

Note: 
This is not meant to be the default access for the average application user
but the emergency backdoor for System Management, Support, and Development.
34
0 1363
Article Robert Cemper · Apr 16, 2021 1m read

Some changes in IRIS configuration require a restart of IRIS.
This is no big issue as long as I have access to the server command line with sufficient privileges.
In a container, this is not always given.
Stopping IRIS from the terminal/session prompt is no problem.
But the restart after is.  

Note1: container start-stop is no option as it might be removed by option --rm in docker run
Note2: the target is linux (manly in docker).  Windows is excluded

GitHub

4
0 1154
Article Robert Cemper · Apr 9, 2021 1m read

I'm looking for a way to have an IRIS db distributed over several (hw) drives.  
Without touching the internal data structures (e.g. mapping) !  
Are there any options in file systems to achieve this "splitting" or "appending" ? 

Historic background:

  • Once upon a time CPUs worked on 32 bit
  • Files could mostly not be larger than 2 GB
  • And Caché had a (forgotten) option to EXTEND a db to a next file of another 2 GB max. and a next ...

This EXTENT was excellently suited to move fresh and active data
to a faster spindle for more performance.

 

[ oh

1
0 253
Article Robert Cemper · Apr 3, 2021 2m read

install and usage

Packed Pretty.xml installs routine ZPretty in any namespace.
calling $$Do^ZPretty(input,[filler],[newline]) returns a wrapped JSON string.
filler is the optional string for the indent, default = "  "
newline is optional, default = $C(13,10)
input accepts: JSON_String, JSON_Stream, %DynamicAbstractObject

0
0 507