Question Eduard Lebedyuk · Jul 13, 2023 How can I run an iris sql command using AWS SSM? I'm trying to execute SQL on a EC2 via SSM: import boto3 instanceid = "i-123456789" sql = """SELECT path FROM Security.Applications WHERE ID = '/csp/sys'""" template = """su - irisusr -c 'cat << EOF | iris sql iris -U %SYS """ + sql + """ q EOF' """ template = [line.strip() for line in template.splitlines()] template = """\n""".join(template) ssm_client = boto3.client('ssm') response = ssm_client.send_command( InstanceIds=[instanceid], DocumentName="AWS-RunShellScript", Comment=AWS, Parameters={'commands': template}) #AWS #Cloud #SQL #InterSystems IRIS 0 0 0 187
Question Eduard Lebedyuk · Jun 15, 2023 How to import VSCode HL7 Custom Schema How to import Custom Schemas from VSCode? They look like this: <?xml version="1.0"?> <Category name="ITK" description="xmlns:hl7='urn:hl7-org:v2xml' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'" std="1"> <MessageType name='ACK' structure='ACK' returntype='ACK' description='xsi:schemaLocation="urn:hl7-org:v2xml ACK.xsd"'/> </Category> Instead of wrapped XML export produced by $system.OBJ: #HL7 #InterSystems IRIS #InterSystems IRIS for Health #VSCode 0 2 0 269
Article Eduard Lebedyuk · Jun 7, 2023 7m read Restoring production class using journals Recently I needed to restore a version of a production class, which was overwritten by compilation and running UpdateProduction. As the correct version was unavailable in the source control, I used journals to restore the data. Journals store a plethora of information about what's happening in the system and are quite a powerful tool. This article explains how to work with journals to extract the data you require. #Interoperability #Journaling #InterSystems IRIS 5 0 1 248
Question Eduard Lebedyuk · May 23, 2023 Abort system start at %ZSTART Is it possible to abort system start during SYSTEM^%ZSTART? If some conditions are not met, I want to shut down IRIS instead of continuing with the startup. #System Administration #InterSystems IRIS 1 7 0 288
Article Eduard Lebedyuk · May 23, 2023 1m read Production settings When developing interoperability productions, it might be useful to have settings outside of a Business Host. The primary reason is when you need a setting to affect several different Business Hosts and want to guarantee that the value is the same. While System Default Settings can be used to propagate settings for Business Hosts, they can be changed by overriding the value on a BH level (although the advantage of Business Host settings set via SDS is that they don't need custom code which our current approach requires).Another reason is when you need to affect non-setting parts of the Business Host configuration (PoolSize, Enabled, etc.) We will be adding an env setting to a production. #Interoperability #InterSystems IRIS 3 1 0 303
Article Eduard Lebedyuk · May 18, 2023 2m read Code Golf: String Rotations Let's have a round of Code Golf! String rotation is when you take a word and move some of its letters to the end of the word, so the first letter becomes the second letter, the second letter becomes the third, and so on. Last letter becomes first. Rotation can happen only in one direction →. Your task is to write a method that will receive two strings. It then must return an integer value of how many times needed to rotate the strings to be equal. As usual shortest solution wins. #Code Golf #InterSystems IRIS 4 14 0 379
Article Eduard Lebedyuk · Apr 26, 2023 2m read Removing large files from the repository history Git stores complete history - meaning you would never lose your files, even if they are deleted, they are still available. That, however, presents an issue if large or sensitive files have been committed. Deleting them DOES NOT remove them from history. Recently one of the repos I work on became unexpectedly large, so here's how you can resolve that: #Git #GitHub #Source Control #InterSystems IRIS 2 0 0 204
Question Eduard Lebedyuk · Apr 4, 2023 DML export Assuming I have an SQL table with data, is it possible to get DML export (INSERT statements for this data)? #Data Import and Export #SQL #InterSystems IRIS 0 4 0 343
Discussion Eduard Lebedyuk · Mar 2, 2023 Code Golf: Isogram It's time for a Code Golf round! Isogram A word or phrase that has no repeating letters, consecutive or non-consecutive. Implement a method that checks if the received string is an isogram or not.Assume the empty string is an isogram. Ignore the letter case. Allowed inputs: A-Z, a-z. As usual, the shortest solution wins! #Code Golf #Code Snippet #InterSystems IRIS 4 11 0 349
Article Eduard Lebedyuk · Feb 10, 2023 6m read Encrypted JDBC connection between Tableau Desktop and InterSystems IRIS In this article, we will establish an encrypted JDBC connection between Tableau Desktop and InterSystems IRIS database using a JDBC driver. While documentation on configuring TLS with Java clients covers all possible topics on establishing an encrypted JDBC connection, configuring it with Tableau might be a little bit tricky, so I decided to write it down. #Encryption #Java #JDBC #SQL #SSL #InterSystems IRIS 2 3 2 631
Discussion Eduard Lebedyuk · Jan 20, 2023 Code Golf: Pyramid New Year, new Code Golf! You will receive a positive integer for the number of floors. Your challenge will build a pyramid with a "#" character. As usual, the shortest solution wins. Input 3 Output # ### ##### also a valid output # ### ##### #Code Golf #Code Snippet #InterSystems IRIS 4 23 1 467
Question Eduard Lebedyuk · Jan 19, 2023 Autoscaling Business Service to consume available CPU I have a production with one Business Host - a Business Service which I need to scale automatically to consume ~80% of CPU time.Business Service pulls data from a (non-FIFO) queue so that I can adjust pool size without any issues. So far, I'm planning a different BS running every X seconds and sampling CPU with $system.Process.GetCPUTime() and scaling the pool size of the main BS up/down based on that metric. Has anyone tried something similar? Any advice/code samples would be appreciated. #Business Service #Interoperability #InterSystems IRIS 1 6 0 270
Question Eduard Lebedyuk · Jan 11, 2023 Inbound Adapter safe shutdown strategy In Interoperability productions Inbound Adapters extract and separate retrieval logic from actual payload processing, which is left to a BS. #Business Service #Interoperability #InterSystems IRIS 1 4 0 323
Question Eduard Lebedyuk · Nov 30, 2022 Iterating HS.SDA3.Container container twice I initialize a HS.SDA3.Container from a XML stream and I need to iterate over it twice. What is a correct way of doing it? Is it enough to adjust StreamPos/StreamOref? The optimal solution would be to use one loop, but it's not possible to combine the processing logic. #XML #InterSystems IRIS 1 4 1 458
Discussion Eduard Lebedyuk · Nov 9, 2022 Code Golf: Word Order We're back with a code golf! You will receive a string. Each word in the string will contain a number. This number is the position that word should have in the sentence. If the input string is empty, return an empty string. The output can only be in words, without the given numbers. Input "i2s T1his Te4st a3" Output This is a Test #Code Golf #Code Snippet #InterSystems IRIS 2 13 0 608
Article Eduard Lebedyuk · Nov 4, 2022 9m read VIP in AWS If you're running IRIS in a mirrored configuration for HA in AWS, the question of providing a Mirror VIP (Virtual IP) becomes relevant. Virtual IP offers a way for downstream systems to interact with IRIS using one IP address. Even when a failover happens, downstream systems can reconnect to the same IP address and continue working. #AWS #Cloud #Mirroring #InterSystems IRIS 12 5 4 2.8K
Article Eduard Lebedyuk · Sep 26, 2022 11m read Continuous Delivery of your InterSystems solution using GitLab - Part XI: Interoperability Welcome to the next chapter of my CI/CD series, where we discuss possible approaches toward software development with InterSystems technologies and GitLab. Today, let's talk about interoperability. Issue When you have an active interoperability production, you have two separate process flows: a working production that processes messages and a CI/CD process flow that updates code, production configuration and system default settings. Clearly, CI/CD process affects interoperability. But questions are: What exactly happens during an update? What do we need to do to minimize or eliminate production downtime during an update? #Business Process (BPL) #Continuous Delivery #Continuous Integration #Git #Interoperability #InterSystems IRIS 4 0 1 489
Discussion Eduard Lebedyuk · Sep 16, 2022 txt2img Several models, such as DALL-E, Midjourney, and StableDiffusion, became available recently. All these models generate digital images from natural language descriptions. The most interesting one, in my opinion, is StableDiffusion which is open source - released barely a few weeks ago. There's now an entire community trying to leverage it for various use cases. #Artificial Intelligence (AI) #Machine Learning (ML) #InterSystems IRIS 2 0 0 895
Question Eduard Lebedyuk · Aug 31, 2022 Is there a simplier way to get posix time with fractional seconds? Currently what I have is: #Beginner #InterSystems IRIS 0 4 0 247
Question Eduard Lebedyuk · Aug 14, 2022 UserImages.bmp in Studio install Standalone Studio install includes UserImages.bmp image, with these contents: I have never seen these icons anywhere in Studio, so where are they used? #Studio #InterSystems IRIS 2 2 0 217