go to post Sergei Shutov · Jan 10, 2021 I shrunk your code a bit, it's 72 characters now: f n=1:1:n f i=1:1:n,n-1:-1:1,"" s a=$e(112345678,2,i) w !?n-i,a,i,$re(a)
go to post Sergei Shutov · Dec 24, 2020 Another way to look at results -- by medal count. Border is part 1 (doesn't count), background is part 2.
go to post Sergei Shutov · Dec 8, 2020 On older versions you can use built-in health monitor (docs) You can also use SNMP (docs) with SNMP agent like Zabbix
go to post Sergei Shutov · Dec 6, 2020 Hi Ahmad, IRIS has multiple ways to get operational statistics, most recent addition being /api/monitor REST service (docs) which you can use either from our pre-packaged SAM solution (docs) or from your own setup of Prometheus/Grafana or similar tools
go to post Sergei Shutov · Dec 22, 2019 Despite being disappointing, this is actually a correct result - you would get the same with OS level tools
go to post Sergei Shutov · Dec 16, 2019 Hi Nikita, > A need to change how the self-update mechanism works or shut it down completely.If a package is distributed via package manager, its self-update should be completely removed. It should be a responsibility of package manager to alert the user that new version of package is available and to install it. > Thus, create an additional pipeline (or split the codebase) for 2 WebTerminal versions: ZPM's one and a regular one with all the tests andso on.Some package managers allow to apply patches to software before packaging it, but I don't think it's the case for ZPM at the moment. I believe you will need to do a separate build for ZPM/non-ZPM versions of your software. You can either apply some patches during the build, or refactor the software so that it can run without auto updater if it's not installed.
go to post Sergei Shutov · Dec 12, 2019 The whole purpose of package manager is to get rid of individual installer/updater scripts written by individual developers and replace them with package management utility. So that you have a standard way of installing, removing and updating your packages. So I don't quite understand why this question is raised in this context -- of course package manager shouldn't support custom installers and updaters. It might need to support Projections eventually because as you said it's a part of language, but definitely not for installing purposes.
go to post Sergei Shutov · Sep 17, 2019 In addition to talks mentioned by Luca, I will be hosting an Experience Lab "Containerising Apps with IRIS" where you will be able to build and publish your own container with IRIS-based application: Tuesday 1:30PM and Wednesday 12:00PM, you need to pre-register but there are still spots available for both time slots.
go to post Sergei Shutov · Aug 21, 2019 Hi Jude,For questions like this you should use TRC https://trc.intersystems.com/ -- this is likely related to your environment setup which shouldn't be shared publicly and there are not many Trak people on the Developer community anyway.CheersSergei
go to post Sergei Shutov · Aug 7, 2019 Just as a side comment, this has actually nothing to do with cookies. Cookies don't protect against CSRF. This is a custom HTTP header with a word "Cookie" in its name. So while it's correct it's a bit confusing.I was not sure if checking for just presence of the header and not an actual value is enough (we assign a random value at logon time and store it in session), but apparently all browsers prevent cross-site AJAX requests so 3rd party site can't send custom header.
go to post Sergei Shutov · Feb 17, 2019 In that case I think it would be nice to have several ways to distribute a project: "compiled" / "binary" version in form of IRIS.DAT which can be added to IRIS instance as a database and then either used in separate namespace or mapped into an existing one or %All, with clear instructions on naming conventions and how to use "source" which can be imported into new or existing namespace and then changed (gitHub profile is enough for this type of distribution) for a standalone type of tool, a Docker image which can be easily run or used as a sample/demo
go to post Sergei Shutov · Feb 14, 2019 One thing to consider is that Community Edition has a restriction on how many additional namespaces and databases you can have (and that's exactly zero). So while it may be nice to be able to have 3rd party tool in it's own database, it would also be nice to be able to use it from within USER and %SYS.
go to post Sergei Shutov · Aug 16, 2018 You can use $zu function directly with third parameter $ZU(171,1) returns CPU time (in milliseconds) on any OS, as a string in format SYS_time,USER_time $ZU(171,1,pid) returns total CPU time (system + user) for process pid. However this will return CPU time -- the time CPU was actually serving the process, not the time since process was started (when process is idle, this counter does not increase). Eduard's solution would be better if you need the total time.
go to post Sergei Shutov · Aug 14, 2018 I'm glad you found the solution, though still not sure about its usefulness :)
go to post Sergei Shutov · Aug 13, 2018 I believe it's enough to have [Final] keyword set in deployed mode to give a developer a hint that this class should not be extended. If you want to enforce this behaviour, I would add a check into each method as a first line , something like if $this.%ClassName(1)'="My.Class" quit $$$ERROR(50000,"don't extend this class") Since all code will be deployed, developers will not be able to remove this check easily. You can also try to add a method-generator, I believe when you have a deployed class with method generator it will not be able to compile a subclass without method generator's source (though I'm not sure).
go to post Sergei Shutov · Jun 28, 2018 Good one! You can actually use 10e21 in COS code, it's a valid number format.
go to post Sergei Shutov · Jun 28, 2018 Also don't forget to change docker storage driver if you want to run examples http://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls?...