A recent question from @Vivian Lee reminded me of a rather ancient example.
It was the time when DeepSee's first version was released.
We got Bitmap Index.
And we got BitSlice Index: mapping a numeric value by its binary parts.
So my idea: Why not indexing strings by their characters?
The result of this idea was presented first in June 2008.
IKnow wasn't publicly available at that time.
If one of your packages on OEX receives a review you get notified by OEX only of YOUR own 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.
Technology Strategy
When I started this project I had set myself limits:
Though there is a wide range of almost ready-to-use modules in various languages
and though IRIS has excellent facilities and interfaces to make use of them
I decided to solve the challenge "totally internal" just with embedded Python, SQL, ObjectScript
Neither Java, nor Nodes, nor Angular, PEX, ... you name it.
The combination of embedded Python and SQL is preferred. ObjectScript is just my last chance.
If one of your packages on OEX receives a review you get notified by OEX only of YOUR own 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.
Following one package from the last contest I met a strange problem.
There was the requirement to install jupyter-notebook
I work on Windows and there was some old Python installed
No big surprise: Installation of jupyter-notebook failed
Therefore, the latest version of Python was installed fast.
Big disappointment: the installation of jupyter-notebook failed again!
Because the new installation of Python didn't upgrade the old one.
And also the environment variable PATH was not cleaned
This was not obvious immediately and took endless time and effort.
During my repeated testing with Docker Desktop, I'm often short on disk space
nd need to clean it over and over as described earlier.
The main reason is the rather uncontrolled growth of ext4.vhdx
that is located on my C: drive by default.
So I decided to move this file to a large external disk.
There are several ways to do this and a detailed guide:
https://devops.tutorials24x7.com/blog/how-to-change-docker-data-path-on-windows-10
I decided to choose option C) using symlinks.
I did it only partially, especially for my wild-growing virtual data disk.
Creating your own commands or shortcut is one of the strongest features of ObjectScript
If you create your own Language Extensions to ObjectScript you mostly have to find the
proper %ZLANGC00 or %ZLANGV00 or %ZLANGF00 and add the extensions manually.
A few utilities do it already automatically (ZPM, ZME, ..)
This utility allows you to add your extensions also programmatically.
- eg. at first run, or during installation I found this quite useful for my Docker-based demos as it all happens at start time.
If one of your packages on OEX receives a review you get notified by OEX only of YOUR own 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.
I decided to write this down before time wiped out my memory
It's a very personal story as a partner, as a competitor, as an employee,
as a customer and finally as an external observer of InterSystems.
If one of your packages on OEX receives a review you get notified by OEX only of YOUR own 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.
The SQL editor in the contest environment promises these features
InterSystems SQL Reference. .png)
But this is the reality:
I see no chance to have a different user.
Or did I miss something?
Or is this just fiction from ChatGPT ?
looking into tenants I see this:.png)
But on the main page, I have 2 deployments that I can work with !!
What is going on ??
I have an accepted tenant and want to share my deployment..png)
how is this possible?
Thanks to @Dmitry Maslennikov I have access to a Container for Caché.
It is based on Centos.
Is there anywhere a container based on Ubuntu available?
There is an example on JSON XDATA.
But it only describes Name mapping.
Is it possible to define somehow also a structural mapping
e..g an Array of Arrays Structure: without property names
[
[12,33], [88,44]
]
During my last migration to IRIS I met this Compatibility parameter
- NullSubscripts true
0 - Throw error when referencing a null subscript. 1 - Null subscript references do not throw an error.
The consequences are shocking. This was allowed:
USER>zw^rccBut SMP had no idea what is going on. .png)
And after switching off that flag this was still partialy visible, but read-only
USER>I just don't understand.
I found a package on OEX for a Sharding Demo
If Sharding is NOT included in the Community License
I can not use the Community Distribution but require a different one.
And have to add ZPM manually.
When I run my IRIS in a Docker Container I know the host an know the mapped ports
so access is no problem.
BUT: is it possible from my IRIS
- inside a Container
- 'inside' Docker
to find the actual IP address of the Host?
This may sound strange, but for error tracking, it could be quite important.
To prepare a migration to IRIS I use Docker images.
The (aged) application is built around Caché Terminal
And on Windows, IRIS uses the same ctelnetd.exe as Caché.
In my Docker installation, Telnet Settings are just grayed out in SMP.
and my Terminal can't 'connect.
Port mapping is OK and verified with TCP
Working from the console in Docker with the whole set of ESC and
screen formatting is not acceptable.
We tried WebTerminal but there is just no Partition behind as in Terminal.
How can I switch on Telnet support in the Docker image?
During a migration from a rather old Caché Version (2016.1) to IRIS
I met the problem to migrate Streams.
The difference in the storage Global is minimal
It's not a big effort to do it manually for a few streams.
But for some thousand streams I hope there is a tool already available.
But where?
To most of us it's almost dogmatic that $H can't be negative!
This is correct concerning the COS Special Variable $HOROLOG.
No doubt. It's the presentation of the actual date & time.
http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY…
For dates before 1841 it's suggested to use Julian date before 1841.
Good for calculations.
But what about values in $H_format ?
Conversion functions $ZD(), $ZDT(), $ZDH(), $ZDTH() and
for SQL $system.SQL.TOCHAR() and $system.SQL.TODATE()
take care of the conversion to human readable date. You know this.
Those of you that worked already with ECP might know that it operates not only across
operating systems, processor technologies (big-little-endian), but also -with limits- across versions in C/E.
This cross-version feature also includes IRIS (verified for 2020.1) and C/E (2018.3)
During my recent work on Tutorial - Working with %Query #1
I met a Class Property that is quite different from its same-named relatives.
It is there since 'ever' but is rarely used, Related doc doesn't help so much.
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.
This tutorial is a follow on to Working with %Query
It was displaying the content of the input stream chopped in fixed-size chunks.
But often those streams are structured and have well-defined separators (e.g HL7)
So as a side subject of this tutorial, this chapter shows how to break a stream into PIECES.
It is exactly the same idea as the $PIECE() function for strings with some add-ons.
.png)
My previous article introduced you to the COS based Custom Class Query.
There were some features missing like more lines of the stream displayed
and numbered.
.png)
My previous article introduced you to SQL based Basic Class Query
where a clever wizard created all the required code for you and your essential
contribution was an SQL statement.
Now we enter the real Custom Class Query thatprovides more freedom but
requires a deeper understanding of the mechanic behind the scene.
The full code example is again on GitHub
The title of the contest subject is not quite precise but addresses the %Library.classes involved.
What is meant is officially named Class Query and is dating back to the early days of Caché.
CLASS is used because it is embedded in a COS class.
Though there is a precise description in the official documentation it remains rather abstract.
My tutorial should guide you step-by-step through a simple example in COS to make it tangible to you
Hi developers!
You are experts in IRIS and know all tricks. The functionality of $ZF(-1,-2,-100, ......)
is nothing new to you And you know the limits of this functionality.
Both give you access to your local server command line environment. And that's it.
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.