Unable to initialize valis-wsi due to Maven/toolchain config issue

Hello - I've been trying to use valis-wsi to register a series of Leica CZI H&E slide images. I've had some success using Matlab tools to register this dataset, and I wanted to compare those results to Valis.
Unfortunately, I can't get valis-wsi to initialize in the registration.Valis call, as it seems that a call using Maven is failing. This is after I've downloaded and verified pyvips and libvips, and verified that the latter is on the PATH. I've also verified Maven is on the PATH, but am still encountering issues.
Here is a sample script I have, which points to a directory of image files. I've also included the error message below.

import os
vipsbin = r"C:\git\vips-dev-8.13\bin"
mvnbin = r"C:\git\apache-maven-3.8.6\bin"
os.environ['PATH'] = vipsbin + ';' + mvnbin + ';' + os.environ['PATH']
from valis import registration
from matplotlib import pyplot as plt
# taken from https://pypi.org/project/valis-wsi/#description
slide_src_dir = r"C:\data\Data_RW\histology\Move Folder\EXP22001880\EXP22001892\FRG686"
results_dst_dir = "./valis"
registered_slide_dst_dir = results_dst_dir + "/reg"
reference_slide = "FRG686_10-Stitching.czi"
# Create a Valis object and use it to register the slides in slide_src_dir, aligning towards the reference slide.
registrar = registration.Valis(slide_src_dir, results_dst_dir, reference_img_f=reference_slide)
rigid_registrar, non_rigid_registrar, error_df = registrar.register()
# Perform micro-registration on higher resolution images, aligning directly to the reference image
registrar.register_micro(max_non_rigid_registartion_dim_px=2000, align_to_reference=True)
# Save all registered slides as ome.tiff
registrar.warp_and_save_slides(registered_slide_dst_dir, crop="overlap")
# Kill the JVM
registration.kill_jvm()

And the error message I receive:

(dev) PS C:\git\elephas\valis_test> python .\valis_test.py
Failed to bootstrap the artifact.
Possible solutions:

Double check the endpoint for correctness (https://search.maven.org/).
Add needed repositories to ~/.jgorc [repositories] block (see README).
Try with an explicit version number (release metadata might be wrong).

Full Maven error output:
Traceback (most recent call last):
File "C:\git\elephas\valis_test\valis_test.py", line 21, in
registrar = registration.Valis(slide_src_dir, results_dst_dir, reference_img_f=reference_slide)
File "C:\git\python_envs\dev\lib\site-packages\valis\registration.py", line 1610, in init
self.get_imgs_in_dir()
File "C:\git\python_envs\dev\lib\site-packages\valis\registration.py", line 1755, in get_imgs_in_dir
if slide_tools.get_img_type(f) is not None:
File "C:\git\python_envs\dev\lib\site-packages\valis\slide_tools.py", line 147, in get_img_type
slide_io.init_jvm()
File "C:\git\python_envs\dev\lib\site-packages\valis\slide_io.py", line 208, in init_jvm
scyjava.start_jvm([f"-Xmx{mem_gb}G"])
File "C:\git\python_envs\dev\lib\site-packages\scyjava_java.py", line 177, in start_jvm
_, workspace = jgo.resolve_dependencies(
File "C:\git\python_envs\dev\lib\site-packages\jgo\jgo.py", line 665, in resolve_dependencies
raise e
File "C:\git\python_envs\dev\lib\site-packages\jgo\jgo.py", line 636, in resolve_dependencies
mvn_out = run_and_combine_outputs(mvn, *mvn_args)
File "C:\git\python_envs\dev\lib\site-packages\jgo\jgo.py", line 274, in run_and_combine_outputs
return subprocess.check_output(command_string, stderr=subprocess.STDOUT)
File "C:\Program Files\Python39\lib\subprocess.py", line 424, in check_output
return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
File "C:\Program Files\Python39\lib\subprocess.py", line 528, in run
raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '('C:\git\apache-maven-3.8.6\bin\mvn.CMD', '-B', '-f', 'C:\Users\NPDan\.jgo\ome\formats-gpl\LATEST\dc8f1caa0a5878494c2f101093d1f134928f44dbbc2ed07f928b4eded0617664\pom.xml', 'dependency:resolve')' returned non-zero exit status 1.

Unfortunately, the python script fails on Valis initialization (registrar = registration.Valis(slide_src_dir, results_dst_dir, reference_img_f=reference_slide)). Any insight or help with this would be welcome. Thanks in advance!

Hi @NichD,
Sorry to hear you're having this issue. I believe it's the scyjava package (https://github.com/scijava/scyjava) that is trying to use Maven to download the bio-formats jar file. What happens when you do the following?
import jpype
import scyjava

scyjava.config.endpoints.append('ome:formats-gpl')
scyjava.start_jvm()
loci = jpype.JPackage("loci")
loci.common.DebugTools.setRootLevel("ERROR")

I think it should try to initialize the bio formats jar (which is used to read the images), and then download it if it isn't already available.
Best,
Chandler

Hello @cdgatenbee
Thank you for your swift reply. I attempted to execute the lines you shared. I get the same error I was previously seeing when I call scyjava.start_jvm() - see below.

import jpype
import scyjava
scyjava.config.endpoints.append('ome:formats-gpl')
scyjava.start_jvm()
Failed to bootstrap the artifact.
Possible solutions:

Double check the endpoint for correctness (https://search.maven.org/).
Add needed repositories to ~/.jgorc [repositories] block (see README).
Try with an explicit version number (release metadata might be wrong).

Full Maven error output:
Traceback (most recent call last):
File "", line 1, in
File "C:\git\python_envs\dev\lib\site-packages\scyjava_java.py", line 177, in start_jvm
_, workspace = jgo.resolve_dependencies(
File "C:\git\python_envs\dev\lib\site-packages\jgo\jgo.py", line 665, in resolve_dependencies
raise e
File "C:\git\python_envs\dev\lib\site-packages\jgo\jgo.py", line 636, in resolve_dependencies
mvn_out = run_and_combine_outputs(mvn, *mvn_args)
File "C:\git\python_envs\dev\lib\site-packages\jgo\jgo.py", line 274, in run_and_combine_outputs
return subprocess.check_output(command_string, stderr=subprocess.STDOUT)
File "C:\Program Files\Python39\lib\subprocess.py", line 424, in check_output
return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
File "C:\Program Files\Python39\lib\subprocess.py", line 528, in run
raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '('C:\git\apache-maven-3.8.6\bin\mvn.CMD', '-B', '-f', 'C:\Users\NPDan\.jgo\ome\formats-gpl\LATEST\dc8f1caa0a5878494c2f101093d1f134928f44dbbc2ed07f928b4eded0617664\pom.xml', 'dependency:resolve')' returned non-zero exit status 1.
loci = jpype.JPackage("loci")
loci.common.DebugTools.setRootLevel("ERROR")
Traceback (most recent call last):
File "", line 1, in
RuntimeError: Unable to import 'loci.common' without JVM

Clearly something isn't happy with my java environment. Should my JAVA_HOME variable point to the JRE I have installed, or the JDK? Any other suggestions?

Also, would it matter that I have Java 19 (recently downloaded)? Would reverting to Java 17 resolve this?
Thanks!

Hi @NichD,
Sorry for the delayed response. I believe your JAVA_HOME should be pointing to your JDK. When I echo $JAVA_HOME on my M1 Mac it points to my mambaforge JVM (mambaforge/lib/jvm), and on my intel Mac it was "usr/libexec/java_home". As far as versions go, mine is Java 17, so unfortunately I can't say if Java 19 is the problem or not. Also, as a last resort, and if you haven't already, you could try installing the packages in a conda/mamba environment? That might ensure that scyjava is linked up to the JVM correctly.

Hi @cdgatenbee - It's my turn to apologize as I've been traveling for much of this month. I'll update my Java install to use 17 and, failing that, try installing via Anaconda. Thank you for the suggestions.

@cdgatenbee I wanted to follow up with you. I was not able to get VALIS working on my Windows laptop, but I was able to get the install completed on a Linux system. I did need to install Maven on that system in order to use the JVM and execute the image registration.
I found a related ImageJ - Maven thread here. I suspect there's still some issues with the JAVA_HOME and Maven paths, which I may revisit on my Windows system when I have time.
You may want to update the installation instructions to include download and install of Maven, as that seemed to be necessary on both systems. Thanks for your help and let me know if I can assist at all!

Sorry you weren't able to get VALIS working on your Windows machine, @NichD. I wish I could have been more helpful. I agree that I need to update the installation instructions to include the need for Maven, and will do so soon.
Best,
-Chandler

any updates on this?
I can't register images on Windows neither. Exact same error.

Hi @seiryoku-zenyo,
I've made some updates to help with other Windows issues, but the challenge is that I don't have a Windows machine to debug with, so right now I can only make best guesses at what the issues are. I am working on trying to get access to a Windows machine at work though, so hopefully soon I'll be better able to work on issues like these. In the meantime, can you see if the Docker container will work for you?
Best,
-Chandler


Title Pascaltriangle using Recursion

Description
Given an integer x print the first x rows of pascal's triangle,
Domain
Data Structure
Type of Contribution
Addition
Code of Conduct

[X] I follow Contributing Guidelines & Code of conduct of LearnCPP.

I am a Gssoc'22 participant, please assign this issue to me.

/assign


[Enhancement] External olap table support temp partition (#28389)

Fixes #issue
What type of PR is this:

[ ] BugFix
[ ] Feature
[ ] Enhancement
[ ] Refactor
[ ] UT
[ ] Doc
[ ] Tool

Checklist:

[ ] I have added test cases for my bug fix or my new feature
[ ] This pr will affect users' behaviors
[ ] This pr needs user documentation (for new or modified features or behaviors)

[ ] I have added documentation for my new feature or new function

Bugfix cherry-pick branch check:

[ ] I have checked the version labels which the pr will be auto-backported to the target branch

[ ] 3.1
[ ] 3.0
[ ] 2.5
[ ] 2.4

[FE PR Coverage Check]
:heart_eyes: pass : 8 / 9 (88.89%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/catalog/ExternalOlapTable.java
3
4
75.00%
[493]

:large_blue_circle:
com/starrocks/leader/LeaderImpl.java
5
5
100.00%
[]

[FE PR Coverage Check]
:heart_eyes: pass : 9 / 10 (90.00%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/catalog/ExternalOlapTable.java
3
4
75.00%
[493]

:large_blue_circle:
com/starrocks/leader/LeaderImpl.java
6
6
100.00%
[]

run CI PIPELINE - BRANCH / FE UT (pull_request)

[FE PR Coverage Check]
:heart_eyes: pass : 9 / 10 (90.00%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/catalog/ExternalOlapTable.java
3
4
75.00%
[493]

:large_blue_circle:
com/starrocks/leader/LeaderImpl.java
6
6
100.00%
[]


fix: add pg_sequence and pg_sequences views

There was no replacement for the pg_sequence and pg_sequences views in pg_catalog. These are added as empty views in this fix.

Hell yeah. Nice @olavloite !

Hell yeah. Nice @olavloite !


Please invite me to the GitHub Community Organization

i have no problem ,  but I try to contribute to open source . So pls accept my request


Support huggingface transformers models and datasets

We need to add support for the huggingface transformers models and datasets.

Are there any predictions for timelines on when this might be implemented?

@judahrand could you please describe the use case a bit more? so that's easier for us to prioritize this. thanks!

@judahrand could you please describe the use case a bit more? so that's easier for us to prioritize this. thanks!

We use huggingface transformer models and would prefer to save them in their native form so that they can be picked up by BentoML for deployment.

I looks like work was started on this: #553

@judahrand, unfortunately, I'm at capacity now. I'd love to see this implemented, but don't have time 😞
Why you need this implemented specifically in MLEM? Looks like simply saving it with HF + using Bento would work.

@judahrand, unfortunately, I'm at capacity now. I'd love to see this implemented, but don't have time 😞
Why you need this implemented specifically in MLEM? Looks like simply saving it with HF + using Bento would work.

We would like to use MLEM to power our 'model registry' and then deploy those models using BentoML. I suppose we can save the model to the model registry using the standard HF implementation and manually track it using DVC but we'd like to use MLEM if possible.


Program stucks while checking internet connection

I've tried deploy wsl-vpnkit as 'Setup as a standalone script' section of the instruction, but program stucks as following:
franky@FRANKYS-LAPTOP:/usr/local/wsl-vpnkit$ sudo VMEXEC_PATH=$(pwd)/wsl-vm GVPROXY_PATH=$(pwd)/wsl-gvproxy.exe ./wsl-vpnkit
[sudo] password for franky:

VPNKIT_GATEWAY_IP=<IP_ADDRESS>
VPNKIT_HOST_IP=<IP_ADDRESS>
VPNKIT_LOCAL_IP=<IP_ADDRESS>
TAP_MAC_ADDR=5a:94:ef:e4:0c:ee
VMEXEC_PATH=/usr/local/wsl-vpnkit/wsl-vm
GVPROXY_PATH=/usr/local/wsl-vpnkit/wsl-gvproxy.exe
TAP_NAME=wsltap
CHECK_HOST=example.com
CHECK_DNS=<IP_ADDRESS>
DEBUG=0
set +x
WSL2_TAP_NAME=eth0
WSL2_GATEWAY_IP=<IP_ADDRESS>
[ 0 -eq 0 ]
set +x
starting vm and gvproxy...
INFO[0000] waiting for packets...
started vm and gvproxy
check: ❌ ping fail to IPv4 WSL 2 gateway / Windows host (<IP_ADDRESS>)
time="2024-04-10T19:22:53+08:00" level=info msg="waiting for clients..."
time="2024-04-10T19:22:53+08:00" level=info msg="new connection from remote to 17120"
check: ✔ ping success to IPv4 Windows host (<IP_ADDRESS>)
check: ✔ ping success to IPv4 gateway (<IP_ADDRESS>)
check: ✔ nslookup success for example.com A using <IP_ADDRESS>
check: ✔ nslookup success for example.com A using <IP_ADDRESS>
check: ✔ nslookup success for example.com A using <IP_ADDRESS>
check: ✔ ping success to IPv4 external host domain (example.com)
check: ✔ ping success to IPv4 external host IP (<IP_ADDRESS>)
check: ✔ nslookup success for example.com AAAA using <IP_ADDRESS>
check: ✔ nslookup success for example.com AAAA using <IP_ADDRESS>
check: ✔ nslookup success for example.com AAAA using <IP_ADDRESS>
ping: example.com: Address family for hostname not supported
check: ➖ ping fail to IPv6 external host (example.com)
check: ✔ wget success for http://example.com
check: ✔ wget success for https://example.com

Use WSL mirrored mode instead.


Compatibility with Firedrake_20220411.0

The tests are currently failing - looks like firedrakeproject/firedrake#1983 refactored assemble.py, including removing the assemble_type kwarg.
Initial function:
https://github.com/firedrakeproject/firedrake/blob/1e0f9ed8ed9e6ea1a627471730dda0bddb7fd1fa/firedrake/assemble.py#L134-L169
Current version:
https://github.com/firedrakeproject/firedrake/blob/a77a4996d61da8f8b5710589e1a754357a79886f/firedrake/assemble.py#L223-L284
This conflicts with things like the assemble_residual function in firedrake_ts.solving_utils._TSContext, which hardcodes assemble_type as an argument to assemble:
https://github.com/IvanYashchuk/firedrake-ts/blob/879935387e486870308101e6d1bd8f393c762bea/firedrake_ts/solving_utils.py#L189-L196.

Hey Jared! Thanks a lot for filing an issue and submitting a fix!
I'll review the proposed changes later today.


Extractor Tutorial: Comma Separated Values (CSV)

Migrated from GitLab: https://gitlab.com/meltano/meltano/-/issues/1132
Originally created by @dmor on 2019-10-16 14:57:28

All extractors need to have the following:

[ ]  step-by-step tutorial in docs that works entirely on the UI (no command line)
[ ]  must include screenshots
[ ]  must include a short video of the tutorial (less than 2 minutes)
[ ]  discoverable in the sidebar navigation
[ ]  successfully dog-fooded with a dogfooding speedrun on Meltano's YouTube channel

View 3 previous comments from the original issue on GitLab


@Proto does not fully work on classes that extend other classes

Hello,
I'm using the @Proto annotations on classes I want to marshall in an infinispan cache, as described here :
https://quarkus.io/guides/infinispan-client-reference#annotation-based-serialization
But I cannot find how to make it work on classes that extends other classes.
Here is an example :
public class Parent {
    public String id;

    public Parent() {
        this.id = UUID.randomUUID().toString();
    }
}

@Proto
public class Person extends Parent {
    public String name;

    public Person(){
    }

    public Person(String name) {
        super();
        this.name = name;

    }
}

@ProtoSchema(includeClasses = {Person.class })
interface Schema extends GeneratedSchema {
}

But the id field from the Parent class is not included in the result :

I then tried to add the annotation @Proto on the Parent class and declare the class in @ProtoSchema :
@Proto
public class Parent {
    public String id;

    public Parent() {
        this.id = UUID.randomUUID().toString();
    }
}

@Proto
public class Person extends Parent {
    public String name;

    public Person(){
    }

    public Person(String name) {
        super();
        this.name = name;

    }
}

@ProtoSchema(includeClasses = {Parent.class, Person.class })
interface Schema extends GeneratedSchema {
}

But I then get this error :

C:\dev\git\quarkus-test\src\main\java\com\test\Person.java:22
java: org.infinispan.protostream.annotations.ProtoSchemaBuilderException: Duplicate field number definition. Found two field definitions with number 1: in name and in id, while processing com.test.Schema

So is this a bug or a current limitation with inherited classes ?
Do I have to explicitely define a custom proto schema instead on relying on annotations ?
Note: Using Protostream 5.0.5.Final (dependency coming with Quarkus 3.12.2)

Since Protocol Buffers don't support inheritance natively (composition is the recommended approach), we'd need to determine how we want to represent these internally, as well as ensuring that all the compatibility checks, to avoid field name/number/type conflicts, extend to the entire class hierarchy.
I think the best approach would be for children to have a synthetic _super field, with a fixed id (1?) so that any changes to the superclass won't overlap with the child classes.

For completeness, I'm quoting the last paragraph from https://protobuf.dev/getting-started/javatutorial/#protocol-format

Don’t go looking for facilities similar to class inheritance, though – protocol buffers don’t do that


fix configuration documentation

This page
https://docs.platformatic.dev/docs/reference/service/configuration/#configuration-placeholders
erroneously links to 'configutation placeholders' in a couple places, when the docs have changed the section name to: 'environment-variable-placeholders'
This needs to be fixed! :)

Thanks for reporting! Would you like to send a Pull Request to address this issue?


Updating encryption link

This change updates the encryption link to the latest video published by the OpenTofu team on the topic.

Thanks @janosdebugs !
That video is :man_cook::kiss:.
I hope they keep coming. It's a lovely way to get introduced to new features.


Dark graphics and difficult to interpret

Is your feature request related to a problem? Please describe.
I would like to suggest a change in the colors of the graphics, as the visibility is poor and difficult to interpret

Describe the solution you'd like
I think that inverse colors, as in the case of the dark theme, would be interesting if white or similar

Here are some suggested colors that I believe will provide better visibility.

@fernandolcardoso try the 2.1.9 alpha. I managed to change it to the theme primary color and brighten the stroke color.

Unfortunately it doesn't apply if the graph takes a long time to load.

Thanks for the feedback, unfortunately it didn't work for me

Does switching view tabs change anything? What if you create a view with just one graph.
To clarify those are entity cards with a graph footer right?

@fernandolcardoso? If the fixes I've made don't work for you then there's nothing more I can do.

Should be fixed in 2.1.9. If it isn't fix for you after updating and ensuring that the card-mod changes are working, I don't think there's much more I can do.


Fix messaging properties duplicated

Description
resolves https://github.com/Azure/azure-sdk-for-java/issues/32034
All SDK Contribution checklist:

[ ] The pull request does not introduce [breaking changes]
[ ] CHANGELOG is updated for new features, bug fixes or other significant changes.
[ ] I have read the contribution guidelines.

General Guidelines and Best Practices

[ ] Title of the pull request is clear and informative.
[ ] There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For more information on cleaning up the commits in your PR, see this page.

Testing Guidelines

[ ] Pull request includes test coverage for the included changes.

/azp run java - spring - tests

API change check
APIView has identified API level changes in this PR and created following API reviews.
spring-cloud-azure-core


razzle-plugin-scss

I have successfully implemented scss in razzle using mini css extract plugin, sass loader, and  node-sass.
Can i open pr for razzle plugin scss?

Yes please!

will make a PR soon!

referencing to PR #663
closed.


"Copy to text" should include link to license

e.g. for https://ccsearch.creativecommons.org/photos/d2294e00-ca9d-44ba-8cb8-32a171bfb8d2
copy to text attribution reads:
"Hats from Shmails - Thanks!" by Guy H is licensed under CC BY 2.0
can it be:
"Hats from Shmails - Thanks!" by Guy H is licensed under CC BY 2.0:  https://creativecommons.org/licenses/by/2.0/

I think that is why we created the copy to HTML; it includes the link as follows:
"Milwaukee Art Museum" by scott feldstein is licensed under  CC BY 2.0

Yes, the user feedback was that since we encourage adding a link to
licenses for offline texts (see "This work is licensed under the Creative
Commons Attribution 4.0 International License. To view a copy of this
license, visit http://creativecommons.org/licenses/by/4.0/." text for
offline choice in https://creativecommons.org/choose/), we should do the
same for plain text since many downstream users won't know what CC BY 2.0
is.
I'd be willing to try it in some fashion. Like adding
"Hats from Shmails - Thanks!" by Guy H is licensed under CC BY 2.0 (

https://creativecommons.org/licenses/by/2.0/)

or
"Hats from Shmails - Thanks!" by Guy H is licensed under CC BY 2.0. To view

a copy of this license, visit https://creativecommons.org/licenses/by/2.0/

Thoughts?
On Mon, Oct 8, 2018 at 4:37 AM, Steven B<EMAIL_ADDRESS>wrote:

I think that is why we created the copy to HTML; it includes the link as
follows:
"Milwaukee
Art Museum" by scott
feldstein is licensed under  CC BY 2.0
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/creativecommons/cccatalog-frontend/issues/105#issuecomment-427801689,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AGGTmTNGq4CxEXOitO2HddrHZBtIJd5Aks5uizjvgaJpZM4XK6Sw
.

--
Jane Park
Director of Product & Research
@CreativeCommons
@janedaily
Get updates: https://us.e-activist.com/page/6747/subscribe/1
https://creativecommons.org/about/contact/newsletter/
Invest in the commons: https://donate.creativecommons.org/


looks odd on cygwin.

After doing the configuration on cygwin it seems to not work well and looks like this.
Elsword@Elsword-PC ~
$ zsh
\[\e]0;\w\a\]\n\[\e[32m\]\u@\h \[\e[33m\]\w\[\e[0m\]\n\$

@AraHaan - Hello! Can you provide some more details? What is your P9k configuration? How did you install Powerline prompts for Cygwin? How did you configure Cygwin?

I used curl on cygwin cygwin should have the default configurations except for the forlder being on my 2 TB USB. My p9k config should be the same as my friend Martmists's.

@AraHaan - Thanks for the response! Unfortunately, we really need more details. I don't know who Martimists is, for example, or what their config looks like. I also don't have any idea what your Cygwin configuration is or if you've configured your terminal for Powerline fonts.
Can you post configs, screenshots, etc., to help?

# Set mode and theme
POWERLEVEL9K_MODE='nerdfont-complete'
ZSH_THEME="powerlevel9k/powerlevel9k"

# Change defaults
POWERLEVEL9K_STATUS_VERBOSE=false
POWERLEVEL9K_DIR_OMIT_FIRST_CHARACTER=true
POWERLEVEL9K_CHANGESET_HASH_LENGTH=6
POWERLEVEL9K_SHOW_CHANGESET=true

POWERLEVEL9K_PROMPT_ADD_NEWLINE=true

POWERLEVEL9K_LEFT_SUBSEGMENT_SEPARATOR=""
POWERLEVEL9K_RIGHT_SUBSEGMENT_SEPARATOR=""

# Custom pylint script
zsh_pylint(){
  if [[ -w . ]] then
    if [[ -e ".git" ]] then
      VER=$(cat .git/$(cat .git/HEAD | grep -Eo 'refs/heads/.+'))
      if [[ -e ".temp.git" ]] then
        if [[ $(cat .temp.git) = $VER ]] then
          WARN=$(grep -Eo '^[CWR]' .temp.pylint | wc -l)
          ERR=$(grep -Eo '^[EF]' .temp.pylint | wc -l)
          echo "$WARN\u2757$ERR \u2717"
          return
        fi
      fi
      echo $VER > .temp.git
    fi

    # Since doing this in python is easier than doing this in bash
    CODE="import os, sys
files = []

def check_files(path):
    found = False
    for file in sorted(list(os.scandir(path)), key=lambda x: not x.is_file()):
        if file.name == '.temp.py':
            continue

        if file.is_file() and file.name.endswith('.py'):
            found = True
            files.append(f'{path}/{file.name}')
        elif not file.is_file():
            if found:
                check_files(f'{path}/{file.name}')

check_files('.')
x = ' '.join(files)
print(x)"
    FILES=$(python3 -c $CODE)
    if [[ -n $FILES ]] then
      # I disabled stuff I don't care about
      python3 -m pylint --disable=no-name-in-module,missing-docstring,too-few-public-methods,invalid-name,too-many-branches,too-many-return-statements,redefined-builtin,protected-access,relative-beyond-top-level,too-many-instance-attributes,attribute-defined-outside-init,too-many-arguments,unused-argument $(echo $FILES) > .temp.pylint
      WARN=$(grep -Eo '^[CWR]' .temp.pylint | wc -l)
      ERR=$(grep -Eo '^[EF]' .temp.pylint | wc -l)
      echo "$WARN\u2757$ERR \u2717"
    fi
  fi
}

POWERLEVEL9K_CUSTOM_PYLINT="zsh_pylint"

# Custom command to get pylint logs without re-running
alias pylog="if [[ -e ".temp.pylint" ]] then; cat .temp.pylint; fi"

# Colors
POWERLEVEL9K_DIR_HOME_FOREGROUND="blue"
POWERLEVEL9K_DIR_HOME_BACKGROUND="black"
POWERLEVEL9K_DIR_HOME_SUBFOLDER_FOREGROUND="blue"
POWERLEVEL9K_DIR_HOME_SUBFOLDER_BACKGROUND="black"
POWERLEVEL9K_DIR_DEFAULT_FOREGROUND="blue"
POWERLEVEL9K_DIR_DEFAULT_BACKGROUND="black"
POWERLEVEL9K_DIR_WRITABLE_FORBIDDEN_FOREGROUND="red"
POWERLEVEL9K_DIR_WRITABLE_FORBIDDEN_BACKGROUND="black"
POWERLEVEL9K_VCS_CLEAN_FOREGROUND="yellow"
POWERLEVEL9K_VCS_CLEAN_BACKGROUND="black"
POWERLEVEL9K_VCS_MODIFIED_FOREGROUND="yellow"
POWERLEVEL9K_VCS_MODIFIED_BACKGROUND="black"
POWERLEVEL9K_VCS_UNTRACKED_FOREGROUND="yellow"
POWERLEVEL9K_VCS_UNTRACKED_BACKGROUND="black"
POWERLEVEL9K_PYENV_FOREGROUND="blue"
POWERLEVEL9K_PYENV_BACKGROUND="black"
POWERLEVEL9K_STATUS_FOREGROUND="red"
POWERLEVEL9K_STATUS_BACKGROUND="black"
POWERLEVEL9K_CUSTOM_PYLINT_BACKGROUND="black"
POWERLEVEL9K_CUSTOM_PYLINT_FOREGROUND="red"

# Prompts
POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=('os_icon' 'context' 'dir' 'vcs'
'dir_writable' 'newline' 'os_icon_joined')
POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=('status' 'custom_pylint' 'pyenv')

# `Pyenv` is deprecated, use `python3 -v` instead
alias pyenv="echo $(python3 -V | grep -Eo '[0-9\.]+$')"

I wonder if it is because the Windows OS does not have the powerline fonts installed.

@AraHaan - Yes, you definitely need to have Powerline fonts installed in order for this to work.
It's worth noting that @bender-the-greatest (#314) and @Whisht (#586) have previously opened issues with Cygwin systems that seem to be nominally working, so there must be a way to install the font and use it?

Well on the looks if it the only way to do that is to probably use powershell https://github.com/powerline/fonts or cygwin's bash but I dont trsut that one fully.

Edit: it seems the solution is this ```PS1=$'%{\e]0;%d\a%}\n%F{green}%n@%m %F{yellow}%d%f\n%# '`` when I enter into zsh.

It's been a long time since I've used Cygwin/Babun on Windows (I've been using Powershell with Unix utilities for the last few years). I believe Babun uses mintty.exe if memory serves (I could be wrong on the terminal executable, but Babun was what I was using at the time I ran into #314). After installing the Powerline fonts I was able to select them as a font for the terminal, albeit the performance was a little slow, though @bhilburn was able to improve it a bit (see #314).
If you use something like ConEmu as your terminal and integrate Cygwin/Babun into it, you should be able to set your font in the terminal application without issue.

@AraHaan - Based on your last comment, I think you're all set for now? I'm going to close this issue out, but please re-open if you're still having issues.
@bender-the-greatest - Thanks so much for weighing in! I appreciate your time & input =)


Populate Brazilian states on the database

The database is empty, needs to populate Brazilian states on the Location table for any options to show on the Nominate form.

Done for both production and development


fix(types): improve types for LogEntry

Fixes: https://github.com/googleapis/nodejs-logging/issues/442
@bcoe I know you wanted to look at this bug too.  I had some spare cycles so I went ahead and implemented this. LMK if you have another fix already prepared, or have something more holistic about the types we expose across all of the library. We can close this one in that case.

I believe this is semver patch as the types have relaxed. An argument can be made that we should restrict the types to accept only Date for timestamp. That would be semver major however.

Looks like you need an npm run fix here

Ah, yup. Done.


timestamp log messages

Log mesage from local Meteor app:
I20141205-08:50:55.983(-8)? foo
Log message from mup-deployed app:
foo
It would be great to see timestamps for log messages in /var/log/upstart/APPNAME.log, similar to when Meteor is run locally.

:+1:

+1

+1

+1

Just discovered that if you're using mupx (Docker), you can do:
mupx logs -t
Which adds timestamps. Behind the scenes mupx just uses docker logs to get logs, which accepts the -t flag to add timestamps.
If you need to check SSL logs (like I did), you can SSH into your deployment server and run:
docker logs -t [--tail=all] <appName>-frontend


Updated the font and font sizes on everything

Branch not ready for solo deploy. after discussions branch will be merged into the other two UI related branches and they will be meged into QA.


Conflict between Nostalgy+ 3.0.4 and tbkeys-lite 2.1.3

Hi,
The latest version of Nostalgy (3.0.4) has a conflict with tbkeys-lite (2.1.3).
In short, Nostalgy+ shortcuts work for a while and then, at some point, stop working.
But tbkeys-lite key mappings continue to work.
Sorry for this very short problem description, but I could not find a specific trigger.
As a solution, I had to disable tbkeys-lite.
Regards,

Hi,
I forgot to refer: I'm using TB 78.14.0 (64-bit).


Delve crashes when single stepping through optimization disable program

package main
import (
"fmt"
"github.com/bsphere/le_go"
)
func main() {
le, err := le_go.Connect("########-####-####-####-##########") // replace #s with token
if err != nil {
panic(err)
}
c:= make(chan int, 1)
go tst("go routine", c)
defer le.Close()
le.Println("Logentries test log message")
v:= <-c
fmt.Println(v)
}
func tst(name string, c chan<- int) {
fmt.Println(name)
c <- 1
}
Repro Steps:

Compile the above program with: go build -gcflags -N
set a break point at statement 'c:= make(chan int, 1)'
set a break point at statement 'func tst(name string, c chan<- int) {'
continue and then keep single step (N command)

Expected: no crash
Actual: crashes with error: panic: Could not read byte

Thought I had labelled this before, but thanks for opening this.

Should be fixed now, if this is still an issue feel free to reopen.


j.call("using Clustering") broken in 0.5?

python 3.5.1
Version 0.5.0-rc3+0 (2016-08-22 23:43 UTC)
In [11]: j.call("using Clustering")
WARNING: call(f,args...) is deprecated, use f(args...) instead.
in ##979#980(::Array{Any,1}, ::Function, ::String) at ./deprecated.jl:271
in (::Base.##979#981)(::String) at ./deprecated.jl:270
in jl_Function_call(::Ptr{PyCall.PyObject_struct}, ::Ptr{PyCall.PyObject_struct}, ::Ptr{PyCall.PyObject_struct}) at /home/nbecker/.julia/v0.5/PyCall/src/callback.jl:35
while loading no file, in expression starting on line 0
RuntimeError                              Traceback (most recent call last)
 in ()
----> 1 j.call("using Clustering")
RuntimeError: Julia exception: MethodError("using Clustering",())

It appears the current git version has a 'using' method:
j.using('DSP')
This seems to add all functions from the module to the 'j' python object

using Clustering is not a function, so you wouldn't use j.call anyway.  I think you are thinking of j.eval to evaluate a string?   But using seems to be better anyway.


Update Roadmap / Close old Issues

I think we should update the roadmap, which I believe is really helpful not only to provide a general direction but also to attract more contributors. Also we have some 'older' issues that seem to be already done - or not relevant anymore. Perhaps we can do some grooming here (I'd be happy to help).

cc @liurenjie1024

@marvinlanhenke Sorry for late reply. Yeah I think we should update the roadmap to reflect latest update, welcome to submit pr, thanks!

cc @marvinlanhenke Could we close this now?

@liurenjie1024
regarding the roadmap i think we can close this, however perhaps we want to do some grooming and close some old issues as well - or maybe duplicates. I think you have a better overview if its worth the effort?


Link to the policy file docs not Github

The github link just links to the docs anyways
Signed-off-by: Tim Smith<EMAIL_ADDRESS>

@coderanger you still ok with this given the additional commit?

@tas50 I'm not a maintainer on ChefDK so my 👍 was in support of, rather than code review. It would show in the merge status area if someone with perms did a review.

👍


Possible Treaties made by enemy AIs

I'll keep this short and sweet. I have thought about this since the beginning of the game, and I can finally suggest it now that I found this wonderful forum.
I feel that a cool feature to be added would be one where enemies, whether human/AI or AI/AI, can make treaties with each other. The treaties would almost always be made if one enemy is about to die.  There could also be "Shows of good faith", e.g. a human player sends 2000 gold pieces with a treaty, the receiving AI could take the gold and reject the treaty or accept both. This would add a new spin to the game and make it more like historical battles.
There could also be a feature where an ally could leave one side and join another, e.g. the Caliph leaves your side because you haven't help him in any way and he joins Snake.

I'll keep this short and sweet. I have thought about this since the beginning of the game, and I can finally suggest it now that I found this wonderful forum.
I feel that a cool feature to be added would be one where enemies, whether human/AI or AI/AI, can make treaties with each other. The treaties would almost always be made if one enemy is about to die.  There could also be "Shows of good faith", e.g. a human player sends 2000 gold pieces with a treaty, the receiving AI could take the gold and reject the treaty or accept both. This would add a new spin to the game and make it more like historical battles.
There could also be a feature where an ally could leave one side and join another, e.g. the Caliph leaves your side because you haven't help him in any way and he joins Snake.

I'm not sure that's possible...
But the idea is definitely Amazing !

Yeah it is kinda complex but espacally the last part is for sure do able if someone is taking His/her time and has the Knowledge 👍

@Lolasik011 You are probably right, it is most likely impossible. I mainly just wanted to share the idea and see what people thought of it.

It's far from impossible, not sure what you are all talking about. There are certain points where the game  can be hooked to achieve such behaviour. It is possible to set party groups while playing, it is also possible to hook into certain functions in the game where we would check certain conditions for a treaty between AIs. The hard part comes when the player recieves a treaty, or rather, when the player wants to send a treaty. The UI should work like the Ally goods send/recieve panels, and this can be solved too.
So the only thing remaining is the Time. Who would spend days on creating such mod? As a side note, AIs have no such messages, so it'd be text based, what a bummer.

It should also be adjustable for each lord what conditions there are for leaving a treaty and / or making a new one. And what treaties they accept.
E. G. Wolf would never join the player, caliph would never join an infidel and leave any treaty if he has a crusader ally.

@ByBurton EXACTLY. I forgot to add that part. I actually made a long list of conditions for each AI but just forgot to add it. However, the more conditions the harder it becomes, especially since some of the of them might be impossible.

Although it is a really cool Idea it is nothing that I'd like to see in the patch in near furture. There are some other problems (espacally with the AI) that should be have a higher priority IMHO. 😅😁

@Starshine575 true. there are so many cools features/ bug fixes that need to be addressed first. the treaty idea was just something I thought of and wanted to see what people thought.

Yeah it is also a very cool Idea, nice you mentioned it. 😊

#197 just wanted to mention this has been thought of somewhat before.

@Krarilotus Oh, opps. I looked around for awhile and I didn't see anything about the subject but clearly I missed this one, probably because the first part was in German so I didn't bother to look at the rest.


Xcode toolbar is gone crazy after the update

Hello folks,
I need some help/advise. I'm using Xcode 6.3 (AppStore version) on my MacBook Air. I wanted to update Alcatraz trough the master, which worked fine, but no plugins seems to work. So I updated Alcatraz trough the terminal and all plugins seem to work again. But now I faced to a strange issue. The toolbar of Xcode is gone crazy.  Some buttons (like Play/Stop) are invisible and you can't drag them back from the customization view. I tried to restart my system and also fully reinstalled Xcode. Nothing helped me.
Is there anything else I could try. This issue drives me crazy. :/

I doubt Alcatraz is causing this, could you try uninstalling/reinstalling plugins to figure out if any 3rd party plugin is causing this?

Thx a lot, I don't know why I didn't try that on my self. I just removed all of them and Xcode is fine now. :)

No problem, if you do figure out which plugin it is please let me know in case anyone else asks about it

It was "WindowFlex". Strange that the old Xcode 6.3 beta version had no issue with it.


add link to home on the logo inside the drawer close #29

all good so far adding the link to the logo on the drawer.

Thank you @angelfeliz !


Remove mentions of the Protobuf format

In response to issue #927. Although there are still some stray mentions of the Protobuf format in the documentation, this PR should remove the mentions that are the most likely to cause confusion and consternation. In the future we should conduct a more thorough sweep.

:+1: besides comments, thanks!

@juliusv Okay, I think I've addressed all of the issues you've pointed out. One question, though: in the "Optional Text Representation" section you'll see that Protobuf is still mentioned as an optional format. Is that still the case? Or should mention be removed entirely?

One question, though: in the "Optional Text Representation" section you'll see that Protobuf is still mentioned as an optional format. Is that still the case? Or should mention be removed entirely?

I am not aware of anyone ever having implemented any of those optional text representations. I think we should just nuke that entire section, as it has little bearing on reality.

@juliusv Makes sense. Less material --> less to maintain 👍

@lucperkins https://github.com/prometheus/docs/pull/1083#discussion_r199003599 still needs to be fixed


Adding terms and conditions modal

Proposed Changes

Add a term and conditions modal

Additional Info.
Please read the terms and conditions. I also made the button for the T's & C's, I wasn't sure of implementations.
Screenshots (optional

)

Can we replace the button with just a link (like other footer links)? I think that way it would look way nicer :-)

@rodrigohdiaz please see the changes requested above and commit them to the branch to update this PR. We'd really love to ship the T&C's now that we are expanding our reach with yesterday's widget announcement. Let us know if you need a hand.

I think adding an ad-hoc terms and conditions written not reviewed by a lawyer is going to open us up to a bunch of issues.
Here is my proposed terms and conditions, privacy policy and cookie policy based on a template on https://accord.so by @mkyujung. I have edited these to be relevant for vaxx.

Terms and Conditions
Effective as of September 21, 2021.
This agreement constitutes a binding legal contract between vaxx.nz(“vaxx.nz”) (sometimes referred to as “we”, “us” or “our”) and you, with respect to your use of https://vaxx.nz and all websites, applications and communications that post a link to this agreement (collectively, the “Site”)(“Terms and Conditions”).
We reserve our right to change these Terms and Conditions in the future. Except as explicitly stated otherwise, your continued use of the Site will constitute deemed acceptance of our updated Terms and Conditions.
Site
(a) We may from time to time, at our sole and absolute discretion and without notice to you, update the Site (or any part of it).
(b) We will not be liable to you or any third party for any modification, variation, interruption, suspension or discontinuation of the Site.  The Site may provide links to third party websites that are not owned, managed or controlled by us. You expressly acknowledge and agree that we are not responsible for the content of those third party websites. You are encouraged to read that third party’s terms and conditions, privacy policy and any other document that governs your relationship with that third party.
(c) The Site uses cookies in accordance with our Cookies Policy, which can be found here: ${cookiePolicyURL}.
Prohibited Uses
Unless explicitly agreed by us, you acknowledge and agree that you may not use our Site for the following purposes:

use the Site in any way that violates any applicable local, national or international law or regulation
impersonate or attempt to impersonate any person or entity
engage in any conduct that restricts or inhibits anyone’s use or enjoyment of the Site
attempt to gain unauthorized access to, interfere with, damage or disrupt any parts of the Site
use the Site in any manner that could disable, overburden, damage, or impair the Site
attempt to interfere with the proper working of the Site in any way whatsoever

Specifications
(a) We may, from time to time, set certain minimum specifications required to access our Site to ensure all users have the best possible experience. You are solely responsible to obtain, keep and maintain all equipment and other software that meets our minimum specifications to enable you to have the best possible experience of our Site.
(b) We may from time to time, at our sole discretion and without notice to you, make variations, modifications, alterations or updates to our Site (“Enhancements”). These Enhancements may be made to improve our Site to you or to comply with relevant legal requirements.
(c) We will use reasonable endeavors to notify you of any scheduled disruptions to our Site, including those due to any Enhancements. However, regardless of whether a disruption is scheduled or not, we are not liable to you or any third party for any loss or damage caused by any disruption to our Site.
Copyrights and Trademarks
(a) Except as expressly stated otherwise, you acknowledge and agree that the original content on the Site, and the software, features and functionality comprising the Site are the exclusive property of Vaxx.nz (the “Materials”) and its licensors.
(b) You agree you will not copy, reproduce, create derivative works from, transmit or distribute the Materials in any way without our prior written consent.
Limitation of Liability, Indemnities and Warranties
(a) Except as expressly provided by law, we shall not be liable to you or any third parties for any loss, damage, expenses or any other liability arising directly or indirectly from the performance of our services to you.  To the fullest extent permitted by law, all warranties or conditions implied by statute, at law, by trade, custom or otherwise are excluded.
(b) You acknowledge and agree that you assume sole and entire responsibility for, and indemnify and hold us harmless from, any and all claims, liabilities, losses, expenses, responsibilities and damages by reason of any claim, proceedings, action, liability or injury arising out of or as a result of (i) your conduct in relation to these Terms and Conditions; (ii) your use of any material, advice or other results of the services provided to you; (iii) your relations with your clients and/or other third parties; or (iv) any breach of these Terms and Conditions by you.
Term and Termination
(a) These Terms and Conditions will remain in full force and effect while you use the Site.
(b) We may, without notice to you, immediately stop providing any services to you at our sole discretion for any reason whatsoever.
(c) Where these Terms and Conditions are terminated in accordance with these Terms and Conditions, they will terminate without prejudice to any rights either party may have had against the other prior to termination. Further, all provisions of which by their nature should survive termination shall survive termination, including, without limitation: (i) all intellectual property you have granted us under these Terms and Conditions; and (ii) your obligation to pay any fees due to us at the time of termination; and (iii) warranty disclaimers, indemnity and limitations of liability.
Assignment
(a) These Terms and Conditions will bind and inure for the benefit of the parties, including their respective successors, permitted assigns and legal representatives.
(b) We may, without notice to you, immediately stop providing any services to you at our sole discretion for any reason whatsoever.
(c) Provided your rights are not affected under these Terms and Conditions, we will be permitted to assign our interest in these Terms and Conditions without prior notice to you. However, you may not assign, transfer, novate or other dispose of your rights and obligations under these Terms and Conditions without our express written approval (which we may withhold in our sole discretion).
Privacy
You acknowledge that you have read and understood the terms of vaxx.nz's Privacy Policy, which can be found here: ${privacyPolicyUrl}. You agree that we may use your information (including disclosure to third parties) in accordance with the terms of our Privacy Policy.
Non-Waiver
Our failure to exercise, or delay in exercising, our rights under these Terms and Conditions does not operate as a waiver of that right.
Exclusion of Implied Relationships
Nothing in these Terms and Conditions shall be deemed or construed to constitute any party a partner, agent, representative, employer or employee of another party or to create any trust or commercial partnership unless specifically otherwise provided. We do not owe you any duty of good faith under these Terms and Conditions.
Severability
If any part of these Terms and Conditions are held to be illegal, invalid, or unenforceable, then that part shall be deemed deleted and shall not affect the validity and enforceability of the remaining provisions of these Terms and Conditions.
Entire Agreement
These Terms and Conditions constitute the entire agreement between the parties with respect to the Company’s services and supersede all previous versions of the Terms and Conditions, understandings, arrangements, agreements, and communications, whether verbal or written, between the parties.
Applicable Law and Jurisdiction
These Terms and Conditions shall be governed by and construed in accordance with N/A law. Both parties agree to submit to the jurisdiction of the courts of N/A with respect to any claim or dispute arising out of these Terms and Conditions.

Privacy Policy
This privacy policy sets out how vaxx.nz (“vaxx.nz”) collects, processes and uses your Personal Information through your use of our Services.
Definitions
Anonymized Data means anonymous information collected by us through your use of this Website or our Services for statistical and/or demographic purposes. Anonymized Data may be derived from Personal Information.
Data Processor means each of the following: Github; Google Analytics; and Netlify.
DPO means Data Protection Officer, and is the person specifically appointed by us to deal with your enquiries with respect to this privacy policy and your Personal Information.
Personal Information means any identifying information about you. This includes, but is not limited to, the following: cookies and usage data.
Services means all services provided by vaxx.nz to you, including (but not limited to) this Website and the following: Delivery of product and service.
Website means vaxx.nz and all websites, applications and communications that post a link to this Privacy Policy.
Personal Information Collection
We only collect and use Personal Information to the extent necessary to provide you with the Services. We collect Personal Information for the Website to provide you with a better online experience.
We also provide the following services:
Delivery of product and service
To deliver the Services, fulfill and manage customer orders and provide customer support.
Personal Information Retention
We keep Personal Information for the shortest time necessary to provide you with Services and to meet all our legal and compliance obligations. To determine this retention period, we take into account (i) the nature of the Personal Information gathered; and (ii) the nature of our legal and compliance obligations. All Personal Information no longer required by us is destroyed and/or erased.
Anonymized Data
We may use, collect and share Anonymized Data for any purpose at our discretion. Anonymized Data cannot be used to reveal your identity (either directly or indirectly). We may retain all Anonymized Data indefinitely.
Anonymized Data includes:

Device data: This includes information about the device used to interact with our Services.
Location data: This includes geolocation data (based on your IP address).
Log and usage data: This includes usage and performance information with respect to our Services.

Your Rights
With respect to Personal Information we hold, you have the following rights:

Access: You may request from us access to your data that we hold on you.
Rectification: If the data we hold on you is inaccurate, you may request that we correct it. If the data we hold is incomplete, you may request that we complete it.
Erasure: Subject to certain conditions, you may request that we erase all of the data we hold on you.
Restrictions: Subject to certain conditions, you may request that we restrict the processing of data we hold on you.
Portability: Subject to certain conditions, you may request that we transfer all the data we hold on you to a third party (including yourself).
Objections: Subject to certain conditions, you may object to us processing the data we hold on you.

Data Processors
We engage Data Processors to assist us in providing you with Services. Data Processors are contractually obligated to us, and must:

comply with, and act only on, our instructions with respect to the data that they process on our behalf (we, of course, give our instructions in accordance with this privacy policy);
notify us if they believe we are acting in breach of the GDPR (where applicable);
first obtain our consent prior to sub-contracting data processing services;
comply with their obligations under the GDPR (where applicable).

Social Media
You may choose to engage with our Services through a variety of social media sites and platforms, for example Facebook, Instagram and Twitter. When you interact with our Services through these social media platforms, you may allow us to receive Personal Information and other Anonymized Data on how you are interacting with our Services. This will depend on your privacy settings on each social media site and platform.
The data we are provided by you through your interaction with our Services on social media sites and platforms will be used by us subject to the terms of this privacy policy. Depending on your social media site’s privacy settings, your Personal Information may become public to a community of users if you choose to engage with our Services through these platforms.
For further information on how you can customize your privacy settings on social media sites and how those sites handle your privacy, please refer to the privacy policy of each particular social media site.
Minors
We do not knowingly collect information on children under the age of 16 (“Child”).  If you become aware that a Child has provided us with Personal Information, please contact us. If we become aware that we have collected Personal Information from a Child without their parent's verifiable authorization to access our Services, we will take steps to remove that information from our servers.
Third Party Links
Our website contains links to other third-party websites not owned or managed by vaxx.nz. This privacy policy applies to this website only. If you click a link to a third-party website, the privacy policy of that website will apply. We highly recommend that you read the privacy policies of other websites as they may be different from ours.
Updates
We are constantly reviewing our privacy policy and procedures to ensure that they meet best practices. This policy was last updated on September 21, 2021.
Contact us
If you have any questions or suggestions about our privacy policy or want to know more information about Personal Information we hold, please contact us at<EMAIL_ADDRESS>Complaints
If you believe that we have breached our obligations to you under this privacy policy or relevant privacy laws, please contact us at<EMAIL_ADDRESS>If you are not satisfied with our response, you have the right to lodge a complaint at any time to your relevant authority.

Cookies Policy
Cookies are small files that are downloaded onto your device by your web browser when you access any website or app that posts a link to this policy (collectively “the Sites”). Different types of cookies provide us with different information, all of which are used to provide you with a better experience on our Sites and provide us with greater information on users to make further improvements.
Types of Cookies
Preference Cookies: Preference cookies allow us to remember your preferences and past actions.
First and Third-Party Cookies
First-Party Cookies: First-party cookies are controlled by us.
Third-Party Cookies: Third-party cookies are controlled by our third-party advertisers. A list of our third-party advertiser affiliates is contained in our privacy policy.
Depending on the cookie, our Sites may use both first-party and third-party cookies.
Control of Cookies
Most browsers are set to accept cookies by default. However, you can remove or reject cookies in your browser’s settings. This could affect the availability and functionality of the Sites. For more information on how to control cookies, check your browser or device’s settings for how you can control or reject cookies, or visit the following links:
Google Chrome: https://support.google.com/chrome/answer/95647?co=GENIE.Platform%3DDesktop&hl=en
Apple Safari: https://support.apple.com/en-nz/guide/safari/sfri11471/mac
Microsoft Edge: https://support.microsoft.com/en-us/windows/microsoft-edge-browsing-data-and-privacy-bb8174ba-9d73-dcf2-9b4a-c582b4e640dd
Microsoft Internet Explorer: https://support.microsoft.com/en-us/windows/delete-and-manage-cookies-168dab11-0753-043d-7c16-ede5947fc64d
Mozilla Firefox: https://support.mozilla.org/en-US/kb/enhanced-tracking-protection-firefox-desktop?redirectslug=enable-and-disable-cookies-website-preferences&redirectlocale=en-US
Opera: https://help.opera.com/en/latest/
Android (Chrome): https://support.google.com/chrome/answer/95647?co=GENIE.Platform%3DAndroid&hl=en&oco=1
iPhone and iPad (Chrome): https://support.google.com/chrome/answer/95647?co=GENIE.Platform%3DiOS&hl=en&oco=1
iPhone and iPad (Safari): https://support.google.com/chrome/answer/95647?co=GENIE.Platform%3DAndroid&hl=en&oco=1
How Long are Cookies Stored?
Session Cookies: Session cookies are temporary and only retain information on your activities on our Sites for as long as you remain on our Sites. Session cookies are deleted when your web browser is closed.
Permanent Cookies: Permanent cookies remain on your device until they are deleted or on the cookie’s expiration date.
Depending on the cookie, our Sites use both session and permanent cookies.
Cookies and Personal Information
Where cookies are used to collect your Personal Information, or other Anonymized Data (as these terms are defined our privacy policy), they will be used, stored and destroyed in accordance with our privacy policy.

@rodrigohdiaz Sorry for adding a bunch more work on you and changing the ticket half way though/giving mixed messaging , really appreciate your eagerness to contribute!
I didn't realise we had an open ticket for t&c's I would have added the content there before you started work.
I've done some changes on your branch for how this should work. I've added 3 routes and added the content in markdown format I mentioned above to them.
"/terms-and-conditions"
"/privacy-policy"
"/cookies-policy"
If you're feeling especially motivated you could move it out of markdown and into react/html but that's not a requirement, (we could do this in another ticket). I only did it this way because it was quick and I had the content formatted(ish) in markdown.
Could I get you to

Add links in the footer to these routes
Remove the T&C modal
Tidy up the markdown styling I've checked in (optional)
Tidy up the styling on these routes (background color and border to match the rest of the site) (optional)

Only 1 & 2 will be required to get this merged.
@MinhPhu0304 / @oeed / @olafwrieden  For a future issue could we get a ticket to move the routes to be lazy loaded so this markdown parser I've added isn't included in the main site bundle? Not a priority now.

In retrospect, agree with @wseagar

Makes sense to me. Yep, let's go with what Will said.


$<a$ render failure

a can be any letter.

See https://docs.mathjax.org/en/latest/tex.html#tex-and-latex-in-html-documents

See https://docs.mathjax.org/en/latest/tex.html#tex-and-latex-in-html-documents

thanks

Duplicate of #2116 and #2044, among others.


Inquire about the source code release date

Hi,  may I ask when this repository will be filled

Hi, I would also be interested in the source code. Thanks!


[Python] Cannot append nullable string columns to table

Issue Description
It seems not possible to be able to append a nullable column to a table.
Start off with a table. This works fine.
$ python
>>> import pyarrow
>>> table = pyarrow.Table.from_pylist([{"a": None}], pyarrow.schema([pyarrow.field("a", pyarrow.string(), nullable=True)]))

Then try to add another similar column. This does work.
>>> table = table.append_column(pyarrow.field("b", pyarrow.string(), nullable=True), [["x"]])

Then try to add another similar column. This does not work.
>>> table = table.append_column(pyarrow.field("c", pyarrow.string(), nullable=True), [[None]])
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "pyarrow/table.pxi", line 4495, in pyarrow.lib.Table.append_column
  File "pyarrow/table.pxi", line 4452, in pyarrow.lib.Table.add_column
  File "pyarrow/error.pxi", line 144, in pyarrow.lib.pyarrow_internal_check_status
  File "pyarrow/error.pxi", line 100, in pyarrow.lib.check_status
pyarrow.lib.ArrowInvalid: Field type did not match data type

System Info
This is on Windows 11 under WSL2
>>> pyarrow.show_versions()
pyarrow version info
--------------------
Package kind              : python-wheel-manylinux2014
Arrow C++ library version : 11.0.0
Arrow C++ compiler        : GNU 10.2.1
Arrow C++ compiler flags  :  -fdiagnostics-color=always
Arrow C++ git revision    :
Arrow C++ git description :
Arrow C++ build type      : release

Component(s)
Python

The issue in the example that doesn't work is that a NullArray is created (in table.add_column) as the only element in the column being appended is None. NullArray is of type pa.null() and not pa.string() and so we get an ArrowInvalid error:
>>> pa.chunked_array([["x"]])
<pyarrow.lib.ChunkedArray object at 0x11672b600>
[
  [
    "x"
  ]
]
>>> pa.chunked_array([["x"]]).chunk(0)
<pyarrow.lib.StringArray object at 0x11671ae60>
[
  "x"
]
>>> pa.chunked_array([[None]])
<pyarrow.lib.ChunkedArray object at 0x11672b740>
[
1 nulls
]
>>> pa.chunked_array([[None]]).chunk(0)
<pyarrow.lib.NullArray object at 0x11671ae60>
1 nulls

That will not happen if you have examples with more than one row and not all elements of a column missing:
>>> pa.chunked_array([[None, "x"]]).chunk(0)
<pyarrow.lib.StringArray object at 0x11671af80>
[
  null,
  "x"
]

import pyarrow as pa
table = pa.Table.from_pylist([{"a": None}, {"a": "first"}], pa.schema([pa.field("a", pa.string(), nullable=True)]))
table = table.append_column(pa.field("b", pa.string(), nullable=True), [["x", "y"]])
table = table.append_column(pa.field("n", pa.string(), nullable=True), [[None, "second"]])
table
# pyarrow.Table
# a: string
# b: string
# n: string
# ----
# a: [[null,"first"]]
# b: [["x","y"]]
# n: [[null,"second"]]
table.schema.field("n")
# pyarrow.Field<n: string>
table.schema.field("n").nullable
# True


Calculation of anomalies

The toolbox shall offer one or more operations that allows for computing anomalies w.r.t. to a given reference e.g. a climatology.
The set of required operations should also include the calculation of the absolute anomaly on the log-transformed dataset variables.
TDB: Always provide reference or e.g. compute climatologies implicitly?

when thinking again about the Meeting, I was wondering "climatology" was supposed to mean climatology (= long stable time series e.g. 1970-1999) or climatological mean (long-term mean of daily, monthly, yearly resolution, e.g. 1970-1999 Janualy mean of SST)

There are assumptions on doing anomaly calculation (the variables have to be named the same in the 'reference' and ' data' datasets). Otherwise this is implemented.


hashable <IP_ADDRESS> build failure

👋 while trying to update some brew formulae, ormolu and fourmolu, seeing some build failures as below:
  Building library for hashable-<IP_ADDRESS>..
  [ 1 of 10] Compiling Data.Hashable.FFI ( src/Data/Hashable/FFI.hs, dist/build/Data/Hashable/FFI.o, dist/build/Data/Hashable/FFI.dyn_o )
  clang: error: the clang compiler does not support '-march=native'

According to https://stackoverflow.com/a/72597669 clang-15 supports -march=native. Otherwise turn arch-native flag off.

make sense, looks like only happens for monterey-arm build.

Why is this flag on by default if it:

breaks with some compilers
makes binaries less portable

We are just releasing cabal <IP_ADDRESS>. How do we prevent this happening to users of our binaries?

@phadej Hi, may I ask you if you could perhaps do a release of hashable without the non-portable CFLAG? :)

Relating to https://github.com/haskell-unordered-containers/hashable/issues/308

Ok, so if you care about performance of your application, you will profile your application, and enable the flag in the future.
I'll turn it off. For the record, on my machine you lose 20% of hash performance, which for hash intensive things will matter. (And if your application is not hash intensive, don't use hashable/unordered-containers, use ordinary containers).
Benchmark              without   with
hash/Text/strict/11    1.481e-8  1.289e-8 -12.95%
hash/Text/strict/128   0.319e-7  0.263e-7 -17.73%
hash/Text/strict/2^20  2.220e-4  1.252e-4 -43.61%
hash/Text/strict/40    1.934e-8  1.714e-8 -11.37%
hash/Text/strict/5     1.194e-8  0.995e-8 -16.64%
hash/Text/strict/512   0.778e-7  0.649e-7 -16.62%
hash/Text/strict/8     1.215e-8  0.983e-8 -19.09%
Geometric mean         0.810e-7  0.644e-7 -20.47%

I think it may also be a good idea to mark the affected versions of hashable as deprecated on hackage to prevent them from being inadvertently pulled into any build plans in the future.

deprecated on hackage to prevent them from being inadvertently pulled into

This is common misconception. Deprecating on the Hackage is only a soft constraint. cabal-install will violate it if forced. And if there are no tight constraints, it won't not pick the later version.

deprecated on hackage to prevent them from being inadvertently pulled into

This is common misconception. Deprecating on the Hackage is only a soft constraint. cabal-install will violate it if forced. And if there are no tight constraints, it won't not pick the later version. So deprecation essentially only changes the color of the version on the Hackage page.

You can change the base dependency to base < 0, which is sometimes done to make a package non-installable: https://hackage.haskell.org/package/unix-<IP_ADDRESS>/revisions/

@hasufell I know, but that is not deprecation.

@hasufell I know, but that is not marking as deprecated it's making a package version uninstallable with an unsatisfiable constraint trick

Correct. As Zubin pointed out the motivation is:

to prevent them from being inadvertently pulled into any build plans in the future

This can be achieved with said trick.

Remote cabal files could also be used to create a set of constraints that try to achieve maximum performance (text +simdutf and hashable +arch-native for example).
This constraint set could then be maintained centrally and also serve as documentation.


Remove flaky non-e2e test

Fixes https://github.com/flutter/flutter/issues/73873

I suspect rebasing off of upstream will fix the Could not find an option named "results-file". error. This is a new flag that was added to the devicelab runner.

I suspect rebasing off of upstream will fix the Could not find an option named "results-file". error. This is a new flag that was added to the devicelab runner.

I suspect rebasing off of upstream will fix the Could not find an option named "results-file". error. This is a new flag that was added to the devicelab runner.

He's right, rebase past https://github.com/flutter/flutter/pull/72765 your parent is even older.

I suspect rebasing off of upstream will fix the Could not find an option named "results-file". error. This is a new flag that was added to the devicelab runner.

He's right, rebase past https://github.com/flutter/flutter/pull/72765 your parent is even older.

Wow, things changed a lot. Rebased :)

Wow, things changed a lot. Rebased :)

Wow, things changed a lot. Rebased :)

Welcome back :)

Wow, things changed a lot.

TAP failure not related, marking as good.

Actually FRoB seems mad and setGitHubCheckToPass isn't working, just merging this fella.

Actually FRoB seems mad and setGitHubCheckToPass isn't working, just merging this fella.


Create and use a function to check/create needed paths

This might be resolved via #23.

This should be fixed, please reopen if the problem persists


multiCheckbox reset is not working

Hi,
I tried using multiCheckbox which works great except that the reset is not working. Calling the resetModel() method leave checkboxes checked.
It's a little bit tricky, it appears that when calling resetModel, formly set multicheckbox property (from formly model) to undefined, then call resetFormControl on the multicheckbox form which leads to multicheckbox setModel restoring the model before AngularJS digest phase (so before receiving the watch handler on the model).
Thus model is restored before having the chance to be reset.
Have you an idea on how to resolve it ?
Cheers.

Any solutions for this?


Mounted handlers don't have access to the full path of the request

If you use Router.Mount to send all requests at a subroute to a handler, it doesn't have access to the full path of the request. This causes issues if you need to redirect back to the current location.
My suggestion is to add a field to rctx that holds the original URI of the request and treat it as a reserved parameter, like fullpath, that can only be set once per context. This introduces the concept of reserved parameters, which I think will be a nice extension to rctx that prevents an explosion of helper functions in that package.

Closed as complete by #105


Feature#21 service findByLanguageAndDifficulty

Methods and testing for the service function 'getChallengesByLanguageAndDifficulty' done.

Hay conflictos que revisar
La ejecución arroja

org.springframework.data.mongodb.UncategorizedMongoDbException: Exception authenticating MongoCredential{mechanism=SCRAM-SHA-1, userName='admin_challenge', source='challenges', password=<hidden>, mechanismProperties=<hidden>}] with root cause

com.mongodb.MongoCommandException: Command failed with error 18 (AuthenticationFailed): 'Authentication failed.' on server localhost:27017. The full response is {"ok": 0.0, "errmsg": "Authentication failed.", "code": 18, "codeName": "AuthenticationFailed"}


Populate quickfix list after each build

Closes #8.

@GGCristo this should satisfy your feature request (#8). I would appreciate if you could checkout this branch and give some feedback. If you can't, don't worry, I'll merge this anyway in a week.
Notice that, for the time being, the quickfix list is generated after each build, but the first error is not jumped to. I'm still thinking whether to add an option for that, or leave it for the user (using e.g. an autocommand event, planned in #7). For now, you have to open the quickfix list/jump to the first error manually.

Much better, but I still think it should only populate the quickfix when there are errors. Right now even when the compilation exit with 0 errors it will ovewritte the quickfix, in this case it will let an empty quick-fix.

Right now even when the compilation exit with 0 errors it will ovewritte the quickfix

Isn't this a good thing? Otherwise you would have quickfix entries which point to errors that are not there anymore. Why would you want to keep old quickfix entries around?

Yes you are right, I forgot that the quickfix doesn't work in real time, so you have to compile again to update it. I said so because a lot of plugins use the quickfix so I was thinking in the case where you have the quicfix with info from other plugin and then you compile and that info its "lost", but its not a big deal.

Previous quickfix lists are not lost, Vim-CMake uses its own. You can use :chistory to find out what quickfix lists exist, and :colder and :cnewer to switch to one of those. Vim-CMake uses :colder and :cnewer to switch to its quickfix list after each build, and does not overwrite any of the existing lists.
For example, you run :CMakeBuild, which returns one error.  Then :chistory gives
  error list 1 of 2; 1 errors     CMakeBuild
> error list 2 of 2; 51 errors    Some other plugin's list

If you fix the build error and run :CMakeBuild again, :chistory might give
> error list 1 of 2; 0 errors     CMakeBuild
  error list 2 of 2; 51 errors    Some other plugin's list

that is, Vim-CMake's quickfix list is now active, but the other list can be switched to with :cnewer.


Style button focus

Some people like to traverse a page using the keyboard.
We shouldn't hinder anyone from doing so by removing clarity.

I mean the yellow buttons used to vote

@94726 Can this be closed?

I think so


ProductVersion?

Marius, I'm working with your get_view_content routine to create CSV output. Testing with 10.2.2 and with PA, I see that the dimension references come out differently:
10.2.2    '[actvsbud].[Actual]'
PA    '[actvsbud].['actvsbud'].[Actual]'
(ie the hierarchies show)
I could just count the fullstops, but I thought it worth proposing the inclusion of a object equivalent to the Rest call
http://localhost:8010/api/v1/Configuration
which (inter alia) shows
"ProductVersion": "10.2.20700.43"
Users could then test the release and handle the output accordingly. I have looked through the latest version and couldn't spot this. What do you think?
FYI, I am hoping to be able to pass back some of the code I have been building, but I need clearance from the Directors and they are on holiday.

Scratch the above - I've just found get_product_version :)

Hi David,
regarding the inconsistency in the element unique names, the problem here lies in the TM1 REST API.
TM1py shows the element unique names as it gets them from TM1 through the REST API.
Do you think we should work around it and make it consistent? e.g. always show the proper element unique name (including the hierarchy) even for TM1 10.2.2?
I mean Hierarchies do exist in TM1 10.2.2. Everything just always gets evaluated against the Hierarchy that has the same name as the dimension, right?

I'd leave it as is - especially since I discovered that you had slipped in
the version detection in the latest release!
David Usherwood | Associate
InfoCat, Riverside House, 27/29 Vauxhall Grove, London, SW8 1SY
p: 020 7735 7711 |  f: 020 7735 8811
www.infocat.co.uk
This message is private and confidential. If you have received this message in
error, please notify us and remove it from your system.
InfoCat Ltd. is a limited company registered in England. Registered number:
2843261. Registered office: 27-29 Vauxhall Grove, London, SW8 1SY.
From:   Marius Wirtz<EMAIL_ADDRESS>To:     MariusWirtz-cubewise/TM1py<EMAIL_ADDRESS>Cc:     dusherwo57<EMAIL_ADDRESS>Author
<EMAIL_ADDRESS>Date:   18/08/2017 01:24
Subject:        Re: [MariusWirtz-cubewise/TM1py] ProductVersion? (#19)
Hi David,
regarding the inconsistency in the element unique names, the problem here
lies in the TM1 REST API.
TM1py shows the element unique names as it gets them from TM1 through the
REST API.
Do you think we should work around it and make it consistent? e.g. always
show the proper element unique name (including the hierarchy) even for TM1
10.2.2?
I mean Hierarchies do exist in TM1 10.2.2. Everything just always gets
evaluated against the Hierarchy that has the same name as the dimension,
right?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

Just seen the new release - looks good! I'll go through what I've done and
see what needs changing.
Do you have suggestions for how to migrate (not my code, the libraries)?
Also, samples has gone - do you intend to migrate this? It was very useful
as a start point.
David Usherwood | Associate
InfoCat, Riverside House, 27/29 Vauxhall Grove, London, SW8 1SY
p: 020 7735 7711 |  f: 020 7735 8811
www.infocat.co.uk
This message is private and confidential. If you have received this message in
error, please notify us and remove it from your system.
InfoCat Ltd. is a limited company registered in England. Registered number:
2843261. Registered office: 27-29 Vauxhall Grove, London, SW8 1SY.
From:   David Usherwood/InfoCat
To:     MariusWirtz-cubewise/TM1py
<EMAIL_ADDRESS>Cc:     Author<EMAIL_ADDRESS>dusherwo57
<EMAIL_ADDRESS>MariusWirtz-cubewise/TM1py
<EMAIL_ADDRESS>Date:   18/08/2017 09:10
Subject:        Re: [MariusWirtz-cubewise/TM1py] ProductVersion? (#19)
I'd leave it as is - especially since I discovered that you had slipped in
the version detection in the latest release!
From:   Marius Wirtz<EMAIL_ADDRESS>To:     MariusWirtz-cubewise/TM1py<EMAIL_ADDRESS>Cc:     dusherwo57<EMAIL_ADDRESS>Author
<EMAIL_ADDRESS>Date:   18/08/2017 01:24
Subject:        Re: [MariusWirtz-cubewise/TM1py] ProductVersion? (#19)
Hi David,
regarding the inconsistency in the element unique names, the problem here
lies in the TM1 REST API.
TM1py shows the element unique names as it gets them from TM1 through the
REST API.
Do you think we should work around it and make it consistent? e.g. always
show the proper element unique name (including the hierarchy) even for TM1
10.2.2?
I mean Hierarchies do exist in TM1 10.2.2. Everything just always gets
evaluated against the Hierarchy that has the same name as the dimension,
right?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

Sorry for causing you trouble with this migration.
The TM1Service channels all the other Services now.
So the users dont have to instantiate all kind of services explicitly. I think this is more elegant.
For migrating the samples I did four things

Instead of instantiating the LoginService we can pass user, password and namespace as arguments to TM1Service or RESTService.
replace
with TM1Service(address='localhost', port=8001, user='admin', password='apple', ssl=True) as tm1_rest:
with
with TM1Service(address='localhost', port=8001, user='admin', password='apple', ssl=True) as tm1:
remove the instantiation of dimension_service etc.
replace dimension_service by tm1.dimensions and cube_service by tm1.cubes, etc.

We also renamed the ThreadService to MonitoringService and the UserService to SecurityServices.
If you want to address them in the latest Release you could do it like this:
from TM1py.Services import TM1Service

with TM1Service(address='localhost', port=8001, user='admin', password='apple', ssl=True) as tm1:
    users = tm1.monitoring.get_active_users()

We are finishing the Refactoring and the Documentation these days. Once we are done everything will be backwards compatible.
We will push the the updated samples to a second repository (TM1py-samples).
Cheers,
Marius

I wouldn't describe this as 'trouble' - as you say the changes are minor,
and for the best anyway.
What I may need a hand with is adjusting to the changes in the tm1py
install. I attach the notes I made originally:
My belief is that I should take the following steps to upgrade:
a       Remove from site-packages the folders:
Exceptions
Objects
Services
b       Install tm1py using pip
c       Adjust my scripts to take account of the changes
d       Test!
Does this seem right to you?
David Usherwood | Associate
InfoCat, Riverside House, 27/29 Vauxhall Grove, London, SW8 1SY
p: 020 7735 7711 |  f: 020 7735 8811
www.infocat.co.uk
This message is private and confidential. If you have received this message in
error, please notify us and remove it from your system.
InfoCat Ltd. is a limited company registered in England. Registered number:
2843261. Registered office: 27-29 Vauxhall Grove, London, SW8 1SY.
From:   Marius Wirtz<EMAIL_ADDRESS>To:     MariusWirtz-cubewise/TM1py<EMAIL_ADDRESS>Cc:     dusherwo57<EMAIL_ADDRESS>Author
<EMAIL_ADDRESS>Date:   18/08/2017 22:00
Subject:        Re: [MariusWirtz-cubewise/TM1py] ProductVersion? (#19)
Sorry for causing you trouble with this migration.
The TM1Service channels all the other Services now.
So the users dont have to instantiate all kind of services explicitly. I
think this is more elegant.
For migrating the samples I did four things
Instead of instantiating the LoginService we can pass user, password and
namespace as arguments to TM1Service or RESTService.
replace
with TM1Service(address='localhost', port=8001, user='admin',
password='apple', ssl=True) as tm1_rest:
with
with TM1Service(address='localhost', port=8001, user='admin',
password='apple', ssl=True) as tm1:
remove the instantiation of dimension_service etc.
replace dimension_service by tm1.dimensions and cube_service by tm1.cubes,
etc.
We also renamed the ThreadService to MonitoringService and the UserService
to SecurityServices.
If you want to address them in the latest Release you could do it like
this:
from TM1py.Services import TM1Service
with TM1Service(address='localhost', port=8001, user='admin',
password='apple', ssl=True) as tm1:
users = tm1.monitoring.get_active_users()
We are finishing the Refactoring and the Documentation these days. Once we
are done everything will be backwards compatible.
We will push the the updated samples to a second repository
(TM1py-samples).
Cheers,
Marius
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

Yes. That looks good.

remove the TM1py folder from site-packages (or if you have TM1py's subfolders in it, remove them instead).

I will upload the updated samples tomorrow to the new samples repository.
https://github.com/cubewise-code/TM1py-samples


class property setters with null checks makes Typed  JsonPatchDocument  tests fail.

class property setters with null checks like the following makes tests fail.
Eg. I added a backing field for  SimpleDTO.StringProperty with a null check like the following.
These tests appear in NestedObjectsTests and ObjectAdapterTests class.
    public class SimpleDTO
    {
        public List<int> IntegerList { get; set; }
        public IList<int> IntegerIList { get; set; }
        public int IntegerValue { get; set; }
        string stringProperty;

        public string StringProperty
        {
            get
            {
                return stringProperty;
            }

            set
            {
                if (value == null) {
                    throw new ArgumentNullException();
                }
                stringProperty = value;
            }
        }

Test Name:	Microsoft.AspNetCore.JsonPatch.Test.NestedObjectTests.Replace
Test FullName:	Microsoft.AspNetCore.JsonPatch.Test.NestedObjectTests.Replace
Test Source:	D:\0\JsonPatch\test\Microsoft.AspNetCore.JsonPatch.Test\NestedObjectTests.cs : line 886
Test Outcome:	Failed
Test Duration:	0:00:00.036

Result StackTrace:
at Newtonsoft.Json.Serialization.ExpressionValueProvider.SetValue(Object target, Object value)
   at Microsoft.AspNetCore.JsonPatch.Adapters.ObjectAdapter.Remove(String path, Object objectToApplyTo, Operation operationToReport) in D:\0\JsonPatch\src\Microsoft.AspNetCore.JsonPatch\Adapters\ObjectAdapter.cs:line 687
   at Microsoft.AspNetCore.JsonPatch.Adapters.ObjectAdapter.Replace(Operation operation, Object objectToApplyTo) in D:\0\JsonPatch\src\Microsoft.AspNetCore.JsonPatch\Adapters\ObjectAdapter.cs:line 725
   at Microsoft.AspNetCore.JsonPatch.Operations.Operation`1.Apply(TModel objectToApplyTo, IObjectAdapter adapter) in D:\0\JsonPatch\src\Microsoft.AspNetCore.JsonPatch\Operations\OperationOfT.cs:line 67
   at Microsoft.AspNetCore.JsonPatch.JsonPatchDocument`1.ApplyTo(TModel objectToApplyTo, IObjectAdapter adapter) in D:\0\JsonPatch\src\Microsoft.AspNetCore.JsonPatch\JsonPatchDocumentOfT.cs:line 674
   at Microsoft.AspNetCore.JsonPatch.JsonPatchDocument`1.ApplyTo(TModel objectToApplyTo) in D:\0\JsonPatch\src\Microsoft.AspNetCore.JsonPatch\JsonPatchDocumentOfT.cs:line 636
   at Microsoft.AspNetCore.JsonPatch.Test.NestedObjectTests.Replace() in D:\0\JsonPatch\test\Microsoft.AspNetCore.JsonPatch.Test\NestedObjectTests.cs:line 903
   at Microsoft.AspNetCore.JsonPatch.Test.SimpleDTO.set_StringProperty(String value) in D:\0\JsonPatch\test\Microsoft.AspNetCore.JsonPatch.Test\SimpleDTO.cs:line 28
   at Newtonsoft.Json.Serialization.ExpressionValueProvider.SetValue(Object target, Object value)
Result Message:
Error setting value to 'StringProperty' on 'Microsoft.AspNetCore.JsonPatch.Test.SimpleDTO'.
Value cannot be null.

-----------------------
Test Name:	Microsoft.AspNetCore.JsonPatch.Test.NestedObjectTests.Move
Test FullName:	Microsoft.AspNetCore.JsonPatch.Test.NestedObjectTests.Move
Test Source:	D:\0\JsonPatch\test\Microsoft.AspNetCore.JsonPatch.Test\NestedObjectTests.cs : line 1683
Test Outcome:	Failed
Test Duration:	0:00:00.005

Result StackTrace:
at Newtonsoft.Json.Serialization.ExpressionValueProvider.SetValue(Object target, Object value)
   at Microsoft.AspNetCore.JsonPatch.Adapters.ObjectAdapter.Remove(String path, Object objectToApplyTo, Operation operationToReport) in D:\0\JsonPatch\src\Microsoft.AspNetCore.JsonPatch\Adapters\ObjectAdapter.cs:line 687
   at Microsoft.AspNetCore.JsonPatch.Adapters.ObjectAdapter.Move(Operation operation, Object objectToApplyTo) in D:\0\JsonPatch\src\Microsoft.AspNetCore.JsonPatch\Adapters\ObjectAdapter.cs:line 411
   at Microsoft.AspNetCore.JsonPatch.Operations.Operation`1.Apply(TModel objectToApplyTo, IObjectAdapter adapter) in D:\0\JsonPatch\src\Microsoft.AspNetCore.JsonPatch\Operations\OperationOfT.cs:line 70
   at Microsoft.AspNetCore.JsonPatch.JsonPatchDocument`1.ApplyTo(TModel objectToApplyTo, IObjectAdapter adapter) in D:\0\JsonPatch\src\Microsoft.AspNetCore.JsonPatch\JsonPatchDocumentOfT.cs:line 674
   at Microsoft.AspNetCore.JsonPatch.JsonPatchDocument`1.ApplyTo(TModel objectToApplyTo) in D:\0\JsonPatch\src\Microsoft.AspNetCore.JsonPatch\JsonPatchDocumentOfT.cs:line 636
   at Microsoft.AspNetCore.JsonPatch.Test.NestedObjectTests.Move() in D:\0\JsonPatch\test\Microsoft.AspNetCore.JsonPatch.Test\NestedObjectTests.cs:line 1699
   at Microsoft.AspNetCore.JsonPatch.Test.SimpleDTO.set_StringProperty(String value) in D:\0\JsonPatch\test\Microsoft.AspNetCore.JsonPatch.Test\SimpleDTO.cs:line 28
   at Newtonsoft.Json.Serialization.ExpressionValueProvider.SetValue(Object target, Object value)
Result Message:
Error setting value to 'StringProperty' on 'Microsoft.AspNetCore.JsonPatch.Test.SimpleDTO'.
Value cannot be null.

@wannado out of curiosity, was the PATCH trying to clear out the value? That is, if the PATCH "document" was indicating that the property needed to be cleared, then I would expect this to happen because the property is indicating that it can't be cleared.
Or is the PATCH document just trying to set a new value (e.g. change property from "foo" to "bar")?

@Eilon  Thanks for looking in to it!!!   Yes patch document had "op" as "replace",  as you said, just trying to set a new value (e.g. change property from "foo" to "bar".

@wannado ah ok then that indeed sounds like a bug. We'll take a look!

We are hitting this as well when we are trying to convert a string to an enum in a setter, e.g.
        public string Status
        {
            get
            {
                return this.SimulationStatus.ToString();
            }

            set
            {
                SimulationStatus updatedStatus;
                Console.WriteLine($"Trying to set simulation status to value: {value}");
                if (Enum.TryParse(value, out updatedStatus))
                {
                    this.SimulationStatus = updatedStatus;
                }
                else
                {
                    throw new ArgumentException($"Invalid simulation status setting: {value}");
                }
            }
        }

@jbagga can you take a look?

@Eilon Thanks for looking in to it!!! Yes patch document had "op" as "replace", as you said, just trying to set a new value (e.g. change property from "foo" to "bar".

I cannot repro this.
@ryanwalls what kind of operation are you trying to do when you hit this issue? for example, if you were trying to do a 'move' operation, the value of source property is copied onto the destination property and the source property would be set to its default value (in case of 'string' since its a reference type, it would be set to null).

Update: I was able to repro it on 1.0...In this version during a Replace operation, a Remove operation is run first and then an Add and in case of Remove operation the default value for a type is set because of which we are seeing this exception.

@ryanwalls @wannado Are you able to reproduce this? As @kichalla noted, there have been changes to the Replace operation since 1.0.0. If you can provide more information like the build version (1.0.0 or 1.1.0) and type of operation performed, we can investigate this further!

I'm doing a "replace" operation with version 1.1.0.

@ryanwalls I have tried to reproduce this issue with 1.1.0 but haven't been able to. Can you send us a sample or repro steps?
@Eilon Also, adding tests to 2.0.0 to ensure Replace does not fail for properties with null checks. See #56.

@jbagga No worries.  If you've ensured null checks work in 2.0.0, I'll just wait to update.  We've worked around the problem for now.

Closing this as it cannot be reproduced for 1.1.0. Added tests to ensure property setters with null checks do not throw for Replace  operation.
Please feel free to reopen this issue if you have a repro sample app for 1.1.0. We can investigate this further then!


Better Discord Integration

We need better discord integration.
We should have a discord bot in its own container, capable of reading all messages/watching for commands.
It should be talking to the database.
It should handle memes / helping.
On the ASU side, it should be capable of assigning students ASU roles (without being ASU-specific, of course).

Stretch goal: Support GitHub issue filing straight from Discord


Use with no external RAM

Should be simple fix.
External ram is only really used by the transferpak. I already made it so that smaller objects (like mempaks) use internal RAM.
https://github.com/Ryzee119/usb64/blob/dev/src/memory.c detects external RAM.
Just need to disable the transferpak feature if no external RAM is present.

Fixed by 06f15290d0b92853a04021db23f1a1aa909c02ff
TPAK will be disabled if no external RAM detected. Teensy have enough internal RAM for mempaks 👍


[vim9script] handle compiled access to item imported through symbolic linked directory

Fix #14536
@yegappan
If an import is through a symbolic link then at first encounter during compilation create a script_items entry for the real file; and adjust to use the real file for "ISN_SOURCE" and var loading.

Looks good to me.

@yegappan Minor change https://github.com/vim/vim/compare/39e005a38c48e83c3877c7ee8673bdcf014924b1..6364ac6b24255209f3e9d10059742b9eb4d537c5
Insure script is never checked more than once for sym link.
Adjust test so early return code is executed.

thanks makes sense.

@yegappan There's another twist; before this PR, v9.1.0338, the following fails. Note, there are no symbolic links involved. I think this explains some problems I was having with autoload ./xxx.vim last year.
vim9script

var lines =<< trim END
    vim9script

    export def F1(): string
        return 'InFile.vim'
    enddef
END
writefile(lines, 'xfile.vim')

import autoload './xfile.vim'

def F(): string
    return xfile.F1()
enddef

try
    echo F()
catch
    echo "FAIL"
    echo v:exception
endtry

delete('xfile.vim')

FAIL
Vim(echo):E117: Unknown function: <SNR>40_F1

I wanted to put together a test for this. But if I put something like this in a test, it does not fail. Tried the following in test_vim9_import.vim
def Test_autoload_import_relative_compiled()
  # autoload relative, access from compiled function. #14565
  var lines =<< trim END
    vim9script

    export def F1(): string
        return 'InFile.vim'
    enddef
  END
  writefile(lines, 'xfile.vim', 'D')
  lines =<< trim END
    vim9script

    import autoload './xfile.vim'

    def F(): string
      return xfile.F1()
    enddef
    assert_equal('xInFile.vim', F())
  END
  v9.CheckScriptSuccess(lines)
enddef

BTW, a simple way to remove the effect of this PR is to comment out the two lines in compile_load_scriptvar
	check_script_symlink(import->imp_sid);
	import_check_sourced_sid(&import->imp_sid);

@yegappan after this, lsp hover failed:
E1048: Item not found in script: ParseMarkdown

@yegappan after this, lsp hover failed:
E1048: Item not found in script: ParseMarkdown

at line 60 of lspgfm.vim

Thanks for reporting the failure.  I will take a look.


CLI Command : "rkt run --memory " not allocating  memory to the image , with and without stage1

Without Stage 1:
rkt run sha512-011a32facf07 --memory=8G  --interactive --exec /bin/bash
rkt: using image from local store for image name coreos.com/rkt/stage1-coreos:0.14.0
bash-4.1# cat /proc/meminfo
MemTotal:       131826060 kB
With Stage 1:
rkt run --stage1-image=/var/etcop/rkt-v0.13.0/stage1-kvm.aci  sha512-011a32facf07 --memory=8G --interactive --exec /bin/bash
rkt: using image from file /var/etcop/rkt-v0.13.0/stage1-kvm.aci
bash-4.1# cat /proc/meminfo
MemTotal:         121108 kB

stage1-coreos
The first test runs rkt with stage1-coreos so it is using containers and /proc/meminfo is not container-aware so it will show the same thing as on the host. In your example, this shows you have approximately 128GB memory on the host.
The limit --memory=8G here applies to the cgroup configuration of the app. It is not pre-allocated but just a limit. It can be checked in the cgroup filesystem with:
# CGROUP_PATH=$(grep memory /proc/self/cgroup|sed s/^.*memory://)
# cat  /sys/fs/cgroup/memory/$CGROUP_PATH/memory.limit_in_bytes
8000000000

stage1-kvm
The second test runs with stage1-kvm so it is a virtual machine and in this case, /proc/meminfo shows the memory allocated to the VM. The current implementation (see #1404) in stage1-kvm reserves 128MB + the limits you defined (--memory=8G). You get a bit less than that, I don't know why. @jellonek @ppalucki ?

Thanks alban. understood the stage1-coreos memory configuration.

Stage 1-kvm works now.
$ rkt run --stage1-image=/var/etcop/rkt-v0.14.0/stage1-kvm.aci --volume data,kind=host,source=/local/dump/,readOnly=false sha512-011a32facf07 --memory=8G --mount volume=data,target=/var/data --interactive --exec /bin/bash
rkt: using image from file /var/etcop/rkt-v0.14.0/stage1-kvm.aci
bash-4.1# cat /proc/meminfo
MemTotal:        7729160 kB
Thanks for the help.


Language Select and Color Scheme Switch not documented

<.language_select> and <.color_scheme_switch />  are not documented in the list of components

@pyladune this has been added as a task to the Petal Development board.
https://github.com/orgs/petalframework/projects/2/views/1

done


perf(Topology.Algebra.Module): factor out smul

We want to avoid making Lean unfold smul during unification. A separate instance does helps at the cost of some elaboration failures.

!bench

fast_instsnces% doesn't chunk up it's input into new declarations and add them to the environment. It only looks for preexisting instances. So if you don't split off, SMul here there won't be any preexisting instances to find.
So it in fact works in tandem.

Okay, let's go
maintainer merge


Additional alias for GO-space

Adding "suborderable" as alias for GO-space.
Also, for LOTS changed the alias from "linearly orderable" to "orderable" as it seems more common.  Plus minor streamlining.

I think it looks good now.


Store index with UserdataOnStack so that correct value is read in Deref

the Deref and DerefMut impls previously always read from the index -1, which would be incorrect if the userdata were stored elsewhere. This adds an index field to UserdataOnStack which is filled in when it is created in lua_read_at_position, so that the value is always read from the correct position. This allows having userdata in function arguments aside from the first, for example.

Thanks


⚠ SkipTheTrailers has degraded performance

In c5bfe96, SkipTheTrailers ($STT) experienced degraded performance:

HTTP code: 200
Response time: 3159 ms

Resolved: SkipTheTrailers performance has improved in 442f527.


C#: Fix regression from #32732 caused a crash on domain reload

Fixes #32762

Hopefully the regression this commit introduces will be as easy to fix as the regression this commit fixes.

Thanks!


Macro: RNA Builder allows creating an invalid preset with disconnected sugar

RNA Builder allows user to select a sugar without R3 connection (e.g. '3SS6') while creating a new preset and save this preset in monomer library. If user further tries to add this preset to canvas, Uncaught ReferenceError: process is not defined error appears in browser console and the operation doesn't succeed.
Instead, RNA Builder should not allow using sugar, base or phosphate as a building block if corresponding monomer doesn't have connection point required for connecting with other monomers in the nucleotide. If user selects a monomer while RNA Builder is in editing mode, the following checks should be applied:

Action
Validation rule
Error message if violated

Select base
Base has R1 connection point
Base without R1 connection point cannot make nucleotide

Select base
If sugar is selected, it should have R3 connection point
Sugar without R3 connection point cannot make this nucleotide

Select sugar
If base is selected, sugar should have R3 connection point
Sugar without R3 connection point cannot make this nucleotide

Select phosphate
Phosphate has R1 connection point
Phosphate without R1 connection point cannot make nucleotide

Select phosphate
If sugar is selected, it should have R2 connection point
Sugar without R2 connection point cannot make this nucleotide

Select sugar
If phosphate is selected, sugar should have R2 connection point
Sugar without R2 connection point cannot make this nucleotide

A preset can only have the following structures:

Sugar+Base
Sugar+Phosphate
Sugar+Base+Phosphate

If user validation rule is violated corresponding error should be shown in a pop-up error box and 'Save'/'Add to presets' button should be disabled
Ketcher version
[Version 2.17.0-rc.2]
Related issue: https://github.com/epam/ketcher/issues/3615

Merged into 2.21 branch - https://github.com/epam/ketcher/pull/4721

Not fixed.
I still able to create preset with 3SS6 sugar:

Open RNA builder
Click New Preset button
Select Phosphate (P in my case)
Select Base (A in my case)
Select 3SS6 sugar

Press Add to Presets button

Indigo Toolkit Version 1.21.0-rc.1.0-g9194599b2-wasm32-wasm-clang-19.0.0
Ketcher Version 2.22.0-rc.2 Build at 2024-06-03; 18:43:00
Chrome Version 125.0.6422.142 (Official Build) (64-bit)
Windows 10

Alexey and I agreed that the task would be closed. An issue will be created for the case found by Alexey.

Alexey Girin will create issue for the case that he found.

Tested. We still can create forbidden RNA preset. We have bug for it in 2.23 https://github.com/epam/ketcher/issues/4763
Desktop:

OS: Windows 11
Browser Chrome
Version 124.0.6367.79 (Official Build) (64-bit)

Ketcher version
[Version 2.21.0-rc.3]
Indigo version
[Version 1.20.0-rc.3]


Update zh-HANS.coffee

Yes
------------------ 原始邮件 ------------------
发件人<EMAIL_ADDRESS>发送时间: 2018年5月21日(星期一) 中午1:25
收件人<EMAIL_ADDRESS>抄送<EMAIL_ADDRESS><EMAIL_ADDRESS>主题: Re: [codecombat/codecombat] Update zh-HANS.coffee (#4682)
@qq1010903229 Could you sign our CLA? Please, use exactly this link, because it's not forwarded to CN database. Thanks!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

Thanks!