Yes... those were really very sad news. Damn virus! 馃槩. Conway was one of the greatest mathematicians. RIP.
- Log in to post comments
Yes... those were really very sad news. Damn virus! 馃槩. Conway was one of the greatest mathematicians. RIP.
How could I access? I've registered three times at least... and I don't get any link to the webinar... just to the Register Page.
Hallo Robert!
Glad to hear it helped you! Now it's time to test with native support to Linux that comes with last version of Windows... let's see how it goes with WSL2!
Best regards.
ZPM forces to use categories in the folder structure... perhaps, to make it easier, VS Code ObjectScript extension should be configured with that option by default... just an idea.
Also, is it there any place with full doc about module.xml? Articles are full of really useful info but having to navigate through all of them is a bit confusing.
Oh my... I didn't see the Wiki... ![]()
Thanks!
Aggggghhh... OK... come back to previous structure. At least... I can confirm that it was a good idea...but I was not the first one ![]()
I'm running also with last Windows 10 version and WSL2... it goes really well till now. I found that WSL fights for resources with Windows and although it releases RAM and processors when they're not used in a while, it's not as agile as I would like... so, the only tweak I had to do was to limit the resources that the WSL2 could take... to do that it's just required to add a new file in your user profile folder: c:\Users\<youruser>, call it .wslconfig and add something like:
[wsl2]
memory=6GB # Limits VM memory in WSL 2 to 6 GB
processors=2 # Makes the WSL 2 VM use two virtual processors
Terminate WSL2 and launch it again and that's all... from then on, your WSL2 won't take more resources than specified... if, for some tests for example, you need more, you can change the file and increment the resources.... this is something that likely will be addressed in a more unmanaged way in the future... at least is what Microsoft WSL teams is saying in the forums.
BTW, you can find WSL2 well under c:\Users\<youruser>\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu..... in the case of my Ubuntu distribution... but you can change where is stored: https://github.com/MicrosoftDocs/WSL/issues/412
Hi Mathew,
that method doesn't return any info neither in case of error nor success... as you said, it always return "".
The option that Anderson mentions is a valid one to double-check that everything went well.
I wondered if anyone has been asked about this feature/requirement lately...
Is it documented anywhere? I can't find it in on-line doc.
Thanks Robert and Julius... just wonder if not being documented means that it's not a supported or recommended feature.
Bumping into this question... almost a year late :-)... that query had a sintax error... you should put a comma before constraint.
In any case, Robert answer is also OK... unless you don't want ID to be autoincremental but to decide which value should go in it for each row.
Very interesting Robert. I'll take note of this.
2 decades went by Robert??? 馃槹 Time flies... CSP was great at that time... it was a breath of fresh air for our installed base and competed very well with other technologies in those years... But current front-end technologies make magic nowadays... they're powerful and change a lot and fast. Which is good... and bad... Angular versions change in a blinking... in 7 years, 11 major versions.....difficult to follow them up. I realize the beauty and simplicity of our proposals...with CSP, ZEN,... when you start to learn other front-end frameworks... but the communities behind them let them improve and grow up day-to-day... no way that a single company can compete against that.
Thanks for sharing Steve. I think these real use cases of security configuration are really useful.
Ok, I've just reviewed the translation of Chapter 4 to english. Here I talk briefly about Indirection in ObjectScript and, mostly, about Globals... Enjoy!
Well, this took some more time.... but arrived on time before end of year. Chapter 5 captions reviewed!! In this chapter I talk about OO.OO in ObjectScript, a bit of JSON native support, Macros, Error handling,... with guided hands-on.
Just one left. Enjoy!
It was funny really... and served me to realize how hard is to create this kind of material. Now I appreciate it much more. :-)
Thanks Joel! I saw it in early previews and I didn't realize there were already these shorcuts... perhaps they weren't there yet.
One question... how could we save the alias we have defined so to "import" and use them in other instances?
Now just needs to be a way to "import it"/"preserve"/"make it easier" in Windows systems, to cover the other 70% of people. ![]()
Yep, I know. But I hoped something more "transparent"... if we deal with several instances and change with certain frecuency (as it's my case), having to define direct accesses when we have a link in the "cube" menu, doesn't seem too clean. For Linux/Mac users, the solution is clean. You just define your aliases file, and you just can install your IRIS instances... all of them would make use of them seamlessly... that's the functionality. Right now, for windows users, it's incomplete. A pity because it's a really very good feature to have, our terminal/shell needs these kind of tools, but it has to be much easier to reuse among instances. IMHO.
Perhaps it would be as easy as to change our installer so to include that argument out-of-the-box in the call to Terminal in the cube... and then let the developers build their own script in their own home directory.
Well, it has been a long trip... but Chapter 6, "What's about SQL?" is finally published with reviewed English CC...
In this last chapter I'll show you what's about the Multi-Model architecture of InterSystems IRIS, and how ObjectScript is able to work also with SQL paradigm in a very easy way to also cover that feature of the platform.
We'll do hands-on exercises of embedded and dynamic SQL using the small class model we defined in the previous chapter... which now we'll see as an E/R model.
And... That's all folks!
Happy Coding!
Hi again, I've just added to the article the slides that I used during the video tutorial. Feel free to use all of some of them. If you do, the only thing I would kindly ask you is to include a link as a reference to this article within our community.
For the ones that contacted me, you were right, the repository in GitHub was set as private. It's set to public now: GitHub Repository - Examples
I think that that's not valid as "in theory" he doesn't know the name of variables. I would try this:
ClassMethod Indirection()
{
set TABLES(0)="EVEN"
set TABLES(1)="ODD"
for i=1:1:100
{
set table = TABLES((i#2))
set @table@(i)=i
}
zw @table
set evenTotal=0
set i=""
for
{
set i=$ORDER(@table@(i)) QUIT:i=""
set evenTotal = evenTotal+@table@(i)
}
zwrite evenTotal
}
Take into account that variables created with indirection are always public even if they're created within a procedure (in this case a classmethod with ProcedureBlock = 1 by default). So to avoid them to be in memory outside the method, you'll have to kill them.
Interesting summary. Even as a Windows user I'll bockmark it to take a closer look... regarding the terminal... give it a try to Windows Terminal Preview...available in Microsoft Store... sure you'll like it.
Also for screen snapshots... if you want to have the chance to decide where to store it... use this option
.png)
that you'll find in Windows Ink workspace... (the one you get rid of :-) ) ... it'll capture the whole screen and open it to let you cut, modify and copy or save the image...
I think they do so in Windows 11 :-)
Right. But we should have a quicker way to get the parameter in our Python code.
Replacing
set r = ..#MYPARAM
with
r = iris.cls('MyPackage.Subpackage.ClassName')._GetParameter('MYPARAM')
doesn't seem too "developer friendly" to me ![]()
By the way, it varies if we're in a ClassMethod or in an instance Method. In instance we could do:
r = self._GetParameter('MYPARAM')
which it's more acceptable...
But, in a classmethod it seems that our only chance would be the long version.
I wonder if we could translate them to Python as read-only special properties, adopting perhaps some convention in their name to avoid the conflicts in the (unusual) case that there is a parameter with same name that a property.
Thinking in how our intellisense works, we need classes generated... thinking on how FHIR work, we will need to use non-persistent objects but with features like the ones that inherite from %Dynamic*** or the ones that make use of %JSON.Adapter... so one (very general) idea would be to start from the JSON schema of a FHIR release or profile with which you need to work and have a tool that automatically generates the classes that map such schema... and those classes have to have the easiness to export/import JSON documents that %Dynamic* and %JSON.* packages give us.
We should have in mind that these are intermediary packages, no need to persist, we just need them to help us for having intellisense when manual programming FHIR resources, also to help in DTL definitions, etc... so we could have several packages, one for each FHIR release/profile we want to use: r4.*, r4uscore.*, r5il.*,... in the end the objects instanced will inherit for a common class of type %<SomeKindOfNew>DynamicObject.... that provide the helpful logic to use %ToJSON, %FromJSON, %BulkExport,... and to be used in DTL definitions from HL7 to r4.* resource... DTL from r4.* to r5.* resources,... and the capability to be easily serializable or work as virtual document if needed to be sent within our interoperability framework...
Just thinking aloud
This command fails for me in Windows (calling it from Powershell)... I got an invalid argument error...
.png)
also using the \ to escape the quotes...
.png)
I think the blank space it's the culprit here... how should we escape it?