text:
System.out nullness? [working decision: non-nullable]

System.out is a final field that is initialized to null by default. Also, it could be changed to null via System.setOut(null) call later, so having a check like if (System.out == null) in the code is not completely unreasonable. So should it be marked as 'unspecified' or 'not-null' by default? If 'unspecified', then every System.out.println call will be warned in strict mode.

I don't know that I'd realized that setOut(null) would actually overwrite the value of System.out. Fun :)
I have 3 thoughts:

In a post today on another question about a JDK method, I said that I'm hoping we don't need to decide the nullness of any JDK APIs before 1.0. However, my post is far from the final word on that question. Plus, even if we do choose to wait to make a decision, I think it's perfectly fine to start discussions now[*]. That's especially true when those discussions illustrate larger issues, as your example does here. So I'll continue by talking about what I would envision we would do someday in the future:
For setOut(null), I think we can take the following position: Even though setOut(null) executes successfully at runtime, we would not want to allow it. This is similar to how we wouldn't want to allow users to add null to an ArrayList whose element type is "non-null string": Yes, the call would execute successfully at runtime (because ArrayList has no null check). But if our type system allowed the call, it would prevent us from offering a guarantee to users -- namely, the guarantee that they can have a type "ArrayList whose element type is non-null string," which is different from "ArrayList whose element type is nullable string" because our type system keeps nulls out. (Yes, all guarantees go away if anyone suppresses nullness errors or just plain doesn't run a checker. That's an unavoidable problem, though I grant that it's worse for a static field like System.out that anyone can access.)
For public static final PrintStream out = null;, I don't have as clear a picture. I do think it's pretty clear that, as long as "normal users" can't ever see that null value, we'd want out to be treated as non-null. Sure, if someone were to run one of our checkers over System.java, then the checker might well require a suppression for that assignment. Ideally, the code would be restructured to call a static native method and assign the result of that directly (if possible). But sometimes a field is left null for longer, yet it's always filled in before "users" see it. Then it's less clear to me what to do. The place to get into those details is probably https://github.com/jspecify/jspecify/issues/39, to which I know you've contributed.

(And for what it's worth, the Checker Framework considers System.out to be non-null and does not let users call setOut(null).)
[*] If we start having a lot of discussions about JDK APIs, then we should find a different place for them so that they don't overwhelm all the other discussions. But I don't think we've reached that point yet. If others disagree, though, please let me know. I haven't surveyed all our issues to see how many such discussions we've had.

(I actually don't see this as a question about a JDK API; the API is just a case study to see whether our spec and guidelines are complete. So I think it does belong here, and "overwhelm" could be handled via labels if needed.)
First I will cop to having pleaded many times for the design anchor to be "these are just types, and we're just designing a type system." That would seem to argue that System.out has to be nullable (like a number that could oh-so-rarely go up to 2^31 has to be a long).
But it's just an anchor, anchors sometimes drag you down. The point of departure is that the Java type system's goal is soundness and ours explicitly isn't. We have some freedom to make pragmatic trade-offs.
Now that I think of it, this seems fairly similar to the Object.toString case. It could be null, but if it is, we're always gonna complain and say that someone screwed up. So I still think we might as well write the "aspirational" type that the field intends to live up to, even knowing that it can sometimes fail.

I think I'm gonna backpedal on that "EDIT" I just made.
The gray area I'm pondering:
(1) It is technically possible that this method could return null, or reading this field could give null
(2) Yet in the general case of calling this method or reading this field, it is wrong for it to be null.
Since the beginning I've felt that the highest purpose for the annotations is to document developer intent -- because that is precisely the piece that cannot be observed any other way.
But that says to me that it is that wrongness of part (2) that is the important thing to capture. And wrongness involves a judgment call.

If I feel "it really is wrong for someone to return null from an Object.toString() override", then I will want to not mark the Object.toString() return type nullable.
If I feel "it's normal enough for O.tS() to return null, then perhaps I will.

Would this represent a failure of our specification?

So for System.out we have the simple and consistent option to annotate
both it and setOut such that they use non-null output and input,
respectively.  That's internally consistent, should be safe, and
practical.  The Javadoc (
https://docs.oracle.com/javase/8/docs/api/java/lang/System.html#setOut-java.io.PrintStream-)
doesn't seem to indicate whether null should be allowed or not, so even if
setting null doesn't break anything, there's no reason to think it's
intentionally allowed?
For toString() I feel that non-null is the "better" return type for it.
I'm sure there are existing toString implementations out there that
return null, but that's technically ok, since that will be in "unspecified
nullness" code.  However, if we wanted to allow null returns (i.e.,
annotate Object.toString()'s return type as @Nullable , I think that
would be doable too (especially since @NullMarked annotated subclasses
would still have to return a non-null string unless they repeat
@Nullable), and would have the advantage that any checker would force you
to null-check toString return values. I'm just not convinced that
returning null is an intended thing for toString implementations to do.
In any case, Object.toString()'s annotations are a question of intent; I
don't see a technical constraint that would force one way or the other.

Wait a bit... have I just been confused? Now I'm thinking, if these two APIs are both straight up non-nullable:

it's good that attempting to set System.out to null (by either means) will error
it's good that trying to return null from toString() will error
the unexpected runtime exception on read that I've been worried about.... that can only happen if there was some unanalyzed (or suppressed) code involved, right? And did we not agree a few times that we can't worry about those kinds of cases, they're "all bets are off"?

Okay. But now what am I missing this time? :-)

I think that's right. By "exception on read" I believe you're referring to dereferencing System.out (or the return value of toString()) after it evaluated to null. And yes, assuming the JVM initializes that field to a non-null value, and assuming setOut is specified to require non-null arguments, then only unanalyzed or suppressed code calling setOut(null) can cause exceptions on read.  Those exceptions may unfortunately occur later in analyzed code, but that's universally the case, for better or worse. (Unless we had tooling that inserted "eager" null checks before unchecked setOut() call sites, as I believe the Kotlin compiler or something like @wmdietl's Granullar would.)

(slight adjustment: even if the JVM doesn't initialize it non-null, if user code has no reasonable chance to observe it before it gets made non-null, that should be enough)

I think (?) we've all been clear on what to do here for a while.
The intention that should be represented is that out is non-nullable.
Bad things can happen that break that expectation. But they are bad, and making it non-nullable makes that clear.

Current decision: System.out can be marked non-null.
Timing: This decision is not required for JSpecify 1.0.
Proposal for 1.0: Finalize the current decision. If you agree, please add a thumbs-up emoji (👍) to this comment. If you disagree, please add a thumbs-down emoji (👎) to this comment and briefly explain your disagreement. Please only add a thumbs-down if you feel you can make a strong case why this decision will be materially worse for users or tool providers than an alternative.

repo: jspecify/jspecify


text:
Change @Implies from a repeatable annotation to one with an array of values

Addresses question in #215.

Yes, this was in anticipation. Will not merge until the decision is made on that issue.

The docs I have ready to merge in have already been adjusted for the array. I see no problem merging this; if we need to undo it there's the extra step of changing the docs back anyway.

source: gharchive/pull-request

license_type: permissive

license_source: bigquery


text:
throw new JspmError(`${parentUrl}node_modules/${target.name} does not exist,

I use the pnpm package management tool in my project and use nodemodules as thedefaultProvider to generate importmap. This is my sample code.
// package.json
{
  "name": "web-module-demo",
  "type": "module",
  "devDependencies": {
    "@jspm/generator": "^2.4.1"
  },
  "dependencies": {
    "lit": "^3.2.1"
  }
}

// generator.js
import { Generator } from '@jspm/generator';
const generator = new Generator({
    env: ['production', 'browser', 'module'],
    defaultProvider: 'nodemodules',
});
await generator.install('lit');
console.log(JSON.stringify(generator.getMap(), null, 2));

I run pnpm install && node generator.js and get the following error:
node generator.js
file:///xxxx/demo/jspm-demo/generator.js
file:///xxxx/demo/jspm-demo/node_modules/.pnpm/@jspm+generator@2.4.1/node_modules/@jspm/generator/dist/generator-cbc17fc9.js:1716
            throw new JspmError(`${parentUrl}node_modules/${target.name} does not exist, try installing "${target.name}" with npm first via "npm install ${target.name}".`);
                  ^
JspmError: file:///xxxx/demo/jspm-demo/node_modules/lit/index.jsnode_modules/@lit/reactive-element does not exist, try installing "@lit/reactive-element" with npm first via "npm install @lit/reactive-element".
    at Resolver.resolveLatestTarget (file:///xxxx/demo/jspm-demo/node_modules/.pnpm/@jspm+generator@2.4.1/node_modules/@jspm/generator/dist/generator-cbc17fc9.js:1716:19)
    at async Installer.installTarget (file:///xxxx/demo/jspm-demo/node_modules/.pnpm/@jspm+generator@2.4.1/node_modules/@jspm/generator/dist/generator-cbc17fc9.js:2752:27)
    at async TraceMap.resolve (file:///xxxx/demo/jspm-demo/node_modules/.pnpm/@jspm+generator@2.4.1/node_modules/@jspm/generator/dist/generator-cbc17fc9.js:3234:27)
    at async TraceMap.visit (file:///xxxx/demo/jspm-demo/node_modules/.pnpm/@jspm+generator@2.4.1/node_modules/@jspm/generator/dist/generator-cbc17fc9.js:3024:26)
    at async file:///xxxx/demo/jspm-demo/node_modules/.pnpm/@jspm+generator@2.4.1/node_modules/@jspm/generator/dist/generator-cbc17fc9.js:3073:13
    at async Promise.all (index 0)
    at async TraceMap.visit (file:///xxxx/demo/jspm-demo/node_modules/.pnpm/@jspm+generator@2.4.1/node_modules/@jspm/generator/dist/generator-cbc17fc9.js:3068:9)
    at async file:///xxxx/demo/jspm-demo/node_modules/.pnpm/@jspm+generator@2.4.1/node_modules/@jspm/generator/dist/generator-cbc17fc9.js:4282:13
    at async Promise.all (index 0)
    at async Generator._install (file:///xxxx/demo/jspm-demo/node_modules/.pnpm/@jspm+generator@2.4.1/node_modules/@jspm/generator/dist/generator-cbc17fc9.js:4281:9) {
  jspmError: true,
  code: undefined
}

According to the error message, can I only use npm or yarn and not pnpm?

The path at file:///xxxx/demo/jspm-demo/node_modules/lit/index.jsnode_modules/@lit/reactive-element seems like it is incorrectly doing path manipulations in the nodemodules provider here.
This may or may not be pnpm specific, but sounds like a bug that could be fixed in that provider to me given there is a missing slash in the path handling.

This is not a bug after all - the issue is that you haven't installed @lit/reactive-element. I can correct the error message though.

source: gharchive/issue

authors: guybedford zengtiansheng

repo: jspm/generator

license_source: github-api


text:
Support PR reviews

Hello there,
Thanks for the great project! We're running into a potential good use of github-pullrequest-resource to not only set PR statuses with comments, but also to submit Github reviews with associated in-line comments.
This would allow a more deeply integrated feedback loop when pipelines produce the required information on a line by line, file by file basis. A good example would be a code linter which would produce errors and their files and locations, then used to submit a PR review with in-line comments.
What are your thoughts? Thanks.

This sounds like a new resource.

A review exists only in the context of a pull request. While I’m not opposed to the idea of it being a separate resource, I’d like to understand your particular train of thought.

Originally this resource was to solve the TravisCI behaviour, which I would like to keep. This addition seems like away to avoid an API call from the pipeline maintainer perspective. When you'd already have to convert your output to something the resource could support and then convert into API calls. Remove the middle-person.

I'm trying to make this resource do less. Not just become a converter of one format to an API call. I know it does a bunch of that already, but I'm hesitant to keep adding it in. As it means more error handling, interfaces to extra API calls, etc.
I'm going to close this issue on those thoughts. If you can propose an interface that requires minimal effort on the resource's part and your's (to convert the output of your code linter to something the resource understands) I'm all ears.

authors: jtarchie optiomas

repo: jtarchie/github-pullrequest-resource

license: mit


text:
Navigation file discovery fixes and speedup

This PR brings in fixes for a few issues I ran into while running PRX on a 15-minute observation file.
Details in the comments.

Tested branch with a longer file
  2024     5     8    18    43   18.6000000     GPS         TIME OF FIRST OBS
  2024     5     8    20    24    2.6000000     GPS         TIME OF LAST OBS

2024-05-21:16:35:20,858 DEBUG    [helpers.py:393] Function process took 0 days 01:57:58.828352 to run.

So roughly a processing speed of 1.

repo: jtec/prx

license: MIT


text:
minimum memory required

what is the minimum memory required to run the dockerized application?
For me it always gets killed in the "Creating tensorflow session..." Step, so before any data is loaded, with multiple Error messages:
W tensorflow/core/framework/allocator.cc:107] Allocation of 60236800 exceeds 10% of system memory.

it looks like about 2GiB of RAM is required

@gustavz what kind of hardware do you plan to run this?

repo: jtibshirani/text-embeddings


text:
Creating a vcf files that include BaseCalledReadsWithVariant in the report

Hi,
Sorry if I am asking a naive question. I am very new in this field and trying to figure out how to run the nanopolish pipeline so that I can receive "BaseCalledReadsWithVariant" in the report.  With the way that I have done so far what I get in my vcf file is as follows:
#CHROM	POS	ID	REF	ALT	QUAL	FILTER	INFO	FORMAT	sample
ref|NC_000077.7|:81926214-81928465	64	.	CT	C	35266.3	PASS	TotalReads=68199;AlleleCount=1;SupportFraction=0.228357;SupportFractionByStrand=0.24173,0.21498;StrandSupport=25861,26764,8244,7330;StrandFisherTest=161;SOR=0.787881;RefContext=ACTTACTCAGCG	GT	1
And here is the command that I used to create above vcf file:
$nanopolish_home/nanopolish variants --consensus -o $out_name -p 4 -r $in_fastq -b $in_sorted_bam -g ./CCL2.fa     -t 32
Any instructions that guide me to generate a vcf file with "BaseCalledReadsWithVariant" feature is appreciated.
Thank you

Thanks Jared for your reply!
Is there a pipeline/guideline that you can suggest to find variants from the read alignments? I would like to do this analysis from the scratch so that can generate that tag ...
Thanks for your help

My apologies, I read your issue too quickly and misunderstood the problem. In --consensus mode nanopolish tries all single base edits (substitutions, 1bp insertions and deletions), and these variants don't have the BaseCalledReadsWithVariant annotation. All you can try is to remove the --consensus flag so it runs in variant calling mode which doesn't have this feature.

I used the following command (removed  the --consensus):
nanopolish_home/nanopolish variants -o $out_name -p 4 -r $in_fastq -b $in_sorted_bam -g ./CCL2.fa -t 32
and this time I didn't receive any types of report/tags (please see the below)
##fileformat=VCFv4.2
##nanopolish_window=ref|NC_000077.7|:81926214-81928465:0-2251
##INFO=<ID=TotalReads,Number=1,Type=Integer,Description="The number of event-space reads used to call the variant">
##INFO=<ID=SupportFraction,Number=1,Type=Float,Description="The fraction of event-space reads that support the variant">
##INFO=<ID=SupportFractionByStrand,Number=2,Type=Float,Description="Fraction of event-space reads that support the variant for each strand">
##INFO=<ID=BaseCalledReadsWithVariant,Number=1,Type=Integer,Description="The number of base-space reads that support the variant">
##INFO=<ID=BaseCalledFraction,Number=1,Type=Float,Description="The fraction of base-space reads that support the variant">
##INFO=<ID=AlleleCount,Number=1,Type=Integer,Description="The inferred number of copies of the allele">
##INFO=<ID=StrandSupport,Number=4,Type=Integer,Description="Number of reads supporting the REF and ALT allele, by strand">
##INFO=<ID=StrandFisherTest,Number=1,Type=Integer,Description="Strand bias fisher test">
##INFO=<ID=SOR,Number=1,Type=Float,Description="StrandOddsRatio test from GATK">
##INFO=<ID=RefContext,Number=1,Type=String,Description="The reference sequence context surrounding the variant call">
##FORMAT=<ID=GT,Number=1,Type=String,Description="Genotype">
#CHROM	POS	ID	REF	ALT	QUAL	FILTER	INFO	FORMAT	sample
For my analysis I need to generate a vcf file that includes "BaseCalledReadsWithVariant" tag. I am wondering if I didn't create the basecalled reads correctly?? Is there a tutorial/guideline that show me the workflow from scratch to generate this tag?
Thank you.

I would appreciate if anybody could help me regarding my above question or provide me some advice??
Thank you!

you've set the ploidy to be 4 (-p 4). is this correct for your sample?
try a smaller region than the entire reference genome, your depth is extremely high so it may take a long time to call variants

Thank you so much for your help, Jared!
I set the -p 2 and it worked!!!

authors: epiBioCore jts

repo: jts/nanopolish


text:
ACL src/dst with host-alias not working

Bug description
Using host alias as dst/destination in ACLs does not work. In this case no node can talk to each other. The command "tailscale status" only shows itself.
Same applies by using alias in src/source as well.
When using the IP instead host alias, the ACL works.
To Reproduce
A sample ACL which is not working:
{
    "hosts": {
        "client1": "100.64.0.1",
        "client2": "100.64.0.2",
        "server":  "100.64.0.4",
    },

    "acls": [
        {
            "action": "accept",
            "src": [
                "*",
            ],
            "dst": [
                "server:22,80",
            ],
        },
    ],
}

Context info

Version of headscale used: 0.17.0-beta2
Version of tailscale client: 1.32.2 (Windows), 1.32.0 (Linux)
OS (e.g. Linux, Mac, Cygwin, WSL, etc.) and version: Windows 10, Linux DietPi v8.9.2
Kernel version: 5.15.61-v8+
The relevant config parameters you used: see above
Log output: no

I have similar issues when using minimal acl:
acls:
- src:
  - "*"
  dest:
  - "*:*"
  action: "accept"

ACLs are in a fragile state and we are getting to a point where we can start writing tests to verify that they work, so we will hopefully have time to improve and fix them from now on, but I cannot give an ETA.

Then maybe it should be marked as not fully functional in the docs.

I can't wait till they're 100%. Right now it works if I have * open to *:anyport, but that means all devices get shown on each host.

@kradalby Maybe there are some issues describing what is exactly missing/not working, so the community could help here?
Is it possible to test in an automated way what is working and what is not? Wither with unit tests or integration tests (using for example testcontainers to setup "the test case")?

@camaeel my goal is to start writing these tests this week. which should hopefully make it more clear what is and isnt working because right now we actually dont know.

That would be great.
I tried to figure out how tailscale client gets the data about other nodes? Does it call the same api that is used by the headscale cli, or something else?

authors: 12nick12 camaeel kradalby razza-guhl

repo: juanfont/headscale


text:
New version of VSCode breaks the formatter (forge)

with forge 0.2.0 (https://github.com/foundry-rs/foundry/commit/93aa2d071b635a838030aa29ad85b52d361f5728 2023-03-11T00:09:06.544116259Z)
on linux with  VSCode 1.76.1 with JuanBlanco.solidity extension installed
in a mono repo with this .vscode/settings.json
{
    "editor.formatOnSave": true,
    "[solidity]": {
        "editor.defaultFormatter": "JuanBlanco.solidity"
      },
    "solidity.compileUsingRemoteVersion": "v0.8.16",
    "solidity.formatter": "forge",
    "solidity.packageDefaultDependenciesContractsDirectory": "src",
    "solidity.packageDefaultDependenciesDirectory": "lib"
}

forge fmt works as expected
I have prettier installed at root
but after vscode update the format on save doesn't work anymore
I tried opening only the packages/contracts folder in vsCode and also updating the vscode user's setting
It also doesn't work when I do a Format Document (forced)

@zgorizzo69 I have managed to replicate the issue, the solution was to reinstall forge as for some reason the path was not found by vscode.

Indeed, the formatter is not listed

@juanfranblanco Is there any other way to fix?

Really strange. It is listed now

But still does not format the document (upon save, but also upon direct Format command).
It looks like forge fmt -  is not called at all (or file not found).
I am using VSCodium in flatpack. Tried to enable ~/.foundry/bin/ in Flatseal.
Forge fmt works from the within the VSCodium terminal.
Is there any way to debug the invocation?

it works if i use prettier. when using forge the format on save is not working

This issue still exists. I created a new project with forge init, configured formatter the same way as described in the issue - everything was fine. After restarting VSCode formatter doesn't work any more. Had to switch from "forge" to "prettier".

For anyone having the same issue - this is the workaround:
CTRL-SHIFT-P Preferences: Open Keyboard Shortcuts (JSON)
add this:
  {
    "key": "ctrl+alt+f",
    "command": "workbench.action.terminal.sendSequence",
    "args": {
      "text": " forge fmt\u000D"
    }
  }
]

Mind the space before forge to avoid cluttering command history.

I faced the same issues after the initial setup. Got resolved automatically after restarting VSCode.

Yes you will need to restart (sometimes) when changing the setting as is not picked up by vscode. As usual, is intermittent to make it more confusing to spot the problem, as other settings are ok.

authors: juanfranblanco outdoteth parv3213 radeksvarz sergiimk zgorizzo69

repo: juanfranblanco/vscode-solidity


text:
Build fail: Peer dependency issue with mini-css-extract-plugin and postcss-loader

System specification:
Angular CLI: 11.1.4
Node: 14.4.0
OS: win32 x64
Angular: 11.0.9
... animations, common, compiler, compiler-cli, core, forms
... platform-browser, platform-browser-dynamic, router
... service-worker
Ivy Workspace: Yes
Package                         Version
@angular-devkit/architect       0.1101.4
@angular-devkit/build-angular   0.1101.4
@angular-devkit/core            11.1.4
@angular-devkit/schematics      11.1.4
@angular/cli                    11.1.4
@angular/localize               11.2.0
@schematics/angular             11.1.4
@schematics/update              0.1101.4
rxjs                            6.6.3
typescript                      4.0.7
Getting below error when I run npm start, even I have install all the peer dependency manually.
Error: ./src/css/styles.scss
Module build failed (from ./node_modules/mini-css-extract-plugin/dist/loader.js):
ModuleBuildError: Module build failed (from ./node_modules/postcss-loader/dist/cjs.js):
TypeError: this.getOptions is not a function
at Object.loader (C:\Arvind\learnings\angular-boilerplate-main\angular-boilerplate-main\node_modules\postcss-loader\dist\index.js:38:24)
at C:\Arvind\learnings\angular-boilerplate-main\angular-boilerplate-main\node_modules\webpack\lib\NormalModule.js:316:20
at C:\Arvind\learnings\angular-boilerplate-main\angular-boilerplate-main\node_modules\loader-runner\lib\LoaderRunner.js:367:11
at C:\Arvind\learnings\angular-boilerplate-main\angular-boilerplate-main\node_modules\loader-runner\lib\LoaderRunner.js:233:18
Error: ./src/app/@components/header/header.component.scss
Module build failed (from ./node_modules/postcss-loader/dist/cjs.js):
TypeError: this.getOptions is not a function
at Object.loader (C:\Arvind\learnings\angular-boilerplate-main\angular-boilerplate-main\node_modules\postcss-loader\dist\index.js:38:24)

Hi @akumar3pimco,
Angular includes native support for TailwindCSS in this new version v11.2 https://twitter.com/angular/status/1359736376581840896
I'm already working on this: we'll go back to @angular-devkit/build-angular from @angular-builders/custom-webpack.
The code will be refactored & cleaned up. I'll push the changes in the next hours.


text:
use docker-compose to set-up server

DOCKERFILE:
`FROM nginx
VOLUME /tmp
WORKDIR /love_heart
ENV LANG en_US.UTF-8
RUN echo "server {
listen       80;
#解决Router(mode: 'history')模式下，刷新路由地址不能找到页面的问题
location / {
root   /var/www/html/;
index  index.html index.htm;
if (!-e $request_filename) {
rewrite ^(.*)$ /index.html?s=$1 last;
break;
}
}
access_log  /var/log/nginx/access.log ;
} " > /etc/nginx/conf.d/default.conf
&&  mkdir  -p  /var/www
&&  mkdir -p /var/www/html
ADD ./ /var/www/html/
EXPOSE 80
EXPOSE 443`
docker-compsoe.yml
version: '2' services:   love_heart:     ports:       - 8180:80     build:       context: ./     container_name: love_heart     hostname: love_heart     restart: on-failure     environment:       - TZ=Asia/Shanghai

http://111.229.8.130:8180/
work good fast


text:
Judoscale interfering with logging configuration

The judoscale Config.update method seems to call this method
    def _prepare_logging(self):
        log_level = logging.getLevelName(self["LOG_LEVEL"].upper())
        logger.setLevel(log_level)

        if not logger.handlers:
            stdout_handler = logging.StreamHandler()
            fmt = "%(levelname)s - [%(name)s] %(message)s"
            stdout_handler.setFormatter(logging.Formatter(fmt))
            logger.addHandler(stdout_handler)

Automatically adding a stdout log handler like this is making our team sad. We want to control log level/output separately in our deployed app and ensure it goes through our structured logging output.
Ideally you would remove this or at least provide an option to disable this.
If you really must have this, could you iterate up the logging chain looking for handlers rather than looking specifically for one attached to the judoscale logger?
As a workaround we can add a null handler  to the "judoscale" logger before starting judoscale config, but it was still a nuisance to track down the source of leaking stdout.

@shughes-uk We don't want to make your team sad!!
You should be able to disable Judoscale logging by setting JUDOSCALE_LOG_LEVEL=CRITICAL. Does this work for you?

authors: adamlogic shughes-uk

repo: judoscale/judoscale-python


text:
Migration to Angular 15

Description

I just migrated the project from Angular 14.v to Angular 15.v by following the required steps
https://update.angular.io/?l=3&v=14.0-15.0

Fixed issue: #1925
Affirmation

[x] My code follows the CONTRIBUTING.md guidelines

Please check the CI/CD results and compare with your local installation, test run results and server start logs. Doesn't seem to even resolve all specified dependencies right now.

I think there might have been some errors with some dependencies during the installation. Some package are not working with the updated version of typescript.

@bkimminich I have done some modifications and reinstalled some packages. Can you run another CI/CD check?

It seems that I still have some check failing 🥲

👏 Looks like we have a working version! I'll test that locally to see if the UI layout took any unexpected damage not caught by any test, especially the 3rd-party Angular components (e.g. code editor in Coding Challenges).

I did a quick smoke test and everything looks fine! I repaired the loading spinner on the Score Board, which was broken before already, but now it's using the Angular 15 component version and works again. Didn't notice any other UI issues:
✅    "ng-mat-search-bar": "^12.0.1",
✅     "ng-simple-slideshow": "^1.3.0-beta.11",
✅    "ng2-file-upload": "^1.4.0",
✅    "ngx-clipboard": "^15.1.0",
✅    "ngx-cookie": "^6.0.0",
✅    "ngx-highlightjs": "^6.1.2",
✅    "ngx-spinner": "^15.0.1",
✅    "ngx-text-diff": "^0.6.0",
❓     "ngx-window-token": "^6.0.0", (seems not used in the code currently)

@Freedisch, please send me an email or Gitter DM or Slack DM with your post address, so that I can send you our official "Thank you for your first PR!" sticker pack!

authors: Freedisch bkimminich

repo: juice-shop/juice-shop


text:
Bump to calico v2.6.12

This builds on top of https://github.com/juju-solutions/layer-canal/pull/26 so please review and merge that first. Thanks.

Merging, please review.

LGTM+1 especially since we have CI jobs testing Canal

authors: Cynerva ktsakalozos

repo: juju-solutions/layer-canal


text:
compile failed using JUJU docker file

Hi, I was trying to compile JUJU image using the docker file that JUJU project provide but got this error message, could anyone help me solve this?

COPY failed: stat /var/lib/docker/tmp/docker-builder158877161/_/bin/jujud: no such file or directory

And other than using docker file to deploy, is there any other automatic deploy methods to deploy juju and other open source projects?

Hi @Houzonglaile
Could you provide us with some more context here? At a high level, what are you trying to do? What commands have you run?
The juju controller image can be found in dockerhub. You shouldn't need to compile your own.
You may want to consider having a look through some Juju tutorials in our docs?
https://juju.is/docs/juju/tutorial

COPY ${TARGETOS}${TARGETARCH}/bin/jujud /opt/
COPY ${TARGETOS}${TARGETARCH}/bin/jujuc /opt/
COPY ${TARGETOS}${TARGETARCH}/bin/containeragent /opt/
COPY ${TARGETOS}${TARGETARCH}/bin/pebble /opt/
hi,@Jack Shaw
We used the dockerfile（https://github.com/juju/juju/blob/3.6/caas/Dockerfile） provided in your Juju project to package and create an image with the following error message. It is likely that there are some project directories missing, which caused the copy to fail. Under what circumstances were these directories generated? Can you provide more detailed context for compiling and building?
[2024/11/06 14:34:19.511 GMT+08:00] Step 25/29 : COPY ${TARGETOS}${TARGETARCH}/bin/jujud /opt/
[2024/11/06 14:34:19.686 GMT+08:00] [ERROR] [制作镜像并推送到SWR仓库:external_docker_builder] : 执行docker命令失败,错误信息为:COPY failed: stat /var/lib/docker/tmp/docker-builder158877161//bin/jujud: no such file or directory

authors: Houzonglaile bestshenzhen jack-w-shaw

repo: juju/terraform-provider-juju


text:
🛑 Colegio de Escribanos de Santa Fe is down

In 007f076, Colegio de Escribanos de Santa Fe (https://www.coessfe1.org.ar/portal/index.php/es/) was down:

HTTP code: 502
Response time: 13957 ms

Resolved: Colegio de Escribanos de Santa Fe is back up in 4f59f99 after 11 minutes.

repo: juliannavarro/upptime


text:
After successful installation hokus does not open

Hi! After a flawless installation on Debian 10 Buster Hokus, nonetheless, does not open. I have tried also to use the AppImage file. Same negative result.
If I call the program from terminal with "hokus-cms" I get:
Detected trace/breakpoint
Many thanks
Alex

Oh, sorry. It was already solved...
issue 75

repo: julianoappelklein/hokus


text:
Discover fails

Following the README to setup a connection to the Heos control system I do:
const heos = require('heos-api')
heos.discoverAndCreateConnection()
.then(() => console.log('Connection established! 🌈'))
This results in nothing happening. No output.
Digging a little deeper into the code it seems like the discover promise is not resolving. Neither of the 'response' or 'error' triggers are triggered following the client.search(searchTargetName).
Do you have any ideas on what the problem could be?

It has worked before (but not always). I will look into it this weekend. Thanks for bringing this to my attention!
The discover function is the root of 90% of the bugs with this tool so I would really like to fix that. I recently split discover and connect so that if you know the ip of the device you want to connect to you can just open a tcp-connection.
Is it possible for you to try to connect without using the discover function?

I'll test that now.

That completed successfully. Thanks for your help. As information for your troubleshooting, I have 5 Heos groups (containing either 1 or 2 speakers each). I dont know how (or if) it affects the UPnP SSDP library you are using is working.

I think I might have to write that part myself. It clearly has problems when trying to search for multiple devices, and the discover function should probably resolve with an array or something. Maybe it should not be a promise but a stream or possibly an event dispatcher.

In the majority of cases you are only interested in getting hold of one device and you dont really care which one it is since they communicate with each other. For this case you would just need to get the first positive response from the UPnP SSDP discovery.
For more complex systems there might be a need for selection of what specific device to connect to. In this case the discovery function should return either a promise array or a stream. An event dispatcher seems to me to be a bit overkill. Do you see a need for multiple listeners that will react to the completion of the device discovery?

Sorry for the long post. Thanks for all suggestions and I would love too keep the conservation going, so that this module actually corresponds to what developers need and want. Please tell me if you agree or disagree with anything, or if you want anything clarified or explained.
Multiple devices vs one
I agree that you often only need access to one device if you only want to turn on or off music, but when you want to configure groups or whatever you need access to multiple devices. If you want to create a desktop app in electron that has the same functionality as the mobile app this would be necessary for example.
Solving the bug
I only have one heos device and it works perfectly for me. I have trouble reproducing the issue. As it is now, if you can find your device by yourself everything works without any issues. Maybe there should be a warning in the Readme warning about the discovery method not working perfectly and that the work around right now is to bypass the discovery method and connect to an IP that you gather in another way. This is a temporary fix.
How discovery should work
Regarding the question about how the discovery method should work I do not see another solution than an event dispatcher working (if it should be possible to discover more than one device). I will discuss the three options and why I only think one of them works.
As a background, the way discovery works is that the client sends a UDP-broadcast asking all the heos devices to identify themself. When a heos device receives this message they return one or multiple UDP messages letting the client (me) know that they exist. As UDP works these messages does not come together in a butch or anything. The client has to wait a while and it is impossible to know if there still exists a message on the way.
The three proposed solutions

Promise: If you make it a Promise with an array you could never know when to resolve the promise. Let's say you send out your request to make the devices identify themself and you after 1 second have gotten 3 answers. At that point you can not return an array with 3 devices as you do not know if there is a forth message that will come very soon. Of course you could resolve after finding the first one, but that would not let users discover all the devices on the network. A way to make promises work, which i strongly advice against doing, is to make the promise resolve after a time out and then present all devices found by then.
Stream: This would work like a stream that the client subscribes too which would give every device one after another till it stops. The problem with this is the same as with promises as that it is impossible to know when to stop.
Event dispatcher: This makes most sense to me. You would subscribe to an event dispatcher that dispatches every time a new device is found. If you only want to find one device you can stop your subscription after the first one. If you want to show all the available devices on a gui you can incrementally add every new device to the gui when they are found, and stop subscribing first when the user has interacted with the gui and possibly "chosen" a device to continue their interaction with.

Why event dispatcher
This solution has no problems with finding an end to the stream or promise of finding devices. This corresponds well with how the discovery system actually works. If someone prefers making a timeout promise or a readable stream it is not difficult to wrap the event mechanism with either of those, but still the event dispatcher offers the greatest flexibility. As a compromise there could exist a help function discoverOne() that returns a promise that resolves when the first device is found.
What I suggest
I suggest three things:

The readme gets a warning about using the discovery function before it is known if it works properly with multiple devices.
The discovery method gets rebuilt to work as an event dispatcher where you subscribe to devices being found. Of course it could be extended with a class that also keeps track of a list with all found devices as of yet, and so on.
A help function called discoverOne(), findOne() or something similar that is a promise that only finds one device. This would make it easier to work with the api if it is not important to choose wich device to work with. This would also be perfect if you only have one device in the system.

I have spent some time understanding the underlying upnp ssdp library and now understand why we have this behavior.
The bug with discovery right now (ignoring that it needs to support multiple devices, etc.) is that it is not blocking the termination of the program. I cant find any devices because my script exits before the promise is resolved. See below for a short example. This ends before the promise is resolved. If I add the setTimeout line then it works since the timeout blocks the exit of the script.
new Promise((resolve, reject) => {
  client.on('response', function (headers, statusCode, rinfo) {
    console.log('resolving');
    resolve(rinfo);
  });
  // setTimeout(resolve, 10000);
}).then(() => console.log('completed'))

Regarding the additional behaviour of the discovery part, I agree with your post and suggestion.
If it is ok with you I would like to start contributing to this repo.

Yes I would love your contribution. Please create a pull request with any changes you suggest.
Do you mean that if i run discover().then(console.log) that the program terminates before letting the discovery promise resolve (or reject)?
How should this be solved? Is this something that is the responsibility of this module or the users of the module?
Maybe adding a very large timeOut could solve the issue. Also when the timeOut is reached and no devices are found, maybe the promise could reject.

Yes,
const heos = require('heos-api')
heos.discover().then(() => console.log('Connection established!'))
Exits before any response is received.
In the simplest case, a script with just:
new Promise(resolve => {
}).then(() => console.log('test'))
will not wait for the promise to resolve before exiting. I do not know why node does this, but I guess a simple promise do not count as a blocking operation.
I think this module should be responsible for handling this. The discovery method could have a customizable timeout. I think that would work well, and as you say reject the the promise if no devices are found. The discovery method should close down the upnp ssdp listener when it either rejects or resolves the promise.

I think that sounds as a great idea. One extra thing. The timeout function argument should be able to be omitted, and then the promise should never resolve before at least one device is found. This could easily be done like this:
const keepAlive = timeOut
    ? setTimeout(timeOut, reject)
    : setInterval(timeOut, () => {})

I think it is good to have to option to wait indefinitely for a response, but should that really be the default? I think it would be better if the timeout would have a default value of something sensible, e.g., 5 s and if you specify a negative timeout it will then wait indefinitely.

Sure that could work. I think 5 seconds is a good default for this.

I would feel more comfortable if you would create a pull request. I can assist you in the steps.

You fork this repo by pressing the Fork button in the top of the page

You make the changes in your fork of this repo
You create a pull request from your repo to this repo

If you are new to git or github I would recommend using a GUI like GitKraken
Please let me know if anything is unclear or if you require further assistance 😄

Ok, no problem :). It is simple enough.

I have built a solution based on what we discussed and created a pull request. Let me know if you have any comments. The commit message should be quite descriptive.

authors: juliuscc markus-orblom morblom

repo: juliuscc/heos-api


text:
Fix EspHome v.2022-12 "C++ forbids comparison between pointer and int…

Build failed on v.2022-12, maybe this is fix? Not sure... At least compiles and works. :)
Error:
/config/esphome/esphome-ensto1.yaml: In lambda function:
/config/esphome/esphome-ensto1.yaml:83:41: error: ISO C++ forbids comparison between pointer and integer [-fpermissive]
return id(ensto1_connection_state) == false;

Thanks, looks good

authors: iivana jumakki

repo: jumakki/esphome-ensto


text:
--bind=ctrl-i and --bind=tab always conflict, binding one seems to also bind the other

[x] I have read through the manual page (man fzf)
[x] I have the latest version of fzf
[x] I have searched through the existing issues

Info

OS

[ ] Linux
[x] Mac OS X
[ ] Windows
[ ] Etc.

Shell

[ ] bash
[x] zsh
[ ] fish

Problem / Steps to reproduce
fzf --bind=ctrl-i:toggle-preview,tab:up --preview="cat {}"

Expect to be able to toggle preview with ctrl-i and move selection up with tab, but both binds do up.
The inverse happens with:
fzf --bind=ctrl-i:up,tab:toggle-preview --preview="cat {}"

Have repro'd this with both 0.42.0 (latest on osx homebrew) and 0.43.0 arm binary for osx from releases page.

occurs also with ⌃ Control + M and ⏎ Enter bindings
fzf --bind=ctrl-m:up,enter:toggle-preview

Oh, I didn't realize tab and ^i were terminal synonyms. Unfixable, then?

Nothing we can do about it.
https://unix.stackexchange.com/questions/563469/conflict-ctrl-i-with-tab-in-normal-mode

authors: Kache LangLangBart junegunn

repo: junegunn/fzf


text:
getGoogleTrends Enhancement

Is your feature request related to a problem? Please describe.
getGoogleTrends returns fairly constant results, especially when the call interval is short, resulting in zero point gain.
https://github.com/jungx098/Microsoft-Rewards-Farmer/blob/113f57c3713095669b5f6ce8013c986c826c0f33/src/searches.py#L21
Describe the solution you'd like
Good to enhance getGoogleTrends by over-sampling, randomizing and trimming to a given size.
Describe alternatives you've considered
The alternatives would be Bing Trends, Yahoo Trends, Wipipedia Trends, etc.
Additional context
NA

https://github.com/jungx098/Microsoft-Rewards-Farmer/commit/7464d8fd5656e3a873de0ae8194877aad2bda57e


text:
test pull request

fileprovider add json support

@hjtoday
改成这样
@DatasourceParameter(label = "{{'DATAPROVIDER.TEXTFILE.BASE_PATH'|translate}}", type = DatasourceParameter.Type.Input, order = 1)
private String DS_PARAM_BASE_PATH = "basePath";
@QueryParameter(label = "{{'DATAPROVIDER.TEXTFILE.FILE_NAME'|translate}}", type = QueryParameter.Type.Input, order = 1)
private String QUERY_PARAM_FILE_NAME = "fileName";

@QueryParameter(label = "{{'DATAPROVIDER.TEXTFILE.ENCODING'|translate}}", value="UTF-8", placeholder = "default value is UTF-8", type = QueryParameter.Type.Input, order = 2)
private String QUERY_PARAM_ENCODING = "encoding";

@QueryParameter(label = "{{'DATAPROVIDER.TEXTFILE.DATA_TYPE'|translate}}", options = {"DSV", "JSON", "CSV"}, type = QueryParameter.Type.Select, order = 3)
private String QUERY_PARAM_DATA_TYPE = "dataType";

@QueryParameter(label = "{{'DATAPROVIDER.TEXTFILE.FIELD_NAMES'|translate}}", placeholder = "<fieldName>[,<fieldName>]...(The file has a field header without input)", type = QueryParameter.Type.Input, order = 4)
private String QUERY_PARAM_FIELD_NAMES = "fieldName";

@QueryParameter(label = "{{'DATAPROVIDER.TEXTFILE.SEPRATOR'|translate}}", value="\\\\t", placeholder = "default value is \\t(The DataType is JSON without input)", type = QueryParameter.Type.Input, order = 5)
private String QUERY_PARAM_SEPRATOR = "seprator";

@QueryParameter(label = "{{'DATAPROVIDER.TEXTFILE.ENCLOSURE'|translate}}", type = QueryParameter.Type.Input, order = 6)
private String QUERY_PARAM_ENCLOSURE = "enclosure";

改为"DATA_TYPE": "数据类型",
还有里面的代码进行下重构

@junjiem
问题代码以修改
添加了csv 请审核
感谢指出问题

+1

authors: hjtoday junjiem

repo: junjiem/CBoard


text:
Use McThings creations in Java and Bedrock Minecraft Editions

So you as a creator invest your time learning McThings and creating with it. How you can use your creations in Minecraft?
Scenes can be saved in the original Schematic format so you can load them in any Java Edition version. For the ones before 1.13  there are several tools supporting for loading schematics in the world like WorldEdit, MCEdti, MCreator, Schematica .... After 1.13, with the new block specification, you can also use WolrdEdit to load the original Schematic format in new versions of Minecraft. And to convert it to the Sponge Schematic format. So Java Edition is well covered (at some pint Structure Block and Sponge Schematic could be directly supported in McThings).
But, howto load the scenes in the Bedrock edition? For this version, we can not use Schematics. So Structure Block format (limited to 32x32x32) and sharing full worlds seems to be the options. Let's explore them in this ticket.

Anvil: World format in Java
LevelDB: World format in Bedrock (PE only?)

https://www.planetminecraft.com/mod/anvil-to-leveldb-converter-java-to-pocket-edition/
https://github.com/boy0001/FastAsyncWorldedit/
https://github.com/IntellectualSites/FastAsyncWorldEdit
https://www.nvidia.com/en-us/geforce/guides/minecraft-rtx-world-conversion-guide/ (from NVidia!)

http://mcctoolchest.com/

It is not an easy task: https://www.reddit.com/r/minecraftsuggestions/comments/8vk8iw/official_mojang_developed_java_to_bedrock_world/

The article from nVidia is from: By Andrew Burnes, Kelsey Blanton, PearlescentMoon, GeminiTay on April 16, 2020 | Featured Stories Guides Minecraft with RTX Ray Tracing
so probably it is the best guide we can find now. The first hurdle is that MCC Toolchest does not run in Linux! https://appdb.winehq.org/objectManager.php?sClass=version&iId=38997
So this is not an option for me.

Ok, let's use the FastAsyncWorldEdit option.
The jar to download is: FastAsyncWorldEdit-nukkit-19.11.13-5505943-1282-22.3.5.jar
You need to hava javafx. In Fedora I have installed it with:
[tmp]$ sudo dnf install java-1.8.0-openjdk-openjfx.x86_64
Then:
[tmp]$ java -jar ~/Downloads/FastAsyncWorldEdit-nukkit-19.11.13-5505943-1282-22.3.5.jar

Now it is time to check it. Probably if the world is simple enough, the conversion will work.

In order to use the map one option is to upload it to a Realm of me. Not sure if I can upload it to places like https://mcpedl.com/ and to have it accessible from the Marketplace. Probably not.

Worlds converted with 1.12.2 does not import correctly in Android ME 1.14.60.
And worlds using 1.13+ can not be converted correctly with FAWE. So right now we don't have any real option to convert worlds created in Java ... argg!

Let's try to preprocess the 1.12.2 world with https://github.com/Querz/mcaselector#download-and-installation to remove zones not supported by PE.

Ufff, I have something working!

I have selected a small zone and the process has worked using 1.12.2 version.

I will try something more ambitious later. The process is:

Create the world in 1.12.2
Select the part of the world you want to export with MCA Selector (java app)
Use FastAsyncWorldEdit-nukkit to convert it to LevelDB
zip the world and upload to Google drive
unzip the file in your mobile phone inside the worlds folder (/storage/emulated/0/games/com.mojang/minecraftWorlds/)
Start Minecraft and select the world

Ok, once I have the LevelDB world working correctly, in order to use in in Nintendo Switch, maybe I can copy it also to the microsd. Not sure. And if now, probably we need to upload the world to a realm and use it from there.

I have tested it with the
https://www.mediafire.com/file/py4tmaq1hdjqi9p/Herobrine%2527s_Mansion_1.7.zip/file
and I can convert it and use it in my mobile phone without issues. Probably the older worlds are easier to convert! But let's try later to play all the details.

Ok, now I want to transfer the world from Android to my switch console. And it seems that the way to do it is using realms:
https://www.reddit.com/r/NintendoSwitch/comments/8kw3op/transferring_minecraft_save_files_from_pc_to/
But is not possible to copy it directly to the switch microsd as I did in Android?

Ok, I have created my Microsoft account, the login use it in Minecraft, and the buy the trail version of Realms: 1 month. After that 8.47€/month. The goal is to upload to my realm the converted world and then download it in my Nintendo Switch. Let's continue with the adventure.

To upload a world to your Realm:

Click on Minecraft Realms.

Select the Realm and click on Configure.

Click on one of the three Worlds to select it.

Click on the Reset button.

You can then upload a local save from your Single Player worlds folder.

Nintento Switch Online:

Ok, let's pay it: 3.99€

Ok, I have downloaded the world to the console! But a problem appears now:

Only one player in the console can play and you need to have the online subscription active.

So time to recap.

Create the world in version 1.12.2 or before: For example, I have used https://www.planetminecraft.com/project/herobrines-mansion-adventure-map/ created 7 years ago
Use FastAsyncWorldEdit-nukkit to convert it to LevelDB
Upload the folder (using google drive) with the converted world to Minecraft Android game folder with the saved worlds for this game (/storage/emulated/0/games/com.mojang/minecraftWorlds/)
Start Minecraft in the Android and select the uploaded world (if you have issues during the creation, try to select the parts of the world that you want to experot with MCA Selector and redo the process).
Check it is working playing in the world a bit (probably there are some issues. In this case, the chests for example were empty, entities does not appear, the portals don't work as expected ...).
Upload the world to Realms
Go to your switch console and download your world from Realm.
Play!

Java Worlds and Bedrock Worlds are pretty different, so expect important issues in the details. But for McThings probably it is good enough!

Some conclusions:

Java and Bedrock Editions are different. You can convert most of the world from Java to Bedrock, but there  will be always issues. So the experience can not be optimal.
If you want to create worlds and scenes, use Bedrock tools.
But this is the same between Java <= 1.12.2 and > 1.13

So it is a bit tricky to have the right tools. It depends on your use case.

Also, during this process:

MS get money: 8.47€/month. for the realm
Nintendo get money: 3.99€ for switch only

So they are doing a good job :)

To close this ticket, let's create a flat world just with our Scene 0.42.0 version. Let's convert the world to Bedrock and play with it to feel the experience. It is important if McThings can create scenes for Bedrock also, because this market is huge.

And I would like to test https://minecraft.gamepedia.com/Structure_block_file_format as an interexchange format between Java and Bedrock.

Ok, we have now the cool info ready:

World with scenes 0.42.1 in Bedrock format: https://github.com/juntosdesdecasa/mcthings_scenes/blob/develop/worlds/Scene_0_42_1_Bedrock.zip
Screenshots of Android and Switch versions

The Java Edition: https://github.com/juntosdesdecasa/mcthings_scenes/blob/develop/notebooks/scene0_42.ipynb

Ok, all done. Closing this ticket!

It seems that you can also upload resource packs with your world to Realms. So this is the way to use texture packs created by you in Nintendo Switch.

repo: juntosdesdecasa/mcthings


text:
error-fix

logout error fix
link error fix

LGTM


text:
Add_Datashader

Working on adding datashader capabilities into ipyradiant.
Main Changes:

Created base.py as a base class for vis code. Then created separate classes for datashader and ipycytoscape that inherit from VisBase.
In datashader.ipynb there is just a high level use of datashader and how one might be able to choose between ipycytoscape and datashader for what kind of graph they use. I just used the example schema file that Nick mentioned.
In datashader_experimenting.ipynb is me trying to figure out how to get callbacks from the datashading stuff. So far all I can do is use Holoview's Tap via streams to get the x/y coordinates of the clicked upon point, but since this is not attached to the actual point it is not useful. Still trying to figure out the best way to do this..
All the dependencies for holoviews, datashader, bokeh should be included in the setup files for this PR.

TODO:

[x] Datashader Test
[x] Callbacks for Datashader for Selected Edges, Selected Nodes (edges in a future PR)
[x] Update drawio architecture for the visualization classes
[x] Add layout selector widget

BINDER LINK ^

BINDER LINK ^

Added a note to update the drawio architecture diagram to include the new class names and links.

In lieu of review, here's a sub-pr:
https://github.com/lnijhawan/ipyradiant/pull/1

In advance of a review, here's a sub-pr:
lnijhawan#1

Things to discuss with nick/zach..

should tools.py tools be included in drawio architecture?
go over documentation/make sure up to par

FUTURE TODO's/Additions:

make it so vis box output always stays the same between switching layout modes
get the TypedTraits to work with URIRefs, do I need to wrap the URL's in a URIRef so that works, or is it fine as is?

Hey, green is good! Anything you want eyes on here? I'm firing up the binder right now, will let you know what i find.

On binder, I'm getting:
Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing

it's possibly due to the nasty thing we're doing to capture the hvplot branding output, investigating.
Checking it out locally as well to see what's up, but would consider this a blocker.

On binder, I'm getting:
Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing

it's possibly due to the nasty thing we're doing to capture the hvplot branding output, investigating.
Checking it out locally as well to see what's up, but would consider this a blocker.

Not getting this on binder for me.

In the future, lets add examples to the index.ipynb and use index.ipynb as the binder link for PRs. The PR description can reference which examples should be checked. I'll add the datashader and cytoscape examples to the index when I update the screencast for the new release.

Running again with better network...

I'll handle the merge conflicts from merging #29...

yeah, definitely seeing this, even with better network:

@nrbgt Didn't realize that was a console error. I may have gotten it too...

so at some point, we dropped the import of the hvplot stuff...  gotta get that back in, somewheres... will dig around through history

binder/local/ci is a-building... key difference was hv.extension("bokeh", logo=False)

Didn't realize that was a console error.

yeah, many things are very noisy in the console... the issue is that the datashader vis was not actually showing. hotpatching in binder made it work, so am pretty confident this will go through...

Boo windows fail. Will do some more looking.

Binder's back up, though, looks great!

Windows issue was under-specified channels. I've replaced them with fully-qualified URLs and things are looking ok. I forgot to fire up the binder before my call, but have kicked it off, and will continue my review there...

authors: lnijhawan nrbgt zwelz3

repo: jupyrdf/ipyradiant


text:
Enable JupyterHandlers to set the logger on log_request

This enables server extensions to log from their own logger, rather than always logging from the ServerApp's logger. Previously, all log messages from extensions were routed through the ServerApp logger, leading to some confusion on where these messages were actually coming from.
Fixes #273.

Thanks, @echarles and @blink1073 for the review!


text:
Python 2 kernel produces no output.

Python 2 kernel will not run in jupyter
I have several servers running jupyterhub successfully, but it refuses to execute python 2 code on one in particular. This server will run python 3 code just fine, but when a python 2 notebook is open the play button will cause a new cell to appear but will not interpret any of the code.
Jupyter was installed in a virtualenv which was then used to install the python 2 kernel, which is running anaconda. This installation is managed with ansible, so it is the same across all servers. However, the configuration on the server that doesn't run python 2 code is not managed entirely by me as it is used by a different group and they have their own applications running on the server.
That said, the virtualenv that jupyter is being run under is configured in exactly the same way as it is on the servers that work. The server will open a terminal, activate the anaconda environment, then run code from the ipython console just fine either from jupyter or an ssh session.
The output from the js console is the same as the output from working servers. The notebook page loads as if everything is fine, the kernel ready message flashes in the upper right corner, and the kernel.js calls happen exactly as they should.
Jupyterhub is being acquired by cloning master to /usr/local/jupyterhub, which is deleted as part of the install process so every new installation gets a clean clone of the jupyterhub repo. At this point the installation has run dozens of times and works just fine on every server we run it on except the one that doesn't interpret python 2 code.
I have included below the result of commands from a working server and the non working server for comparison. My colleague and I have been at this for a couple of weeks now and we are just about out of ideas any assistance would be appreciated.
working
git log -1
commit 498c062ee001d5926b601f67648f1993826852c5
Merge: 0c9214f d1edbdd
Author: Min RK <benjaminrk@gmail.com>
Date:   Thu Sep 24 16:09:55 2015 +0200

    Merge pull request #309 from minrk/gen.sleep

    use gen.sleep

broken
git log -1
commit 498c062ee001d5926b601f67648f1993826852c5
Merge: 0c9214f d1edbdd
Author: Min RK <benjaminrk@gmail.com>
Date:   Thu Sep 24 16:09:55 2015 +0200

    Merge pull request #309 from minrk/gen.sleep

    use gen.sleep

working
[user@system:jupyterhub] source /usr/local/jupyterhub/py/bin/activate

(py)[user@system:jupyterhub] which python
/usr/local/jupyterhub/py/bin/python

(py)[user@system:jupyterhub] python -V
Python 3.4.3

(py)[user@system:jupyterhub] which pip
/usr/local/jupyterhub/py/bin/pip

(py)[user@system:jupyterhub] pip -V
pip 7.1.2 from /usr/local/jupyterhub/py/lib/python3.4/site-packages (python 3.4)

(py)[user@system:jupyterhub] pip list
coverage (4.0)
coveralls (1.0)
decorator (4.0.2)
docopt (0.6.2)
ipython (3.2.1)
ipython-genutils (0.1.0)
Jinja2 (2.8)
jsonschema (2.5.1)
jupyterhub (0.3.0.dev0, /usr/local/jupyterhub)
MarkupSafe (0.23)
mistune (0.7.1)
pamela (0.2.1)
pip (7.1.2)
ptyprocess (0.5)
py (1.4.30)
Pygments (2.0.2)
pytest (2.8.0)
pytest-cov (2.1.0)
pyzmq (14.7.0)
requests (2.7.0)
setuptools (18.2)
simplepam (0.1.5)
SQLAlchemy (1.0.8)
sudospawner (0.0.1, /usr/local/jupyterhub/py/src/sudospawner)
terminado (0.5)
tornado (4.2.1)
traitlets (4.0.0)
wheel (0.24.0)

broken
[user@broken:jupyterhub] source /usr/local/jupyterhub/py/bin/activate

(py)[user@broken:jupyterhub] which python
/usr/local/jupyterhub/py/bin/python

(py)[user@broken:jupyterhub] python -V
Python 3.4.3

(py)[user@broken:jupyterhub] which pip
/usr/local/jupyterhub/py/bin/pip

(py)[user@broken:jupyterhub] pip -V
pip 7.1.2 from /usr/local/jupyterhub/py/lib/python3.4/site-packages (python 3.4)

(py)[user@broken:jupyterhub] pip list
coverage (4.0)
coveralls (1.0)
decorator (4.0.2)
docopt (0.6.2)
ipython (3.2.1)
ipython-genutils (0.1.0)
Jinja2 (2.8)
jsonschema (2.5.1)
jupyterhub (0.3.0.dev0, /usr/local/jupyterhub)
MarkupSafe (0.23)
mistune (0.7.1)
pamela (0.2.1)
pip (7.1.2)
ptyprocess (0.5)
py (1.4.30)
Pygments (2.0.2)
pytest (2.8.0)
pytest-cov (2.1.0)
pyzmq (14.7.0)
requests (2.7.0)
setuptools (2.2)
simplepam (0.1.5)
SQLAlchemy (1.0.8)
sudospawner (0.0.1, /usr/local/jupyterhub/py/src/sudospawner)
terminado (0.5)
tornado (4.2.1)
traitlets (4.0.0)
wheel (0.26.0)

working
[user@system:jupyterhub] source /usr/local/jupyterhub/anaconda/bin/activate ana
discarding /usr/local/jupyterhub/anaconda/bin from PATH
prepending /usr/local/jupyterhub/anaconda/envs/ana/bin to PATH

(ana)[user@system:jupyterhub] which python
/usr/local/jupyterhub/anaconda/envs/ana/bin/python

(ana)[user@system:jupyterhub] python -V
Python 2.7.10 :: Anaconda 2.3.0 (64-bit)

(ana)[user@system:jupyterhub] which pip
/usr/local/jupyterhub/anaconda/envs/ana/bin/pip

(ana)[user@system:jupyterhub] pip -V
pip 7.0.3 from /usr/local/jupyterhub/anaconda/envs/ana/lib/python2.7/site-packages (python 2.7)

(ana)[user@system:jupyterhub] pip list
You are using pip version 7.0.3, however version 7.1.2 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
abstract-rendering (0.5.1)
alabaster (0.7.3)
argcomplete (0.8.9)
astropy (1.0.3)
Babel (1.3)
backports.ssl-match-hostname (3.4.0.2)
bcolz (0.9.0)
beautifulsoup4 (4.3.2)
binstar (0.11.0)
bitarray (0.8.1)
blaze (0.8.0)
blz (0.6.2)
bokeh (0.9.0)
boto (2.38.0)
Bottleneck (1.0.0)
cdecimal (2.3)
certifi (14.5.14)
cffi (1.1.0)
clyent (0.3.4)
colorama (0.3.3)
configobj (5.0.6)
cryptography (0.9.1)
Cython (0.22.1)
cytoolz (0.7.3)
datashape (0.4.5)
decorator (3.4.2)
docutils (0.12)
enum34 (1.0.4)
fastcache (1.0.2)
Flask (0.10.1)
funcsigs (0.4)
gevent (1.0.1)
gevent-websocket (0.9.3)
greenlet (0.4.7)
grin (1.2.1)
h5py (2.5.0)
idna (2.0)
ipaddress (1.0.7)
ipykernel (4.0.3)
ipython (3.2.0)
ipython-genutils (0.1.0)
itsdangerous (0.24)
jdcal (1.0)
jedi (0.8.1)
Jinja2 (2.7.3)
jsonschema (2.4.0)
jupyter-client (4.0.0)
jupyter-core (4.0.6)
llvmlite (0.5.0)
lxml (3.4.4)
MarkupSafe (0.23)
matplotlib (1.4.3)
mistune (0.5.1)
mock (1.0.1)
multipledispatch (0.4.7)
nbconvert (4.0.0)
nbformat (4.0.0)
networkx (1.9.1)
nltk (3.0.3)
nose (1.3.7)
notebook (4.0.5)
numba (0.19.1)
numexpr (2.4.3)
numpy (1.9.2)
odo (0.3.2)
openpyxl (1.8.5)
pandas (0.16.2)
patsy (0.3.0)
pep8 (1.6.2)
Pillow (2.8.2)
pip (7.0.3)
ply (3.6)
psutil (2.2.1)
ptyprocess (0.4)
py (1.4.27)
pyasn1 (0.1.7)
pycosat (0.6.1)
pycparser (2.14)
pycrypto (2.6.1)
pycurl (7.19.5.1)
pyflakes (0.9.2)
Pygments (2.0.2)
pyOpenSSL (0.15.1)
pyparsing (2.0.3)
pytest (2.7.1)
python-dateutil (2.4.2)
pytz (2015.4)
PyYAML (3.11)
pyzmq (14.7.0)
redis (2.10.3)
requests (2.7.0)
rope (0.9.4)
runipy (0.1.3)
scikit-image (0.11.3)
scikit-learn (0.16.1)
scipy (0.15.1)
setuptools (17.1.1)
six (1.9.0)
snowballstemmer (1.2.0)
sockjs-tornado (1.0.1)
Sphinx (1.3.1)
sphinx-rtd-theme (0.1.7)
spyder (2.3.5.2)
SQLAlchemy (1.0.5)
statsmodels (0.6.1)
sympy (0.7.6)
tables (3.2.0)
terminado (0.5)
Theano (0.7.0)
toolz (0.7.2)
tornado (4.2)
traitlets (4.0.0)
ujson (1.33)
unicodecsv (0.9.4)
Werkzeug (0.10.4)
wheel (0.26.0)
xlrd (0.9.3)
XlsxWriter (0.7.3)
xlwt (1.0.0)

(ana)[user@system:jupyterhub] ipython -V
3.2.0

broken
[user@broken:jupyterhub] source /usr/local/jupyterhub/anaconda/bin/activate ana
discarding /usr/local/jupyterhub/anaconda/bin from PATH
prepending /usr/local/jupyterhub/anaconda/envs/ana/bin to PATH

(ana)[user@broken:jupyterhub] which python
/usr/local/jupyterhub/anaconda/envs/ana/bin/python

(ana)[user@broken:jupyterhub] python -V
Python 2.7.10 :: Anaconda 2.3.0 (64-bit)

(ana)[user@broken:jupyterhub] which pip
/usr/local/jupyterhub/anaconda/envs/ana/bin/pip

(ana)[user@broken:jupyterhub] pip -V
pip 7.0.3 from /usr/local/jupyterhub/anaconda/envs/ana/lib/python2.7/site-packages (python 2.7)

(ana)[user@broken:jupyterhub] pip list
You are using pip version 7.0.3, however version 7.1.2 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
abstract-rendering (0.5.1)
alabaster (0.7.3)
argcomplete (0.8.9)
astropy (1.0.3)
Babel (1.3)
backports.ssl-match-hostname (3.4.0.2)
bcolz (0.9.0)
beautifulsoup4 (4.3.2)
binstar (0.11.0)
bitarray (0.8.1)
blaze (0.8.0)
blz (0.6.2)
bokeh (0.9.0)
boto (2.38.0)
Bottleneck (1.0.0)
cdecimal (2.3)
certifi (14.5.14)
cffi (1.1.0)
clyent (0.3.4)
colorama (0.3.3)
configobj (5.0.6)
cryptography (0.9.1)
Cython (0.22.1)
cytoolz (0.7.3)
datashape (0.4.5)
decorator (3.4.2)
docutils (0.12)
enum34 (1.0.4)
fastcache (1.0.2)
Flask (0.10.1)
funcsigs (0.4)
gevent (1.0.1)
gevent-websocket (0.9.3)
greenlet (0.4.7)
grin (1.2.1)
h5py (2.5.0)
idna (2.0)
ipaddress (1.0.7)
ipykernel (4.0.3)
ipython (3.2.0)
ipython-genutils (0.1.0)
itsdangerous (0.24)
jdcal (1.0)
jedi (0.8.1)
Jinja2 (2.7.3)
jsonschema (2.4.0)
jupyter-client (4.0.0)
jupyter-core (4.0.6)
llvmlite (0.5.0)
lxml (3.4.4)
MarkupSafe (0.23)
matplotlib (1.4.3)
mistune (0.5.1)
mock (1.0.1)
multipledispatch (0.4.7)
nbconvert (4.0.0)
nbformat (4.0.0)
networkx (1.9.1)
nltk (3.0.3)
nose (1.3.7)
notebook (4.0.5)
numba (0.19.1)
numexpr (2.4.3)
numpy (1.9.2)
odo (0.3.2)
openpyxl (1.8.5)
pandas (0.16.2)
patsy (0.3.0)
pep8 (1.6.2)
Pillow (2.8.2)
pip (7.0.3)
ply (3.6)
psutil (2.2.1)
ptyprocess (0.4)
py (1.4.27)
pyasn1 (0.1.7)
pycosat (0.6.1)
pycparser (2.14)
pycrypto (2.6.1)
pycurl (7.19.5.1)
pyflakes (0.9.2)
Pygments (2.0.2)
pyOpenSSL (0.15.1)
pyparsing (2.0.3)
pytest (2.7.1)
python-dateutil (2.4.2)
pytz (2015.4)
PyYAML (3.11)
pyzmq (14.7.0)
redis (2.10.3)
requests (2.7.0)
rope (0.9.4)
runipy (0.1.3)
scikit-image (0.11.3)
scikit-learn (0.16.1)
scipy (0.15.1)
setuptools (17.1.1)
six (1.9.0)
snowballstemmer (1.2.0)
sockjs-tornado (1.0.1)
Sphinx (1.3.1)
sphinx-rtd-theme (0.1.7)
spyder (2.3.5.2)
SQLAlchemy (1.0.5)
statsmodels (0.6.1)
sympy (0.7.6)
tables (3.2.0)
terminado (0.5)
Theano (0.7.0)
toolz (0.7.2)
tornado (4.2)
traitlets (4.0.0)
ujson (1.33)
unicodecsv (0.9.4)
Werkzeug (0.10.4)
wheel (0.26.0)
xlrd (0.9.3)
XlsxWriter (0.7.3)
xlwt (1.0.0)

(ana)[user@broken:jupyterhub] ipython -V
3.2.0

working
[user@system:jupyterhub] cat /usr/local/share/jupyter/kernels/python2/kernel.json
{
 "display_name": "Python 2",
 "language": "python",
 "argv": [
  "/usr/local/jupyterhub/anaconda/envs/ana/bin/python",
  "-m",
  "IPython.kernel",
  "-f",
  "{connection_file}"
 ]
}

[user@system:jupyterhub] cat /usr/local/share/jupyter/kernels/python3/kernel.json
{
 "language": "python",
 "argv": [
  "/usr/local/jupyterhub/py/bin/python3.4",
  "-m",
  "IPython.kernel",
  "-f",
  "{connection_file}"
 ],
 "display_name": "Python 3"
}

broken
[user@broken:jupyterhub] cat /usr/local/share/jupyter/kernels/python2/kernel.json
{
 "display_name": "Python 2",
 "language": "python",
 "argv": [
  "/usr/local/jupyterhub/anaconda/envs/ana/bin/python",
  "-m",
  "IPython.kernel",
  "-f",
  "{connection_file}"
 ]
}

[user@broken:jupyterhub] cat /usr/local/share/jupyter/kernels/python3/kernel.json
{
 "argv": [
  "/usr/local/jupyterhub/py/bin/python",
  "-m",
  "IPython.kernel",
  "-f",
  "{connection_file}"
 ],
 "language": "python",
 "display_name": "Python 3"
}

That's everything I can think of at the moment. Please let me know if there's additional information that would be helpful.

What happens if you try to start the Python 2 kernel manually:
/usr/local/jupyterhub/anaconda/envs/ana/bin/python -m IPython.kernel --debug

/usr/local/jupyterhub/anaconda/envs/ana/bin/python -m IPython.kernel --debug
[IPKernelApp] Config changed:
[IPKernelApp] {'IPKernelApp': {'log_level': 10}}
[IPKernelApp] IPYTHONDIR set to: /root/.ipython
[IPKernelApp] Using existing profile dir: u'/root/.ipython/profile_default'
[IPKernelApp] Searching path [u'/root', u'/root/.ipython/profile_default', '/usr/local/etc/ipython', '/etc/ipython'] for config files
[IPKernelApp] Attempting to load config file: ipython_config.py
[IPKernelApp] Loaded config file: /etc/ipython/ipython_config.py
[IPKernelApp] Config changed:
[IPKernelApp] {'LocalEngineLauncher': {'engine_cmd': ['/usr/bin/python2', '-m', 'IPython.parallel.engine']}, 'LocalControllerLauncher': {'controller_cmd': ['/usr/bin/python2', '-m', 'IPython.parallel.controller']}, 'IPKernelApp': {'log_level': 10}, 'LocalEngineSetLauncher': {'engine_cmd': ['/usr/bin/python2', '-m', 'IPython.parallel.engine']}}
[IPKernelApp] Attempting to load config file: ipython_kernel_config.py
[IPKernelApp] Connection file not found: kernel-10913.json
[IPKernelApp] Starting the kernel at pid: 10913
[IPKernelApp] shell ROUTER Channel on port: 40448
[IPKernelApp] iopub PUB Channel on port: 40808
[IPKernelApp] stdin ROUTER Channel on port: 55122
[IPKernelApp] control ROUTER Channel on port: 59589
[IPKernelApp] Heartbeat REP Channel on port: 48149
[IPKernelApp] To connect another client to this kernel, use:
[IPKernelApp]     --existing kernel-10913.json
NOTE: When using the `ipython kernel` entry point, Ctrl-C will not work.

To exit, you will have to explicitly quit this process, by either sending
"quit" from a client, or using Ctrl-\ in UNIX-like environments.

To read more about this, see https://github.com/ipython/ipython/issues/2049

To connect another client to this kernel, use:
   --existing kernel-10913.json
[IPKernelApp] Writing connection file: /root/.ipython/profile_default/security/kernel-10913.json
[IPKernelApp] Loading IPython extensions...
[IPKernelApp] Loading IPython extension: storemagic

Can you include the JupyterHub config on the bad machine? Is it possible to run without the sudo spawner for testing? That's one that's quite difficult to debug.

The problem existed with or without the sudo spawner enabled. The config was default, so there would be no config to post as you can get the config we were using with generate_config.
We ended up just rebuilding the machine since it looks like it was some idiosyncrasy of that particular machine's configuration. I think this issue can be safely closed.
Thanks a ton for your help with this, I really appreciate your time.

authors: malgaudreault minrk

repo: jupyter/jupyterhub


text:
Add support for launching from OSF Frozen artifacts

I've been chatting with @betatim @mfraezz about being able to launch a binder based on the contents of a frozen (aka immutable) artifact published on OSF. This is awesome and we should do it :)
On the binderhub side, we would have to do the following:

Add a provider for OSF in binderhub, which returns the cache key for a given OSF url (so we know if it has already been built or if we need to build it)
Add support for https://github.com/jupyter/repo2docker/issues/102 in binderhub, so we launch with appropriate repo2docker content providers
Add some frontend detection in JS that tries to figure out which provider to used
Frontend UI to allow users to explicitly pick which provider is being used.

I think that's all that needs to happen here.

Generally 👍!
Currently URLs looks like: https://beta.mybinder.org/v2/gh/<org>/<repo>/<branch> with this change should we also support other URLs like https://beta.mybinder.org/v2/<provider>/...provider specific stuff here...?

I think this feature would be amazing! A couple of related items to consider:

The OSF URL scheme is the same for files in frozen artifacts (called "Registrations") and those in live projects with mutable data. I don't know if you only want to implement connecting with one versus the other, I like both, but wanted to point it out.
OSF uses a non-branching version control system with simple sequential numbering of files (https://osf.io/8ednt/?version=3 for instance) so you won't get a .git directory for files stored on OSF itself.

I think the non-git nature of OSF storage is actually a really great reason to consider adding support to binder because it would expand access to the large number of researchers who have learned enough R, Julia, or python to get their work done but who have not dived into the ocean that is git. Being able to switch from matlab to julia or learn your way around rstudio, save the resulting files, upload them to OSF (or google drive, dropbox, box, or any of the other various services OSF integrates with) and be able to transform those files into interactive, reproducible, code environments with binder is quite an attractive prospect.

Great to hear that someone else also thinks this would be cool :)
IMHO a large chunk of the work would happen in repo2docker which is the tool that does the heavy lifting inside BinderHub regarding cloning and building images. There is a (kinda stale) PR https://github.com/jupyter/repo2docker/pull/242 that attempts to refactor the content provider part of repo2docker as a step 0 towards supporting other content providers like OSF or Zenodo. If you want to pick that up let me know!

Met people at OSF today. Let's see what they have to say.

Note that @betatim is taking a first step to this here: https://github.com/jupyter/repo2docker/pull/242

What's the next step here?

authors: betatim choldgraf jzf2101 manics wikey yuvipanda

repo: jupyterhub/binderhub


text:
Expose resource requests and limits for DIND container

This exposes the resource limit and requests for the Docker in Docker
container in the helm chart.
Don't deploy this to mybinder.org without first discussing what sensible default for these limits and requests should be. Then adjusting/reviewing jupyterhub/mybinder.org-deploy#491 and then merging and deploying this.

ping on this - I was chatting with @yuvipanda today and we thought DIND was causing problems, so I opened https://github.com/jupyterhub/mybinder.org-deploy/issues/549 . However I just realized we already have this PR open and it seems close to ready! What's the blocker here?

The blocker was that we/I couldn't work out how much memory DIND was really using. We discussed several different metrics but my feeling was we never concluded how much DIND really uses, which metrics are misleading (because containers) and whether we should set the limit to what we think DIND really uses or some inflated number because that is what k8s uses to check.

I think it's ok to pick a number and go from there :)
I've several orthogonal hypothesis! Kubernetes only knows about memory that
you've explicitly requested and limited - so you need to give it some
limit / request. Otherwise a process can go out of control, and cause OOMs
in other unrelated processes (which is happening)
On Fri, Apr 6, 2018 at 11:34 PM, Tim Head notifications@github.com wrote:

The blocker was that we/I couldn't work out how much memory DIND was
really using. We discussed several different metrics but my feeling was we
never concluded how much DIND really uses, which metrics are misleading
(because containers) and whether we should set the limit to what we think
DIND really uses or some inflated number because that is what k8s uses to
check.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/jupyterhub/binderhub/pull/472#issuecomment-379436520,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAB23lDhTnTzzqd2LAw5W7Mjx7gT7onHks5tmF4PgaJpZM4SUC-Z
.

--
Yuvi Panda T
http://yuvi.in/blog

Changed the default to no limit.

authors: betatim choldgraf yuvipanda


text:
Installation problems under Win10 or Ubuntu 20.10 ("Jupyter server not found")

When trying to install the app (version 3.2.1-1) via the installers downloaded from this repo, I hit the following problems:

Win10: When I have to select the installation path, "Next" is greyed out without explanation. Probably the environment variable %HOMEDRIVE% is not set correctly on my PC but shouldn't this be detected by the installer? Suggesting a different location? Changing the path manually worked though.
Win10: The pop-up window displaying installation options mangles the text
Win10 and Linux: After finishing installation, I receive the message "Jupyter Server Not Found" and that's it.

I am a long-time python user running jupyterlab from a regular python installation so I don't need the desktop app. But when looking for a solution for python / jupyter newbies shouldn't the process be as streamlined as possible? Shouldn't it be easier than doing a plain vanilla python + jupyter installation (which it isn't)?
I've been trying several solutions over the last 6 years to use Jupyter Notebooks in BYOD classroom environments, using web servers, JupyterHub, local installations and now the Jupyterlab Desktop App. Deployment has been a major PITA for all sorts of reasons every time. I thought one of the ideas behind Jupyter Notebooks was to provide an easy access to experimenting with data and code. Well, it isn't, looking at the feedback from my students every term.

.

I suspect that this might be because there are two installers and they need to be provided paths in sync.
You mention that you needed to change the path in the first installer. What path did you set? Did you adjust the path of the second installer accordingly? Please see https://github.com/jupyterlab/jupyterlab-desktop/blob/master/user-guide.md#windows-instructions. I of course think that there should be only one installer.

Deployment has been a major PITA for all sorts of reasons every time. I thought one of the ideas behind Jupyter Notebooks was to provide an easy access to experimenting with data and code. Well, it isn't, looking at the feedback from my students every term.

I'm sorry for your experience. I understand it fully. I really want to make literate programming more accessible to every student and researcher (which is why I'm writing this response on Sunday morning). You may be interested in checking out server-less and installation-less JupyterLite which should eliminate the installation issues you mention.
Please bear in mind that the Desktop app was only recently revived and is improving by great strides every week. I apologize that communication on the readiness of the app was not clear.

Thanks for your quick and detailled response and most of all for your contributions to the python and jupyter community. I usually don't rant on FOSS channels because I know how unrewarding FOSS development can be at times. After GESIS announced pulling the plug on their free notebook server service I was really frustrated to see that JupyterLab Desktop also doesn't work for me, meaning I have to find another way to deploy my DSP labs (or rewrite them) within three weeks.
Your response highlights one of the main problems in my eyes: There are two installers but this is not obvious for a "normal" user (who doesn't read instructions). Even for me, it is not clear what I did wrong during the installation process - there are no instructions or hints, it just fails. I had to change the installation path on windows as described - and I have absolutely no idea how or where I could have adjusted the path of the second installer. The instructions didn't really help me. On Linux I just went the default path but both installations failed exactly the same way.
Honestly, I think it is easier (and much better documented) to install python and jupyter(lab) via the usual channels and that's what I'll recommend to my students. I'm using Notebooks only for a quite narrow field (digital signal processing 101) so I think I'll fully switch to my own app next term which is more of the point and click type. But please do streamline the installation process.
Thanks also for pointing me to JupyterLite, I'll test it although I don't see the advantage yet over a simple pip install jupyterlab.
I'll leave this issue open, please close it yourself if you like.

Thank you for the extra details. Two questions:

on Windows, have you tried installing as an administrator and selecting "install for All users"?
on Ubuntu, how did you install it? Did you use the GUI software manager, gdebi, dpkg, or apt?

Would you mind posting the answers to the above questions in #238, please? It will help us to consolidate discussion and figure out what works across a variety of setups users may have and inform how to remediate the problem. I will close this one in the meantime.
PS. I did try on another laptop with Ubuntu 20.10 just a moment ago and it worked well, so really having more information would be really help.

Thanks for posting extra information in the other issue. I will close this one as a duplicate and follow up on the other one. We worked to investigate and fix this problem in https://github.com/jupyterlab/jupyterlab-desktop/pull/339 and this will be included in the upcoming release. While it might not solve the issue, we at least hope that we might get the information necessary to find a solution (since the updated error screen should now show the underlying error).

authors: chipmuenk krassowski

repo: jupyterlab/jupyterlab-desktop


text:
[BUG] Not able to delete a user

Sent a invite to the user "prajwal.nl+2604@juspay.in", and accepted the invite.
Later from the main account I'm not able to delete the use.

@prajwalnl0 please close if resolved

repo: juspay/hyperswitch-control-center


text:
Benchmark the formatter

Summarise the changes this Pull Request makes.
Benchmarks directly on StatsDMessageFormatter.
Please include a reference to a GitHub issue if appropriate.

I would rather get this PR merged first, since it measures the other "fast path" one.


text:
Fix version suffix for AppVeyor tag builds

Fix the suffix from a GitHub tag that triggers an AppVeyor build not being used to version the NuGet package.
Also add the MSBuildAllProjects property to the .props files so they invalidate the MSBuild cache for builds.
Test for a tag for a beta
Produces JustEat.StatsD.3.1.0-beta-012.nupkg.

PS C:\Coding\JustEat.StatsD> $env:APPVEYOR_REPO_TAG_NAME = "v3.1.0-beta-012"
PS C:\Coding\JustEat.StatsD> $env:APPVEYOR_REPO_TAG = "true"
PS C:\Coding\JustEat.StatsD> .\Build.ps1
Building 1 projects...
Microsoft (R) Build Engine version 15.7.179.6572 for .NET Core
Copyright (C) Microsoft Corporation. All rights reserved.

  Restore completed in 40.51 ms for C:\Coding\JustEat.StatsD\src\JustEat.StatsD\JustEat.StatsD.csproj.
  JustEat.StatsD -> C:\Coding\JustEat.StatsD\artifacts\netstandard2.0\JustEat.StatsD.dll

Build succeeded.
    0 Warning(s)
    0 Error(s)

Time Elapsed 00:00:01.17
Microsoft (R) Build Engine version 15.7.179.6572 for .NET Core
Copyright (C) Microsoft Corporation. All rights reserved.

  Restore completed in 41 ms for C:\Coding\JustEat.StatsD\src\JustEat.StatsD\JustEat.StatsD.csproj.
  JustEat.StatsD -> C:\Coding\JustEat.StatsD\artifacts\net451\JustEat.StatsD.dll

Build succeeded.
    0 Warning(s)
    0 Error(s)

Time Elapsed 00:00:00.99
Testing 1 project(s)...
Build started, please wait...
Build completed.

Test run for C:\Coding\JustEat.StatsD\src\JustEat.StatsD.Tests\bin\Debug\netcoreapp2.1\JustEat.StatsD.Tests.dll(.NETCore
App,Version=v2.1)
Microsoft (R) Test Execution Command Line Tool Version 15.7.0
Copyright (c) Microsoft Corporation.  All rights reserved.

Starting test execution, please wait...

Total tests: 71. Passed: 71. Failed: 0. Skipped: 0.
Test Run Successful.
Test execution time: 14.4367 Seconds
Creating 1 package(s)...
Microsoft (R) Build Engine version 15.7.179.6572 for .NET Core
Copyright (C) Microsoft Corporation. All rights reserved.

  Restore completed in 47.55 ms for C:\Coding\JustEat.StatsD\src\JustEat.StatsD\JustEat.StatsD.csproj.
  JustEat.StatsD -> C:\Coding\JustEat.StatsD\src\JustEat.StatsD\bin\Release\netstandard2.0\JustEat.StatsD.dll
  JustEat.StatsD -> C:\Coding\JustEat.StatsD\src\JustEat.StatsD\bin\Release\net451\JustEat.StatsD.dll
  Successfully created package 'C:\Coding\JustEat.StatsD\artifacts\JustEat.StatsD.3.1.0-beta-012.nupkg'.
  Successfully created package 'C:\Coding\JustEat.StatsD\artifacts\JustEat.StatsD.3.1.0-beta-012.symbols.nupkg'.
PS C:\Coding\JustEat.StatsD>

Test for a full release
Produces JustEat.StatsD.3.1.0.nupkg.

PS C:\Coding\JustEat.StatsD> $env:APPVEYOR_REPO_TAG_NAME = "v3.1.0"
PS C:\Coding\JustEat.StatsD> $env:APPVEYOR_REPO_TAG = "true"
PS C:\Coding\JustEat.StatsD> .\Build.ps1
Building 1 projects...
Microsoft (R) Build Engine version 15.7.179.6572 for .NET Core
Copyright (C) Microsoft Corporation. All rights reserved.

  Restoring packages for C:\Coding\JustEat.StatsD\src\JustEat.StatsD\JustEat.StatsD.csproj...
  Restore completed in 173.23 ms for C:\Coding\JustEat.StatsD\src\JustEat.StatsD\JustEat.StatsD.csproj.
  JustEat.StatsD -> C:\Coding\JustEat.StatsD\artifacts\netstandard2.0\JustEat.StatsD.dll

Build succeeded.
    0 Warning(s)
    0 Error(s)

Time Elapsed 00:00:01.25
Microsoft (R) Build Engine version 15.7.179.6572 for .NET Core
Copyright (C) Microsoft Corporation. All rights reserved.

  Restore completed in 40.73 ms for C:\Coding\JustEat.StatsD\src\JustEat.StatsD\JustEat.StatsD.csproj.
  JustEat.StatsD -> C:\Coding\JustEat.StatsD\artifacts\net451\JustEat.StatsD.dll

Build succeeded.
    0 Warning(s)
    0 Error(s)

Time Elapsed 00:00:01.07
Testing 1 project(s)...
Build started, please wait...
Build completed.

Test run for C:\Coding\JustEat.StatsD\src\JustEat.StatsD.Tests\bin\Debug\netcoreapp2.1\JustEat.StatsD.Tests.dll(.NETCore
App,Version=v2.1)
Microsoft (R) Test Execution Command Line Tool Version 15.7.0
Copyright (c) Microsoft Corporation.  All rights reserved.

Starting test execution, please wait...

Total tests: 71. Passed: 71. Failed: 0. Skipped: 0.
Test Run Successful.
Test execution time: 14.2912 Seconds
Creating 1 package(s)...
Microsoft (R) Build Engine version 15.7.179.6572 for .NET Core
Copyright (C) Microsoft Corporation. All rights reserved.

  Restore completed in 49.16 ms for C:\Coding\JustEat.StatsD\src\JustEat.StatsD\JustEat.StatsD.csproj.
  JustEat.StatsD -> C:\Coding\JustEat.StatsD\src\JustEat.StatsD\bin\Release\netstandard2.0\JustEat.StatsD.dll
  JustEat.StatsD -> C:\Coding\JustEat.StatsD\src\JustEat.StatsD\bin\Release\net451\JustEat.StatsD.dll
  Successfully created package 'C:\Coding\JustEat.StatsD\artifacts\JustEat.StatsD.3.1.0.nupkg'.
  Successfully created package 'C:\Coding\JustEat.StatsD\artifacts\JustEat.StatsD.3.1.0.symbols.nupkg'.
PS C:\Coding\JustEat.StatsD>

Normal local build
Produces JustEat.StatsD.3.1.0-build0.nupkg.

ps
PS C:\Coding\JustEat.StatsD> .\Build.ps1
Building 1 projects...
Microsoft (R) Build Engine version 15.7.179.6572 for .NET Core
Copyright (C) Microsoft Corporation. All rights reserved.

  Restoring packages for C:\Coding\JustEat.StatsD\src\JustEat.StatsD\JustEat.StatsD.csproj...
  Restore completed in 210.27 ms for C:\Coding\JustEat.StatsD\src\JustEat.StatsD\JustEat.StatsD.csproj.
  JustEat.StatsD -> C:\Coding\JustEat.StatsD\artifacts\netstandard2.0\JustEat.StatsD.dll

Build succeeded.
    0 Warning(s)
    0 Error(s)

Time Elapsed 00:00:01.33
Microsoft (R) Build Engine version 15.7.179.6572 for .NET Core
Copyright (C) Microsoft Corporation. All rights reserved.

  Restore completed in 42.65 ms for C:\Coding\JustEat.StatsD\src\JustEat.StatsD\JustEat.StatsD.csproj.
  JustEat.StatsD -> C:\Coding\JustEat.StatsD\artifacts\net451\JustEat.StatsD.dll

Build succeeded.
    0 Warning(s)
    0 Error(s)

Time Elapsed 00:00:01.09
Testing 1 project(s)...
Build started, please wait...
Build completed.

Test run for C:\Coding\JustEat.StatsD\src\JustEat.StatsD.Tests\bin\Debug\netcoreapp2.1\JustEat.StatsD.Tests.dll(.NETCore
App,Version=v2.1)
Microsoft (R) Test Execution Command Line Tool Version 15.7.0
Copyright (c) Microsoft Corporation.  All rights reserved.

Starting test execution, please wait...

Total tests: 71. Passed: 71. Failed: 0. Skipped: 0.
Test Run Successful.
Test execution time: 14.5965 Seconds
Creating 1 package(s)...
Microsoft (R) Build Engine version 15.7.179.6572 for .NET Core
Copyright (C) Microsoft Corporation. All rights reserved.

  Restore completed in 40.33 ms for C:\Coding\JustEat.StatsD\src\JustEat.StatsD\JustEat.StatsD.csproj.
  JustEat.StatsD -> C:\Coding\JustEat.StatsD\src\JustEat.StatsD\bin\Release\netstandard2.0\JustEat.StatsD.dll
  JustEat.StatsD -> C:\Coding\JustEat.StatsD\src\JustEat.StatsD\bin\Release\net451\JustEat.StatsD.dll
  Successfully created package 'C:\Coding\JustEat.StatsD\artifacts\JustEat.StatsD.3.1.0-build0.nupkg'.
  Successfully created package 'C:\Coding\JustEat.StatsD\artifacts\JustEat.StatsD.3.1.0-build0.symbols.nupkg'.
PS C:\Coding\JustEat.StatsD>

Docs on MSBuildAllProjects :
https://blogs.msdn.microsoft.com/msbuild/2005/09/26/how-to-ensure-changes-to-a-custom-target-file-prompt-a-rebuild/

authors: AnthonySteele martincostello


text:
🛑 NextCloud is down

In a83874d, NextCloud (https://pan.mkacg.com) was down:

HTTP code: 0
Response time: 0 ms

Resolved: NextCloud is back up in b85967a after 30 minutes.


text:
🛑 Jellyfin is down

In 68545e2, Jellyfin (https://video.mkacg.com) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Jellyfin is back up in 97d478d after 51 minutes.


text:
Enable rails logging with Foreman

I was finding that more often than not my rails logs were being swallowed by Foreman.  This should fix that.

@lifehackett, this depends on your logging setup. On my projects, which I believe is the Rails default, development.rb typically logs to stdout. Can you paste an example here of a log message in this project that you prefer to see with your setup?

I am just using the default setup as well.  If I run rails s in its own terminal window, I get all sorts of useful logging info in the terminal about http requests, db reads/writes, etc... all stuff that comes baked in to Rails.  Using foreman, I would only get these log messages ~10% of the time until I added the config in this PR
Example:
10:35:32 web.1    | Started GET "/api/v1/contacts" for 127.0.0.1 at 2015-05-11 10:31:40 -0400
10:35:32 web.1    | Processing by Api::V1::ContactsController#index as JSON
10:35:32 web.1    |   Contact Load (0.3ms)  SELECT "contacts".* FROM "contacts"

Strange, it shouldn't be 10% of the time. Maybe it's due to the log level?

Yes, I thought it was strange too.  I tried the log level but that didn't improve things.  If no one else is experiencing this problem then feel free to close this PR.  I found it very frustrating until I found this solution so thought it might benefit others.

@lifehackett There's always a reason. The question is whether it's worth the time to figure it out. I've often been stubborn at not letting stuff like this slide by. I always want to know. My skills are where they are today from this attitude.

I'm going to close this for now. Please re-open if you thein we should include this.

@lifehackett

If no one else is experiencing this problem
I have same problem :) exactly as you described

@milushov
By any chance do you have the heroku gem running? that will send all logs to stdout.

@justin808 nope, this gem don't event installed

authors: justin808 lifehackett milushov


text:
New Task in SynergyHub (EPM): Test

A new task with the status: todo has been created in SynergyHub.
test
Link to Collection

test


text:
Add JustList: {JustList name}

Before submission deletes this line:
THIS IS NOT A TOKEN LISTING REQUEST FORM. IF YOU DO NOT FOLLOW THE FORMAT OR MAKE A GENERIC TOKEN REQUEST YOUR ISSUE WILL BE DELETED WITHOUT COMMENT
YOUR JUSTLIST MUST FOLLOW THE JSON SPECIFICATION
https://github.com/justswaporg/justlists/example.justlists.ts
Checklist

[x] I understand that this is not the place to request a token listing.
[x] I have tested that my JustList is compatible by pasting the URL into the add a list UI at justswap.org.
[x] I understand that filing an issue or adding liquidity does not guarantee addition to the justlists website.

Please provide the following information for your token.
JustList URL must be HTTPS.
JustList URL:
JustList Name:
Link to the official homepage of the JustList manager:

Sorry, your issue will be closed as you did not submit your information in the correct format.

authors: jeffwami voanhcung

repo: justswaporg/justlists


text:
Add JustList: {JustList name}

Before submission deletes this line:
THIS IS NOT A TOKEN LISTING REQUEST FORM. IF YOU DO NOT FOLLOW THE FORMAT OR MAKE A GENERIC TOKEN REQUEST YOUR ISSUE WILL BE DELETED WITHOUT COMMENT
YOUR JUSTLIST MUST FOLLOW THE JSON SPECIFICATION
https://github.com/justswaporg/justlists/example.justlists.ts
Checklist

[x] I understand that this is not the place to request a token listing.
[x] I have tested that my JustList is compatible by pasting the URL into the add a list UI at justswap.org.
[x] I understand that filing an issue or adding liquidity does not guarantee addition to the justlists website.

Please provide the following information for your token.
JustList URL must be HTTPS.
JustList URL:
JustList Name:
Link to the official homepage of the JustList manager:

Hi

Sorry, your issue will be closed as you did not submit your information in the correct format.


text:
Fixes #667 and correct a few details

This primarily adds the config option requested in #667.
I've added back the notion or erroring in case of a show action on an
entry with only a password and the safe content option enabled.
Also I've fixed the way the String() function of the StoreConfig forgot
to display the Notification value in its output.
I've also handled the merge conflict caused by  #703.
Now, this does NOT work for the generate action, for a reason I do not yet fully understand. I hope you'll be able to help me there.
In the show action, the context seems to correctly use the config values set.
However, when running the Generate action, ctxutil.HasAutoClip(ctx) returns false, even if gopass config autoclip returns true.
As per the default value of AutoClip, IsAutoClip will return true is HasAutoClip is false...
This makes no sense to me, it's just like if the Generate action had not loaded the context correctly.

It seems that the Generate action does not use the correct context and has not the correct settings.
I suspect this might be related to the newly added #701. I've tried using Store.GetContext, to no avail...

Alright, I've found it: when Setting the password in the store, the correct Store context wasn't retrieved since there was no "SetContext" function doing the same as the "GetContext" does.

Yes, I was just about the state this but you beat me by a few minutes ;)
The PR looks good. Thanks for fixing some existing flaws :+1:

I'm afraid I forgot some tests as Codecov said.
Here they are:
https://github.com/AnomalRoil/gopass/commit/4b4f00efb6275f69463dfa5bc9a4031a8689961a

Alright, I'll just pull them from there. Thanks a lot!

authors: AnomalRoil dominikschulz

repo: justwatchcom/gopass


text:
read a complete line of input

Hello Jordi,
I'd like to suggest the possibility of reading a whole line of input as a string.
This would be useful if we want to read a line that contains spaces (currently we have to read each word separately, using 'read(str)', and concat them).

I understand that this can be usefull, but would'nt that be just the same as the standard readlines() function?

authors: jordi-petit llop

repo: jutge-org/jutge-python


text:
root folder for the engine/service while accessing from browser

Usually the path / stands for the website root folder (and not the machine root folder), in usual web development best practices.
However, the write command in juttle (while accessing from browser through remote machine) is allowing folder access at machine level root folders, which could be a security concern.
Consider this below case:
read http -url 'https://raw.githubusercontent.com/juttle/juttle-engine/master/examples/github-tutorial/github_data.json' -format 'json'
| (
    head 2;
    tail 1)
| write file -file '/tmp/metadata.csv' -format 'csv'

I would expect the /tmp/ to be relative to the location where juttle-engine is running (or configured as website's root). However, after running the above snippet I am seeing the /tmp/metadata.csv under the machine's /tmp folder and not relative.
The below line on the other hand is creating the file in relative tmp folder (at website's root level):
write file -file 'tmp/metadata.csv' -format 'csv'

May be this is related to issue https://github.com/juttle/juttle-engine/issues/69
One small difference though is: in the present case, I am running juttle-engine in deamon mode with below command, without any additional configurations or root options set.
$ juttle-engine -d -o juttle-engine.log

repo: juttle/juttle-engine


text:
Improve FilterJSCompiler tests

Rewrite the FilterJSCompiler tests so that they don’t use ASTs, match structure of tested code better, and are more idiomatic. See individual commit messages for details.
Overall, these changes will make work with tests easier as capabilities of FilterJSCompiler are extended.
Part of work on #57.

@bkutil

+1

authors: bkutil dmajda

repo: juttle/juttle


text:
🛑 AEREO CHARTER is down

In 2d89bc4, AEREO CHARTER (https://aerochartercolombia.com) was down:

HTTP code: 0
Response time: 0 ms

Resolved: AEREO CHARTER is back up in 0aec1a8.

repo: jveyes/upptime