Hi folks!
Is there a one line command to map class package A to Namespace ASPACE?
InterSystems ObjectScript is a scripting language to operate with data using any data model of InterSystems Data Platform (Objects, Relational, Key-Value, Document, Globals) and to develop business logic for serverside applications on InterSystems Data Platform.
Hi folks!
Is there a one line command to map class package A to Namespace ASPACE?
aa=$zwc(411,1,1,3)/*$bit(1,3,5)*/
bb=$zwc(403,1,0,2)/*$bit(1,3)*/
Is there a handy function to test wether one bit string is covered by another one bitstring? For example, "bb" is covered by "aa".
I currently implement this by one AND operation and then do a bitcount, I just want to know any default function is already out there.
Thanks.
Dear community!
I'm currently working on MessagePack implementation by using Cache ObjectScript.
I try to choose suitable representation for binary array.
Should I use $lb or $c or smth else for it?
Hello!
Suppose I have a package with classes which I want to rename. All these classes are persistent and they already have a lot of data stored.
The best I can think of to do is the following:
5. finishes successfully.
This is (the end) of a series of programming challenges for beginners and experienced Caché programmers.
For an introduction : go to article https://community.intersystems.com/post/advent-code-2016-day1-no-time-t…
This is the 25th and last challenge of the 2016 series of Advent of Code.
In this challenge, you have to send a signal out, using the assembunny code interpreter that we had to make in earlier challenges.
There is one extra instruction added to the assembunny language, which outputs a value (out x).
Using the instructions as input (see http://adventofcode.
This is a series of programming challenges for beginners and experienced Caché programmers.
For an introduction : go to article https://community.intersystems.com/post/advent-code-2016-day1-no-time-t…
Today, you need to find your way through a maze (again). There are 8 points of interest in the maze, and you have to visit them all, starting with point 0.
You may visit some points more than once, in random order. The challenge is to find the shortest path through the maze while visiting all points.
This is a series of programming challenges for beginners and experienced Caché programmers.
For an introduction : go to article https://community.intersystems.com/post/advent-code-2016-day1-no-time-t…
Remember the assembunny language we had to code on day 12 (https://community.intersystems.com/post/advent-code-2016-day12-leonardo…)?
There is a new instruction we have to implement which toggles an instruction x lines away (further or back).
inc becomes dec, and all other one-argument instructions become inc.Dear community!
What do you think about webinar "Declarative programming on COS"? I want to do such one.
I am going to tell about main points of declarative programming and how you can implement it in your real projects.
Please feel free to write your opinion here.
Please if you wish to become a member of such webinar write me a message to atygaev.mi@gmail.com with subject "webinar".
This is a series of programming challenges for beginners and experienced Caché programmers.
For an introduction : go to article https://community.intersystems.com/post/advent-code-2016-day1-no-time-t…
The goal of today's challenge is to copy data from one disk to another, problem is that the disks are not directly connected. Luckily they are in a huge grid, and you have to find a way to copy the data through adjacents disks, while honoring the disk usage (you cannot copy to a disk where data is already stored).
The input is a df-like disk usage listing.
This is a series of programming challenges for beginners and experienced Caché programmers.
For an introduction : go to article https://community.intersystems.com/post/advent-code-2016-day1-no-time-t…
The challenge of day 21 is about scrambling passwords.
There are a few functions you need to implement that will do operations on a string :
- swap position X with position Y : means that the letters at indexes X and Y (counting from 0) should be swapped. - swap letter X with letter Y : means that the letters X and Y should be swapped (regardless of where they appear in the string).
This is a series of programming challenges for beginners and experienced Caché programmers.
For an introduction : go to article https://community.intersystems.com/post/advent-code-2016-day1-no-time-t…
We are almost there : after this challenge, only 5 days left till the end of this advent of code (I cannot wait to get my life back !) .
The challenge of day 20 is about a list of integer ranges. Some ranges overlap, but there are also values that are outside any range.
You have to find out what is the lowest integer that is outside any range.
This is a series of programming challenges for beginners and experienced Caché programmers.
For an introduction : go to article https://community.intersystems.com/post/advent-code-2016-day1-no-time-t…
Today's challenge is a variation on the White Elephant gift exchange (https://en.wikipedia.org/wiki/White_elephant_gift_exchange), in this case, by a bunch of Elves where only one can have all gifts.
Each Elf brings a present. They all sit in a circle, numbered starting with position 1. Then, starting with the first Elf, they take turns stealing all the presents from the Elf to their left.
This is a series of programming challenges for beginners and experienced Caché programmers.
For an introduction : go to article https://community.intersystems.com/post/advent-code-2016-day1-no-time-t…
You walk into a room, step on a tile and hear a loud click...
Traps !
The challenge is about avoiding traps.
You can recognise if a tile is a trap by following scheme :
The first row is a given : a safe tile is shown as . and a trap is shown as ^
#########
#S| | | #
#-#-#-#-#
# | | | #
#-#-#-#-#
# | | | #
#-#-#-#-#
# | | |
####### V
This is a series of programming challenges for beginners and experienced Caché programmers.
For an introduction : go to article https://community.intersystems.com/post/advent-code-2016-day1-no-time-t…
The challenge today is again a-maze-ing (as a wellknown president would say).
The maze has a bunch of doors ( | and - on the drawing), but they can be locked depending on a hash that you need to calculate every step.
This is a series of programming challenges for beginners and experienced Caché programmers.
For an introduction : go to article https://community.intersystems.com/post/advent-code-2016-day1-no-time-t…
The challenge of day 16 is about generating random data using a modified version of a dragon curve (you can find more info on fractal curves like Dragon here : https://en.wikipedia.org/wiki/Dragon_curve).
First you need to generate data in a loop as follows :
Create an initial state with your puzzle input Call the data you have at this point "a". Make a copy of "a"; call this copy "b".
Can anyone suggest suitable Cache ObjectScript syntax for open/use/read statements on a simple ms-dos text file.
I've tried various examples seen on the web but they appear to be implementation specific.
I used MSM MUMPS many years ago but am now retired & would like to write a few simple routines for my own amusement & mental challenge.
I am using the free Version of Cache (V 2017.1) on my Windows 10 PC. The installation file was CachePCkit_x64.exe
My apologies for this query being very basic.
This is a series of programming challenges for beginners and experienced Caché programmers.
For an introduction and an index of all articles: go to article https://community.intersystems.com/post/advent-code-2016-day1-no-time-t…
The challenge for today consists of capsules that bounce through a maze of spinning discs.
The capsule can fall through a hole of each disc if they hit the disc at position 0, each disc has a fixed amount of positions that rotate every second.
The distance between the release and the first disc is one second, as is the distance between each consecutive disc as well.
Hi, folks!
Consider I need to perform some logic which should fire because values of object properties has been changed.
Is there ANY reason for using class callbacks %OnBeforeSave or %OnAfterSave instead of Trigger?
This is a series of programming challenges for beginners and experienced Caché programmers.
For an introduction : go to article https://community.intersystems.com/post/advent-code-2016-day1-no-time-t…
The challenge today is about some basic cryptography : you will have to generate data for a one-time pad (OTP) (see https://en.wikipedia.org/wiki/One-time_pad for more info).
You need to generate keys by taking the MD5 of a pre-arranged salt (your puzzle input), and an increasing integer index starting with 0.
This is a series of programming challenges for beginners and experienced Caché programmers.
For an introduction : go to article https://community.intersystems.com/post/advent-code-2016-day1-no-time-t…
Today, you have to find a path through a maze. To know if a coordinate is a wall or an open space, you will have to do a calculation like this :
x*x + 3*x + 2*x*y + y + y*y Add the office designer's favorite number (your puzzle input). Find the binary representation of that sum; count the number of bits that are 1. - If the number of bits that are 1 is even, it's an open space.
I am trying to make Caché perform certain actions depending on whether a particular property of the object was changed using triggers.
For example, say I have this class:
Class Dummy.Class Extends %Persistent {
Property Name As %String;
Property Visible As %Boolean;
Trigger OnUpdate [ Event = UPDATE/DELETE, Time = BEFORE ] {
if ({Published*O} = 0) && ({Published*N} = 1) {
do .CertainAction({ID})
}
}
ClassMethod %OnBeforeSave(insert As %Boolean) As %Status [ Private, ServerOnly = 1 ] {
// .This is a series of programming challenges for beginners and experienced Caché programmers.
For an introduction : go to article https://community.intersystems.com/post/advent-code-2016-day1-no-time-t…
Today, you need to make a compiler for the language assembunny.
Luckily, this language has only 4 instructions :
cpy x y copies x (either an integer or the value of a register) into register y. inc x increases the value of register x by one. dec x decreases the value of register x by one.
This is a series of programming challenges for beginners and experienced Caché programmers.
For an introduction : go to article https://community.intersystems.com/post/advent-code-2016-day1-no-time-t…
The challenge today is about microchips and generators. A microchip belongs to one particular generator, and the two can be on the same floor, or in the same elevator. But if a microchip is with another generator on the same floor or elevator, it will get toasted, except if his own generator is also on the same floor/elevator.
This is a series of programming challenges for beginners and experienced Caché programmers.
For an introduction : go to article https://community.intersystems.com/post/advent-code-2016-day1-no-time-t…
In today's challenge, you have to execute instructions that control how bots are handling microchips.
This is a series of programming challenges for beginners and experienced Caché programmers.
For an introduction : go to article https://community.intersystems.com/post/advent-code-2016-day1-no-time-t…
Today's challenge is about decompressing input that is compressed in an experimental format.
In the format, markers indicate how much time a number of characters need to be repeated.
For example :
A(1x5)BC repeats only the B a total of 5 times, becoming ABBBBBC for a decompressed length of 7. (3x3)XYZ becomes XYZXYZXYZ for a decompressed length of 9
This is a series of programming challenges for beginners and experienced Caché programmers.
For an introduction : goto to article https://community.intersystems.com/post/advent-code-2016-day1-no-time-t…
The input in today's challenge consists of an encrypted name, a dash, a sectorID, a dash and a checksum between brackets.
A name is real if the checksum is equal to the five most common letters in the encypted name.
This is a series of programming challenges for beginners and experienced Caché programmers.
For an introduction : goto to article https://community.intersystems.com/post/advent-code-2016-day1-no-time-t…
The challenge of day 5 is to calculate a password of 8 characters by finding the MD5 hash of the input and an increasing integer index.
The password is constructed by taking the 6th character of the first 8 hashes that start with 5 zeroes (in hex representation).
This is a series of programming challenges for beginners and experienced Caché programmers.
For an introduction : goto to article https://community.intersystems.com/post/advent-code-2016-day1-no-time-t…
In today's challenge, you have to repair the communication with Santa : messages are coming in, but jammed.
By using repetition code (see also https://en.wikipedia.org/wiki/Repetition_code), you can find out what's in the message : by sending the same message a number of times, you can calculate which characters are most frequent on each position and find the most likely message.
This is a series of programming challenges for beginners and experienced Caché programmers.
For an introduction : go to article https://community.intersystems.com/post/advent-code-2016-day1-no-time-t…
The challenge of today has nothing to do with real two-factor authentication ! (sorry if you came to this article by searching the real thing)
For the complete explanation of the challenge, go to http://adventofcode.com/2016/day/8.
Your input (http://adventofcode.com/2016/day/8/input) consists of a series of three basic instructions to control the display of a screen.
This is a series of programming challenges for beginners and experienced Caché programmers.
For an introduction : goto to article https://community.intersystems.com/post/advent-code-2016-day1-no-time-t…
Today's challenge on http://adventofcode.com/2016/day/7 is about checking for valid IPv7 addresses with TLS support. (No, it has nothing to do with real ip addresses which are at most ipV6 or real TLS, but just a way to keep you busy coding & hacking!)
The imaginary ipV7 addresses support TLS if they contain an ABBA sequence outside square brackets and no ABBA sequence inside brackets.