text:
Replaced readdirp with walk-filtered

See https://github.com/paulmillr/chokidar/issues/410

Forgot to add graceful-fs as a dep. Odd that the one Travis job passed.
Will try it locally when I get some time to focus on it later.

I've removed graceful-fs so no longer a dependency.

@kmalakoff this is looking very promising. Check it out:
Comparing Walk walk-filtered/node_modules
Serial (fs) x 15.42 ops/sec ±1.65% (75 runs sampled)
Parallel (fs) x 32.94 ops/sec ±1.11% (79 runs sampled)
Parallel (gfs) x 32.70 ops/sec ±0.91% (79 runs sampled)
Parallel limit (fs, 10) x 32.25 ops/sec ±0.71% (78 runs sampled)
Parallel limit (fs, 50) x 33.28 ops/sec ±0.99% (80 runs sampled)
Parallel limit (fs, 100) x 33.49 ops/sec ±0.64% (80 runs sampled)
Parallel limit (gfs, 10) x 31.15 ops/sec ±1.11% (75 runs sampled)
Parallel limit (gfs, 50) x 32.88 ops/sec ±0.91% (79 runs sampled)
Parallel limit (gfs, 100) x 32.70 ops/sec ±0.96% (79 runs sampled)
readdirp x 30.64 ops/sec ±2.10% (75 runs sampled)
glob x 21.28 ops/sec ±2.49% (55 runs sampled)
Fastest is Parallel limit (fs, 100),Parallel limit (fs, 50),Parallel (fs)

Comparing Walk jquery
Serial (fs) x 1.76 ops/sec ±1.26% (13 runs sampled)
Parallel (fs) x 3.72 ops/sec ±2.01% (23 runs sampled)
Parallel (gfs) x 3.59 ops/sec ±3.14% (22 runs sampled)
Parallel limit (fs, 10) x 3.64 ops/sec ±1.21% (22 runs sampled)
Parallel limit (fs, 50) x 3.78 ops/sec ±0.97% (23 runs sampled)
Parallel limit (fs, 100) x 3.66 ops/sec ±2.22% (23 runs sampled)
Parallel limit (gfs, 10) x 3.35 ops/sec ±3.05% (21 runs sampled)
Parallel limit (gfs, 50) x 3.71 ops/sec ±1.20% (23 runs sampled)
Parallel limit (gfs, 100) x 3.62 ops/sec ±3.44% (22 runs sampled)
readdirp x 3.28 ops/sec ±1.91% (21 runs sampled)
glob x 2.25 ops/sec ±1.47% (16 runs sampled)
Fastest is Parallel limit (fs, 50),Parallel (fs)

:100:  Congrats
If you add me to the repo, I can push some branches so you can play along with the experiments I'm running. I want to try with some actual filtering, look for a perf cliff on too much parallelism, use randomly named dirs to negate effects of caching at the filesystem level, etc.
After all that, I have some other ideas to try out on walk-filtered itself.

@es128 awesome. I've added you to the repo.
Just let me know when you want to merge into master so I can review the changes.

@es128 beside this inner loop optimization approach, I'd also make a perf suite for chokidar to get a more integrated view so you can experiment at a higher level.
Plus, I'd take a look at the less reductionist and more holistic approaches like bounding of performance through a global concurrency option like:
function eachArrays(limit) {
  this.limit = limit;
  this.inFlight = 0;
  this.parallelArrays = [];
}

eachArrays.prototype.each(array, fn, callback) { this.arrays.push({array, fn, callback}); }
eachArrays.prototype.end(callback) { /* all done */ }

And you might want to drop readdirp and try your ideas of late stat by doing some library refactoring to make it easier.
I just did the low hanging by conforming to the readdipr API, but there really so many angles to improving this.
I might prioritize like:

bounding performance

high level perf tests and minimal refactoring for optimizations, eg. dropping the readdirp API and using walk directly

inner loop optimizations since you've confirmed that it is already pretty good

deeper refactoring (which I think may have the side effects of shaking out some of the bugs in the chokidar issues)

@kmalakoff could you add me there too please?

@paulmillr done

@es128 I was thinking one optimization could be to get rid of the event emitter in walk-filtered. Because filter gets called with each element, it is possible to process them on the spot.
Originally, I had in readdirp-walk:
    walk(realRoot, filter, callback);
     .on('file', /* emit */ )
     .on('directory', /* emit */ )

but then simplified it to the following and emitted in the filter:
    walk(realRoot, filter, callback);

I like the ideas of using walk-filtered directly and not staying married to readdirp's API as well as passing results directly to callback/handler functions since it's simple enough that we should not need EventEmitter or any other abstraction.
Agree with your point that filter can be refactored to serve both purposes. The only time the result of filtering needs to be provided back to walk-filtered is to tell it whether to traverse a dir.

:hotsprings:

I've updated the API to get rid of event emitters and also changed the API a bit to make it fit better into this new paradigm. The signature is now:
walk(rootPath, function(path, stat) { return undefined | true | false }, [true /* includeStat */ | options,] done)
It means that if you are doing perf test, you'll need to add a filter function now that it is mandatory.
Also, I've created an issue for the parallelism bounding and choosing a sensible default for parallelism:
https://github.com/kmalakoff/readdirp-walk/issues/1
https://github.com/kmalakoff/readdirp-walk/issues/3

I'd love to get the ball rolling on this.
@kmalakoff could you add me to the repo / NPM as a maintainer?

I don't see how the pull request improves the performance. Just tried the readdirp-walk version with useFsEvents: false on Typescript repo, still pretty terrible (130% load for >40s)

It doesn't impact watch performance for the most part, you should just be looking for time until the ready event. Only really matters with large/deep file trees.

you should just be looking for time until the ready event

That's exactly what i'm looking at. CPU usage before the ready event is very high, just like it was before. Nothing changes.

Note from the benchmark results that this only slightly outperformed readdirp. But it does offer more control that could be exposed to users who cannot tolerate the CPU spike and can trade it off for extra walk time by tweaking the parallelism settings. Also, I was hoping to find opportunities to squeeze out even more performance by stripping out stat calls, although @bpasero has mentioned that eagerly calling fs.readdir on every entry and handling the errors wasn't going to work out. I haven't tried it for myself so far.

Reducing concurrency to 1 or 5 still shows the same %CPU usage. No changes.

How interesting. I'll see if I can take some time to explore this as well.

Fyi, we chose to avoid fs.readdir() in vs code over fs.lstat() because I found this to be faster. However faster also means that the CPU and memory hit will get higher because the faster you walk the FS, the more resources are needed, especially if you do this all in parallel.
No matter how good you optimise, if chokidar needs to know the full list of files and folders upfront, you will always pay either a high CPU/Memory price or it just takes a lot of time.
At some point I was hoping node.js would pick this issue up and provide a better way of traversing the file system. Very similar to how python chose to provide a os.scandir() function that optimises exactly for this case: https://www.python.org/dev/peps/pep-0471/

@bpasero although this is an issue only when polling mode is enabled. Should we just target everyone to a "fast" mode?

@paulmillr but my understanding is that even for native fsevents watching, the disk scan is done on startup to get the watcher ready. so, polling might be worse, but for native watching you pay the price of scanning one potential large folder right on startup. My measurements show many hundreds of MB of memory being allocated doing so for larger folders.
I have even seen an issue on Linux where I was running out of file handles (ENOSPC error) because the recursive walking installs file watchers on each folder recursively.
This brings me to another question I had: I realize VS Code is using chokidar in a way that is not ideal: We install a watcher on the root of the folder being opened and just receive all events. A better approach for us might be to just add more folders to watch as soon as we know we need to watch (e.g. some UI element becomes active and needs to watch on a file or folder). And also dispose those watchers once we know we do not need them anymore.
Now my question: Is it possible at all to watch on a folder and prevent chokidar from doing the file scan on that folder? Because if there was such a way, VS Code could use chokidar in such an efficient way that the full disk scan is not needed after all.

Comparing two chokidars here (with and without the PR):

TypeScript repo
fsevents are enabled
CPU hits 80% for 3 seconds and then it's 0% for both cases
Memory hits 83MB for both cases

So, I still don't see how the PR brings any difference here. It's possible that the PR would mitigate the ENOSPC though.

Is it possible at all to watch on a folder and prevent chokidar from doing the file scan on that folder

Not possible. We are doing the minimal thing here already.

Is it possible at all to watch on a folder and prevent chokidar from doing the file scan on that folder

We'd lose a lot of event accuracy... I guess we could toy with the idea that you pass in an object representing the file tree upfront if you already have it so chokidar doesn't have to do one itself. But at first glance that doesn't seem like a really feasible path.

I am not saying it makes our life much easier because I actually like the idea that you have just one watcher on root receiving the events and you can do the filtering on top. The real issue is having to do the initial file scan. Can you refresh my mind again why this is needed?

Actually I don't think it's needed for non-polling cases.

It is for double-checking misreported events which come from all of our watch methods. But clearly some are worse than others, and we can experiment with reducing our dependency on tracking the file tree.
In the fsevents case, events often hit the directory in a not specific enough way, so comparing a new readdir to what we know about the tree is necessary to know what was added or removed.

@paulmillr I'm not sure if it is a good option to only compare with and without the PR until this approach has fully realized its value. This PR had two purposes:

get rid of the massive parallel scanning blast on initial scan - I needed the initial scan to play nicely in the background so my electron app could remain responsive during the scan on large folders

lay the foundations for a simpler scanning process and to remove readirp so that optimizations and/or finer control could be implemented - readirp for example stores all results, always lstats, has crazy control flow making changes difficult, etc and @es128 wanted to try a less optimistic stat approach, etc

What I recommend is that you guys would take this over and optimize since I mainly focussed on my use case of providing an option to serialize the initial scan (which you guys said was uncommon), but provided a nice clean, compatible implementation to start from.
@bpasero have you looked at webpack's use of chokidar as they control the registering of directory scanning on a directory-by-directory basis with a depth of 0. Also, depending on your use case around displayed UI, you could maybe use pathwatcher from the atom editor which has a good example in https://github.com/atom/tree-view.

@kmalakoff depth: 0 sounds like exactly what I could use to avoid recursion. @paulmillr correct?

@bpasero yes. It'll still do a readdir for the top level, but not recursively.

This might be an option for VS Code to explore then :+1:

authors: bpasero es128 kmalakoff paulmillr


text:
No output without print and no line breaks

Describe the bug
First of all, thanks for this very nice plugin. There are two issues, probably related:

Output is only generated with print, not by calling the variable/object.
This will produce nothing:
'''python exec="on" source="material-block"
x=1
x
'''
This will work:
'''python exec="on" source="material-block"
x=1
print(x)
'''
1

Line breaks are not respected.
This will print the two numbers next to each other, rather than below each other.
'''python exec="on" source="material-block"
x=1
y=1
print(x)
print(y)
'''
1 2

Expected behavior
I would expect the output to be as in the console, so that the code examples are representative of real use.
System (please complete the following information):

Markdown Exec version: 1.6.0
Python version: e.g. 3.10
OS: Windows

Hello, thanks for the report.
Remember that the output is treated as Markdown by default, and rendered to HTML, so line breaks will lose their effect once converted to HTML.
If you're trying to achieve similar output to the console, I suggest using pycon code blocks and the console source output:
```pycon exec="on" source="console"
>>> x=1
>>> y=2
>>> print(x)
>>> print(y)
```

That covers your second point.

I'm not sure how we could solve the first point. We'd to somehow detect that the last line didn't use print and add it ourselves, like print(repr(x)). This feels super hacky :thinking:

Can we borrow some logic from python repl? Ideally i would expect it works like running python repl in console

I don't know, I never looked at its code :slightly_smiling_face: Would you like to investigate and send a PR?

I don't know, I never looked at its code 🙂 Would you like to investigate and send a PR?

I will try. I find pycon based exec is very useful because it enables document to show (real) interactive repl session. This is especially useful when you want to write a tutorial of some library. And  it can keep the output update -- they are generated during build.

source: gharchive/issue

authors: Enter-tainer HugoMVale pawamoy

repo: pawamoy/markdown-exec

license: ISC

license_type: permissive

license_source: github-api


text:
Does this work with PowerShell?

Will this work with PowerShell on Linux/Windows Powershell?

Not at all! But provided Powershell has ways of executing code before and after each interactive command, and disposes of a history which can be queried, it shouldn't be too hard to add support for it!
The shell code is only around 200 lines of code :slightly_smiling_face:
I'm gonna see what Powershell has to offer (or if you already have some knowledge about it, don't hesitate to share here!)

Question on StackOverflow: https://stackoverflow.com/questions/55972059/powershell-execute-things-before-and-or-after-an-interactive-command

[ ] before
[x] after: using prompt function

I don't know Powershell at all so if anyone could look into the suggestions made in the comments it would be great!

I'm not sure about the internals of shellhistory, but wouldn't it be possible to do with only an after function? Or would some features be broken?

It would not be broken, but the generated data could be inaccurate. If a command changes the working directory, or overrides itself or deletes itself (think of virtualenvs' deactivate function: it unsets itself at the end), then we could not compute its true type (file/function/alias etc).
We also need to get a timestamp before the command, to be able to compute its duration.

However, maybe there's clever ways to do that in Powershell! Since it's a completely different shell, Bash/Zsh logic might not apply.

authors: kiedtl pawamoy

repo: pawamoy/shell-history


text:
SPM: PhantomKit dependecies could not be resolved

Hi,
I am getting an error when I want to add PhantomKit via SPM that the package dependencies couldn't be resolved. Am I doing something wrong or is the package broken? Xcode 13.4 on M1 Macbook

Hi @chnbz
You're right - latest Xcode updates seemed to break v0.2.0 - although main and dev still work (that's why I didn't notice it myself). I haven't created a new version in a while, so I'll bump the version next week (need to do a little bit of cleanup first).
Thanks for raising this. 🙌

Hi @chnbz
Version 0.3.0 has just been released - please let me know if you see any issues.

Works like a charm now, thank you so much 🙏🏻

license: MIT


text:
Relax postgrex requirement

Hi,
There was a v0.19.0 release of postgrex. I found that ecto_sql uses this requirment {:postgrex, "~> 0.16 or ~> 1.0", optional: true}. I think ecto_psql_extras can use something similar, without the optional part.
This would save you from having to bump this every time a minor release comes out. What do you think?
Cheers.

Thanks, for a suggestion. Can you prepare a pr?

Resolved by #55

authors: pawurb princemaple


text:
Implement Unicode Escape Sequences

Now that the problems with the definition has been solved, implement Unicode escape sequences in the lexer.

Migrated from BitBucket.

repo: pawwkm/spot


text:
release script fixes

High Level Overview of Change

Fix dev environment not working on Docker for windows.
Fix minor error in bump script.
Context of Change

Running the devEnvUp script on windows was not working with the env var.
We took on a dev dependency that allows cross-OS compatibility for scripts.
Type of Change

[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 not work as expected)
[ ] Refactor (non-breaking change that only restructures code)
[ ] Tests (You added tests for code that already exists, or your new feature included in this PR)
[ ] Documentation Updates
[ ] Release

Before / After

Add new dep, update scripts
Test Plan

Can you test this on your windows box Florent?

@FlorentSG Could you test this out on windows to confirm it works?

@hbergren @austin-king So the way this works now:
you run npm run devEnvUp
if it's on windows, it uses the windows script
it it's on anything else, it uses the default script

Hi @dino-rodriguez , I couldn't add a comment for the build script but this one also doesn't work on Windows due to the rm command which is Linux specific. As the prestart script uses build , an error is thrown when a user runs npm start.
We need to create a specific build script for Windows as well:
"build": "run-script-os",
"build:default": "rm -rf build && tsc --project . && npm run copySQL && npm run copyHTML && npm run copyJSON",
"build:win32": "del /q build && tsc --project . && npm run copySQL && npm run copyHTML && npm run copyJSON",

/q = Quiet mode; suppresses prompts for delete confirmations.
https://www.lifewire.com/delete-command-2625859

@FlorentSG Thanks! I've incorporated the build script suggestions in there as well.

You're welcome @austin-king
@dino-rodriguez , I tested again one last time on Windows and npm run devEnvUp, npm run devDbUp, npm run devDown, npm start work fine.
I don't know how to use the bump and release script but I think they may generate an issue on Windows.
Nevertheless, I think only you @dino-rodriguez , @austin-king and @hbergren are using them at the moment so I am going to approve this PR. It's just something to think about if someone needs to use them on Windows in the future.

source: gharchive/pull-request

authors: FlorentSG dino-rodriguez

repo: payid-org/payid


text:
Integrate with experience api

Need to find out if it's possible to call the experience api from the client side, and integrate it with the button/payment components to allow customizing the transaction.

Is there a sample to call experience api in client side

I haven't put up any docs yet, but you should be able to include experience options in the payment create call:
paypal.payment.create({
  // payment options here
}, {
  // experience options here
});```

Please let me know if that doesn't work for you.

It works

authors: billsliu bluepnume

repo: paypal/paypal-checkout

license_source: bigquery


text:
Vault Without Purchase 3DS

Summary of changes

Modify SetupToken to take Card payment source with parameters for 3DS
Added SCA option in CreateSetupToken
Add new test cards for testing 3DS for vault without pay
Add unit tests for 3DS flow in vault function
Add doc strings for vault function
Make CardVaultResult public
Added 3dsVerificationAttempted status value to 3DS contingency flow results

No 3DS contingency success:
https://github.com/paypal/paypal-ios/assets/9273272/e29f072a-a364-4b03-b99a-aeeec489ff09
3DS contingency success:
https://github.com/paypal/paypal-ios/assets/9273272/4329c16d-ddd4-4ed4-a924-aa68b186e733
Checklist

[ ] Added a changelog entry

Authors

@KunJeongPark

I know we recently discussed some stuff around 3DS in standup. Since this is branched off of main I assume it is ready to be released once merged? If not, we should put this work in a feature branch along with the liabilityShift that exists on main.

Was also going to ask if this is ready to be reviewed? Agreed with Jax, if it's targeting main that means we're confident in releasing it (unless there are "DO NOT MERGE"  or Draft labels)

I thought we could come to a decision about what we are relaying to merchants with this PR as point of discussion.
I wanted to start point of discussion. There is really not big change, just returning  a string value "3dsVerificationAttempted" for 3ds contingency path if no errors outside of verification was encountered.
For vault with purchase, all we have to do is revert the parsing of liabilityShift, if that decision is made.

authors: KunJeongPark jaxdesmarais scannillo

repo: paypal/paypal-ios


text:
🛑 Departamento is down

In bd85c06, Departamento (http://cca.unb.br/) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Departamento is back up in 5ca6f1c after 12 minutes.


text:
🛑 Departamento is down

In 01b4150, Departamento (http://cca.unb.br/) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Departamento is back up in 893e605 after 41 minutes.


text:
Expose a list of endpoints with BW stats to operators

Should be able to ssh srv.us stats and, given the key belongs to an operator, get a list of SSH keys -> endpoints -> bytes sent/received.

We can write and share some log analyzers instead.


text:
fix(oauth2) : use last refreshed access token

in case of multiple spotify nodes, only the first node who hit expireTime have the refreshed access token all the other node continue to use the previous one and hit auth error
with my fix all nodes retrieve last access token before handleInput

@pckhib i let you update the package version to update on the npm site :-D

repo: pckhib/node-red-contrib-spotify


text:
remove nodetool call from versionfrombuild cmd

This removes all nodetool logic. It wasn't necessary in the first place and makes the command fragile.

+1

authors: mambocab ptnapoleon

repo: pcmanus/ccm


text:
NativeSocket.php - stream timeout

Hello,
Sorry for new issue, but previous topic is very very old.
Problem is that in current version stream timeout not working, so if queue is empty then we have infinity loop. There are 3 PR to fix it. Is there any possibility to merge one of them? I don't see any sense of creating new one.
Previous issue: #13
Pull requests:

#152
#138
#95

Thanks!

I don't see any sense of creating new one.

I agree, same goes for issues though.  ;-)
I'm considering merging #163 to fix the issue, any feedback you have is welcome there!

authors: SamMousa adrianwaler

repo: pda/pheanstalk

license: mit


text:
Make C++ symbols private by default

C symbols were private by default. We haven't done that for C++. It should be done.

mentioned in commit 9cbdf98754db1f1d4922bdf6f8eb121ee61da593

mentioned in commit b26616c30072c96e2bf15a1293ad6d44483b4a84

mentioned in commit f1559b6a00f7e3e585effca13f21a75484319b01

mentioned in commit 364f59732738fc744d3817fb164660423c938338

closed via merge request !88

mentioned in commit 6700da55af447abce4dcdb8b694ebc18a879eb30

mentioned in commit a25836932f48f7f399b5531e70ff59c8fcd9f5a0

mentioned in commit c6b6c9ea9a51be22d1460cafa2a5b62878ad283f

mentioned in commit a6530de4d526051ebf6c3f88b298ab32f252d508

closed via commit 364f59732738fc744d3817fb164660423c938338

repo: pdidev/pdi


text:
🛑 najim is down

In 365f054, najim (https://najimfoundation.org) was down:

HTTP code: 0
Response time: 0 ms

Resolved: najim is back up in 0515628.

repo: pearanalytics/uptime


text:
🛑 saparksfound is down

In 4055009, saparksfound (https://saparksfoundation.org) was down:

HTTP code: 0
Response time: 0 ms

Resolved: saparksfound is back up in f07f678.


text:
Add TextObjectFilter background color

Add a possibility to set a background color in TextObjectFilterRender
Preserve backward compatibility

Hello,
Thank you for the PR.
I added a review to the PR. After that I will merge it

I updated the code to fix the comment and merged PR.
Thank you for the PR


text:
Remove circular dependencies in lerna

Bug Report
There should be no circular dependencies in lerna
To Reproduce
yarn
yarn bs
lerna notice cli v3.2.1
lerna WARN ECYCLE Dependency cycles detected, you should fix these!
lerna WARN ECYCLE docz-example-basic -> docz -> docz-theme-default -> docz -> docz@^0.11.0
lerna WARN ECYCLE docz-example-css-less -> docz -> docz-theme-default -> docz -> docz@^0.11.0
lerna WARN ECYCLE docz-example-css-postcss -> docz -> docz-theme-default -> docz -> docz@^0.11.0
lerna WARN ECYCLE docz-example-css-sass -> docz -> docz-theme-default -> docz -> docz@^0.11.0
lerna WARN ECYCLE docz-example-css-stylus -> docz -> docz-theme-default -> docz -> docz@^0.11.0
lerna WARN ECYCLE docz-example-flow -> docz -> docz-theme-default -> docz -> docz@^0.11.0
lerna WARN ECYCLE docz-example-react-native-flow -> docz -> docz-theme-default -> docz -> docz@^0.11.0
lerna WARN ECYCLE docz-example-react-native-prop-types -> docz -> docz-theme-default -> docz -> docz@^0.11.0
lerna WARN ECYCLE docz-example-styled-components -> docz -> docz-theme-default -> docz -> docz@^0.11.0
lerna WARN ECYCLE docz-example-typescript -> docz -> docz-theme-default -> docz -> docz@^0.11.0
lerna WARN ECYCLE docz-theme-default -> docz -> docz-theme-default
lerna WARN ECYCLE docz -> docz-theme-default -> docz

Expected behavior
no circular dependencies.

For sure @wuweiweiwu, we know about this error and is something that we're chatting about. In this case, the circular dependency is because of avoiding user to install 2 packages (docz, docz-theme-default), so docz-theme-default theme is an implicit dependency of docz. But, docz is already a dependency of docz-theme-default since we need it to built themes.
We have two solutions:

Make docz-theme-default a requirement in the installation
Write a script that checks package.json, install and manage version of the packages

This is already fixing on v1

authors: pedronauck wuweiweiwu

repo: pedronauck/docz


text:
Doesn't work with webpack-dev-server

The loader doesn't seem to extract files when using with webpack-dev-server.

I'm using this loader with webpack-dev-server. Please provide a simple example that demonstrates your problem. I'll reopen it then.

authors: jhnns wordofchristian

repo: peerigon/extract-loader

license: unlicense


text:
Look-ahead

How many look-ahead symbols does peggy's parser look for? Would it be possible to extend it to more symbols, and would it give me a real speedup (with a memory drawback ofc)?

Infinity. That is a theoretical maximum, the real grammars of course can have some concrete limits (for example, a grammar start = 'a' / 'b' has an obvious limit of 1 symbol). Writing a pass that would calculate lookahead min/max is an interesting challenge, that could be used in some optimizations!

Closing, because it's been answered.  Please reopen if you need more help.

authors: Mingun hildjj moar55

repo: peggyjs/peggy


text:
Question about behavior of repetitions

Hi all,
I think there is a discrepancy between the documentation for repetitions in conjunction with code blocks and results of preceding labeled expressions and the actual behavior.
In particular the statement

Any non-number values, returned by the code block, will be interpreted as 0.

seems to be wrong.
A grammar like:
start = text:"a"|{ return 'some string' }|

does not return a number and hence should be equivalent to
start = text:"a"|0|

However, the parser accepts infinite input of "a".
This is probably due to the following lines, in particular |0 and the operator precedence?:
https://github.com/peggyjs/peggy/blob/d2f5bb928f5dbd7759e7d41601ea300e161fc362/lib/compiler/passes/generate-js.js#L490-L496
Any clarification is appreciated.

Yes, this is a bug. Need to wrap boundary|0 in parenthesis

authors: MarcelBolten Mingun


text:
Add location to buildMessage

It helps create usefull message with postioin of error
PR type
Add new parameter location to buildMessage function
Prerequisites
To make the bug messages more readable I needed to know their location. For this, I pass as an additional parameter location to buildMessage function/

I have read the CONTRIBUTING.md document:
I have updated the documentation accordingly:
I have added tests to cover my changes:

Description

P.S. It is my first pull request, I tried to do everything right, but if I made a mistake, I’m ready to fix it if this pull seems good, but unfinished

You add a new parameter but do not use it?..

You add a new parameter but do not use it?..

No, I use it, when I customize my error message
'''
SyntaxError.buildMessage = function(expected, found, location) {
return Excpected ${describeExpected(expected)}, but found ${found} at ${ location.start.line };
}
'''

There are some reasons for which it is necessary to replace buildMessage to change the message? In thrown exception you have all information to make any message what you want

There is a built-in ability to customize the message that will be displayed to the user with help buildMessage. I don't see the point of writing error handling to display the user the same message, but with the location, so I just added a location parameter

@Mingun I think this is fine, as some people don't like using try...catch, and overriding the default behaviour of this function gives them the ability to customise the error messages without using try...catch. This PR simply gives them the location as well.
I'm fine with merging this once you:

There's no need to commit these files because of a removed empty line:

packages/pegjs/lib/peg.js
packages/pegjs/bin/peg.js

Remove all package-lock.json files
Don't edit website/vendor/pegjs/peg.js, thats PEG.js v0.10

authors: Mingun futagoza vetedde

repo: pegjs/pegjs


text:
reset grade between cycles

pull request for https://github.com/pegnet/pegnet/issues/58

Indentation is not aligned with the tab indentation of the project but that doesn't bother much as I advocate for a complete rewrite of this file :)

authors: PaulBernier WhoSoup

repo: pegnet/pegnet


text:
🛑 Beyond.pl is down

In 65a343f, Beyond.pl (http://www.beyond.pl) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Beyond.pl is back up in 564f438.

repo: pejotes/upptime


text:
🛑 Beyond.pl is down

In 75f8072, Beyond.pl (http://www.beyond.pl) was down:

HTTP code: 403
Response time: 500 ms

Resolved: Beyond.pl is back up in 0b2f8fd after 11 minutes.


text:
🛑 GR-Server-Claro is down

In 9467c50, GR-Server-Claro ($API_SEC) was down:

HTTP code: 0
Response time: 0 ms

Resolved: GR-Server-Claro is back up in 512b63d.


text:
🛑 Dinas Pemberdayaan Perempuan dan Perlindungan Anak is down

In e8d5a9b, Dinas Pemberdayaan Perempuan dan Perlindungan Anak (https://dpppa.bekasikota.go.id) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Dinas Pemberdayaan Perempuan dan Perlindungan Anak is back up in c16104b.

repo: pemkotbekasi/website-status


text:
🛑 Inspektorat is down

In 33456f2, Inspektorat (https://inspektorat.bekasikota.go.id) was down:

HTTP code: 503
Response time: 1472 ms

Resolved: Inspektorat is back up in 120ea8f.


text:
Add AssetHub flow for offramping USDC

TODO

[ ] Replace signing with external wallet signer.
[ ] Adjust network selection (currently hardcoded)

These are blocked by https://github.com/pendulum-chain/vortex/issues/271.
Closes #283.

Superseded by https://github.com/pendulum-chain/vortex/pull/284.

repo: pendulum-chain/vortex


text:
修复BUG

fix: 画板滚动后，标尺位置错误
fix: 横向滚动条不显示

标尺的bug 我已经发现并修复了，但是我发现还有另一个相关联的bug，还没改，改完后一起提。
我非常讨厌横向滚动条，我一般会尽可能的避免它的出现或直接藏起来。

标尺的bug 我已经发现并修复了，但是我发现还有另一个相关联的bug，还没改，改完后一起提。
我非常讨厌横向滚动条，我一般会尽可能的避免它的出现或直接藏起来。

没有横向滚动条，怎么横向滚动？

有没有滚动条和能不能滚动是两回事

有没有滚动条和能不能滚动是两回事

你不如列个操作方式或者todo在那？否则不是所有人都知道没有横向滚动条该怎么横向滚动

我刚明白你意思，因为平常我都是用的笔记本和触控板。。操作起来挺流畅的😓  ，把台式的给忘了😂

我刚明白你意思，因为平常我都是用的笔记本和触控板。。操作起来挺流畅的😓 ，把台式的给忘了😂

好吧，不过不只有台式机。笔记本也经常会外接键盘的。

repo: pengxiaotian/datav-vue


text:
icon 的背景颜色怎么挂了？

这还是线上的，我都没改什么东西
附上我的blog
package.json
{
  "scripts": {
    "dev": "vuepress dev src",
    "build": "vuepress build src",
    "lint": "eslint .",
    "lint:fix": "eslint . --fix"
  },
  "dependencies": {
    "@vuepress/bundler-vite": "2.0.0-rc.14",
    "vue": "^3.4.34",
    "vuepress": "2.0.0-rc.14",
    "vuepress-theme-plume": "1.0.0-rc.84"
  },
  "devDependencies": {
    "@antfu/eslint-config": "^2.24.0",
    "eslint": "9.5.0",
    "eslint-plugin-format": "^0.1.2",
    "tsconfig-vuepress": "^4.5.0"
  },
  "pnpm": {
    "peerDependencyRules": {
      "allowedVersions": {
        "eslint": "9"
      }
    }
  }
}

上个版本在做 icon 的资源本地化打包时，对 iconify 纯色图标和彩色图标的处理上，忽略了一些问题，晚点我发个包修复下。

authors: pengzhanbo shylock-wu

repo: pengzhanbo/vuepress-theme-plume


text:
[BACKLOG-38582] Remove specific deprecated steps and job entries from…

… PDI

:white_check_mark: Build finished in 56m 34s
Build command:
mvn clean verify -B -e -Daudit -amd -pl \
assemblies/plugins,engine,plugins,plugins/dummy/core,plugins/ms-access/impl

:ok_hand: All tests passed!
Tests run: 5315, Failures: 0, Skipped: 14    Test Results

:information_source:  This is an automatic message

authors: buildguy eddie-martinez

repo: pentaho/pentaho-kettle


text:
expose wasm asset id generation

this allows a caller to convert from an altBaseDenom string to the binary asset id, by using the core class's acceptance of altBaseDenom as hash input

Can you give context on where this is needed?

repo: penumbra-zone/web


text:
Rename undelegateclaim proving key to convert

See: https://github.com/penumbra-zone/penumbra/pull/3579

Oh wait, now that we've pinned the tag for proving keys to the old release, this won't work. We should just keep this around and merge when when we update the proving keys.

part of #357

authors: cronokirby turbocrime


text:
Error when desselect all line datasets

When all the datasets are unselected, the chart breaks the exibithion like is shown on the image. Is there a solution or workaround for it?

@rodrigobastosv it's an issue related to the precision of doubles.
Here is the source code to format the ticks when all datasets are hidden. This is the workaround.
You should add a TICK callback in order to format the ticks.
axis2.getTicks().setCallback(new TickCallback() {

	private final NumberFormat FORMAT = NumberFormat.getFormat("0.0");

	@Override
	public String onCallback(AbstractChart<?, ?> chart, TickItem item) {
		boolean allHidden = false;
		List<Dataset> dss = chart.getData().getDatasets();
		for (int i=0; i<dss.size(); i++){
			DatasetMetaItem metadata = chart.getDatasetMeta(i);
			if (metadata != null) {
				allHidden = allHidden || metadata.isHidden();
			}
		}
		if (allHidden) {
			return FORMAT.format(item.getValue());
		}
		return String.valueOf(item.getValue());
	}
});

Another  workaround is to disable to the user the possibilityt to hide all datasets but at least 1 must be displayed.
Testing that, I have found 1 bug (thank you!!) therefore if you want to use it, please wait next release.
Here is the code how to do it.
chart.addHandler(new LegendClickEventHandler() {

	@Override
	public void onClick(LegendClickEvent event) {
		AbstractChart<?, ?> chart = event.getChart();
		DatasetMetaItem metadata = chart.getDatasetMeta(event.getItem().getDatasetIndex());
		if (metadata.isHidden()) {
			metadata.setHidden(false);
		} else {
			int count = 0;
			List<Dataset> dss = chart.getData().getDatasets();
			for (int i=0; i<dss.size(); i++){
				DatasetMetaItem metadataItem = chart.getDatasetMeta(i);
				if (!metadataItem.isHidden()) {
					count++;
				}
			}
			if (count > 1) {
				metadata.setHidden(true);
			} else {
				return;
			}
		}
		chart.update();
	}
}, LegendClickEvent.TYPE);

Thank you @stockiNail . That worked like a charm!

@rodrigobastosv FINE!

@rodrigobastosv FYI in the new version 1.5, there is the class which implements what I wrote here to fix the number format. The class is org.pepstock.charba.client.callbacks.impl.NoSelectedDatasetTicksCallback  and it will be maintained.
Her is how to use it:

axis.getTicks().setCallback(new NoSelectedDatasetTicksCallback());

Also the legend click handler to disable that all datasets will be hidden has been added to Charba and it will be maintained. The  class is org.pepstock.charba.client.callbacks.impl.AtLeastOneDatasetHandler.
Her is how to use it:

chart.addHandler(new AtLeastOneDatasetHandler(), LegendClickEvent.TYPE);

authors: rodrigobastosv stockiNail

repo: pepstock-org/Charba


text:
Don't include 25MB files in a git repository where possible

Especially without documentation
https://github.com/peq/WurstScript/blob/f14f472657b004be2915e2dbaa898f625be86e44/de.peeeq.wurstscript/testscripts/valid/optimizer/test.wurst
Introduced in commit: f655fad9

I think this file was included by accident and I am too afraid to rewrite the history. There are also some other big files in the repository. Maybe it would be a good ideas to split the repository, e.g. have Wurstpack in a separate one. And then also use dependency management instead of putting the jar files directly into git.
It's just a rather boring task, so I am not sure whether I will do it :D

@peq could use gradle

@peq there's no need to rewrite the history, just remove the file from the repository now. Later when this is a sufficiently old and the repository size actually begins to be an issue you can trim it.
Large snapshot histories are better than large repositories.

@peq there's no need to rewrite the history, just remove the file from the repository now. Later when this is sufficiently old and the repository size actually begins to be an issue you can trim it.
Large snapshot histories are better than large repositories.

authors: Cokemonkey11 Frotty blakehawkins peq

repo: peq/WurstScript


text:
support for other themes?

Hello,
How would support for other themes work? I noted bootswatch has a commercial offering site at wrapbootstrap.com. Would this generator be able to use these themes somehow?
An example of such a theme would be https://wrapbootstrap.com/theme/unify-responsive-website-template-WB0412697. Assuming I had a local copy paid and purchased for.

Hi, you can copy your theme into ~/.meteor-kitchen/templates/bootstrap/themes/ directory. If your theme is in .less format, then you need to create theme.import.less file and @import your files there. Take a look how other themes are setup in this directory. Directory name is string you need to set in "theme" propety.

authors: javaknight perak

repo: perak/kitchen-site


text:
Get Web GUI from different Host failed

Came back after weeks and the container is now running properly, as I can see. :-)
No Net Host mode, ports all default...
You advised to open http://localhost:8888
Maybe a stupid question, but my Ubuntu Host is headless, so I tried to use http://:8888 but never get it running, also not with "--net host" option. Where I'm wrong?
Is it required to use the container on a server with head running?

Try Ufw allow 8888

No success, so I tried wget http://localhost:8888, but no success to connect
Resolving localhost (localhost)... 127.0.0.1
Connecting to localhost (localhost)|127.0.0.1|:8888... connected.
HTTP request sent, awaiting response... No data received.
Retrying.
--2020-05-09 13:10:19--  (try: 2)  http://localhost:8888/
Connecting to localhost (localhost)|127.0.0.1|:8888... connected.
HTTP request sent, awaiting response... Read error (Connection reset by peer) in headers.
Retrying.
The first response sounds to me, the webservice is listening or isn't it?
The second one could be a reset, because auth is required...

also check container ports... (remember not --net host is used)
51893/udp -> 0.0.0.0:51893
8888/tcp -> 0.0.0.0:8888
51853/udp -> 0.0.0.0:51853
51900/udp -> 0.0.0.0:51900

Are you trying to connect to your remote server (on your lan or similar) in that case localhost should be replaced with the local ip address

Also, check the logs of the docker container
Docker logs

[2020-05-09 13:09:19 +0000] [6] [INFO] Starting gunicorn 19.9.0
[2020-05-09 13:09:19 +0000] [6] [INFO] Listening at: unix:/tmp/gunicorn.sock (6)
[2020-05-09 13:09:19 +0000] [6] [INFO] Using worker: uvicorn.workers.UvicornWorker
/usr/lib/python3.8/os.py:1023: RuntimeWarning: line buffering (buffering=1) isn't supported in binary mode, the default buffer size will be used
return io.open(fd, *args, **kwargs)
[2020-05-09 13:09:19 +0000] [8] [INFO] Booting worker with pid: 8
/usr/lib/python3.8/os.py:1023: RuntimeWarning: line buffering (buffering=1) isn't supported in binary mode, the default buffer size will be used
return io.open(fd, *args, **kwargs)
[2020-05-09 13:09:19 +0000] [9] [INFO] Booting worker with pid: 9
[2020-05-09 13:09:21 +0000] [8] [INFO] Started server process [8]
[2020-05-09 13:09:21 +0000] [8] [INFO] Waiting for application startup.
[2020-05-09 13:09:21 +0000] [8] [INFO] Application startup complete.
[2020-05-09 13:09:21 +0000] [9] [INFO] Started server process [9]
[2020-05-09 13:09:21 +0000] [9] [INFO] Waiting for application startup.
[2020-05-09 13:09:21 +0000] [9] [INFO] Application startup complete.
Sounds also good to me...

Are you trying to connect to your remote server (on your lan or similar) in that case localhost should be replaced with the local ip address

Yes for sure, that's what I try currently

authors: SvenSchirgewohn perara

repo: perara/wg-manager


text:
K8SPXC-1446: fix pvc-resize and upgrade-consistency for oc

CHANGE DESCRIPTION
Problem:

pvc-resize fails on eks and openshift. EKS and openshift allow to resize pvc once per 6 hours so we create 2 pxc clusters for pvc-resize test. 1.16.0 disables pvc-resize by default. For test the resize is enabled only for first cluster so resize fails on after the 2nd cluster creation.
upgrade-consistency test fails due to generation.

Solution:

Enable PVC resize on the second cluster.
Fix generation.

CHECKLIST
Jira

[ ] Is the Jira ticket created and referenced properly?
[ ] Does the Jira ticket have the proper statuses for documentation (Needs Doc) and QA (Needs QA)?
[ ] Does the Jira ticket link to the proper milestone (Fix Version field)?

Tests

[ ] Is an E2E test/test case added for the new feature/change?
[ ] Are unit tests added where appropriate?
[ ] Are OpenShift compare files changed for E2E tests (compare/*-oc.yml)?

Config/Logging/Testability

[ ] Are all needed new/changed options added to default YAML files?
[ ] Are all needed new/changed options added to the Helm Chart?
[ ] Did we add proper logging messages for operator actions?
[ ] Did we ensure compatibility with the previous version or cluster upgrade process?
[ ] Does the change support oldest and newest supported PXC version?
[ ] Does the change support oldest and newest supported Kubernetes version?

Test name
Status

affinity-8-0
passed

auto-tuning-8-0
passed

cross-site-8-0
passed

custom-users-8-0
passed

demand-backup-cloud-8-0
passed

demand-backup-encrypted-with-tls-8-0
passed

demand-backup-8-0
passed

haproxy-5-7
passed

haproxy-8-0
passed

init-deploy-5-7
passed

init-deploy-8-0
passed

limits-8-0
passed

monitoring-2-0-8-0
passed

one-pod-5-7
passed

one-pod-8-0
passed

pitr-8-0
passed

pitr-gap-errors-8-0
passed

proxy-protocol-8-0
passed

proxysql-sidecar-res-limits-8-0
passed

pvc-resize-5-7
passed

pvc-resize-8-0
passed

recreate-8-0
passed

restore-to-encrypted-cluster-8-0
passed

scaling-proxysql-8-0
passed

scaling-8-0
passed

scheduled-backup-5-7
passed

scheduled-backup-8-0
passed

security-context-8-0
passed

smart-update1-8-0
passed

smart-update2-8-0
passed

storage-8-0
passed

tls-issue-cert-manager-ref-8-0
passed

tls-issue-cert-manager-8-0
passed

tls-issue-self-8-0
passed

upgrade-consistency-8-0
passed

upgrade-haproxy-5-7
passed

upgrade-haproxy-8-0
passed

upgrade-proxysql-5-7
passed

upgrade-proxysql-8-0
passed

users-5-7
passed

users-8-0
passed

validation-hook-8-0
passed

We run 42 out of 42

commit: https://github.com/percona/percona-xtradb-cluster-operator/pull/1903/commits/81ca7381cee5af47382e8cb86cbbebd3d30d7250
image: perconalab/percona-xtradb-cluster-operator:PR-1903-81ca7381

repo: percona/percona-xtradb-cluster-operator


text:
Update ember-cli-babel to v6.10.0

/cc @timhaines

I just noticed that https://github.com/percy/ember-percy/pull/48 does a similar thing... This PR here just does the uncontroversial update to the new Babel version without opting into the new module imports at the same time.

As well as tests passing, I've run snapshots on percy-web with this branch, and they succeed.

repo: percy/ember-percy


text:
server/perkeepd/ui: Indent using tabs

Convert all files to tabs instead of spaces to adhere with style guide
Change-Id: Iede9a33cc7ed3853bc2f27736320a7a182b18937

Let's not modify svg files.
Which style guide, btw? Link it in commit message?
Also, you can delete the Change-Id. That's no longer needed. What added that? Did you do it by hand? Or you're manually moving over a change from Gerrit?

Sure, I'll revert the SVG files.
Whoops, should've mentioned that it is the styleguide found in the doc
folder doc/web-ui-styleguide.md
Change-Id was added automatically by a commit hook, I should remove the
hook since it's not longer needed.
On Wed, 12 Jun 2019, 9:51 am Brad Fitzpatrick, notifications@github.com
wrote:

Let's not modify svg files.
Which style guide, btw? Link it in commit message?
Also, you can delete the Change-Id. That's no longer needed. What added
that? Did you do it by hand? Or you're manually moving over a change from
Gerrit?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/perkeep/perkeep/pull/1263?email_source=notifications&email_token=AC4HOIGR5ILLWNIM33JRGSLP2ESSPA5CNFSM4HXE5KO2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODXRCY5Y#issuecomment-501361783,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AC4HOIH4VC7OEETELEFMYCDP2ESSPANCNFSM4HXE5KOQ
.

@googlebot, PTAL.

@bradfitz ping

repo: perkeep/perkeep


text:
Intermittent Crash (at startup) in Chat App

So... a little bit of background-- I first saw this issue after building the chat example multiplatform using Gox after I put the app on a raspberry Pi of mine.  Since then, I've seen it on my mac as well.
I can't quite make heads or tails of it (I've tried) so I'm filing this issue.  I'm in the discord if you've any questions.
./chat
./chat flag redefined: log_dir
panic: ./chat flag redefined: log_dir

goroutine 1 [running]:
flag.(*FlagSet).Var(0xc420074060, 0x1292b40, 0xc4200107e0, 0x1269f85, 0x7, 0x12756a5, 0x2f)
	/usr/local/Cellar/go/1.10/libexec/src/flag/flag.go:810 +0x540
flag.(*FlagSet).StringVar(0xc420074060, 0xc4200107e0, 0x1269f85, 0x7, 0x0, 0x0, 0x12756a5, 0x2f)
	/usr/local/Cellar/go/1.10/libexec/src/flag/flag.go:713 +0x8b
flag.(*FlagSet).String(0xc420074060, 0x1269f85, 0x7, 0x0, 0x0, 0x12756a5, 0x2f, 0xc4200107d0)
	/usr/local/Cellar/go/1.10/libexec/src/flag/flag.go:726 +0x8b
flag.String(0x1269f85, 0x7, 0x0, 0x0, 0x12756a5, 0x2f, 0x11b3a87)
	/usr/local/Cellar/go/1.10/libexec/src/flag/flag.go:733 +0x69

broken binaries are here:
https://github.com/galaxypi/chat/releases

This usually occurs when you have two different versions of the dependencies glog in your app, which conflict with one another upon build.
That's the reason we're using vgo which would make use of only one specific version of glog for all builds. Try build it using vgo build ` and let us know the results.

authors: faddat iwasaki-kenta

repo: perlin-network/noise


text:
issue: permaswap-js outdated

Hi,
I would love to be able to use the permaswap-js implementation, but the dependencies are pretty old.
Is there any update planned?

The update is expected to be completed by next Wednesday

@heiningair  We have updated permaswap-js to version 0.1.0, please try it after the update.

repo: permaswap/permaswap-js


text:
Adapt the code for Tensorflow version 1.X

Tensorflow version 1.X change the APIs a lot. I modify the code to work on new version.

@zhangzibin Hi! As I see, new OOP Api on rnns has not come yet. Maybe we should merge your version with legacy decoders? Or you can change them to the ones in tf.contrib.seq2seq.

authors: persiyanov zhangzibin

repo: persiyanov/skip-thought-tf


text:
read_multi does not retry on NetworkError

cache.read automatically retries on NetworkError but cache.read_multi does not. This is an unexpected difference.
The below results were generated by running the server as follows:
memcached -o idle_timeout=2
The following setup was also run:
test_memcache_store = 'localhost:11211'

test_memcache_settings = {
  expires_in: 3.days,
  failover: false,
  socket_timeout: 5,
  down_retry_delay: 0,
  socket_max_failures: 5,
  compress: true,
  pool_size: 30,
  pool_timeout: 5,
  value_max_bytes: 104857600,
  instrument_errors: true,
}

test_store = :dalli_cas_store, test_memcache_store, test_memcache_settings

cache = ActiveSupport::Cache.lookup_store(test_store)

# Fill the cache with 10 values
(1..10).each { |i| cache.write(i.to_s, "value#{i}") }

cache.read retry behaviour:
# Wait for 5 seconds so that the open connection becomes idle and is closed by the server
cache.read("1")
Cache read: 1
localhost:11211 failed (count: 0) EOFError: end of file reached
#<Dalli::NetworkError: Socket operation failed, retrying...>
retrying request with new server
Dalli::Server#connect localhost:11211
=> "value1"

cache.multi_read no retry behaviour:
# Wait for 5 seconds so that the open connection becomes idle and is closed by the server
cache.read_multi("1")
Cache read_multi: ["1"]
localhost:11211 failed (count: 0) EOFError: end of stream
=> {}

Here is a WIP PR that fixes this: https://github.com/petergoldstein/dalli/pull/754, the tests are passing locally but not in CI. Any guidance would be appreciated!

@mperham why was this closed with no comment? Do you not think this is a problem worth fixing? Have I misunderstood the issue somehow?

Because #754 exists. There’s no reason for pool to be open

Thank you @mperham. Any feedback to help get https://github.com/petergoldstein/dalli/pull/754 over the line? I have some specs that fail in CI but pass locally which makes is making it difficult to debug.

We are removing dalli_store so I’d recommend you spend your time getting the official :mem_cache_store working instead.

authors: ccoffey mperham

repo: petergoldstein/dalli


text:
Initial Allwinner V3s CSI Support

Allwinner V3s SoC features two CSI module. CSI0 is used for MIPI CSI-2 interface and CSI1 is used for parallel interface. This is not documented in datasheet but by test and guess.
Falls du das noch nicht gesehen hast, mehr dazu: https://www.spinics.net/lists/linux-media/msg128062.html

Ja das habe ich gesehen. Ich weiß nur noch nicht welche Kamera ich verwenden soll, bzw. welche überhaupt unterstützt wird. Ich hätte da an die OV2640 (2MP) oder an die OV5640 (5MP) gedacht. Was meinen Sie?

Ich habe mich noch mit einem Moderator bei Armbian dazu ausgetauscht. Er meinte es ist eine Frage der erhältlichen Treiber und es gibt viele action-cams die mit V3 & 8MP Sony Sensor IMX179 laufen, aber ich weiss nicht wie es um die Treiber steht.
Übrigens bei spinics ist schon v9 draussen.

Eine gute Frage.
Eventuell hat der erschaffer von Lichee Pi was in seinen Dateien?
Warst du schon hier: https://www.digi.com/resources/documentation/digidocs/90001546/reference/bsp/cc6/r_mipi.htm
Und das kennst du wahrscheinlich auch https://groups.google.com/forum/#!searchin/linux-sunxi/v3s|sort:date/linux-sunxi/Cu5ldv_SzSc/73FR9h50BAAJ
Macht es Sinn das Design trotzdem auf MIPI CSI auszulegen oder gibt es eine Alternative ?

Geplant ist ein MIPI CSI FPC Connector der kompatibel mit der Raspberry Pi Kamera ist.
Vielleicht wird ja irgendwann MIPI CSI doch noch unterstützt.

Ist der Anschluss für die RPi-Kamera derselbe wie für die OV5640 (5MP) ?
Was ändert sich gemäss dieser Aussage: nicht mehr Raspberry Pi form factor ?

Auf der Raspberry Pi Kamera wird der OV5647 IC verwendet, welcher über MIPI CSI angesprochen wird.
Auf dem Blueberry Pi wird es eine pinkompatible FPC-Buchse für die Raspberry PI Kamera geben.
Der OV5640 und der OV5647 haben neben einem parallem Port auch eine MIPI CSI Schnittstelle.
Wobei ich auf Ebay und co. die OV5640 nur als parallel finde. Die OV5647 nur als Raspberry Pi Kamera also MIPI CSI.
Also der MIPI CSI Port und der parallel Port (CSI / LCD) sind von einander getrennt.
Ein Raspberry Pi form factor ist mit diesen ganzen Schnittstellen, der Lage der einzelnen Schnittstellen auf einem 2-Layer board nicht zu schaffen. Desweiteren kommt dazu, dass es zu wenig GPIOs gibt um einen 40 Pin GPIO Header möglich zu machen. Unter Hardware/pictures/ habe ich einen Vorentwurf hochgeladen, wo ungefähr welche Schnittstelle sitzt. Da ändert sich wahrscheinlich noch was dran.

OV5647 - die muss doch aber einen Treiber für den RPi haben..
Im 2 Lagen Design wird das PCB recht gross, viele Freiflächen, was ist denn der limitierende Faktor(en) statt 3 oder 4 lagig ?
Sind in deinem Design auch noch LED (power, activity) vorgesehen?
Auch wenn der Header nur 28 hat aber in derselben Reihenfolge wie der RPi, so wäre er doch für viele 'Hat' verwendbar. Ein Bild von der Unterseite wäre noch interessant.

Ja die OV5647 wird von Linux unterstützt, ob MIPI CSI oder auch der Parallele Ausgang unterstützt wird weiß ich nicht. Das übersteigt dann doch mein Wissen.  Ich habe bisher für Kameras irgendwie nur die I²C Treiber gefunden. Wo sind die Treiber für die Kamera selber? Oder gibt es keine weil keine nötig sind, da MIPI CSI Standardisiert ist?
Power LED und Act LED sind natürlich Pflicht, hatte ich bisher nur noch nicht aufgeschrieben.
Das Problem mit dem Raspberry Pi Layout ist einfach, dass es viele Schnittstellen gibt die dem Raspi nicht entsprechen. z.B statt HDMI gibt es keinen "richtigen" Video Ausgang.
Die Powerbuchse ist eine Standard DC-Jack. Die 4 Taster für Next previous volume up down usw.
stören ein bisschen im Standard Raspi Layout. Desweiteren müsste man dann schon ein 4-Layer Board nehmen um ein Raspi Layout hinzubekommen. Dazu kommt noch das relativ große Wifi / Bluetooth Modul.
Im Vergleich zum Licheepi zero soll der Blueberrypi alle Interfaces herausführen und somit die volle Funktionalität des V3s bereitstellen.
Oben rechts in der Ecke ist noch relativ viel Platz, da hier noch 3 Step down Converter + ein linearer Regler hin muss.
Nachdem 6 April habe ich wieder richtig Zeit um aktiv an diesem Projekt zu arbeiten. Ich stecke momentan voll in der Klausurenphase.
Um euer kleines Ratespiel aufzulösen: Nein ich bin nicht aus der Schweiz, komme aus Deutschland. :D

z.B statt HDMI gibt es keinen "richtigen" Video Ausgang.

Was meinst du damit, kein HDMI ?
gc2035 - https://github.com/avafinger/gc2035
OV5640 - https://github.com/avafinger/ov5640
I have managed to build FFmpeg with Cedrus on Armbian and it seems working.
To grab video stream from the CMOS camera:
sudo ./ffmpeg -f v4l2 -channel 0 -video_size 640x480 -i /dev/video0 -pix_fmt nv12 -r 30 -b:v 64k -c:v cedrus264 test.mp4
https://forum.armbian.com/topic/1842-ffmpeg-with-cedrus-h264-hw-encoder-h3-cmos-camera/
Raspi Layout:

Standard DC-Jack - ist ja auch sinnvoll
Die 4 Taster für Next previous volume up down - braucht wahrscheinlich auch nicht jeder aber schön sind die da.
Wifi / Bluetooth Modul - möchtest du noch eines integrieren, via USB? Welches?

Der Vorteil an dem Layout liegt auf der Hand, Gehäuse und anderes sind schon vorhanden und können bei Bedarf angepasst werden.
Dass du aus DE ist war mir bald klar, als ich deinen Link im Forum zu  de.Aliexpress sah :-)

Bei dem Wlan / Bluetooth Modul habe ich an das RTL8723bs gedacht. Wird über den SDIO Bus angeschlossen + Uart Port.
Ich habe mir das ganze nochmal angesehen und vielleicht kann man ja auf die 3 USB Ports vom Raspi verzichten und dort dann die Taster und das Mikro unterbringen?
Ein 4 Layer Pcb kostest ja in China auch nicht mehr die Welt. Bei Jlc Pcb gibt es ein 4-Layer Pcb 10cm*10cm Leadfree und in Blau für 36€. Versand ist kostenlos.
Der V3s hat keinen HDMI Ausgang, man bräuchte einen extra IC um das zu realisieren.
Vor allem im Bereich der Kamera sind noch viele Fragen offen, z.B. fehlt im aktuellem Treiber die Möglichkeit einen Pin als Clock driver Pin zu definieren um die Kamera ans laufen zu bekommen.
Desweiteren fehlen hier und da Infos die einen in der Entwicklung stoppen.

RTL8723bs

Der V3s hat "Integrated an internal 10/100M PHY" sprich Netzwerk ist vorhanden, dann habe ich mir überlegt, wozu noch WiFi, warum nicht Zigbee?

3 USB Ports

Wolltest du das via USB-Hub lösen, ich sehe nur den USB-OTG?
Wenn USB nicht direkt am SoC angebunden ist, wird USB-Attached-SCSI nicht möglich sein. Na ja, 100Mbit vom Ethernet wären auch nur 6MB/s und das schafft fast jedes USB2.0 ohne UAS und die 5MP Kamera liefert wahrscheinlich auch nicht mehr. Es gibt auch einzelne aufrechtstehende USB-A Buchsen.
keinen HDMI Ausgang - dafür Support RGB interface with DE/SYNC mode, up to 1024x768@60fps

4-Layer Pcb 10cm*10cm Leadfree und in Blau für 36€.

Das wäre für 10 Stück, hat es keine SMD Komponenten, sonst braucht es noch die SMD-Stencil zum aufbringen der Lötpaste.
Ich frage mich gerade was die Produktion in Ostdeutschland kosten würde.

Ging mit der Klausur alles gut?
Was hälst du davon..

warum nicht Zigbee?

Ich hoffe mal 😀
Der Schaltplan ist jetzt soweit fertig und es fehlen noch ein paar Sachen wie der DC DC Wandler und der Lipo Lade IC.
Problematisch wird es mit dem Platz auf der Platine. Der SoC vom Raspberry ist ebenhalt wesentlich kleiner als der V3s im TQFP. Zudem fehlt momentan der DC DC Wandler und alle dazugehörigen Bauteile. Vielleicht fällt mir noch was ein, wie ich dass ganze noch lösen kann.
Ich denke einen direkten Zigbee Sockel auf der Platine in den jetzigen Maßen wird nicht möglich sein.

authors: petit-miner tido-

repo: petit-miner/Blueberry-PI


text:
Possible alternative use of switch that might be fast enough

You rewrote this to be faster:
  int fastParseOn(String buffer, int position) {
    final result = parseOn(Context(buffer, position));
    return switch (result) {
      Success(position: final position) => position,
      Failure() => -1
    };
  }

I wonder if this might have been fast enough to still use the switch:
  int fastParseOn(String buffer, int position) {
    final result = parseOn(Context(buffer, position));
    return switch (result) {
      final Success s => s.position,
      Failure _ => -1,
    };
  }

I understand that might work faster for sorting out types and mapping them to branches.  I think Type() goes through a lot of extra work compared to Type _.

True, your code example (switch2) is even a tiny bit faster than the original if-then-else (control):
control             10,180.044μs [10,144.016μs; 10,216.072μs]
switch1             13,883.637μs [13,871.288μs; 13,895.986μs]
                    -36.391% [-36.846%; -35.935%]
switch2             10,051.340μs [10,038.367μs; 10,064.313μs]
                    1.257% [0.896%; 1.617%]
switch3             13,957.153μs [13,942.120μs; 13,972.186μs]
                    -37.114% [-37.648%; -36.581%]

However, switch2 also yields the warnings The generic type 'Success<dynamic>' / 'Failure<dynamic>' should have explicit type arguments but doesn't. Fixing that (switch3) makes everything slow like the original switch2.
import 'dart:math';

import 'package:benchmark/benchmark.dart';
import 'package:more/collection.dart';
import 'package:petitparser/petitparser.dart';

final random = Random(42);
const context = Context('', 0);
final input = IntegerRange(1024 * 1024)
    .map<Result<String>>((_) => random.nextBool()
        ? context.success<String>('success', random.nextInt(0xffff))
        : context.failure<String>('failure', random.nextInt(0xffff)))
    .toList(growable: false);

Benchmark exercise(int Function(Result<String>) underTest) => () {
      for (var i = 0; i < input.length; i++) {
        underTest(input[i]);
      }
    };

void main() {
  experiments(
    control: exercise((result) => result.isSuccess ? result.position : -1),
    experiments: {
      'switch1': exercise((result) => switch (result) {
            Success(position: final position) => position,
            Failure() => -1,
          }),
      'switch2': exercise((result) => switch (result) {
            final Success s => s.position,
            Failure _ => -1,
          }),
      'switch3': exercise((result) => switch (result) {
            final Success<String> s => s.position,
            Failure<String> _ => -1,
          }),
    },
  );
}

The second case could be _ => -1,, which might speed up the match.

That makes it a bit faster, but not by much:
Control             10,138.543μs [10,128.630μs; 10,148.455μs]
switch1             12,682.747μs [12,664.574μs; 12,700.920μs]
                    -25.095% [-25.285%; -24.905%]
switch2             10,060.908μs [10,058.125μs; 10,063.691μs]
                    0.765% [0.665%; 0.866%]
switch3             12,713.996μs [12,705.227μs; 12,722.765μs]
                    -25.403% [-25.565%; -25.242%]

authors: RandalSchwartz renggli

repo: petitparser/dart-petitparser


text:
Misc improvements

I cherrypicked each of these commits from the fork-googlevoice project in my fork of this repo. These commits represent much of the refactoring and troubleshooting I did in 2014 prior to the 1.0 release of the googlevoice project.
I've tried to reconcile these changes and incorporate them upstream and eventually remove the googlevoice project.
Each of the changes below attempts to be stable, meaning ideally the library should work between each commit. In practice, that's not the case and in fact some like 65a597e94806 include changes intended for the prior commit. Due to the large number, they're probably best reviewed in order.
I do believe this code to be largely functional however, as I used these changes for my own use.
I no longer have a google voice account so I'm not sure how I could test these changes, but I'd very much like to see them incorporated as I'll have a very difficult time supporting the library without actively using it.
Please have a look and let me know what you think. Can they be accepted as-is (even if there are emergent issues)? Would someone be willing to test and work through any issues? Is there a way I can test without setting up a GV account?
Thanks and Regards,
Jason

Would someone be willing to test and work through any issues?
I have a fork of this repo which I'm planning to drastically update when I get time hopefully soon.
Is there a way I can test without setting up a GV account?
I suppose I or someone could lend you a spare testing purposes GV account. This makes me wonder, and so if you don't mind my asking, why do you no longer have a GV account ? Sorry to ask, you don't have to say if you don't want to.

why do you no longer have a GV account

I originally signed up with a GV account so that my number, its voicemails, etc would be available across carriers. I also wanted to be able to send/receive messages from my PC.
But because it's a proxy, it makes it difficult to originate calls and messages from that number. You also don't get many of the features built into the phone platform.
In addition, the mobile providers added enhanced support for voicemail retrieval and storage (don't have to call to listen) and the Apple ecosystem to which I switched added elegant handoff of SMS and phone calls. All of this made Google Voice more of an impediment than a feature.

I have good news. In order to have more confidence in these changes, I created a GV account and ran some tests and found many bugs in my fork. Where possible, I first implemented those fixes here in this PR, so I now have high confidence in these changes (they work and many tests pass in jaraco/googlevoice).
Unfortunately, due to the approach I took, many of the changes and their associated bugfixes are not in adjacent commits, so many of these commits will not be cherry-pickable. It sure would be nice to incorporate these fixes, though, as even the master of pygooglevoice doesn't run under Python 3.

👍

Huge thanks @pettazz for merging these changes! I'll continue to work to remove the differences in implementation between my fork and this project. Let me know if you have any thoughts on merging the projects.

authors: chris001 jaraco pettazz

repo: pettazz/pygooglevoice


text:
”Ghemeș”, ”Hirean”, ”Orosfaia” are listed in the drop-down menu

Description:
When user writes ”Ghemeș”, ”Hirean”, ”Orosfaia” the locations appear in the drop-down menu next to the comune and the county witch is a part according to the law.
Precondition:
The website is up an running.

Step 1
Write in the search bar "Ghemeș"

Expected results
The location appears in the drop-down menu as "Ghemeș, Bistrița-Năsăud (Milaș)".

Step 2
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 3
Write in the search bar "Hirean"

Expected results
The location appears in the drop-down menu as "Hirean, Bistrița-Năsăud (Milaș)".

Step 4
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 5
Write in the search bar "Orosfaia"

Expected results
The location appears in the drop-down menu as "Orosfaia, Bistrița-Năsăud (Milaș)".


text:
"Grădiștea" and "Sitaru" are listed in the drop-down menu

Description:
"Grădiștea" and "Sitaru" are listed in the drop-down menu alongside its corresponding county and commune, according to the law
Precondition:
The website is up an running.

Step 1
Type "Grădiștea" in the search bar.

Expected results
The location is listed in the drop-down menu as "Sat Grădiștea, ILFOV (Grădiștea)" and "Comuna Grădiștea, ILFOV".

Step 2
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 3
Type "Sitaru" in the search bar.

Expected results
The location is listed in the drop-down menu as "Sat Sitaru, ILFOV (Grădiștea)".


text:
”Pănet” is listed in the drop-down menu

Description:
"Pănet" is listed in the drop-down menu alongside its corresponding county and commune, according to the law.
Precondition:
The website is up an running.

Step 1
Type "Pănet" in the search bar.

Expected results
The location is listed in the drop-down menu as "Comuna Pănet, MUREȘ".


text:
”Frecăței”, ”Cataloi”, ”Poșta”, ”Telița” are listed in the drop-down menu

Description:
When user writes ”Frecăței”, ”Cataloi”, ”Poșta”, ”Telița” the locations appear in the drop-down menu next to the comune and the county which is a part according to the law.
Precondition:
The website is up an running.

Step 1
Write in the search bar "Frecăței"

Expected results
The location appears in the drop-down menu as "Sat Frecăței, TULCEA (Frecăței)".

Step 2
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 3
Write in the search bar "Cataloi"

Expected results
The location appears in the drop-down menu as "Sat Cataloi, TULCEA (Frecăței)".

Step 4
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 5
Write in the search bar "Poșta"

Expected results
The location appears in the drop-down menu as "Sat Poșta, TULCEA (Frecăței)".

Step 6
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 7
Write in the search bar "Telița"

Expected results
The location appears in the drop-down menu as "Sat Telița, TULCEA (Frecăței)".


text:
”Vulturești”, ”Buhăiești”, ”Podeni”, ”Voinești” are listed in the drop-down menu

Description:
When user writes ”Vulturești”, ”Buhăiești”, ”Podeni”, ”Voinești” the locations appear in the drop-down menu next to the comune and the county which is a part according to the law.
Precondition:
The website is up an running.

Step 3
Write in the search bar "Buhăiești"

Expected results
The location appears in the drop-down menu as "Sat Buhăiești, VASLUI (Vulturești)".

Step 4
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 5
Write in the search bar "Podeni"

Expected results
The location appears in the drop-down menu as "Sat Podeni, VASLUI (Vulturești)".

Step 6
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 7
Write in the search bar "Voinești"

Expected results
The location appears in the drop-down menu as "Sat Voinești, VASLUI (Vulturești)".


text:
Update Comparison with Other Frameworks

As promised in #2685 I have updated the framework comparison table with (almost?) every actively developed deep learning framework and several new axes of comparison. Let me know if anything seems inaccurate or irrelevant.

The errors that occurred in the Travis CI are now fixed in the master branch (#2716)

I am sorry to make you wait. We are now working on the tasks related v2, which will be released 30th May. and could not take time to review it. Is it OK to review it after the release of v2?

No problem. Looking forward to v2 release!

Sorry for making you wait. Now I can work on this PR.

I was wondering if we might want to include another row in the table for acceleration using anything other than cuDNN (such as OpenCL and/or other hardware platform support), but I am not aware of any frameworks with actively-developed support.

Framework
assignee

Chainer

PyTorch

TensorFlow

Theano-based

Caffe1/2

Torch7

MXNet

DyNet

PaddlePaddle

DL4J

CNTK

neon

Knet.jl

Darknet

Thinc

@jekbradbury Could you let us know it if you had some idea in mind which framework we should pick up or not in making the table? (I should have discussed the matter before assigning reviewers and starting to review each column.).

I tried to include every actively developed full-featured deep learning framework that isn't just a wrapper or frontend around another framework. All of them are open source and either used fairly widely by researchers or supported by a major company, with the exception of Darknet, which is prominent in the area of visual object detection and useful if you want to use pure C.
BTW I'd describe non-CUDA GPU support as:
Chainer, Theano, DyNet, PaddlePaddle, DL4J, CNTK, Knet, Darknet, Thinc: CUDA-only for the foreseeable future
TensorFlow: Codeplay has a port to ComputeCPP, their proprietary SYCL-based OpenCL frontend; some subset of that has been merged into core
Torch7, TensorFlow, eventually PyTorch: Hugh Perkins has Coriander-based ports to OpenCL 1.2 but Coriander has performance drawbacks
PyTorch, Caffe1/2, Torch7, MXNet, eventually TensorFlow: AMD has in-progress HIP ports (this is not OpenCL, it's a CUDA-like framework that can cross-compile to both NVidia CUDA and AMD's ROCm API); these use MIOpen, AMD's upcoming cuDNN clone, and are likely to be performance-competitive but rely on AMD developers doing significant porting work and then either maintaining forks or getting their PRs accepted.

Thank you for your comment on the choice of DL frameworks. It seems reasonable for me.
For the support of non-CUDA GPU, I have no idea for now to what extent we should mention non-official forked repositories as we can expect there are many forks that widen the non-CUDA GPU support and it could be difficult to determine where to draw a line.

Could you let me know what's the difference between "full" and "partial" in CNNs/RNNs rows?

It's not particularly precise, but essentially I wanted to distinguish between frameworks that aim to support all major variants/uses of CNNs/RNNs (it may not be easy to write them in the framework, but it is at least possible) and frameworks that have more limited support. For example, Caffe was not designed with NLP in mind and their RNN support is not flexible or customizable; DyNet is an NLP-focused framework that recently added basic convolution and pooling layers but wouldn't be a good choice if you want to write a complex computer vision model. A few frameworks don't intend to support certain use cases at all (e.g. Thinc is only for NLP and Darknet is only for computer vision).

Also, I don't think we need to mention non-CUDA at least until AMD officially announces their ports (which will be the first performance-competitive, well-supported deep learning frameworks for non-NVidia GPUs) -- right now they're still in progress on GitHub.

I checked the table for MXNet, Torch7, and Thinc and think it looks fine. I did not see any inaccurate information.
I also agree that there is no need to mention non-CUDA for now, since the AMD ports are apparently still in progress.

Thank you for the PR! Could you tell me what "Per-batch architectures" means?

That row was in the original version of the comparison table. It means that the framework is capable of building a totally different network structure for each batch; that's essentially the same thing as define-by-run but it emphasizes what you can do with it.

Oh, sorry, I didn't notice that. OK, now I understand it! Thank you for the kind explanation :)

So, how about changing the row title to "Different architectures per-batch"?

That works. I believe (grammatically) it should be "Different architectures per batch" without the hyphen.

Hi, these are my comments for my assignment. Please point me out if anything is incorrect.
General:

What are the differences among "Multi-GPU ~ parallelism", "Multiprocessing", and "Distributed training"?
In "CPU/GPU backend", "custom" could be misunderstood as that "users can use their own custom backend". How about writing as "native" instead?
It's better to put a link to the source if any.

Theano-based:

In "Higher-order grads", it seems to only support Hessian (http://deeplearning.net/software/theano/tutorial/gradients.html). How abount writing as "Only Hessian"?

"Multi-GPU dataparallelism seems to be experimental" (https://github.com/Theano/Theano/wiki/Using-Multiple-GPUs). How about writing as "Experimental"?

It seems to have native trainer. (https://github.com/kirk86/theano/blob/master/trainer.py)

Caffe1/2:

It also has MATLAB binding (only Caffe1, though). (http://caffe.berkeleyvision.org/tutorial/interfaces.html)
I couldn't find a source about Multi-GPU model paralellism.
I couldn't find a source about graph computation engine.

Darknet:

There's an RNN example on web site. Shouldn't "RNNs" be "full"?
It doesn't seem to have CPU/GPU generic backend.
It seems to have Multi-GPU data parallelism mechanism (https://github.com/pjreddie/darknet/blob/master/examples/classifier.c#L102, https://github.com/pjreddie/darknet/blob/master/src/network_kernels.cu#L375).
It has "train_network" function, so can't we say it has a native trainer?

What are the differences among "Multi-GPU ~ parallelism", "Multiprocessing", and "Distributed training"?

I came up a same question when I was checking PyTorch. Why do you think Multiprocessing support of PyTorch is partial?

Thanks for the detailed feedback, and for catching a bunch of mistakes! I'll fix the cells I was wrong about soon. Here are some clarifications:
What are the differences among "Multi-GPU ~ parallelism", "Multiprocessing", and "Distributed training"?
Multi-GPU model parallelism: on one machine, placing different parts of a model on different GPUs
Multi-GPU data parallelism: on one machine, replicating the model across GPUs with synchronous data-parallel training (e.g. ParallelUpdater)
Distributed training: training a single model across multiple machines (e.g. ChainerMN)
Multiprocessing: training across multiple OS processes on the same machine (e.g., MultiprocessParallelUpdater) -- this is important for frameworks that run lots of Python code at runtime because Python can only use multiple CPU cores with multiprocessing
In "CPU/GPU backend", "custom" could be misunderstood as that "users can use their own custom backend". How about writing as "native" instead?
"Native" works, but the point I was trying to get across is that those frameworks built their own array types from scratch but don't expose them with separate APIs, meaning that the array backend is less modular/extensible and can't be used on its own.
It's better to put a link to the source if any.
Yes, I'll do that.
Theano-based:
In "Higher-order grads", it seems to only support Hessian (http://deeplearning.net/software/theano/tutorial/gradients.html). How about writing as "Only Hessian"?
No, Theano supports arbitrarily nesting theano.gradients.grad calls (I've used 4+, although it gets very slow). Higher-order grads are most useful for calculating the Hessian, though, so Theano also offers a convenience function for that use case.
"Multi-GPU dataparallelism seems to be experimental" (https://github.com/Theano/Theano/wiki/Using-Multiple-GPUs). How about writing as "Experimental"?
Theano has a very slow development process now, so even things that are several years old and work pretty well are described as "new" and "experimental." Not sure what the best way to describe it in the table here is -- I definitely wouldn't want to use Theano for multi-GPU projects, but that's because I think it would be unnecessarily complicated, not because it would be broken.
It seems to have native trainer. (https://github.com/kirk86/theano/blob/master/trainer.py)
That's a fairly old module in someone's stale branch; Theano currently (by design) leaves things like trainers/iterators/datasets to wrapper packages including Blocks, Lasagne, and Keras.
Caffe1/2:
It also has MATLAB binding (only Caffe1, though). (http://caffe.berkeleyvision.org/tutorial/interfaces.html)
That's true, thanks.
I couldn't find a source about Multi-GPU model paralellism.
It looks like Caffe1 never did implement model parallelism, except in some specific forks where people implemented Alex Krizhevsky's model-parallel AlexNet variant.
On the other hand "Caffe2 also supports model parallelism, but pretty manually. You can assign each operator to different GPU by using DeviceScope." (https://github.com/caffe2/caffe2/issues/371) This is similar to most modern frameworks, including Chainer.
Darknet:
There's an RNN example on web site. Shouldn't "RNNs" be "full"?
Those are fairly new -- the LSTM was added three weeks ago. I think that means RNNs should be listed as "partial" since the built-in modules only support vanilla RNNs and classic LSTMs, and they aren't very customizable / the user can't easily add their own.
It doesn't seem to have CPU/GPU generic backend.
You're right; it uses C macros to switch between compiling exclusively for CPU and exclusively for GPU. So that should be "no."
It seems to have Multi-GPU data parallelism mechanism (https://github.com/pjreddie/darknet/blob/master/examples/classifier.c#L102, https://github.com/pjreddie/darknet/blob/master/src/network_kernels.cu#L375).
Yes, it does.
It has "train_network" function, so can't we say it has a native trainer?
I think what I mean by a native trainer is functionality that means the user doesn't have to write a custom training loop for each new model; darknet's examples all have their own training loops while the train_network function only does an SGD update.

I described multiprocessing support in PyTorch as partial because it's very difficult (I don't think anyone's made it work yet) to use the torch multiprocessing module to build synchronous multi-GPU training similar to MultiprocessParallelUpdater. Instead it's mostly been used for asynchronous training (Hogwild) on CPU; users are supposed to wait for Distributed PyTorch (which has been merged to master but not released) if they want multi-process multi-GPU training.

On DL4J:

it has RNN tutorial. I thought its "RNN support" can be "full".
I thought basically at least "Reverse-mode autograd" or "Forward-mode autograd" should be Y, because I thought otherwise we could not train models (same is true of Caffe 1/2 and Darknet). Is my understanding correct?
Why did you consider "cuDNN support" of DL4J is partial?
Can't we use usual debuggers for Java for runtime debugging?

I called DL4J's RNN support "partial" because it offers three kinds of RNNs (BaseRecurrent and uni- and bidirectional LSTMs) that are not intended to be modified/customized by the user. In order to add another one, a user would have to implement both the forward and backward passes as raw array operations.
It isn't an autograd-based framework: like darknet and Caffe it's restricted in the ways you can put together network layers -- just a single linear stack, with limited exceptions. You don't need any autograd (i.e., toposort + traversing the graph backwards) to implement these layer-based frameworks and you won't find those capabilities in their code.
I called the cuDNN support partial because it doesn't support cuDNN RNNs.
I will fix the debugging cell; runtime debugging should work.

@jekbradbury the cudnn support for RNNs has a bit more work to finish: https://github.com/deeplearning4j/deeplearning4j/pull/3339 (mainly just lack of bandwidth)
As for the autodiff component: https://github.com/deeplearning4j/nd4j/pull/1750 You can find more on that here. I am intending nd4j to be the "chainer/torch" equivalent. DL4j is likely going to stay higher level closer to keras.
As for runtime debugging, yes it's equivalent if not better than python in this department. The JVM actually supports remote debugging via intellij/eclipse etc and your favorite tools.
You're usually using an equivalent of:
-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8050
to do runtime debugging. You have to explicitly expose it on a port though. Then it's just like your local debugger.
There's also runtime profiling.
The linear stack is just plain wrong though. http://deeplearning4j.org/compgraph allows anything you want.
We will be combining this with the autodiff support in there to be flexible just like the other frameworks in this case.
Scrolling up seeing some of the other comparisons, I'll also just briefly touch on multi gpu (most folks never get this right).
For distributed training, we have spark and a parameter server based approach. You can see more on that here:
https://deeplearning4j.org/distributed
http://deeplearning4j.org/spark
For single node training we support parallelwrapper:
https://github.com/deeplearning4j/dl4j-examples/blob/master/dl4j-cuda-specific-examples/src/main/java/org/deeplearning4j/examples/multigpu/MultiGpuLenetMnistExample.java
which is basically a  data parallel implementation that supports the same knobs our spark implementation does (it makes some assumptions about single node and the like though) Both of these support any arbitrary neural net config.

Adding to @agibsonccc's earlier comment

I called DL4J's RNN support "partial" ... not intended to be modified/customized by the user.

Depends on your definitions of "partial" and "modified/customized". :)
You are correct that adding a new RNN layer (or, new unit, such as GRU) requires manual backprop implementations (for now).
The usual customizations (activation functions, weight inits, TBPTT) are all in there.
DL4J also supports stateful RNNs - i.e., users can do partial forward pass based on the next step/s in a sequence; masking functionality/variable length sequences; global pooling over (variable length) time series etc.
Happy to answer questions if you want more info on any of that.

Thanks for the clarifications, Adam and Alex!

About Knet

Knet relies on KnetArray as GPU backend
Knet.conv4 seems to support cuDNN, but I found most of cuDNN supports are deprecated. So I am wondering if we should mark cuDNN support as "partial" or not.

@jekbradbury Thank you for updating the table. Also thank you @agibsonccc and @AlexDBlack for your invaluable comments.

About PaddlePaddle

Could you let me know why you think of CNN support as partial?
You put "full" to cuDNN support. But it seems PaddlePaddle does not use cuDNN for RNN. I judged so because I could not find RNN stuffs here and I found for LSTM ) and I found they directly calls kernels in the the forward propagation of LSTM here. Therefore I think "partial" can be better.

For CPU/GPU backend, it could be better to fill something in if the frameworks implements array libraries by themselves but is not named (like CuPy). For example "native" or the same name as the library (as is done in neon column).

About neon

Although it has its CPU tensor class, it seems a wrapper of NumPy ndarray class (see here). So, how about writing "CPU backend package" as "Wrapper of NumPy", or simply "NumPy"?
GPU array backend, it depends on PyCUDA for at least default GPU memory allocation, and custom GPU kernels. So same as CPU, "Wrapper of PyCUDA" or "PyCUDA" could be better as "GPU backend package".

The reason I listed PaddlePaddle's cuDNN support as "full" is because they wrap everything in cuDNN except the RNN functions, but they implement their own time-fused, cuDNN-like RNN kernels instead (I believe this is because they wrote them before cuDNN RNNs were available). So those are likely to be competitive with cuDNN in performance, which is not the case with most other frameworks' non-cuDNN RNN kernels.

Hey folks - Just watching this thread here. http://nd4j.org/backend.html Our equivalent for dl4j is a tensor lib called nd4j. CPU and gpu are supported Basic pitch is "hardware as a jar file" rather than compile/link.
The c++ internals are: https://github.com/deeplearning4j/libnd4j - 1 code base for cpu/gpu (mostly shared business logic for tensor primitives)

LGTM for the frameworks I reviewed.

@jekbradbury
I'm sorry for delayed reply. Thank you for comments to my review.
Can you add "MATLAB" to "Caffe1/Caffe2" / "Language" cell, and put "Y" to "Darknet" / "Multi-GPU data parallelism" cell, as I wrote?
LGTM otherwise.

Thank you for fix!
LGTM as for my assignments.

jenkins, test this please.

test passed

authors: AlexDBlack agibsonccc bkvogel delta2323 jekbradbury mitmul niboshi

repo: pfnet/chainer


text:
Auto-generated manifest.json has surprised users. Does something need to change?

In dat sites, Beaker uses manifest.json to store metadata, such as the site's name and description. This file is generated automatically when you create a dat.
Seeing manifest.json surprised a user (https://github.com/pfrazee/beaker/issues/81#issuecomment-245026437).
Questions I have:

Is the existence of manifest.json a problem, or is it just surprising?
Should manifest.json be hidden, by default? In that case, should it be a .dot file?
Is the solution (also) to include an explanation in the UI?

I think it is surprising. I was showing my partner the new flow for adding and sharing files and when  the file was added my partner thought that something was wrong because the manifest file was there. Once I opened the manifest file I understood why it was there but I do not think non technical user will without an explanation.

Yeah, that makes sense. How does your partner feel about it, now that you explained what it is? For that matter, how do you feel about it? Does it bother you to see it? (I'm trying to decide whether to hide it, or even remove it if necessary.)

I think it should be hidden or removed. My partner understands what the file is but
feels that it is possible that non technical users will become confused

On September 7, 2016 at 6:45:32 AM, Paul Frazee (notifications@github.com) wrote:
Yeah, that makes sense. How does your partner feel about it, now that you explained what it is? For that matter, how do you feel about it? Does it bother you to see it? (I'm trying to decide whether to hide it, or even remove it if necessary.)
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

The manifest files are now hidden

authors: fredhampton pfrazee

repo: pfrazee/beaker


text:
Migrate the data_loaded flag when changing schema_migration structure

Bug in 0.8.X versions
https://github.com/pgjones/quart-db/blob/main/src/quart_db/_migration.py#L125

Fixed by af86d1e9acb37fdd259d2441aab01249fba33d26, 0.8.2

repo: pgjones/quart-db


text:
Improve documentation

make comments more Go like
fix typos
add Godoc link to README
fix #5

Thank you very much, that was very helpful.

authors: phalaaxx porjo

repo: phalaaxx/milter


text:
1.3.6

Related PR

Please also create a new tag on https://github.com/phalcon/php-zephir-parser/releases.

authors: AlexNDRmac mruz

repo: phalcon/php-zephir-parser


text:
Installation

Currently installation is just awful. It just copies files to system directories, calls sudo from PHP scripts and so on.
You need proper installation method with ability to install it into specific directory even without root permissions.

https://gist.github.com/7thcubic/0e8f7d864180e03def6d
I altered the code. it should add the .so/dll into the php.ini, havent tested it yet for linux, but on windows  if the phalcon is not loaded in php extentsion it will copy the file over and add it to the php.ini.
I havent figure out a way to unload it first, since i do not know how the flow of things is like. but it works perfectly on windows.
Link the php path to the php your webserver uses, eg. wamp and it will look for it

repo: phalcon/zephir


text:
Cancel booking after new slot found

Fix #10

tested and worked :)


text:
🛑 proxy index is down

In 34c039f, proxy index (https://index.phantomic.live/) was down:

HTTP code: 404
Response time: 838 ms

Resolved: proxy index is back up in 72b1f00 after 10 minutes.


text:
closes #1752 replace admiral.test in examples@devel

Thank you for your Pull Request! We have developed this task checklist from the Development Process Guide to help with the final steps of the process. Completing the below tasks helps to ensure our reviewers can maximize their time on your code as well as making sure the admiral codebase remains robust and consistent.
Please check off each taskbox as an acknowledgment that you completed the task or check off that it is not relevant to your Pull Request. This checklist is part of the Github Action workflows and the Pull Request will not be merged into the devel branch until you have checked off each task.

[x] Place Closes #<insert_issue_number> into the beginning of your Pull Request Title (Use Edit button in top-right if you need to update)
[x] Code is formatted according to the tidyverse style guide. Run styler::style_file() to style R and Rmd files
[x] Updated relevant unit tests or have written new unit tests, which should consider realistic data scenarios and edge cases, e.g. empty datasets, errors, boundary cases etc. - See Unit Test Guide
[x] If you removed/replaced any function and/or function parameters, did you fully follow the deprecation guidance?
[x] Update to all relevant roxygen headers and examples, including keywords and families. Refer to the categorization of functions to tag appropriate keyword/family.
[x] Run devtools::document() so all .Rd files in the man folder and the NAMESPACE file in the project root are updated appropriately
[x] Address any updates needed for vignettes and/or templates
[x] Update NEWS.md if the changes pertain to a user-facing function (i.e. it has an @export tag) or documentation aimed at users (rather than developers)
[x] Build admiral site pkgdown::build_site() and check that all affected examples are displayed correctly and that all new functions occur on the "Reference" page.
[x] Address or fix all lintr warnings and errors - lintr::lint_package()
[x] Run R CMD check locally and address all errors and warnings - devtools::check()
[x] Link the issue in the Development Section on the right hand side.
[ ] Address all merge conflicts and resolve appropriately
[ ] Pat yourself on the back for a job well done! Much love to your accomplishment!

Hi @StefanThoma, I changed the target branch to devel.

@pharmaverse/admiral
There are two issues:

The styler package (in my opinion) does a bad job with tribbles:

in derive_vars_last_dose.R I had to deal with a really wide tribble. I did this by cbind()-ing two more narrow tribbles:

 ex_single <- cbind(
   tribble(
     ~STUDYID, ~DOMAIN, ~USUBJID, ~EXSEQ, ~VISIT,
     "PILOT1", "EX", "18-1066", 1L, "BASE",
     "PILOT1", "EX", "18-1066", 2L, "BASE",
     "PILOT1", "EX", "18-1066", 3L, "BASE",
     "PILOT1", "EX", "18-1066", 4L, "BASE",
     "PILOT1", "EX", "18-1066", 5L, "BASE",
     "PILOT1", "EX", "18-1066", 6L, "BASE",
     "PILOT1", "EX", "18-1066", 7L, "BASE",
     "PILOT1", "EX", "18-1066", 8L, "BASE",
     "PILOT1", "EX", "18-1066", 9L, "BASE",
     "PILOT1", "EX", "18-1066", 10L, "BASE",
     "PILOT1", "EX", "10-1083", 1L, "BASE",
     "PILOT1", "EX", "10-1083", 2L, "BASE",
     "PILOT1", "EX", "10-1083", 3L, "BASE",
     "PILOT1", "EX", "10-1083", 4L, "BASE",
     "PILOT1", "EX", "10-1083", 5L, "BASE",
     "PILOT1", "EX", "10-1083", 6L, "BASE",
     "PILOT1", "EX", "10-1083", 7L, "BASE",
     "PILOT1", "EX", "10-1083", 8L, "BASE",
     "PILOT1", "EX", "10-1083", 9L, "BASE",
     "PILOT1", "EX", "10-1083", 10L, "BASE",
     "PILOT1", "EX", "10-1083", 11L, "BASE"
   ),
   tribble(
     ~EXDOSE, ~EXTRT, ~EXENDTC, ~EXSTDTC, ~EXDOSFRQ,
     54, "XANO", "2013-07-07", "2013-07-07", "ONCE",
     54, "XANO", "2013-07-08", "2013-07-08", "ONCE",
     54, "XANO", "2013-07-09", "2013-07-09", "ONCE",
     54, "XANO", "2013-07-10", "2013-07-10", "ONCE",
     54, "XANO", "2013-07-11", "2013-07-11", "ONCE",
     54, "XANO", "2013-07-12", "2013-07-12", "ONCE",
     54, "XANO", "2013-07-13", "2013-07-13", "ONCE",
     54, "XANO", "2013-07-14", "2013-07-14", "ONCE",
     54, "XANO", "2013-07-15", "2013-07-15", "ONCE",
     54, "XANO", "2013-07-16", "2013-07-16", "ONCE",
     0, "PLACEBO", "2013-07-22", "2013-07-22", "ONCE",
     0, "PLACEBO", "2013-07-23", "2013-07-23", "ONCE",
     0, "PLACEBO", "2013-07-24", "2013-07-24", "ONCE",
     0, "PLACEBO", "2013-07-25", "2013-07-25", "ONCE",
     0, "PLACEBO", "2013-07-26", "2013-07-26", "ONCE",
     0, "PLACEBO", "2013-07-27", "2013-07-27", "ONCE",
     0, "PLACEBO", "2013-07-28", "2013-07-28", "ONCE",
     0, "PLACEBO", "2013-07-29", "2013-07-29", "ONCE",
     0, "PLACEBO", "2013-07-30", "2013-07-30", "ONCE",
     0, "PLACEBO", "2013-07-31", "2013-07-31", "ONCE",
     0, "PLACEBO", "2013-08-01", "2013-08-01", "ONCE"
   )
 )

What do you think about this?

The styler package (in my opinion) does a bad job with tribbles:

The styler package preserves the alignment if all columns are completely aligned. In the example the entries in the first row are not aligned with those in the following rows.

The styler package preserves the alignment if all columns are completely aligned. In the example the entries in the first row are not aligned with those in the following rows.

@bundfussr Thanks for the quick reply. Unfortunately, this did not work:
Do you have any other suggestions?

@StefanThoma its a bit strange, but you need to left align the first column, the rest of the columns can be right aligned, as you have,  I think this should work.

@StefanThoma its a bit strange, but you need to left align the first column, the rest of the columns can be right aligned, as you have, I think this should work.

Thanks @millerg23, I tried this out. It looks like everything has to be left aligned.
Will update soon.

@zdz2101 not sure what is the problem with the code style.
When I run it locally everything seems fine.
The error shown on GH actions is not helpful either.
Do you know what's going on?

Only one function/script calls upon library(admiral.test) now in its example and its create_query_data() @bundfussr I don't think there is a way to get around this one is there?

No, we have to keep it.

The error shown on GH actions is not helpful either.

Seems to be a general issue on github:

@cicdguy , any ideas? Should we just wait?

authors: StefanThoma bundfussr galachad millerg23

repo: pharmaverse/admiral


text:
Several updates

Pass on MongoIsMaster
testInsertDuplicateError
Recategoorized some methods
Improved some comments

Why closed? Which ones are still outstanding?

authors: tinchodias zecke

repo: pharo-nosql/mongotalk


text:
Custom line break support

please could you include support for custom line break characters whilst reading the csv files. My data supplier sends the files with a  0x0c5 'Å' character as the line break instead of rn which is a real pain to get around. if you could add custom line breaks into the code then i would be most grateful
Cheers
D

oops duplicated the last one, sorry

repo: phatcher/CsvReader


text:
XRechnung 1.2.1

add support
https://github.com/itplr-kosit/xrechnung-schematron/releases/tag/release-1.2.1

Fixed in 5.1.10

repo: phax/ph-bdve


text:
reflex - python

https://reflex.dev/

Added 👍

authors: mendozalz sujjeee

repo: pheralb/svgl


text:
Fix minor url typo for System V ABI on cpu-exceptions page

I noticed that the link for the System V ABI was broken, and it was just due to a "-" instead of an "_". This pr should fix that.
I also want to say thanks so much for this project! It's incredibly inspiring.

Thank you!

authors: noahrinehart phil-opp


text:
#1 the first simple list

Value Proposition
As a user, I need a list with categories, which i can extend or collapse.
Also i'd like to have list-items inside the categories, so i can see my todos/shopping list/....
Description

Acceptance Criteria

[ ] show logo with headline
[ ] show example data with categories & category-entrys

Tasks

[ ] add icon (logo & chevron icon) as font
[ ] add header with logo & list headline
[ ] map example extendable categories with example category-entries

Heyho! I think your the userstory is quite good and clean. If the category entries are an array you could maybe add another task e.g. "map example array". Otherwise is would think, that you are going to write hardcoded example data.

Took me some time to understand your value proposition. Try to write it for 3rd-graders. I like the scope of your user story :)

Took me some time to understand your value proposition. Try to write it for 3rd-graders. I like the scope of your user story :)

Thank you. I edited the value proposition :)

repo: philmetscher/capstone-project


text:
Add TypeScript support

Will Phina.js add TypeScript support?

Vanilla js will continue to be offered as the primary language because the introduction of task tools such as gulp and webpack is troublesome and not for beginners.
Also, the main developer @phi-jp seems to hardly develop in the compiler language (Alt JS too).
That instead phina.js have the class definition system.
However it is also considered to create Typescript versions in parallel.

Thanks for your reply!
@axion014