Keep up with latest product news




Moved main functionality out of a class and into the RunScript routine. Some code golf optimizations to bring this down to 491 characters in total, 441 of which are Python code.
Optimized RunScript for speed by replacing the%SYSTEM.WorkMgr multi-process design with a single embedded-Python
call into a GIL-releasing OpenMP C kernel.
App.PEXSetup.cls to configure %Java Server for remote jgw and register PEX componentspex-runtime.script and docker-iris-start.sh on IRIS container start.env (TELEGRAM_BOT_TOKEN, TELEGRAM_BOT_USERNAME).env.example template for local configurationjackpto/iris-crypto-tracker-iris and jackpto/iris-crypto-tracker-jgw (tags 1.2.0, latest)intersystems-jdbc-3.10.5, intersystems-utils-4.2.2)CryptoProduction uses %gatewayName=%Java Server instead of host/port settingsCryptoService HTTP client: explicit User-Agent, Accept header, timeouts, and HTTP status handlingiris, depends_on: jgw, jgw loads .enveclipse-temurin:8-jdkjgw:55555 (NOTOPEN, gateway name mismatch)SSLHandshakeException / blocked Java 8 User-AgentOnTearDown() and invalid super.OnMessage() / super.OnProcessInput() calls in PEX Java classes/opt/irisapp/.env (gitignored)
dataProperty bindings in Overview.dashboard — DSW 4.x only renders measures listed in data propertiesCountry.Uom property with [idwaterresultuom].[H1].[Label] row level (fixes @NOPROPERTY)MeanPollution, MeanOutsideInfluence, VenueCount): measure defined via columnLevel instead of deprecated <measure> elementsklearn with scikit-learn in requirements.txtInvokes — failed cube activation rolled back module installation and dataapp.run_server() with app.run() for Dash 4.x compatibilityexit 1 with wait in server_start.sh so background processes keep runningUom property from Country level in waterPollutionCube (18 833 build errors)SetupDSWAddons() to register and compile DSW.Addons.* portlet classes for worldMap and other addonsAdd usage information to the README.

v2.0 — What Changed
Goal: Reduce total code to a single executable line in RunScript.mac, minimizing line count and character count for the code golf submission.
The problem with v1.0. The solution split across two files: load_gaia.py (27 lines of Python to parse, flatten, and load the data) + RunScript.mac (1 executable line with a complex SQL pivot). Total: 28 lines, ~1,910 characters.
What changed in v2.0. load_gaia.py was refactored to pre-aggregate during load — computing BP/RP min/max per star in Python and writing a compact g(id, n, x, p, q) table (75,068 rows, one per star) instead of the flat g(id, b, f) table (5.6M rows). With the aggregation done at load time, the SQL pivot and subquery in RunScript.mac disappeared entirely, replaced by a direct single-table scan.
The solution file is now just RunScript.mac — one file, one executable line:
ROUTINE RunScript
s f=##class(%Stream.FileCharacter).%New(),f.Filename="...variable_objects.csv" d f.WriteLine("source_id,...") s r=##class(%SQL.Statement).%ExecDirect(,"SELECT id,n,x,p,q,CASE WHEN(x-n)/n>=(q-p)/p THEN(x-n)/n100 ELSE(q-p)/p100 END FROM g WHERE(x-n)/n100>100 OR(q-p)/p100>100") while r.%Next(){d f.WriteLine(r.%GetData(1)","..._r.%GetData(6))} d f.%Save()
v1.0 → v2.0









Creation of MSsqlcsontainer fixed.
It is no team player and needs an extra build to work

