A quine is a computer program which takes no input and produces a copy of its own source code as its only output.

Wikipedia.

How about a fun challenge?

The task is to write a quine in InterSystems ObjectScript. It can be a class, or a method, or a routine, or just a line to be executed in a terminal. You decide!

Here's some resources you might consider useful:

Hard mode: do not use source code access functions.

Here's my (extremely uninspired, I know) attempt:

Class User.Quine
{

/// do ##class(User.Quine).Test()
ClassMethod Test()
{
    set sc = ##class(%Compiler.UDL.TextServices).GetTextAsString($namespace, $classname(), .str)
    write str
}

}

It produces this output:

How many different ways of producing a quine are there in ObjectScript?

9 15
0 423
Discussion
John Murray · Mar 3, 2016
Anyone using Visual Studio Code?

Is anyone in the fine community of developers who work with ISC technologies looking at Microsoft's Visual Studio Code offering?

One of Bill McCormick's recent posts about Atelier referred to Visual Studio being considered the best IDE. Granted, Code is far less of a tool than VS, and probably always will be. But it claims to be open source and cross-platform, i.e. Linux and OS X as well as Windows.

8 26
3 4,746
Discussion
Andre Larsen Barbosa · Nov 10, 2020
Why change?

I have already asked a question about migrating an Oracle database to Caché, and I was promptly answered. Now, I have one more question, however it is more conceptual. In general, any tool defends its benefits, and looking at Caché's, among many, there is a lot of talk about speed. The question is, if I already have a database, and at the moment, its performance is not a problem, I would like to know what else could influence the change of this database? Remembering that it is functional and without any apparent problem.

8 2
1 188

New month, new code golf!

You will receive a string with a label code with numbers and letters.
Our challenge is to check if this code begins with 1, 2, or 3 and ends with A, B, C, S, or R.
It should return true(1) if so or return false(0) otherwise.
As usual shortest solution wins.

Input

"198739A79D9R"

Output

1

6 4
1 199

Hi Community, 

We've launched a nice competition on Global Masters under the "Season of Giving" campaign, which I hope will bring inspiration to all of you!

We inviting you to share your task ideas for new applications that could be developed on InterSystems Technology. Let's enrich our Open Exchange apps gallery with great applications in 2021!

 

6 41
0 566
Discussion
Evgeny Shvarov · Sep 21, 2020
Unit Testing Naming Convention

Hi Developers!

Recently we discussed the naming convention on packages we deploy and even made some choices.

Here I want to have a conversation on the naming convention for unit tests.

Of course, we wish every good library has unit tests. Here is the documentation and some good articles(one, two, three) regarding it on the Developer Community.

Let's decide on the naming of UnitTests packages?

The suggestion is that unit test classes will all start with the UnitTest package name.

E.g. if your library's class name is:

johndoe.lib.class

The related unit test class will be:

UnitTest.johndoe.lib.class

What about folders?

The suggestion is that unit test classes will live separately from source classes, e.g. in /tests directory.

Here is the example of a repository with unit tests that are named and placed according to the proposal.

What do you think?

5 6
0 184
Discussion
Dan Pasco · Apr 23, 2021
External Language Server in 2021.1

Now that IRIS 2021.1 is available as a preview version, I would like to demonstrate a "new" feature. The Java Gateway has been around for a while now but in 2021.1 it has new skills. External Language Servers are available for Java, DotNet, and Python. Here is a quick - very quick - demo of using the External Java Server. Please don't focus solely on what this demo is doing but rather on what is happening in this demo. First, I acquire a gateway connection oref. This gateway connection is connected to the External Java Server - one of the External Language Servers.

5 9
0 346
Discussion
Utsavi Gajjar · May 13, 2021
Shout out to the Dev Community !

Hello All,

Just wanted to acknowledge the fact that this community has become a great resource for help. I have had many wonderful people helping me out with my questions in last couple of weeks. Thank you to all of you :)

Regards,

Utsavi

 

5 2
0 130

For all docker versions we have direct download links.

Like on our repository or on docker hub :

However, there is no direct link to download the installable (non docker) versions.

I propose you these two scripts to solve this need, the first one is with the wget command, the other one in curl.

5 1
4 152

For me the best moments were:

1 - Global Masters WON the 2021 Influitive BAMMIE Award for Most Passionate Community

2 - Tech Article contests

3 - InterSystems Programming Contests

4 - 10,000+ DC members

5 - Partner directory and business services

6 - 500+ applications on OEX

7 - Open Virtual Summits

8 - Prizes from GM points

9  - Free online learning courses

10 - Discord channels

11 - Innovations from IRIS Data Platform

12 - Multilanguage communities, including portuguese, spanish and chinese community

5 4
0 70

You will receive a string of comma-separated integers whose elements have both a negative and a positive value, except for one integer that is either only negative or only positive, our challenge will be to find that integer.
As usual shortest solution wins.

Input

"1,-1,2,-2,3"

Output

3

3 has no matching negative appearance

4 34
0 563

Hello, InterSystems community!

Lately, you have probably heard of the new InterSystems Package Manager  - ZPM. If you're familiar with it or with such package managers as NPM, Dep, pip/PyPI, etc. or just know what is it all about -- this question is for you! The question I want to arise is actually a system design question, or, in other words, "how should ZPM implement it".

4 14
0 232

This is a lesson learned, which I would like to share with community.  


Recently I ran into an issue, where I was using %ConstructClone and it kept cloning extra records, which were not needed.  The record for which I was trying to run a clone had many-to-one relationships.  

The solution to this issue was using param -1.  If you run %ConstructClone(-1) it will not clone relationships, but rather just clone single oref as desired in this case.


I hope this information helps someone who is working with similar records.

4 0
0 270
Discussion
Eduard Lebedyuk · Nov 17, 2021
Code Golf - Encoder

We need to send some coordinates to a spaceship through a laser beam.
To do that we have to encode it, and beam it out into space.
Your mission is to implement the encoder with a compression standard.
As usual shortest solution wins.

Task

You will receive a string of comma-separated integers and you will return a new string of comma-separated integers and sequence descriptors.

Input

"0,2,4,5,5,5,5,5,3,4,5"

Output

"0-4/2,5*5,3-5"

4 8
2 489
Discussion
Eduard Lebedyuk · Jul 31, 2019
CodeGolf: FizzBuzz

Let's have a round of CodeGolf!

As usual the goal is to write the shortest solution for a specified problem.

Today we have one of the classics: FizzBuzz.

Write a program that prints the numbers from 1 to 100.

But for multiples of three print “Fizz” instead of the number and for the multiples of five print “Buzz”.

For numbers which are multiples of both three and five print “FizzBuzz”

4 22
1 492

Hi,

we're planning some work on our SQL Query Plan functionality for a future release of InterSystems IRIS and are interested to hear how you're using them today, or what'd keep you from using them. Rather than try and fit everything in a rigid survey, I thought a simple thread on our beloved DC might also reveal some use patterns that we support or could do a better job on. 

3 7
0 221