Encontrar

Article
· Dec 25, 2021 2m read

AOC2021-rcc

After >40 years of writing in-countable lines of code in M*/COS/ISOS (and a bunch of archaic languages)
I decided for myself to set a strong signal for the future. We have Embedded Python available
(still pre-release)! I just felt it as a sacrilege to ignore this excellent NEW opportunity and
stay with the old sermon that I had used for decades.
Advent means the time of waiting and preparing for something important to come. 
So to me, it meant Advent of Embedded Python Code that finally showed up in time.
ALL class methods of 25 exercises + utility are exclusively written using Embedded Python.
And I'm proud that it ranked as #3 completed by registered members of the Developer Community.

For later use I have added also

  • all full descriptions of the exercises as Day*.md,
  • a snapshot of the private leaderboard at the time of completion of the exercise,
  • all test data, exercises input data and alternate exercises input data,
  • result summaries for all Test examples, all Exercises, and all alternate Exercises.
  • fully compatible with ZPM and therefore also available without Docker image So you are able to follow in all details.

Prerequisites

Make sure you have git and Docker desktop installed.
ATTENTION: The Community License of the IRIS preview image expires 12/1/2022

Installation

Clone/git pull the repo into any local directory

 git clone https://github.com/isc-at/AoC2021-rcc.git

Open the terminal in this directory and build and run the IRIS container with your project:

 docker-compose up -d --build

iris.script will import everything you place under /src into IRIS.

How to Test it

Open IRIS terminal:

$ docker-compose exec iris iris session iris
USER>do ##class(dc.aoc2021.Day1).Run()
  • Extended Run parameters: do ##class(dc.aoc2021.Day3).Run(part,test) with part = 1,2 ; run only first or second part of example, anything else = both test = 0 ; use alternate input set test = 1..n ; run other tests as provided by example
; to run all exercises use
for day=0:1:25 do $classmethod("dc.aoc2021.Day"_day,"Run")
; to run all alteratete exercises use  test=0
for day=0:1:25 do $classmethod("dc.aoc2021.Day"_day,"Run",,0)
; to run all first test examples use
for day=0:1:25 do $classmethod("dc.aoc2021.Day"_day,"Run",,1)
; to run ALL this with just one line
for day=0:1:25 for test=-1:1:1 do $classmethod("dc.aoc2021.Day"_day,"Run",,test)

Some exercises have more than 1 example:
Day8:2, Day12:3, Day16:15, Day18:10, Day22:3, Day24:none

; to run all test examlpes of day 16
for example=1:1:15 do ##class(dc.aoc2021.Day16).Run(,example)

Files /data/ALL*.txt hold all available results

GitHub

Discussion (0)3
Log in or sign up to continue
Announcement
· Dec 22, 2021

Enhancement Requests, Ideas and Innovations

Just wanted to give visibility to a place in GitHub where everybody can publish Enhancement Requests, Ideas and Innovations that would be great to have in our InterSystems Technology ecosystem.

If you want to add your enhancement request, or take a look and see if there is already there and vote for it, contribute, etc..., click on this link. That doesn't guarantee that Product Management decides to go on that direction, they have to balance many things to decide our products roadmap, but having the direct input from our Community is invaluable.

Come on! Go for it and make your suggestions!

1 Comment
Discussion (1)2
Log in or sign up to continue
Article
· Dec 21, 2021 1m read

監査ログをプログラムで出力(ユーザやイベント指定など)する方法

これは、InterSystems FAQサイトの記事です。
 

監査ログをプログラミングで出力するために、監査ログの一覧を取得する%SYS.Audit クラスのListクエリを利用することができます。


サンプルコードは以下のようになります。

 Set statement=##class(%SQL.Statement).%New()  
 Set status=statement.%PrepareClassQuery("%SYS.Audit","List")
 Set rs=statement.%Execute()  
 Set tab = $char(9)
 While rs.%Next() {    
   Write rs.%Get("TimeStamp")_tab_rs.%Get("Event")_tab_rs.%Get("Username"),!      
}
Discussion (0)1
Log in or sign up to continue
Article
· Dec 20, 2021 1m read

Holiday Reading: What Lies Beneath!

For those of you who might be new to IRIS, and even those who have used Cache or IRIS for some time but want to explore beyond its usually-assumed boundaries and practices, you might want to dive into this detailed exploration of the database engine that is at its heart, and discover just what you can really do with it, going way beyond what InterSystems have done with it for you. 

You'll discover that it's actually a hugely powerful yet incredibly simple storage engine that allows you to model any kind of database you wish, once you understand and master its simple, basic principles. Its storage model can be referred to as "Global Storage" which, it turns out, can be modelled on top of any hierarchical data storage engine, and even on the Redis NoSQL database.  However, the "native" implementations, eg in IRIS and Cache, are the fastest by a significant margin, outpacing what the database world normally recognise as the planet's fastest databases (eg LMDB).

Global Storage is (sadly) one of the best kept secrets of the database world, but I've distilled into this set of articles all my 40-odd years of knowledge and experience of using and pushing this database technology to its limits.  It's my attempt to try to make it all at least a little bit less secret and open your eyes to what really lies beneath!

So strap yourself in and read all about it here:

https://github.com/robtweed/global_storage

5 Comments
Discussion (5)3
Log in or sign up to continue
Please note that this post is obsolete.
Article
· Dec 14, 2021 1m read

How to Change Your Primary Email Address on Developer Ecosystem Resources

>> Udated guide <<


Hey everyone,

Need to change your PRIMARY email address (login email) and not lose all your activity on the Developer Ecosystem resources: Community, Global Masters, and Open Exchange?

It's easy! We will take care! 

1️⃣ We will correctly transfer all your information from the old DC account to the new one.

All your posts, comments, mentions, likes, etc. will be saved on the new account.

2️⃣ If you are a member of Global Masters, your level, badges, points, etc. will also be transferred to your new account. 

3️⃣ We will also take care of transferring your applications on Open Exchange.

4️⃣ Also, if you just need to deactivate your old account (and not to transfer your acitivity), we will do it in one click.

Just contact @Iryna Mologa in Direct Messages on DC or by email:

  • send a link to your old account (-s)
  • send a link to your new account (-s)
  • indicate on which resource(-s) you need to transfer your activity (DC/GM/OEX/all resources)

So!

We will do our best so that you do not feel like you have switched from one account to another! 

Please feel free to contact us. Keep in touch! 


P.s. You can also just add a comment on this post with links to your old and new accounts.

2 Comments
Discussion (2)2
Log in or sign up to continue