Article Dmitry Maslennikov · Apr 23, 2021 1m read IntelliJ IDEA plugin for InterSystems Let me introduce the support of InterSystems IRIS in IntelliJ IDEA. This plugin adds Syntax Highlighting support for ObjectScript, and auto import and compile on the server after saving a changed file. It uses LanguageServer written in Rust, where was added an ability to import and compile code. #Development Environment #InterSystems IRIS Open Exchange app 4 0 0 623
Article Dmitry Maslennikov · Apr 19, 2021 2m read Grafana support for InterSystems IRIS Hello everyone, let me introduce, one of my latest projects. It is a DataSource plugin for Grafana, which can connect directly to InterSystems IRIS and gather any data (in the future). #Monitoring #SAM - System Alerting and Monitoring #InterSystems IRIS Open Exchange app 7 2 3 878
Article Dmitry Maslennikov · Mar 3, 2021 4m read Access to IRIS from Rust What do you think If I will say you, that very soon you will be able to connect to IRIS from the application written in Rust. What is Rust Rust is a multi-paradigm programming language designed for performance and safety, especially safe concurrency. Rust is syntactically similar to C++, but can guarantee memory safety by using a borrow checker to validate references. Rust achieves memory safety without garbage collection, and reference counting is optional. (c) Wikipedia #CaretDev #Deployment #Languages #VSCode #InterSystems IRIS #InterSystems IRIS for Health Open Exchange app 6 5 2 506
Article Dmitry Maslennikov · Oct 6, 2020 6m read RealWorld Application with InterSystems IRIS Let's imagine if you would like to write some real web application, for instance, some simple clone of medium.com. Such sort of application can be written using any different language on the backend side, or with any framework on the frontend side. So many ways to do the same application, and you can look at this project. Which offers a bunch of frontends and backends realizations for exactly the same application. And you can easily mix them, any chosen frontend should work with any backend. Let me introduce the same application realization for InterSystems IRIS on a backend side. #Angular #CaretDev #Contest #JSON #OAuth2 #React #REST API #Vue.js #InterSystems IRIS Open Exchange app 6 3 1 763
Article Dmitry Maslennikov · May 11, 2020 5m read Work with SAML in IRIS When a company is quite large and many different applications used by employees. But while those applications are mostly completely different, how to make it possible to not force users to enter credentials as many times as many applications they would like to use. The best way is to use SSO, so, it will be possible to have a portal, where users could launch any application used in a company. There are many different ways how to give access to your application by using the SSO mechanism, and some of them are: OAuth2 Kerberos SAML InterSystems already supports OAuth2 and can be quite easily deal with Kerberos. But I would like to discuss about using SAML (Security Assertion Markup Language). #Access control #Authentication #InterSystems IRIS Open Exchange app 4 2 5 1.5K
Article Dmitry Maslennikov · Mar 24, 2020 2m read BlocksExplorer map generator I hope you already know one of my projects Cache Blocks Explorer. I've recently renamed it to Blocks Explorer. For the recent contest, I've added a new feature, the ability to generate a static picture of any Cache or IRIS database. Like below. Where unique globals have a unique color. This is how looks like inside 9.5GB database. Where 1 pixel represents one block. By link on image you will get even bigger image, with more detalization. #Databases #System Administration #Caché #InterSystems IRIS Open Exchange app 2 6 0 332
Article Dmitry Maslennikov · Jul 13, 2019 6m read Dealing with a disk space in Docker I wanted to write it as a comment to article of @Evgeny Shvarov . But it happens to be so long, so, decided to post it separately. I would like to add a bit of clarification about how docker uses disk space and how to clean it. I use macOS, so, everything below, is mostly for macOS, but docker commands suit any platform. #Best Practices #CaretDev #Cloud #Containerization #Docker #System Administration #Caché #InterSystems IRIS 6 6 3 6.7K
Article Dmitry Maslennikov · Jun 10, 2019 2m read GitHub now supports ObjectScript Hey developers, I have great news for you. A few days ago, GitHub was updated with the latest version of linguist project, which is being used to recognize source code types in repositories. It helps to determine which programming language had been used in every file of the repository. Repository statistics section shows the results of this module work. Also, you can search across all available GitHub repositories for any chosen language. #Development Environment #GitHub #Languages #ObjectScript #Other 6 3 1 711
Article Dmitry Maslennikov · Jun 4, 2019 1m read Favourite editor for programming There are many projects which work on InterSystems products, and they are not always written only in ObjectScript. I think some of you working with different programming languages and already have some experience with other editors, and hope you already have a favourite online editor. My current choice is VSCode, whereas you may already know I have added an extension to support ObjectScript. #Development Environment #Other 1 8 0 665
Article Dmitry Maslennikov · Mar 20, 2019 3m read Behind the scene of isc-tar project and story about Continuous Integration using GitHub Actions This is a continuation of my story about the development of my project isc-tar started in the first part. Just having tests is not enough, it does not mean that you will run tests after all changes. Running tests should be automated, and when you cover all your functionality with tests, everything should work well after any change in any place. And Continuous Integration (CI) helps to keep the code and deployment procedure with as fewer bugs as possible and automates the routine procedures, like publishing releases. I use GitHub to store the source code. And some time ago GitHub started to work on its own CI/CD platform and named it GitHub Actions. It is not widely available, yet. You have to be signed as a beta tester for this feature, as I did. GitHub Actions uses quite a different way how to deal with a build workflow. What is important that Github Actions allows to use Docker, and it’s quite easy to customize available actions. And interesting that GitHub Actions is really much bigger than any classic CI like we have in Travis, Circle or Gitlab CI and so on. You can find more in the official documentation. #Containerization #Continuous Integration #Development Environment #DevOps #Docker #GitHub #InterSystems IRIS 3 0 1 594
Article Dmitry Maslennikov · Mar 18, 2019 4m read Behind the scene of isc-tar project I am just recently announced my project isc-tar. But sometimes it is not less interesting what’s behind the scene: how it was built, how it works and what happens around the project. Here is the story:How to develop this projectHow to test itHow to release new versions for publishingAnd finally how to automate all aboveContinuous integrationSo, I would like to tell all about it. #Development Environment #DevOps #Docker #VSCode #InterSystems IRIS 2 0 2 520
Article Dmitry Maslennikov · Mar 15, 2019 2m read Tar compress tool in ObjectScript I'm sure most of you have already familiar with the possibility of using GZIP in InterSystems products. But, the problem is that GZIP working only with one file or stream, and it does not support folders. When you work in Unix systems, there is a possibility how to solve it, using tar compress tool which goes with every Linux system from out of the box. But what to do if you have work on Windows as well, which does not have it. I am pleased to offer you my new project isc-tar, which will help you do not care about operating system, and deal with tar files anywhere. #Development Environment #Tips & Tricks #Tools #InterSystems IRIS #Open Exchange Open Exchange app 6 1 4 760
Article Dmitry Maslennikov · Nov 5, 2018 13m read Abnormal programming with InterSystems I bet that not everyone familiar with InterSystems Caché knows about Studio extensions for working with the source code. You can actually use the Studio to create your own type of source code, compile it into interpretable (INT) and object code, and sometimes even add code completion support. That is, theoretically, you can make the Studio support any programming language that will be executed by the DBMS just as well as Caché ObjectScript. In this article, I will give you a simple example of writing programs in Caché Studio using a language that resembles JavaScript. If you are interested, please read along. #Caché #Studio #InterSystems IRIS 12 6 6 1.2K
Article Dmitry Maslennikov · Sep 4, 2018 1m read Global Summit 2018: Unconference topics to discuss Global Summit will happen too soon, and I'm going to be there, as many of you I hope. You should register if still did not do it. #Events #Global Summit 2018 #Global Summit 2 5 0 443
Article Dmitry Maslennikov · Sep 4, 2018 1m read GlobalSummit 2018 share your experience with Docker GlobalSummit too close now, so many people going to be there from so many companies. I'm sure that somebody already uses Docker or even Kubernetes in their work, I do. And would like to share my experience and thoughts about what could be better. And want to hear other people about their experience, how you use Docker, what issues have you faced and how did you solve it. I think InterSystems will help us to find time and place when we could do it, and hope @Luca Ravazzolo will join us. #Docker #Global Summit 2018 #Global Summit 0 3 0 297
Article Dmitry Maslennikov · Jun 2, 2017 4m read What you could miss about Unicode and how it is stored in Caché It was my answer to the question appeared in GoogleGroups. And when I answered there I figured out that it might worth to post an article and to add some light on how Unicode is stored in Caché. #Caché #Databases #Tips & Tricks 6 2 0 1.1K
Article Dmitry Maslennikov · Apr 19, 2017 6m read Containerization Caché - let's add our application In my previous article, I gave an example of how to get the own image with InterSystems Caché. Now it's time to launch a project with container. #Containerization #Docker #System Administration #Terminal #Caché 10 5 3 1.5K
Article Dmitry Maslennikov · Mar 13, 2017 6m read Containerization Caché In this article, I am going to give some examples to get your own docker image with InterSystems Caché/Ensemble. #Cloud #Containerization #DevOps #Docker #System Administration #Caché 19 40 2 4.4K
Article Dmitry Maslennikov · Oct 17, 2016 6m read Internal Structure of Caché Database Blocks, Part 3 This is the third article (see Part 1 and Part 2) where I continue to introduce you to the internal structure of Caché databases. This time, I will tell you a few interesting things and explain how my Caché Blocks Explorer project can help make your work more productive. #Databases #System Administration #Caché 10 11 0 2.1K
Article Dmitry Maslennikov · Oct 11, 2016 5m read Internal Structure of Caché Database Blocks, Part 2 This text is a continuation of my article where I explained the structure a Caché database. In this article, I described the types of blocks, connections between them and their relation to globals. The article was purely theoretical. I made a project that helps visualize the block tree - and this article will explain how it works in great detail. #Databases #System Administration #Caché 8 3 1 1.9K