text:
关于SCQL如何远程debug的疑问

1.SCQL的构建我看支持image-dev调试镜像的打包，这样是不是还是需要将调试镜像部署到p2p中，然后映射dlv的默认端口2345，然后配置vscode的launsh.json，通过调用broker的接口或者用brokerctl来触发远程debug?
2.有没有除了写单元测试，和上面我提到的远程debug的更为方便更为完备的远程debug方法？
3.如何远程debug引擎的代码（c++）?

image-dev 只是给镜像里安装了一些 debug 工具；关于如何 debug golang 和 c++ program，可自行搜索哈

好的，那部分我自己查查，那可以远程debug  scql么，如何完成触发sql执行，看代码错误，只能部署到compose上，通过接口触发吗
---原始邮件---
发件人: @.>
发送时间: 2024年8月30日(周五) 晚上6:41
收件人: @.>;
抄送: "Han @.@.>;
主题: Re: [secretflow/scql] 关于SCQL如何远程debug的疑问 (Issue #338)
image-dev 只是给镜像里安装了一些 debug 工具；关于如何 debug golang 和 c++ program，可自行搜索哈
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.Message ID: @.***>

dlv 和 gdb 都可以 attach 正在运行的进程吧

好的，感谢
---原始邮件---
发件人: @.>
发送时间: 2024年8月30日(周五) 晚上6:55
收件人: @.>;
抄送: "Han @.@.>;
主题: Re: [secretflow/scql] 关于SCQL如何远程debug的疑问 (Issue #338)
dlv 和 gdb 都可以 attach 正在运行的进程吧
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.Message ID: @.***>

source: gharchive/issue

repo: secretflow/scql

license_type: permissive

license_source: github-api


text:
差分隐私问题

在使用GaussianEmbeddingDP类时，指定了is_secure_generator=True，报以下问题
    import secretflow.security.privacy._lib.random as random
ModuleNotFoundError: Exception encountered when calling layer 'gaussian_embedding_dp' (type GaussianEmbeddingDP).

No module named 'secretflow.security.privacy._lib'

错误位置
https://github.com/secretflow/secretflow/blob/00e49c95934c119a34dd01e6de3557f792c90ecb/secretflow/security/privacy/mechanism/tensorflow/layers.py#L65

@oceanqdu 为了方便诊断问题，能提供下版本和代码相关信息吗

直接安装官方编译好的 pypi 包，或者先安装好 pypi 包再从安装目录把 so 文件拷贝出来也行
如果是源码安装的话需要编译 C++ 模块，并且把编译出来的 so 手动拷贝到对应位置

安装方式相关：
1.建议直接安装官方编译好的 pypi 包，或者先安装好 pypi 包再从安装目录把 so 文件拷贝出来也行
2.如果是源码安装的话需要编译 C++ 模块，并且把编译出来的 so 手动拷贝到对应位置

authors: kaixin-haha oceanqdu

repo: secretflow/secretflow


text:
Push Notifications in Nodejs using Service Workers

Proposed title of article
Push Notifications in Nodejs using Service Workers
Introduction paragraph (2-3 paragraphs):
A push notification is a message that pops on the screen when another activity is being performed on a mobile device or a web application. In modern web applications, push notifications have a wider place. The notifications help to engage the user and draw the attention fully to a new activity that occurs in the web application.
A service worker is a script run by the browser in the background separate from the web page and acts as a bridge between the browser and the network. It usually intercepts requests made by the document in the browser and redirects requests to cache memory to allow offline access.
Service workers can be used to implement push notifications in a web application. In this tutorial, I will explain a step-by-step method of implementing push notifications in a node application using service workers.
Key takeaways:

Understanding push notifications in web application.
Clear introduction to service workers in Nodejs.
Implementing push notifications in a Nodejs web app.

References:
https://developers.google.com/web/fundamentals/primers/service-workers
Templates to use as guides

How To Guide Template
Software Review Template
Tutorial Template

seems like a cool topic - if you havent already please review recently published Node.js articles in the EngEd library to avoid overlap and/or see what can be used as a reference. @mercymeave  approved

authors: hectorkambow mercymeave


text:
Sharing Data between Angular Components

We ask that you please be patient as our team works through approving and publishing all articles/tutorials in a timely manner. Allow 1-3 days for a topic to be reviewed and/or approved - allow 3-7 days for an articles to be reviewed and/or published.
Be sure to visit our Resources Page for tools, resources, and example articles to go over.
NOTE: (Please ensure that you have only one open issue + linked pull request at a time. This will ensure that we complete the article in a timely manner from inception to publishing.)
NOTE: We tend to stray away or tend not to publish reviews/comparisons of commercial product offerings.
We're looking for the first 2-3 paragraphs of the article that appropriately summarize what your article will be about.
Proposed title of article
Sharing Data between Angular Components
Introduction paragraph (2-3 paragraphs):
Data sharing is an essential concept to understand before diving into your first Angular project. In this lesson, I provide four different methods for sharing data between Angular components.
For example, consider that we are navigating from one page to another in which the previous page is destroyed and we are landing on another page. If there’s not a lot of data to pass through (eg. id of an object), we can use the URL to pass the data.
In this post, I am going to share a few methods to pass data between components in Angular and which is the best way depending upon the scenario.
Key takeaways:

Pass Data from URL -There are two ways to pass the data through URLs in Angular:
-Router Parameters
-Query Params
Pass Data through @Input and @Output;
Pass Data Through a Service Using Observables- If two components are siblings or the level of a component in the hierarchy is more distant, then it’s good to use a service for passing the data using observables.

References:
Please list links to any published content/research that you intend to use to support/guide this article.
Templates to use as guides

How To Guide Template
Software Review Template
Tutorial Template

was closed since I had others in the queue! Will work on it as soon as possible!


text:
How To Reset MariaDB or MySQL Root Password on Ubuntu 20.04

Proposed title of article
How To Reset MariaDB or MySQL Root Password on Ubuntu 20.04.
Proposed article introduction
Forgetting your password happens to the best of us. If you have forgotten the root password for your MariaDB or MySQL
database, you are still able to gain access and be reset your password if you have access to a user account with sudo privileges and access to the server.
This tutorial will show how to reset one's root password for MariaDB/ MySQL databases which are installed with the apt package manager on Ubuntu 20.40. The process for changing the root password is different depending on if one has installed MariaDB or MySQL and the default system configurations that come with the distribution or third-party package.
Key takeaways

How to identify version of database and stopping the server
How to restart server without permission checks
Changing root password
Returning database server to default settings

Article quality
In this article, I will describe the steps to reset the root password only if the default configuration for authentication was altered.
References
N/A

Good afternoon and thank you for submitting your topic suggestion.
Your topic form has been entered into our queue and should be reviewed (for approval) as soon as a content moderator is finished reviewing the ones in the queue before it. 🚀

Thank you for submitting your topic. @jaacobstephenson
After some careful consideration, it struck us that this topic may be out of our preferred topics area.
Please feel free to suggest an alternate topic to explore. 🚀


text:
Using Supabase as an Alternative to Firebase in Flutter

Article checklist
Pre-submission checks

Please ensure that you have only one open topic suggestion (issue) + in-review article (linked pull request) at a time. This will ensure that we complete the review process in a timely manner from inception to publishing

If you have not already, please go over our Resources Page for more tips and tricks on how to improve your overall technical writing so reviews are swifter, increase the chance of a payout and provide more value to our readers.

For first-time contributors and for more details on our submission guidelines, see our Contributing Guidelines.

Formatting and structure checks

[x] Have you used the correct folder and file structure? - see Contribution Guidelines

[x] Is your article properly formatted in Markdown? - see Github Markdown guide

[x] Have you used our preferred heading structure? - H3 (###) and up

[x] Does your article follow any of the suggested structure formats? - see example formats

[x] Is your article over 750 words? - Tool: Wordcounter.net

[x] Is the article you are submitting an in-depth and unique article? Does it go beyond what is in the official docs and what is covered in other blog sites. See these articles as examples.

[x] Does your article provide enough value and detail about your topic? - Articles should be clear, accurate, and fully explained.

[x] Can your article be understood by beginners? - Assume the audience is smart but has no prior exposure to the common terminology in your article.

[x] Have you included a hero image that is 600x400 pixels and have the copyright to use it? - Tools: Pixlr Image Editor for resizing and Unsplash for Creative Commons images

Grammar & plagiarism checks

[x] Have you spellchecked and grammar checked your article? - Tools: Write&Improve - ProWritingAid - Grammarly
[x] Please place your article through a 3rd party plagiarism checker. We suggest using Quetext, this tool is free and has a daily limit. We typically accept articles with 10% or less.
[x] Have you checked your article for readability? - Tool: Hemmingway
[x] Have you added sources for quotes and images that aren't yours?

Technical checks

[x] Are your code snippets properly formatted for syntax highlighting - see Syntax guide
[x] Have you checked your code runs correctly and you've highlighted all necessary dependencies for installation?
[x] Are the software programs and packages you're highlighting in your article up to date, using current versions and not deprecated?

This closes #5526

Nice to see you again @feswalsalim 🤗. Welcome back!

plagiarism check done ✔

Great work gentlemen 🚀.

source: gharchive/pull-request

authors: Ericgacoki Kayere feswalsalim lalith1403


text:
Fix COSE Signature1 algorithms

Use a formatted sig_structure to compute signatures
(instead of the raw object payload).  Format ECDSA
signatures as concatenated R|S instead of DER,
as required by spec.
Signed-off-by: Greg Bean greg.bean@intel.com

Marked Draft till the related changes are merged in client-sdk-fidoiot.

authors: grbean trbehera

repo: secure-device-onboard/pri-fidoiot


text:
fix(KONFLUX-3663): format PipelineRun files and upload SAST results

This update configures the SAST task to upload SARIF results to quay.io for long-term storage
Please note that this PR was automatically generated and may include unrelated changes due to automatic YAML formatting performed by yq
The YAML files will be indented using 2 spaces, if the YAML file uses indentationless list the automation will try to keep this format
The PR contains two separate commits:

Format YAML files: Ensures consistent indentation and formatting of the YAML files
Upload SAST results: Configures the PipelineRun files to enable uploading SARIF results to quay.io

Separating these changes into two commits simplifies the review process. The first commit focuses on indentation and formatting, while the second commit contains the semantic changes
Related:

https://issues.redhat.com/browse/KONFLUX-3663
https://issues.redhat.com/browse/KONFLUX-2263

/ok-to-test

authors: ccronca lance

repo: securesign/gitsign


text:
fix(deps): update module go.opentelemetry.io/otel/sdk/metric to v1

This PR contains the following updates:

Package
Type
Update
Change

go.opentelemetry.io/otel/sdk/metric
require
major
v0.39.0 -> v1.19.0

go.opentelemetry.io/otel/sdk/metric
require
major
v0.40.0 -> v1.19.0

Release Notes

open-telemetry/opentelemetry-go (go.opentelemetry.io/otel/sdk/metric)
v1.19.0: /v0.42.0/v0.0.7
This release contains the first stable release of the OpenTelemetry Go metric SDK. Our project stability guarantees now apply to the go.opentelemetry.io/otel/sdk/metric package. See our versioning policy for more information about these stability guarantees.
Added

Add the "Roll the dice" getting started application example in go.opentelemetry.io/otel/example/dice. (#4539)
The WithWriter and WithPrettyPrint options to go.opentelemetry.io/otel/exporters/stdout/stdoutmetric to set a custom io.Writer, and allow displaying the output in human-readable JSON. (#4507)

Changed

Allow '/' characters in metric instrument names. (#4501)
The exporter in go.opentelemetry.io/otel/exporters/stdout/stdoutmetric does not prettify its output by default anymore. (#4507)
Upgrade gopkg.io/yaml from v2 to v3 in go.opentelemetry.io/otel/schema. (#4535)

Fixed

In go.opentelemetry.op/otel/exporters/prometheus, don't try to create the Prometheus metric on every Collect if we know the scope is invalid. (#4499)

Removed

Remove "go.opentelemetry.io/otel/bridge/opencensus".NewMetricExporter, which is replaced by NewMetricProducer. (#4566)

Full Changelog: https://github.com/open-telemetry/opentelemetry-go/compare/v1.18.0...v1.19.0

Configuration
📅 Schedule: Branch creation - "every weekend" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about these updates again.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

⚠ Artifact update problem
Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.
♻ Renovate will retry this branch, including artifacts, only when one of the following happens:

any of the package files in this branch needs updating, or
the branch becomes conflicted, or
you click the rebase/retry checkbox if found above, or
you rename this PR's title to start with "rebase!" to trigger it manually

The artifact failure details are included below:
File name: src/productcatalogservice/go.sum
Command failed: go get -d -t ./...
go: downloading google.golang.org/grpc v1.56.1
go: downloading google.golang.org/protobuf v1.30.0
go: downloading google.golang.org/genproto/googleapis/rpc v0.0.0-20230530153820-e85fd2cbaebc
go: downloading google.golang.org/genproto v0.0.0-20230530153820-e85fd2cbaebc
go: downloading golang.org/x/net v0.11.0
go: downloading google.golang.org/genproto/googleapis/api v0.0.0-20230530153820-e85fd2cbaebc
go: downloading golang.org/x/text v0.10.0
go: github.com/opentelemetry/opentelemetry-demo/src/productcatalogservice imports
	go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc imports
	go.opentelemetry.io/otel/exporters/otlp/internal: cannot find module providing package go.opentelemetry.io/otel/exporters/otlp/internal
go: github.com/opentelemetry/opentelemetry-demo/src/productcatalogservice imports
	go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc imports
	go.opentelemetry.io/otel/sdk/metric/aggregation: cannot find module providing package go.opentelemetry.io/otel/sdk/metric/aggregation
go: github.com/opentelemetry/opentelemetry-demo/src/productcatalogservice imports
	go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc imports
	go.opentelemetry.io/otel/exporters/otlp/otlpmetric/internal/oconf imports
	go.opentelemetry.io/otel/exporters/otlp/internal/envconfig: cannot find module providing package go.opentelemetry.io/otel/exporters/otlp/internal/envconfig
go: module github.com/golang/protobuf is deprecated: Use the "google.golang.org/protobuf" module instead.

repo: secustor/opentelemetry-demo


text:
Remove go <1.3 sync.Pool compat

The gopkgs.com domain is sometimes unreliable too.

:lgtm:

Thanks!

authors: adeledeweylopez swenson

repo: seedco/unidecode

license_source: bigquery


text:
picofeed v1.1 fails with autodetection

$ ./picofeed-linux http://seenaburns/
ERROR: Get http://seenaburns/: dial tcp: lookup seenaburns on 127.0.0.53:53: server misbehaving

This should work if you specify the TLD, like ./picofeed-linux http://seenaburns.com/, I'm not sure what the expected behavior would be otherwise

authors: freddii seenaburns

repo: seenaburns/picofeed


text:
Why gatsby over metalsmith for the blog?

Could you guys go in depth about the choice of moving the blog over to gatsby?
What would you recommend and for what purposes?

Could you clarify what site you're referring to? Pretty sure the regular metalsmith.io site is built with Metalsmith.

@Ajedi32 Here's the link that says the segment blog was built with gatsby. Metalsmith being perfectly suited for a blog and open sourced by segment, I was wondering why they went with gatsby.

I'm not affiliated with Segment so I can't really comment on why they went with Gatsby. At first glance though it looks to me like Gatsby is far more opinionated than Metalsmith is. Metalsmith's core is tiny and relies almost entirely on plugins for its functionality, whereas Gatsby seems to try to include a lot more functionality out of the box, so maybe that has something to do with it.

Motion to close this issue...

Since Segment has chosen Gatsby over its own Metalsmith, there is a concern for longevity of this project, and what the future could hold.   As a new user, I wouldn't choose Metalsmith if Segment wasn't dogfooding, i.e. using its own project, because there's a huge risk that this project can be shuttered, leaving many Metalsmith users out in the cold.

@up0 Segment isn't the sole maintainer of Metalsmith. There are several maintainers such as myself who don't work for Segment.
Not to mention the Metalsmith core is pretty minimal. I'm certain that anyone with a solid grasp of Node and a little free time on their hands would have no trouble keeping Metalsmith afloat all on their own; for these reasons the longevity of the project isn't really much of a concern.

Lets not read too much into it.. whoever was tasked with building the blog had a preference for Gatsby, no big deal.

Awesome. Glad to hear from the supporters.  Definitely moving forward with Metalsmith-based projects.

I really like metalsmith for it's simplicity, but adding it all together: no new version since last year + segment blog built on gatsby + metalsmith.io down because they "forgot" to update heroku account... It all looks like there is no real interest in segment to lead this project further. Pretty sad conclusion for me as user. Hopefully other maintainers could move project forward, because it is so valuable project!

@kosirm I don’t want to see this project die, either.  That was part of my motivation for opening #303 .
@Ajedi32 and other maintainers must review my work first, but I’m hoping it will become the basis for Metalsmith 3.  If that happens, my hope is that the community will notice and interest will be revived.
With enough interest and contributions, hopefully we can bring most or all of the Metalsmith ecosystem into modern JavaScript.
(And—hopefully—drop support for ancient versions of Node, too!  Every time I run npm audit I smile a little.  Just one small-but-fantastic part of the many leaps and bounds that Node.js and NPM have  made since Metalsmith came onto the scene. ☻)

(Also: “Metalsmith” is just so much better of a name than “Gatsby”. 👅 )

Hmm, after reading this. And the project problems I have, with my first Metalsmith try-out. I'm not sure to continue. I'm very fond of NodeJS based solutions, but if it doesn't work...

@itsMeBender What problems are you having?  I’d like to help!

@Zearin , Thank you!
I am trying to build a Metalsmith static site from the ground up (no experience at all). Looking for information on the web, I found this site: How to Create a Static Site with Metalsmith. But following these steps, my project didn't work.
But his project can be downloaded here Metalsmith demo. This demo of Metalsmith works! But relies on old Metalsmith node modules. As declared in packages.js.
When I copy those, old node modules, into my own project. My project works! So my project setup, etc. is good enough, to build a Metalsmith static site. Based on old module versions.
When I upgrade my project to the latest versions of the metalsmith modules. It fails again!
I got these error messages:
Error: no files to process. See https://www.npmjs.com/package/metalsmith-in-place#no-files-to-process
or
Error: no files to process. See https://www.npmjs.com/package/metalsmith-layouts#no-files-to-process
Solving this problem, with information from GitHub readme's does not help. Only, copying back the old modules, download by the demo. Solves the problem.
Working packages;
"handlebars": "^4.0.5",
"metalsmith": "^2.1.0",
"metalsmith-assets": "^0.1.0",
"metalsmith-browser-sync": "^1.1.0",
"metalsmith-collections": "^0.7.0",
"metalsmith-feed": "^0.2.0",
"metalsmith-html-minifier": "^2.0.0",
"metalsmith-in-place": "^1.4.3",
"metalsmith-layouts": "^1.6.4",
"metalsmith-mapsite": "^1.0.4",
"metalsmith-markdown": "^0.2.1",
"metalsmith-permalinks": "^0.5.0",
"metalsmith-publish": "^0.1.3",
"metalsmith-word-count": "0.0.4"
current metalsmith-in-place "^4.1.1"
current metalsmith-layouts "^2.1.0"
So what is changed in those major releases; API?, Configuration? ...

Tell me if any of my statements are incorrect.
Here is what I understand so far…
Current Situation
Okay, so you say that the outdated—but working—demo, uses:

metalsmith-in-place ^1.4.3
metalsmith-layouts ^1.6.4

But things break when you update to:

metalsmith-in-place ^1.4.3
metalsmith-layouts ^2.1.0

Tracking Down the Problem
The first thing I did was go to metalsmith-in-place’s CHANGELOG.md.
In that changelog, under v2.0.0-beta.1, it says:

switch to jstransformers for rendering (breaking change)

That sounded familiar to me, so I checked the link you provided.  That page says the errors are always caused by one of the following:

Your pattern does not match any files
None of your files pass validation, validation fails for files that:

Have no extension
Are not utf-8
Need a jstransformer that hasn't been installed

Aha!  So it looks like the error is JSTransformer related.
Possible Solution
In order for metalsmith-in-place to work, you need to install the appropriate JSTransformers.  This section of the metalsmith-in-place README.md explains how it works.
I think you will need to at least do the following:
npm rm --save handlebars
npm install --save jstransformer-handlebars

You might need to do something similar for markdown as well, but it’s hard for me to say without access to your project.

Hi, thank you for your support.
I already had the the same line of thoughts. I also red the documentation about the jstransformer modules and tried it also. But no luck here.
my test setup:
  "devDependencies": {     "jstransformer-handlebars": "^1.1.0",     "jstransformer-html": "^0.1.0",     "jstransformer-markdown-it": "^2.1.0",     "metalsmith": "^2.3.0",     "metalsmith-autotoc": "^0.1.5",     "metalsmith-in-place": "^4.1.1",     "metalsmith-layouts": "^2.1.0",     "metalsmith-markdown": "^0.2.2"   }
Same error "Error: no files to process. See https://www.npmjs.com/package/metalsmith-in-place#no-files-to-process"
The documentation mentioned a JSON config file. But I'm using a build script. May be it's then the configuration;
`
var
consoleLog = true, // set true for metalsmith file and meta content logging
// modules
debug		= require('./lib/metalsmith-debug'),
inplace		= require('metalsmith-in-place'),
layouts		= require('metalsmith-layouts'),
markdown	= require('metalsmith-markdown'),
metalsmith	= require('metalsmith');
var
templateConfig = {
engine: 'handlebars',
default: 'layout.html',
directory: './src/layout/',
engineOptions: {
"cache": false
},
partials: './src/partials/',
pattern: '**/*'
}
metalsmith(__dirname)
.clean(true)
.source('./src/html/')
.destination('./build/')
.use(markdown())
.use(inplace(templateConfig))
.use(layouts(templateConfig))
.build(function(err) {
if (err) throw err;
console.log('Build finished!');
});
`

Can you put the project somewhere I can get a copy of it?  I’ll see if I can figure out what’s going on here.

@Zearin - https://github.com/itsMeBender/pr-metalsmith

Thank you @Zearin, with your step through problem solving approach. I finally solved my problems.
In your description above, you're forgot to mention the installation of  jstransformer-handlebars

npm i --save jstransformer-handlebars

I copied your approach of problem solving into my project as WIKI. See GitHub. It will be useful for other people, I think.

If anyone is interested, I made this blog site example: https://github.com/borisovg/metalsmith-blog-example, which is a simplified version of what I use for building my own site.
Demo: https://borisovg.github.io/metalsmith-blog-example-demo/

I'm unsure why Segment decided to use Gatsby for their blog. As most of the maintainers are not employee's or no longer employees of Segment it is hard to know the answer.
As Ajedi32 said (https://github.com/segmentio/metalsmith/issues/288#issuecomment-315853246) Gatsby and Metalsmith have very different approaches with different pros and cons. As Segment haven't answered the question thus-far I suspect they're not likely to so I'll close this issue.

@itsMeBender @Zearin just landed here and ran into same no file to process error, which was finally resolved after finding this thread and adding npm i --save jstransformer-handlebars. Perhaps it would be useful to add that to the main metalsmith doc site for other people new to the project and using handlebars?

authors: Ajedi32 Zearin borisovg bryankang erichonkanen itsMeBender kosirm kylenstone leviwheatcroft otterpro up0 woodyrew

repo: segmentio/metalsmith

license: MIT


text:
using a separate _metalsmith bin to allow custom transpilers

This fixes #132 by adding a separate _metalsmith bin that is doing the actual processing. The metalsmith bin is now a proxy that simply adds the --harmony-generators flag when needed.
Node 0.10 users will need to use gnode, babel or similar in order to continue using metalsmith, but the trade-off is now that node 0.11, 0.12 and iojs will work out of the box. (and it's future-proof)
This also allows users with gnode/babel/etc in their toolchain to use it with metalsmith as well.
/cc @ianstormtaylor @MoOx

Looks good !
But tests are broken on node 0.12 :/

I guess there is some breaking changes for node 0.10 users, so this will need to be release as 2.0 right ?

Yeah, 2.0 sounds like the most likely choice.
I still need to get these tests passing everywhere, hopefully have that done sometime this week.

@dominicbarnes awesome!! Let me know when tests pass and if you need anything form me to bump 2.0 and deploy!

This works seems to works like a charm for me on iojs.

Yeah, this works for iojs, but breaks for node 0.10. I'll fix it soon

The fun part is: it's working for 0.10 & iojs, but breaks on 0.12
FYI, I am using this branch for a few days, and works like a charm with iojs/babel :)
I will try to send a PR on this PR :)

Ok it's seems simple: for the current test, the error is the following on 0.12
{ [Error: Command failed: /bin/sh -c /Users/MoOx/Sync/Development/metalsmith/metalsmith/bin/_metalsmith
/Users/MoOx/Sync/Development/metalsmith/metalsmith/lib/index.js:190
Metalsmith.prototype.build = unyield(function*(){
                                             ^
SyntaxError: Unexpected token *
    at exports.runInThisContext (vm.js:73:16)
    at Module._compile (module.js:443:25)
    at Object.Module._extensions..js (module.js:478:10)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)
    at Module.require (module.js:365:17)
    at require (module.js:384:17)
    at Object.<anonymous> (/Users/MoOx/Sync/Development/metalsmith/metalsmith/index.js:6:18)
    at Module._compile (module.js:460:26)
    at Object.Module._extensions..js (module.js:478:10)
]
  killed: false,
  code: 1,
  signal: null,
  cmd: '/bin/sh -c /Users/MoOx/Sync/Development/metalsmith/metalsmith/bin/_metalsmith' }

If I change the version to use gnode for 0.12 it works. It seems the proper flag is not added correctly.

I made a PR on this PR, should fix the build :)

While having 0.10 support is nice, this creates a lot of bloat that isn't really needed if you're on node >= 0.12.

I think it's necessary for now, but only very short-term. Now that 0.12 has been out for a while, people will continue to adopt it.

Maybe we should merge and release now that all tests pass ?

For debian users it's important to maintain compatibility with the version distributed in the official repositories, simplifies the work needed to be done to install metalsmith, helping begginers to break less things...
debian stable nodejs version: 0.10.29
debian testing nodejs version: 0.10.38

For debian users it's important to maintain compatibility with the version distributed in the official repositories, simplifies the work needed to be done to install metalsmith, helping begginers to break less things...
debian stable nodejs version: 0.10.29
debian testing nodejs version: 0.10.38

How is this an upstream problem?

The comments from RobLoach and the answer from dominicbarnes made me understood that they thought that was not important in maintaining compatibility with nodejs 0.10, but it's my interpretation of their words, maybe I missunderstood.

I'd lean towards pushing for Node 0.12. Backwards compatibility can only go so far. Wouldn't want Metalsmith to turn into IE6.

I like stable things also in development tools, but thanks for the recommendation, I probably change to Node 0.12 because everything seems in a young stage with a lot of changes and makes no sense to waste a lot of time in old things at the begginning!

@dominicbarnes what's your thoughts on this? Should we just drop 0.10 support completely to keep it simpler?

I'd be ok with dropping node 0.10 altogether, node 0.12 is the stable release and has been out for a while now.

Should we update the PR? It will be nice to get this in master :)

All right, I've dropped node 0.10 from our tests. It can still technically be used via gnode ./node_modules/.bin/_metalsmith, but it will likely be an undocumented feature.

authors: MoOx RobLoach battlemidget dominicbarnes duub ianstormtaylor


text:
Older browser support

Proposed changes

Added information regarding supporting older browsers
Merge timing

Related issues (optional)

Content looks good, though a few grammar problems.

authors: jfoskin silesky

repo: segmentio/segment-docs


text:
Select2 v4 is not responsive at all and thus breaks every variable-width layout

Abstract
The newest version of Select2 sets a fixed width on its container. This breaks about every page its used on in every browser when resizing the parent element(s), even the official example page:

Steps to reproduce

Open page with variable width and Select2
Resize browser window
Select2 container remains at old fixed width

Possible solution
EDIT: Set the default value for the 'width' option to NULL in order to prevent Select2 from applying a fixed width to the container by default. This is neither needed nor wanted in most cases.
Remove the _resolveWidth() method all together and have the Select2 container retain its width:auto; value. There's no need for setting an arbitrary width to an element that does not require one.
Optionally set the container to display:block; by default, so it scales to full width.

See #3370

See #3371 for a pull-request.

Merging into https://github.com/select2/select2/issues/3278.

This is still hapenign in v4.0.3

Happening for me in v4.0.6 as well

authors: cerlestes joetidee kevin-brown liamrathke


text:
Issue 146 coherent units

Update annotations including examples for the coherent unit classes.

Minor change in release notes.
I know it's not in the scope of this issue, but is there a reason why CoherentProductUnit, currently defined as
    EquivalentTo:
        gist:ProductUnit
         and (gist:hasMultiplicand only
            ((gist:BaseUnit or gist:CoherentProductUnit or gist:CoherentRatioUnit)))
         and (gist:hasMultiplier only
            ((gist:BaseUnit or gist:CoherentProductUnit or gist:CoherentRatioUnit)))

cannot be simplified to
    EquivalentTo:
        gist:ProductUnit
         and (gist:hasMultiplicand only gist:CoherentUnit)
         and (gist:hasMultiplier only gist:CoherentUnit)

Similarly with CoherentRatioUnit.

I don't understand what that reason could be, the two expressions are logically equivalent, should not matter which goes where. If out of scope here, perhaps create as a separate issue?

I'm in favor of making a separate issue for Boris's suggestion.

authors: rjyounes uscholdm

repo: semanticarts/gist


text:
Template which should run all 2 minutes is stuck in waiting since updating to 2.9.75

Since updating from 2.9.37 to 2.9.75 we have a template which is set to run all two minutes (via template cron settings */2 * * * *) getting stuck in status waiting. Only fix is to stop last waiting job and reboot. Happens every day and does not recover itself.
Other templates do run fine, even when the affected template is stuck. So it does only affect this template.
Anyone able to help?

Same here. This does happen in a synchronize pull task. @livdebus is this also the case for you?

This is the debud log output of the stucking task:
TASK [Pull web files to semaphore] ********************************************* task path: /home/semaphore/repository_6_36/FileTransmit.yml:35 [DEPRECATION WARNING]: The connection's stdin object is deprecated. Call  display.prompt_until(msg) instead. This feature will be removed in version  2.19. Deprecation warnings can be disabled by setting  deprecation_warnings=False in ansible.cfg. redirecting (type: modules) ansible.builtin.synchronize to ansible.posix.synchronize redirecting (type: action) ansible.builtin.synchronize to ansible.posix.synchronize redirecting (type: action) ansible.builtin.synchronize to ansible.posix.synchronize  ESTABLISH LOCAL CONNECTION FOR USER: semaphore  EXEC /bin/sh -c '( umask 77 && mkdir -p " echo /home/semaphore/.ansible/tmp/ansible-local-7673hkwayfsm "&& mkdir " echo /home/semaphore/.ansible/tmp/ansible-local-7673hkwayfsm/ansible-tmp-1715689337.1515107-8357-129744323250235 " && echo ansible-tmp-1715689337.1515107-8357-129744323250235=" echo /home/semaphore/.ansible/tmp/ansible-local-7673hkwayfsm/ansible-tmp-1715689337.1515107-8357-129744323250235 " ) && sleep 0' Using module file /home/semaphore/.ansible/collections/ansible_collections/ansible/posix/plugins/modules/synchronize.py  PUT /home/semaphore/.ansible/tmp/ansible-local-7673hkwayfsm/tmpwx00atba TO /home/semaphore/.ansible/tmp/ansible-local-7673hkwayfsm/ansible-tmp-1715689337.1515107-8357-129744323250235/AnsiballZ_synchronize.py  EXEC /bin/sh -c 'chmod u+x /home/semaphore/.ansible/tmp/ansible-local-7673hkwayfsm/ansible-tmp-1715689337.1515107-8357-129744323250235/ /home/semaphore/.ansible/tmp/ansible-local-7673hkwayfsm/ansible-tmp-1715689337.1515107-8357-129744323250235/AnsiballZ_synchronize.py && sleep 0'  EXEC /bin/sh -c '/usr/bin/python3.11 /home/semaphore/.ansible/tmp/ansible-local-7673hkwayfsm/ansible-tmp-1715689337.1515107-8357-129744323250235/AnsiballZ_synchronize.py && sleep 0' Running playbook failed: signal: killed
The definition of the task is:
`

name: Pull web files to semaphore
--

 dest: "/tmp/{{ inventory_hostname }}"

- name: Pull web files to semaphore
--
 dest: "/tmp/{{ inventory_hostname }}"

`

Same here. This does happen in a synchronize pull task. @livdebus is this also the case for you?

nope, it is a task which runs a powershell script on a windows host

but seems that duplicating the affected task did solve the issue for me, stable now since over 4 days

Hi @tboerger can you reproduce this issue? I can't.

@livdebus is it the task works fine?

Me neither

@livdebus is the task works fine?

yes still works fine since duplicating the affected task

Happens again:

This time duplicating the template did not help. But I have some more details. Seems that a previous task is hanging and therefore all further task of the same template are stuck in queued status.
But task is hanging in a state where actual playbook has not started (confirmed since playbook would write to a custom logfile which did not happen), so it is still in preparation stage (github updating):

Template details:

Is there anywhere a logfile of semaphore which would show more details?
Only workaround so far is to reboot the semaphore host then the runbooks works again for some hours....

Or is there any way to define a timeout for a template? So it is forced to stop a single run after some time.

+1 for having a possibility to define a timeout for a template.
I've found myself in a similar situation having multiple tasks waiting for an other task to complete. The problem was a simple use of the apt module that was somehow blocked.
Because of the fact that you can't define a global timeout for a playbook in Ansible having Semaphore to stop or at least warn about hanging templates would be great.

authors: cm-schl fiftin ivibross livdebus tboerger

repo: semaphoreui/semaphore


text:
Standalone Filter By Date

Background
One of the supported dataTypes in Weaviate is date, which takes an RFC3339-formatted date string.
It should be possible to use the typical compare operators (Equal, LessThan, etc.) on dates, however, that's currently not implemented yet in Standalone.
Example:
The following query shows the error message that one would encounter:

To reproduce this, you can start with a blank weaviate and import the following schema and data:
# import schema
curl localhost:8080/v1/schema/things -H 'content-type:application/json' \
  -d '{"class":"Event", "properties":[{"name": "name", "dataType": ["string"]}, {"name": "date", "dataType":["date"]}]}'

# import one data object
curl localhost:8080/v1/things -H 'content-type: application/json' \
  -d '{"class":"Event", "schema": {"name": "My Event", "date": "1985-04-12T23:20:50.52Z"}}'

# example graphql query which fails
curl localhost:8080/v1/graphql -H 'content-type: application/json' \
  -d '{"query":"{ Get{ Things{ Event(where:{ operator:LessThan path: [\"date\"] valueDate:\"2014-04-12T23:20:50.52Z\" }){ date name } } } }"}'

Goals

[ ] operator Equal returns objects where the date matches exactly
[ ] operator LessThan returns objects where the date is older than the query date
[ ] operator LessThanEqual returns objects where the date is older than or equal the query date
[ ] respectively for GreaterThan and GreaterThanEqual

Todos
tbd
Tech Overview

The inverted index allows for range queries on bytes. For example on an int query, we store the property value as a Lexicographically Sortable Int []byte, meaning that a "less than 5" query would affect all rows from the beginning up until the row that stores 5. We can use the same for dates. I think there are two different ways we could approach this:

Convert the date to a timestamp (possibly with nanosecond precision) and store as an int.
Directly convert the string representation to a []byte which should in itself be lexicographically sortable. Possible Disadvantages: We'd need to normalize for the timezone, otherwise it's hard to tell in the inverted index if a date is really smaller/larger.

There are two (currently removed) tests already prepared for this (copy/pasted from the previous Elasticsearch-based implementation): https://github.com/semi-technologies/weaviate/blob/00747bf2a51fe97433c760cb946ccb3125ce09b9/adapters/repos/db/filters_integration_test.go#L188-L198 It might be a good idea to add more tests (one for each operator).

Closed in #1276 - I think the PR was missing the link to this issue so it would have been auto-closed?

repo: semi-technologies/weaviate


text:
Error During Logout

Hi Its Ganesh Kandu
I have Installed GeniXCMS 0.0.7 in My PC and getting an error on logout

Warning:  session_destroy(): Trying to destroy uninitialized session in  /geni289/inc/lib/Session.class.php on line 103
Warning:  Cannot modify header information - headers already sent by (output started at  /public_html/geni289/inc/lib/Session.class.php:103) in  /public_html/geni289/gxadmin/logout.php on line 27

Hi @GaneshKandu, Thanks for submitting the issue. I'll fix it soon.

Please Reply When you done :+1:  Thanks

this issue was fixed. please try to download our latest master version.
thanks

Hi, am Getting Blank Page on
http://{{ ip }}/genix/gxadmin/ &
http://{{ ip }}/genix/

hello, can you send me the error log ?
if you success installing it. please go to inc/config and open config.php
set this value error_reporting(0); to error_reporting(E_ALL);
and then send me the error reported by the browser.
thanks

got That
Parse error: syntax error, unexpected '[' in /home/soft/public_html/manual/genix/inc/lib/Router.class.php on line 99

thanks, please open inc/lib/Router.class.php
go to line 84. replace it with this code
    public static function run () {

        $m = self::match();
        // print_r($m);
        if (is_array($m)) {
            # code...

            $val = self::extract($m[0], $m[1]);

            if (isset($val) && $val != null ) {

                return $val;

            }else{
                $val = ['error'];
                return $val;

            }

        }else{

            $val = ['error'];
            return $val;

        }
    }

let me know if it's work
thanks

still Getting Same

Warning:  require({{httpdoc}}/manual/genix/gxadminautoload.php): failed to open stream: No such file or directory in {{httpdoc}}/manual/genix/gxadmin/logout.php on line 24

Warning:  require({{httpdoc}}/manual/genix/gxadminautoload.php): failed to open stream: No such file or directory in {{httpdoc}}/manual/genix/gxadmin/logout.php on line 24

Fatal error:  require(): Failed opening required '{{httpdoc}}/manual/genix/gxadminautoload.php' (include_path='.:/usr/local/apps/php54/lib/php') in {{httpdoc}}/manual/genix/gxadmin/logout.php on line 24

ah, thank you for bringing this up. i miss something.
at the /gxadmin/logout.php match with this code
define('GX_PATH', realpath(__DIR__ . '/../'));
define('GX_LIB', GX_PATH.'/inc/lib/');
define('GX_MOD', GX_PATH.'/inc/mod/');
define('GX_THEME', GX_PATH.'/inc/themes/');
define('GX_ASSET', GX_PATH.'/assets/');

require(GX_PATH."/autoload.php");

try {
    new System();
} catch (Exception $e) {
    echo $e->getMessage();
}

Hooks::run('user_logout_action');
Session::destroy();
header("Location: index.php");

at the /logout.php  match the content with this code
define('GX_PATH', realpath(__DIR__ . '/'));
define('GX_LIB', GX_PATH.'/inc/lib/');
define('GX_MOD', GX_PATH.'/inc/mod/');
define('GX_THEME', GX_PATH.'/inc/themes/');
define('GX_ASSET', GX_PATH.'/assets/');

require(GX_PATH."/autoload.php");

try {
    new System();
} catch (Exception $e) {
    echo $e->getMessage();
}

Hooks::run('user_logout_action');
Session::destroy();
header("Location: index.php");

let me know if it's work.
thanks

Working very well :+1:

cool, thank you for reporting the issue

Thanks to Fix

authors: GaneshKandu semplon

repo: semplon/GeniXCMS

license: mit


text:
Dev to Master: CSS for header anchors, typo and link fixes, new contacts video

Description of the change:
Reason for the change:
Link to original source:

Closes #

Hello @astuteape,Thanks again for the PR! We appreciate your contribution and look forward to                                              continued collaboration. Thanks!                                             Team SendGrid DX

authors: astuteape thinkingserious

repo: sendgrid/docs


text:
Update model.py

Description
I have noticed that for some huggingface models, hf_api.list_repo_commits doesn't work for no apparent reason. And this is bad for us, since we use this utility to verify that a model exists. I replaced it with hf_api.model_info, which seems to work as expected.
How Has This Been Tested?
I run pytests.
Types of changes

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[x] Tests where already there and have been adapted.
[x] All new and existing tests passed.
[x] My code follows the code style of this project.

Codecov Report
Attention: Patch coverage is 75.00000% with 1 line in your changes missing coverage. Please review.

Project coverage is 63.78%. Comparing base (113721a) to head (315579b).
Report is 80 commits behind head on main.

Files with missing lines
Patch %
Lines

src/senselab/utils/data_structures/model.py
66.66%
1 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #228      +/-   ##
==========================================
+ Coverage   60.24%   63.78%   +3.54%
==========================================
  Files         113      119       +6
  Lines        4017     4228     +211
==========================================
+ Hits         2420     2697     +277
+ Misses       1597     1531      -66

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

repo: sensein/senselab


text:
On long press of up arrow or down arrow app crashes

On Long press of adjusters i.e, up arrow and down arrow the app is crashing. Here is the log report.
io.reactivex.exceptions.OnErrorNotImplementedException: The exception was not handled due to missing onError handler in the subscribe() method call. Further reading: https://github.com/ReactiveX/RxJava/wiki/Error-Handling | android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views.
at io.reactivex.internal.functions.Functions$OnErrorMissingConsumer.accept(Functions.java:704)
at io.reactivex.internal.functions.Functions$OnErrorMissingConsumer.accept(Functions.java:701)
at io.reactivex.internal.observers.LambdaObserver.onError(LambdaObserver.java:77)
at io.reactivex.internal.observers.LambdaObserver.onNext(LambdaObserver.java:67)
at io.reactivex.internal.operators.observable.ObservableSubscribeOn$SubscribeOnObserver.onNext(ObservableSubscribeOn.java:58)
at io.reactivex.internal.operators.observable.ObservableInterval$IntervalObserver.run(ObservableInterval.java:82)
at io.reactivex.Scheduler$PeriodicDirectTask.run(Scheduler.java:532)
at io.reactivex.Scheduler$Worker$PeriodicTask.run(Scheduler.java:479)
at io.reactivex.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:66)
at io.reactivex.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:57)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:154)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:269)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
at java.lang.Thread.run(Thread.java:818)
Caused by: android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views.
at android.view.ViewRootImpl.checkThread(ViewRootImpl.java:8261)
at android.view.ViewRootImpl.invalidateChildInParent(ViewRootImpl.java:1348)
at android.view.ViewGroup.invalidateChild(ViewGroup.java:5433)
at android.view.View.invalidateInternal(View.java:13982)
at android.view.View.invalidate(View.java:13918)
at android.widget.TextView.invalidateRegion(TextView.java:5946)
at android.widget.TextView.invalidateCursor(TextView.java:5889)
at android.widget.TextView.spanChange(TextView.java:9416)
at android.widget.TextView$ChangeWatcher.onSpanAdded(TextView.java:12067)
at android.text.SpannableStringBuilder.sendSpanAdded(SpannableStringBuilder.java:1057)
at android.text.SpannableStringBuilder.setSpan(SpannableStringBuilder.java:763)
at android.text.SpannableStringBuilder.setSpan(SpannableStringBuilder.java:662)
at android.text.Selection.setSelection(Selection.java:117)
at android.text.Selection.setSelection(Selection.java:128)
at android.text.method.ArrowKeyMovementMethod.initialize(ArrowKeyMovementMethod.java:325)
at android.widget.TextView.setText(TextView.java:4976)
at android.widget.TextView.setText(TextView.java:4834)
at android.widget.EditText.setText(EditText.java:117)
at android.widget.TextView.setText(TextView.java:4809)
at it.sephiroth.android.library.numberpicker.NumberPicker.setProgress(NumberPicker.kt:118)
at it.sephiroth.android.library.numberpicker.NumberPicker.setProgress$default(NumberPicker.kt:112)
at it.sephiroth.android.library.numberpicker.NumberPicker$initializeButtonActions$1$1.accept(NumberPicker.kt:253)
at it.sephiroth.android.library.numberpicker.NumberPicker$initializeButtonActions$1$1.accept(NumberPicker.kt:31)
at io.reactivex.internal.observers.LambdaObserver.onNext(LambdaObserver.java:63)
at io.reactivex.internal.operators.observable.ObservableSubscribeOn$SubscribeOnObserver.onNext(ObservableSubscribeOn.java:58)
at io.reactivex.internal.operators.observable.ObservableInterval$IntervalObserver.run(ObservableInterval.java:82)
at io.reactivex.Scheduler$PeriodicDirectTask.run(Scheduler.java:532)
at io.reactivex.Scheduler$Worker$PeriodicTask.run(Scheduler.java:479)
at io.reactivex.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:66)
at io.reactivex.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:57)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:154)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:269)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
at java.lang.Thread.run(Thread.java:818)

same here.

authors: diegotmorais prudhvi-rajkumar


text:
Unable to enable NTRIP via ROS yaml

I am trying to enable and set up ntrip via the ROS driver but it does work. If I do it via the web interface it works fine but I am unable to change the params and have them take effect. I get the following error when running the node.
Internet via usb is enabled and network is shared with mosaic
[ INFO] [1712269543.763666999]: /mosaic_rover: Setting up Rx.
[ERROR] [1712269544.007263301]: /mosaic_rover: Invalid command just sent to the Rx! The Rx's response contains 62 bytes and reads:
 $R? setAntennaOffset: Tabular argument 'Antenna' is invalid!

[ERROR] [1712269544.008559705]: /mosaic_rover: Invalid command just sent to the Rx! The Rx's response contains 57 bytes and reads:
 $R? setNtripSettings: Tabular argument 'Cd' is invalid!

[ERROR] [1712269544.010540076]: /mosaic_rover: Invalid command just sent to the Rx! The Rx's response contains 57 bytes and reads:
 $R? setNtripSettings: Tabular argument 'Cd' is invalid!

[ERROR] [1712269544.011905323]: /mosaic_rover: Invalid command just sent to the Rx! The Rx's response contains 60 bytes and reads:
 $R? setNtripTlsSettings: Tabular argument 'Cd' is invalid!

RTK settings in the yaml

rtk_settings:
  ntrip_1:
    id: "NTRIP1"
    caster: ""
    caster_port: 2101
    username: ""
    password: ""
    mountpoint: ""
    version: "v2"
    tls: false
    fingerprint: ""
    rtk_standard: "auto"
    send_gga: "auto"
    keep_open: true
  ip_server_1:
    id: ""
    port: 0
    rtk_standard: "auto"
    send_gga: "auto"
    keep_open: true
  serial_1:
    port: ""
    baud_rate: 115200
    rtk_standard: "auto"
    send_gga: "auto"
    keep_open: true

Yup - that was it. Thank you!

Great, thanks for confirming,


text:
Looking for maintainer(s)

Hello Everyone,
Umzug has been under unmaintained state for the past year. Recently we got notified about this by https://github.com/sequelize/umzug/issues/197 issue. I have merged some pending pull requests, updated dependencies and released a new version 2.3.0.
For immediate future me and @papb will be reviewing pull requests. Going forward I would like someone to join us with reviewing pull requests, triaging issues and maintaining this library.
If you are interested you can either comment here or email me sushantdhiman@outlook.com.
Also pinging current maintainer (@PascalPflaum), Please share your thoughts and let us know if you will be able to maintain umzug in the near future :)
Thanks!

@sushantdhiman Hi, it's a coincidence that you posted this, yesterday I have implemented a DynamoDB umzug storage here https://github.com/floydspace/dynamodb-migrations-tool/blob/master/src/storages/dynamodb.ts
You think is it good idea to put it as part of umzug repo, or it's better to keep it as separate package?
Thank you

Hi @floydspace, I think it is better to be kept as a separate package. Thanks though!

I might be interested!

Hi @sushantdhiman I am interested.

Thank you all who commented or got in touch with me over email for your interest in maintaining this library.
I have invited @mmkal as maintainer for umzug. I selected @mmkal as they maintain slonik-tools  and contributed to umzug

As @mmkal is now officially a member of Sequelize team, I am closing this issue. @papb & @mmkal will takeover maintenance for this module.

Thanks @sushantdhiman!!

authors: MatteoGioioso danoseun floydspace mmkal papb sushantdhiman

repo: sequelize/umzug


text:
CLOUD-51308 replace cache loader

@schfeca75 replacing cache loader with homegrown cache

Jenkins build finished, all tests passed.
Refer to this link for build results: http://ci.sequenceiq.com/job/cloudbreak-pull-request/1975/

authors: akanto jenkins-sequenceiq

repo: sequenceiq/cloudbreak


text:
[ doesn't check if current cell is 0

The following code shouldn't ask for user input but it does.
[,]
[ needs to check the current cell before executing the loop but it doesn't.

LoopStart can store the index of its matching LoopEnd (just like LoopEnd) and jump to it if current cell is 0.


text:
add keywords

add keywords BULK, WHILE, ELSIF, EXIT
functions REVERSE, SUBSTRB, SUBSTRC, SUBSTR2, SUBSTR4, INSTRB, INSTRC, INSTR2, INSTR4, LENGTHB

Thanks!

authors: boriborm serge-rider

repo: serge-rider/dbeaver


text:
~17% slower with Numpy 1.20.1 than with Numpy 1.19 (or without ndarray.copy in 1.19)

nbabel Pythran code is 10 %  slower with Numpy 1.20.1 than with Numpy 1.19 !
3 seconds is a bit too much for just conversion between Python-Numpy objects to Pythran objects. Can a Pythran extension interact with Numpy at runtime?
It even possible to reproduce this without recompiling: a code compiled with Numpy 1.19 can run with Numpy 1.20.1 but is slower. However, I get the same performance even after recompilation with Numpy 1.20.1.
A long log (mainly for me to be able to reproduce):
pierre@gre ~/Dev/nbabel/py master $ hg sum
parent: 219:00d1dd67fe08 default/master tip
 Table of codes
branch: default
bookmarks: *master
commit: (clean)
update: 14 new changesets, 7 branch heads (merge)
phases: 198 draft

pierre@gre ~/Dev/nbabel/py master $ pythran --version -v
0.9.9.dev
pierre@gre ~/Dev/nbabel/py master $ make clean
rm -rf __pythran__
pierre@gre ~/Dev/nbabel/py master $ pip install numpy -U
Requirement already satisfied: numpy in /home/pierre/.pyenv/versions/3.8.2/lib/python3.8/site-packages (1.19.0)
Collecting numpy
  Using cached numpy-1.20.1-cp38-cp38-manylinux2010_x86_64.whl (15.4 MB)
Installing collected packages: numpy
  Attempting uninstall: numpy
    Found existing installation: numpy 1.19.0
    Uninstalling numpy-1.19.0:
      Successfully uninstalled numpy-1.19.0
Successfully installed numpy-1.20.1
pierre@gre ~/Dev/nbabel/py master $ make bench1k
# transonic bench.py -af "-march=native -Ofast"
transonic bench.py -af "-march=native -DUSE_XSIMD -Ofast"
WARNING  1 files created or updated needs to be pythranized
Schedule pythranization: bench.py ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00
Wait for all extensions           ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00
time python bench.py ../data/input1k
t =  0.00, E = -0.2500005358, dE/E = +0.0000021432
...
t = 10.00, E = -0.2154747212, dE/E = +0.0000700897
Final dE/E = -1.381011e-01
10001 time steps run in 0:00:32.531965
33.55user 0.52system 0:33.24elapsed 102%CPU (0avgtext+0avgdata 92692maxresident)k

pierre@gre ~/Dev/nbabel/py master $ pip install numpy==1.19
Collecting numpy==1.19
  Using cached numpy-1.19.0-cp38-cp38-manylinux2010_x86_64.whl (14.6 MB)
Installing collected packages: numpy
  Attempting uninstall: numpy
    Found existing installation: numpy 1.20.1
    Uninstalling numpy-1.20.1:
      Successfully uninstalled numpy-1.20.1
Successfully installed numpy-1.19.0
pierre@gre ~/Dev/nbabel/py master $ make clean
rm -rf __pythran__
pierre@gre ~/Dev/nbabel/py master $ make bench1k
# transonic bench.py -af "-march=native -Ofast"
transonic bench.py -af "-march=native -DUSE_XSIMD -Ofast"
WARNING  1 files created or updated needs to be pythranized
Schedule pythranization: bench.py ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00
Wait for all extensions           ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00
time python bench.py ../data/input1k
t =  0.00, E = -0.2500005358, dE/E = +0.0000021432
...
t = 10.00, E = -0.2154747212, dE/E = +0.0000700897
Final dE/E = -1.381011e-01
10001 time steps run in 0:00:29.444862
30.39user 0.56system 0:30.12elapsed 102%CPU (0avgtext+0avgdata 92500maxresident)k

This drives me crazy... Everything seems the same except the perf.
I increased the log to print information on the arguments given to Pythran. Something like
time_step = 0.001, nb_steps = 10001
type(time_step) = <class 'float'>, type(nb_steps) = <class 'int'>
arr.shape =(1024,), arr.dtype = dtype('float64')
  C_CONTIGUOUS : True
  F_CONTIGUOUS : True
  OWNDATA : True
  WRITEABLE : True
  ALIGNED : True
  WRITEBACKIFCOPY : False
  UPDATEIFCOPY : False

arr.shape =(1024, 3), arr.dtype = dtype('float64')
  C_CONTIGUOUS : True
  F_CONTIGUOUS : False
  OWNDATA : True
  WRITEABLE : True
  ALIGNED : True
  WRITEBACKIFCOPY : False
  UPDATEIFCOPY : False

arr.shape =(1024, 3), arr.dtype = dtype('float64')
  C_CONTIGUOUS : True
  F_CONTIGUOUS : False
  OWNDATA : True
  WRITEABLE : True
  ALIGNED : True
  WRITEBACKIFCOPY : False
  UPDATEIFCOPY : False

I save some files with:
pip install numpy==1.20.1
python bench.py ../data/input1k 10 | tee log_10_1.20.txt
pip install numpy==1.19
python bench.py ../data/input1k 10 | tee log_10_1.19.txt

And then diff log_10_1.* gives
131c131
< before loop 0:00:00.006543
---
> before loop 0:00:00.026056
133c133
< 10001 time steps run in 0:00:29.234300
---
> 10001 time steps run in 0:00:32.867701

I still confirm the difference in performance. Now I do the timing from Pythran (with time.time) and I get the same results. Thus, I'm sure it's not about conversion time.
Maybe the Numpy arrays are not allocated the same way in different Numpy versions ? The flags are the same but there might be another difference.

I found a way to get this difference only with Numpy 1.19.5: if I "prepare" the arrays with np.copy, it is faster (100 iterations in ~289 ms) than only with np.ascontiguousarray and without np.copy (100 iterations in ~340 ms).

I'm mostly rubber ducking here, but you mentioned the wheels in your mailing list email, and I see you installed from wheels. Is it possible you get a different result if you build both versions from source? This might better ensure that the only thing changing is the numpy code (excluding some steps in publishing releases).

I found a way to recover the good performance with Numpy 1.20.1: one can replace np.copy by
def mycopy(arr):
    out = np.empty_like(arr)
    out[:] = arr
    return out

To be really clear, this is not done in Pythran but before the call of the Pythranized function to prepare the array.

Even better with Numpy 1.20.1: the best performance can be obtained just by calling np.copy(arr) instead of arr.copy().
However, I get the performance penalty with if I do both! (I know it's silly but it is very strange.)
masses = masses.copy()
masses = np.copy(masses)

Well, are you sure you're not including the time of the copy in the timing? This is looking more and more suspicious :)

I'm 100% sure that I just measure the time of the Pythran code. Not even the conversion code. Only the hot loop.
I tried to compile Numpy with pip install numpy==1.20.1 --no-binary numpy --force-reinstall and I get the same difference between arrays prepared with arr.copy() or np.copy(arr).
However, I can't reproduce my strange thing mentioned in my last message. So I guess I did something wrong with that.
The clear point is that arr.copy() or np.copy(arr) do not give the same result, with arr obtained from a Pandas dataframe with arr = df.values. It's strange because type(df.values) gives <class 'numpy.ndarray'> so I would expect arr.copy() and np.copy(arr) to give exactly the same result.

Can you check which calls to from_python are done when passing the argument? Do both version call the same specialization?

For the record, it is related to commit https://github.com/numpy/numpy/commit/4cd6e4b336fbc68d88c0e9bc45a435ce7b721f1f. After this commit, arrays prepared with arr.copy() lead to less good performance.

Can you check which calls to from_python are done when passing the argument? Do both version call the same specialization?

I get the performance difference with the same extension (same C++ code and no need for recompilation).

@paugier I was puzzled at first since at first I could not reproduce it. I got similar timings with both NumPy v1.19 and v1.20.1:
❯ pip install -U pythran rich numpy
Requirement already satisfied: pythran in /home/avmo/.pyenv/versions/3.8.1/envs/fluiddyn/lib/python3.8/site-packages (0.9.7)
Collecting pythran
  Using cached pythran-0.9.8.post2-py3-none-any.whl (4.4 MB)
Requirement already satisfied: rich in /home/avmo/.pyenv/versions/3.8.1/envs/fluiddyn/lib/python3.8/site-packages (9.10.0)
Collecting rich
  Using cached rich-9.13.0-py3-none-any.whl (197 kB)
Requirement already satisfied: numpy in /home/avmo/.pyenv/versions/3.8.1/envs/fluiddyn/lib/python3.8/site-packages (1.20.1)
...
❯ make bench1k
...

10001 time steps run in 0:00:27.041378
...
❯ pip install numpy==1.19
Collecting numpy==1.19
  Downloading numpy-1.19.0-cp38-cp38-manylinux2010_x86_64.whl (14.6 MB)
     |████████████████████████████████| 14.6 MB 2.6 MB/s
Installing collected packages: numpy
  Attempting uninstall: numpy
    Found existing installation: numpy 1.20.1
    Uninstalling numpy-1.20.1:
      Successfully uninstalled numpy-1.20.1
❯ make bench1k
...
10001 time steps run in 0:00:27.058726
...

Then I upgraded pandas and I get the regression that you mention
❯ pip install -U pandas
Requirement already satisfied: pandas in /home/avmo/.pyenv/versions/3.8.1/envs/fluiddyn/lib/python3.8/site-packages (1.1.0)
Collecting pandas
  Using cached pandas-1.2.3-cp38-cp38-manylinux1_x86_64.whl (9.7 MB)
Requirement already satisfied: numpy>=1.16.5 in /home/avmo/.pyenv/versions/3.8.1/envs/fluiddyn/lib/python3.8/site-packages (from pandas) (1.19.0)
Requirement already satisfied: pytz>=2017.3 in /home/avmo/.pyenv/versions/3.8.1/envs/fluiddyn/lib/python3.8/site-packages (from pandas) (2019.3)
Requirement already satisfied: python-dateutil>=2.7.3 in /home/avmo/.pyenv/versions/3.8.1/envs/fluiddyn/lib/python3.8/site-packages (from pandas) (2.8.1)
Requirement already satisfied: six>=1.5 in /home/avmo/.pyenv/versions/3.8.1/envs/fluiddyn/lib/python3.8/site-packages (from python-dateutil>=2.7.3->pandas) (1.14.0)
Installing collected packages: pandas
  Attempting uninstall: pandas
    Found existing installation: pandas 1.1.0
    Uninstalling pandas-1.1.0:
      Successfully uninstalled pandas-1.1.0
...
Successfully installed numpy-1.20.1

...
10001 time steps run in 0:00:33.673159
...
Successfully installed numpy-1.19.0
...
10001 time steps run in 0:00:26.468682

So it has something to do with pandas: some change in the source / the wheel as @adeak suggested.

This issue is weird in many aspects. I can also switch between the 2 performance levels by changing the Pandas version but in my computer, I get the faster perf with pandas 1.2.3 and not with pandas 1.1.0  :-)
Moreover, it seems that it also depends on the size of the Pythran extension (I tried to reproduce with simpler code).
Also, depending on the different versions of the libraries, adding or removing np.copy or arr.copy do not have the same effect. Very very weird...

authors: adeak ashwinvis paugier serge-sans-paille

repo: serge-sans-paille/pythran


text:
Mention numpy in setup.py extras_require to allow using pythran in a tox test

The absence of numpy as a dependency is preventing us from testing pythran in our tox test. See travis build:
https://travis-ci.org/fluiddyn/fluidimage/jobs/250268847
Our tox configuration looks like this now:
[tox]
envlist =
    py{27,34,35,36}
    py{27,36}-pythran
    codecov

[testenv]
sitepackages = True
whitelist_externals = make
usedevelop = True
deps =
    coverage
    numpy
    matplotlib
    scipy
    psutil
    future
    pyfftw
    h5py
    ipython
    pillow
    scikit-image
    pythran: pythran
commands =
make tests_coverage

I propose adding an extras_require line in setup function call in pythran setup.py like this:
 extras_require=dict(
          deps=['numpy'])

which should allow us to write the tox test as follows and should in practice pip install numpy before pythran:
    pythran: pythran[deps]

Also change raise in https://github.com/serge-sans-paille/pythran/blob/master/setup.py#L25 to a warning, perhaps?

At least pythran installs now:
https://travis-ci.org/fluiddyn/fluidimage/jobs/250296924