0 Followers · 478 Posts

Choose the tag if you want to post something which doesn't relate to InterSystems data platforms or services. 

Question Elliott Grey · May 15, 2023

Trying to gather basic code examples written in ObjectScript and realized it's probably easiest to ask the people who know what they're doing!

I'm looking for examples of the following five prompts all in ObjectScript:

Prompt 1. Write a function that partitions the array into two subarrays: one with all even integers, and the other with all odd integers. Return your result in the following format:

[[evens], [odds]]

Prompt  2. Create a function that computes the hamming distance between two strings

Prompt  3. Make a function that encrypts a given input with these steps:

Input: "apple"

Step 1: Reverse

3
0 309
Article Robert Cemper · May 11, 2023 1m read

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.
this returned ~10GB on my C: drive and provided an

1
0 762
Discussion Michael Breen · May 12, 2023

A question for anyone using InterSystems technology:

What are the biggest challenges you’ve faced either trying to hire developers that know ObjectScript, or trying to train developers on ObjectScript?

  • Are developers generally willing or resistant to the idea of learning ObjectScript?   Why?
  • For developers trying to learn ObjectScript - what was that process like?   What were the main challenges there?
    • In-person learning?  
    • Online class? 
    • Documentation?  
    • What were your impressions?
  • How did it compare to other languages?
  • What would have made it easier to learn?
  • How long did it
5
0 432
Article Robert Cemper · May 13, 2023 2m read

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.

Several cycles of installation and

0
0 340
Question Elliott Grey · May 10, 2023

I'm trying to write an ObjectScript function that sorts version numbers to help learn ObjectScript. This is all I can think of after staring at VS Code for a while, but I don't know where to go with it. Can someone please help out with a tip? The goal is to take something like ["1.4.5", "0.5.3", "6.3.2", "1.2.4"] and turn it into ["0.5.3", "1.2.4", "1.4.5", "6.3.2"]

ClassMethod SortVersion(input As %String[]) As %String[] {
    Set sorted = []

    for i=1:1:input.%Size() {
        Set version = input.Get(i)

        Set major = $NUMBER($PIECE(version, ".", 1))
        Set minor =
4
0 428
Article Robert Cemper · May 9, 2023 2m read

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.

This package includes a demo example to visualize the operation of this utility.

How to Use it

 ;
0
0 553
Article Muhammad Waseem · May 1, 2023 5m read


 

The Jupyter Notebook is an open source web application that can be used to create and share documents that contain live text, code, equations and visualizations. It is maintained by the people at Project Jupyter.

Jupyter name comes from the core supported programming languages that it supports: Julia, Python, and R.
It allows users to write code in "cells," which are blocks of code that can be executed individually or together.

0
0 535
Announcement Matthew Giesmann · May 1, 2023

Hello,

As of today, all CCR users default to the new view UI on new logins. We don't expect any issues, but please report anything that you encounter.  

All users will continue to have access to the classic UI for some time via a button at the top and bottom of the view page (see below).

1
0 239
Article Maria Nesterenko · Apr 20, 2023 5m read

Many factors affect a person's quality of life, and one of the most important is sleep. The quality of our sleep determines our ability to function during the day and affects our mental and physical health. Good quality sleep is critical to our overall health and well-being. Therefore, by analyzing indicators preceding sleep, we can determine the quality of our sleep. This is precisely the functionality of the Sheep's Galaxy application.

Sheep's Galaxy is a sample application that works with InterSystems' IntegratedML and IRIS Cloud SQL technologies and provides the user with a tool to analyze

5
0 395
Announcement Elle Marcus · Apr 10, 2023

person writing on white paper

Have you ever heard of Design Thinking? Or have you heard of it and thought, “I’m not a designer, when would I use Design Thinking?” While a dedicated designer is responsible for applying Design Thinking practices in an organization, everyone who creates products can benefit from a Design Thinking mindset. According to Forbes, Design thinking practices can “deliver an ROI of 85% or greater”. It can also reduce product development cycles by 33-50%.

0
0 327
Article Robert Cemper · Feb 26, 2018 2m read

If you have worked with Caché Objects,
You know already all about Relationships (one:many , parent:child) ...
But you will not find a word on many:many relationships in the docs.

But I met the question quite often from new adopters of Caché objects:
"Is it possible to implement many:many relationships ?"YES - of course !

HowTo depends on the related tasks: There is a heavy and a lightweight solution.
Both have in common that they are not just out of the box and you have
to add some code to manage it.

Let's take an example based on SAMPLES namespace:

we have the case of an N:1 relationship

But how do

7
0 1355
Article Zhong Li · Jan 23, 2023 11m read

Fun or No Fun - how serious is it?


Large language models are stirring up some phenomena in recent months. So inevitably I was playing ChatGPT too over last weekend, to probe whether it would be a complimentary to some BERT based "traditional" AI chatbots I was knocking up, or rather would it simply sweep them away. 
A thought comes to mind while playing.

3
1 1163
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 1113
Announcement Vita Tsareva · Mar 22, 2023

Hi Community,

The Second Batch of Digital Health Interoperability and FHIR Startup Incubator — Caelestinus, will start today!

Today 21 selected teams will start an eight-month journey at Caelestinus. During the incubation, teams introduce digital health interoperability into their connected medical service or medical device innovation and add the support of FHIR, HL7, DICOM, CDA, X12, and other digital health standards and its transformation using InterSystems IRIS for Health and FHIR Server with the help of experienced InterSystems team.

I’m pleased to invite everyone to watch the Caelestinus

0
0 318
Article Robert Cemper · Mar 2, 2023 5m read

    

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

4
1 702
Article Robert Cemper · Apr 27, 2020 4m read

As you know in Caché / IRIS you have the possibility to define a property as Multidimensional as documented here:
https://docs.intersystems.com/iris20201/csp/docbook/DocBook.UI.Page.cls?KEY=GOBJ_proplit#GOBJ_proplit_multidim
and the explanation of how to use it
https://docs.intersystems.com/iris20201/csp/docbook/Doc.View.cls?KEY=GOBJ_proplit#GOBJ_proplit_multidim_values
Though the access is quite comfortable (in traditional COS sense) there are 2 main restrictions that hurt:
#1) It is not saved to disk unless your application includes code to save it specifically.
#2) It cannot be stored in or exposed through SQL tables
   there are some more
I'll show how to overcome these limits

1
3 725
Question Robert Cemper · Mar 17, 2023

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^rcc^rcc=0^rcc("")="***"^rcc("",1)="*,1"^rcc(1,"")="1,*"^rcc(1,2)="1,2"^rcc(1,2,"")="1,2,*"

But SMP had no idea what is going on. 

And after switching off that flag this was still partialy visible, but read-only

USER>zw^rcc^rcc=0^rcc(1,"")="1,*"^rcc(1,2)="1,2"^rcc(1,2,"")="1,2,*"

I just don't understand.

5
0 436
Article Robert Cemper · Feb 28, 2023 2m read

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.

1
0 382
Announcement Matthew Giesmann · Mar 6, 2023

Hello CCR Users,

The new CCR view page is now available to all users via an opt-in toggle a at the top and bottom of the view page.

We hope all users will give the new UI a try and provide us with any feedback that you have through your normal support channels.

Thank you to the beta users who have been using this page for a while, making sure its full release goes smoothly! You can always update your beta user status here.

Thanks!

Matt

1
0 335
Article Robert Cemper · Mar 2, 2023 4m read

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.

1
1 558
Article Robert Cemper · Mar 2, 2023 5m read

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 that provides more freedom but
requires a deeper understanding of the mechanic behind the scene.
The full code example is again on GitHub

1
0 419
Announcement Olga Zavrazhnova · Feb 14, 2023

Hi Community, 

We are gathering again for the next Community Roundtable. Many of you asked for a roundtable about AL / ML, and we are delighted to bring such a roundtable to you!

Our invited expert from InterSystems: @Thomas Dyar Product Specialist - Machine Learning.

Join our 60-min discussion, prepare your questions, and use cases! There will be a short demo as well.

UPDATE: the recording is available here.

5
0 408
Announcement Larry Finlayson · Feb 16, 2023

GREAT NEWS!!

Starting in April the InterSystems classroom course schedule will once again include public in-person classroom training in Cambridge.

Many benefits are offered by being physically in the classroom with our instructors, so we invite you to return to in-person training for a more personalized educational experience.

In-person courses and dates currently offered are:

Register for a Course

Complete Course Schedule

For

0
0 163