text:
Is evaluate() Automatic differentiable?

Hello everyone,
I am using PolyChaos.jl to build a new Surrogates at Surrogates.jl. Every surrogate is Automatic-differentiable at the moment, so I want to my PolynomialChaosSurrogate to be differentiable as well. However, I think evaluate() is not automatic differentiable, see this example:
PolyChaos.evaluate(collect(val), pcND.ortopolys)
Where val is a tuple like: val = (1.0,2.0,3.0)
I get the following mistake:
ERROR: LoadError: Mutating arrays is not supported
Stacktrace:
 [1] error(::String) at ./error.jl:33
 [2] (::Zygote.var"#459#460")(::Array{Float64,2}) at /Users/ludovicobessi/.julia/packages/Zygote/1GXzF/src/lib/array.jl:67
 [3] (::Zygote.var"#1009#back#461"{Zygote.var"#459#460"})(::Array{Float64,2}) at /Users/ludovicobessi/.julia/packages/ZygoteRules/6nssF/src/adjoint.jl:49
 [4] Array at ./array.jl:541 [inlined]
 [5] (::typeof(∂(Array{Float64,2})))(::Array{Float64,2}) at /Users/ludovicobessi/.julia/packages/Zygote/1GXzF/src/compiler/interface2.jl:0
 [6] Array at ./boot.jl:427 [inlined]
 [7] (::typeof(∂(Array{T,2} where T)))(::Array{Float64,2}) at /Users/ludovicobessi/.julia/packages/Zygote/1GXzF/src/compiler/interface2.jl:0
 [8] |> at ./operators.jl:823 [inlined]
 [9] (::typeof(∂(|>)))(::Array{Float64,2}) at /Users/ludovicobessi/.julia/packages/Zygote/1GXzF/src/compiler/interface2.jl:0
 [10] evaluate at /Users/ludovicobessi/.julia/packages/PolyChaos/Dhyx4/src/evaluate.jl:115 [inlined]
 [11] (::typeof(∂(evaluate)))(::Array{Float64,2}) at /Users/ludovicobessi/.julia/packages/Zygote/1GXzF/src/compiler/interface2.jl:0
 [12] (::Zygote.var"#175#176"{typeof(∂(evaluate)),Tuple{Tuple{Nothing,Nothing},Tuple{Nothing,Nothing}}})(::Array{Float64,2}) at /Users/ludovicobessi/.julia/packages/Zygote/1GXzF/src/lib/lib.jl:182
 [13] (::Zygote.var"#347#back#177"{Zygote.var"#175#176"{typeof(∂(evaluate)),Tuple{Tuple{Nothing,Nothing},Tuple{Nothing,Nothing}}}})(::Array{Float64,2}) at /Users/ludovicobessi/.julia/packages/ZygoteRules/6nssF/src/adjoint.jl:49
 [14] evaluate at /Users/ludovicobessi/.julia/packages/PolyChaos/Dhyx4/src/evaluate.jl:118 [inlined]
 [15] (::typeof(∂(evaluate)))(::Array{Float64,2}) at /Users/ludovicobessi/.julia/packages/Zygote/1GXzF/src/compiler/interface2.jl:0
 [16] evaluate at /Users/ludovicobessi/.julia/packages/PolyChaos/Dhyx4/src/evaluate.jl:123 [inlined]
 [17] (::typeof(∂(evaluate)))(::Array{Float64,2}) at /Users/ludovicobessi/.julia/packages/Zygote/1GXzF/src/compiler/interface2.jl:0
 [18] PolynomialChaosSurrogate at /Users/ludovicobessi/.julia/dev/Surrogates/src/PolynomialChaos.jl:72 [inlined]
 [19] (::typeof(∂(λ)))(::Float64) at /Users/ludovicobessi/.julia/packages/Zygote/1GXzF/src/compiler/interface2.jl:0
 [20] (::Zygote.var"#37#38"{typeof(∂(λ))})(::Float64) at /Users/ludovicobessi/.julia/packages/Zygote/1GXzF/src/compiler/interface.jl:45
 [21] gradient(::Function, ::Tuple{Float64,Float64}) at /Users/ludovicobessi/.julia/packages/Zygote/1GXzF/src/compiler/interface.jl:54
 [22] (::var"#39#40")(::Tuple{Float64,Float64}) at /Users/ludovicobessi/.julia/dev/Surrogates/test/AD_compatibility.jl:244
 [23] top-level scope at /Users/ludovicobessi/.julia/dev/Surrogates/test/AD_compatibility.jl:245
 [24] include(::Module, ::String) at ./Base.jl:377
 [25] exec_options(::Base.JLOptions) at ./client.jl:288
 [26] _start() at ./client.jl:484
in expression starting at /Users/ludovicobessi/.julia/dev/Surrogates/test/AD_compatibility.jl:245

Mh, interesting question. I am not familiar with Surrogates.jl, but it appears it's using Zygote. Have you tried just computing the derivative with PolyChaos und Zygote?
In any case, evaluate() evaluates the orthogonal polynomial based on the three-term recurrence formula. In principle, I don't think this should pose any difficulties for Zygote.
I'm happy to try it out myself, but I am currently on paternal leave with almost all of my time taken up by the younglings.. ;)

I gave it a very quick try:
julia> using PolyChaos, Zygote

julia> op = GaussOrthoPoly(3)
GaussOrthoPoly{Array{Float64,1},GaussMeasure,Quad{Float64,Array{Float64,1}}}(3, [0.0, 0.0, 0.0, 0.0], [1.0, 1.0, 2.0, 3.0], GaussMeasure(PolyChaos.w_gaussian, (-Inf, Inf), true), Quad{Float64,Array{Float64,1}}("golubwelsch", 3, [-1.732050807568877, -2.6908000062985024e-16, 1.7320508075688774], [0.16666666666666677, 0.6666666666666663, 0.16666666666666657]))

julia> showbasis(op)
1
x
x^2 - 1.0
x^3 - 3.0x

julia> gradient(x -> evaluate(2, x, op), 1)
(2.0,)

julia> gradient(x -> evaluate(3, x, op), 2)[1] == 3*2^2 - 3
true

That's good!

Thanks for your super fast answer, could you be so kind to try also with a multivariate input as in my example? That is, using MultiOrthoPoly object?

Yep, I have no problem with in 1D. However I am struggling with replicating this taking the gradient with respect to a multivariable input, using MultiOrthoPoly.

This will do the job:
julia> op1 = GaussOrthoPoly(3)
GaussOrthoPoly{Array{Float64,1},GaussMeasure,Quad{Float64,Array{Float64,1}}}(3, [0.0, 0.0, 0.0, 0.0], [1.0, 1.0, 2.0, 3.0], GaussMeasure(PolyChaos.w_gaussian, (-Inf, Inf), true), Quad{Float64,Array{Float64,1}}("golubwelsch", 3, [-1.732050807568877, -2.6908000062985024e-16, 1.7320508075688774], [0.16666666666666677, 0.6666666666666663, 0.16666666666666657]))

julia> op2 = GaussOrthoPoly(2)
GaussOrthoPoly{Array{Float64,1},GaussMeasure,Quad{Float64,Array{Float64,1}}}(2, [0.0, 0.0, 0.0], [1.0, 1.0, 2.0], GaussMeasure(PolyChaos.w_gaussian, (-Inf, Inf), true), Quad{Float64,Array{Float64,1}}("golubwelsch", 2, [-0.9999999999999998, 0.9999999999999998], [0.4999999999999999, 0.4999999999999999]))

julia> op = [op1,op2]
2-element Array{GaussOrthoPoly{Array{Float64,1},GaussMeasure,Quad{Float64,Array{Float64,1}}},1}:
 GaussOrthoPoly{Array{Float64,1},GaussMeasure,Quad{Float64,Array{Float64,1}}}(3, [0.0, 0.0, 0.0, 0.0], [1.0, 1.0, 2.0, 3.0], GaussMeasure(PolyChaos.w_gaussian, (-Inf, Inf), true), Quad{Float64,Array{Float64,1}}("golubwelsch", 3, [-1.732050807568877, -2.6908000062985024e-16, 1.7320508075688774], [0.16666666666666677, 0.6666666666666663, 0.16666666666666657]))
 GaussOrthoPoly{Array{Float64,1},GaussMeasure,Quad{Float64,Array{Float64,1}}}(2, [0.0, 0.0, 0.0], [1.0, 1.0, 2.0], GaussMeasure(PolyChaos.w_gaussian, (-Inf, Inf), true), Quad{Float64,Array{Float64,1}}("golubwelsch", 2, [-0.9999999999999998, 0.9999999999999998], [0.4999999999999999, 0.4999999999999999]))

julia> mop = MultiOrthoPoly(op,2)
MultiOrthoPoly{ProductMeasure,Quad{Float64,Array{Float64,1}},Array{GaussOrthoPoly{Array{Float64,1},GaussMeasure,Quad{Float64,Array{Float64,1}}},1}}(["GaussOrthoPoly{Array{Float64,1},GaussMeasure,Quad{Float64,Array{Float64,1}}}", "GaussOrthoPoly{Array{Float64,1},GaussMeasure,Quad{Float64,Array{Float64,1}}}"], 2, 6, [0 0; 1 0; … ; 1 1; 0 2], ProductMeasure(PolyChaos.var"#w#39"{Array{GaussOrthoPoly{Array{Float64,1},GaussMeasure,Quad{Float64,Array{Float64,1}}},1}}(GaussOrthoPoly{Array{Float64,1},GaussMeasure,Quad{Float64,Array{Float64,1}}}[GaussOrthoPoly{Array{Float64,1},GaussMeasure,Quad{Float64,Array{Float64,1}}}(3, [0.0, 0.0, 0.0, 0.0], [1.0, 1.0, 2.0, 3.0], GaussMeasure(PolyChaos.w_gaussian, (-Inf, Inf), true), Quad{Float64,Array{Float64,1}}("golubwelsch", 3, [-1.732050807568877, -2.6908000062985024e-16, 1.7320508075688774], [0.16666666666666677, 0.6666666666666663, 0.16666666666666657])), GaussOrthoPoly{Array{Float64,1},GaussMeasure,Quad{Float64,Array{Float64,1}}}(2, [0.0, 0.0, 0.0], [1.0, 1.0, 2.0], GaussMeasure(PolyChaos.w_gaussian, (-Inf, Inf), true), Quad{Float64,Array{Float64,1}}("golubwelsch", 2, [-0.9999999999999998, 0.9999999999999998], [0.4999999999999999, 0.4999999999999999]))]), GaussMeasure[GaussMeasure(PolyChaos.w_gaussian, (-Inf, Inf), true), GaussMeasure(PolyChaos.w_gaussian, (-Inf, Inf), true)]), GaussOrthoPoly{Array{Float64,1},GaussMeasure,Quad{Float64,Array{Float64,1}}}[GaussOrthoPoly{Array{Float64,1},GaussMeasure,Quad{Float64,Array{Float64,1}}}(3, [0.0, 0.0, 0.0, 0.0], [1.0, 1.0, 2.0, 3.0], GaussMeasure(PolyChaos.w_gaussian, (-Inf, Inf), true), Quad{Float64,Array{Float64,1}}("golubwelsch", 3, [-1.732050807568877, -2.6908000062985024e-16, 1.7320508075688774], [0.16666666666666677, 0.6666666666666663, 0.16666666666666657])), GaussOrthoPoly{Array{Float64,1},GaussMeasure,Quad{Float64,Array{Float64,1}}}(2, [0.0, 0.0, 0.0], [1.0, 1.0, 2.0], GaussMeasure(PolyChaos.w_gaussian, (-Inf, Inf), true), Quad{Float64,Array{Float64,1}}("golubwelsch", 2, [-0.9999999999999998, 0.9999999999999998], [0.4999999999999999, 0.4999999999999999]))])

julia> gradient(x -> first(evaluate([1, 2], x, mop)), [2, 3])
([8.0, 12.0],)

Do you see the hackiness in the solution? The problem is that x -> evaluate([1, 2], x, mop) returns a 1-element Array{Float64,1}, hence the first.
In general, your problem appears to be that you call the overloaded function evaluate(x, mop), which evaluates all basis polynomials at x, hence not returning a scalar; but Zygote's gradient needs a scalar-valued output.

Oh wow, that was dumb. Long day, sorry! By the way, really cool library! Enjoy your paternal leave :)

Happy to help! :)
..and happy to see PolyChaos being used actively!
I'll definitely checkout Surrogates.jl!

authors: ludoro timueh


text:
Adding the ability to specify a custom path to a configuration file

This adds the ability to provide a custom path to the configuration file in the azure devops extension
Changes

Added new task input with name "configFilePath" to enable passings custom path to the configuration file

What is the problem of using the default known paths?

Adding a reference to the discussion on this topic https://github.com/tinglesoftware/dependabot-azure-devops/discussions/1280

source: gharchive/pull-request

authors: mburumaxwell trojanmartin

repo: tinglesoftware/dependabot-azure-devops

license: MIT

license_type: permissive

license_source: github-api


text:
alpine: Upgrade alpine linux to 3.14

Description
Upgrades the alpine linux environment from v3.12 to v3.14.
Why is this needed
Alpine 3.14 ships docker 20.10 which includes support for multiple log drivers which we need to send log output to a centralized syslog while still allowing 'docker logs' to work.

Saw this error:
+ make V=1 T=1 build/discover-metal-x86_64.tar.gz
make: *** No rule to make target 'build/discover-metal-x86_64.tar.gz'.  Stop.

@ScottGarman - is this possibly due to Drone restarts?

I'm not sure what is causing this, but something is completely out of whack when we see this. I restarted the drone build, and this time the step worked (and it looked like all it did was pull the discovery container image from quay).

This is probably just due to a lack of context on my part, but since we assume to use a specific kernel and linux-firmware package version later on this Dockerfile, shouldn't those also be updated? I assume alpine 3.12 and .14 use different kernel versions.
I tried just building this docker image to experiment, and I am getting an error when I update the alpine version to 3.14:
Step 12/23 : RUN cd aports/main/linux-firmware &&     abuild checksum &&     MAKEFLAGS=-j$(nproc) abuild -r &&     abuild clean &&     sudo apk add --no-scripts --no-cache --update --upgrade --cache-dir /tmp/non-persisted-apk-cache-dir         /home/builder/packages/main/x86_64/linux-firmware*.apk
 ---> Running in e552282d2ea9
>>> linux-firmware: Fetching https://dev.alpinelinux.org/archive/linux-firmware/linux-firmware-20200519.tar.gz
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  223M  100  223M    0     0  9558k      0  0:00:23  0:00:23 --:--:-- 12.8M
>>> linux-firmware: Fetching https://community.cypress.com/servlet/JiveServlet/download/19375-1-53475/cypress-fmac-v5.4.18-2020_0402.zip
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
curl: (22) The requested URL returned error: 404
>>> ERROR: linux-firmware: checksum failed
The command '/bin/sh -c cd aports/main/linux-firmware &&     abuild checksum &&     MAKEFLAGS=-j$(nproc) abuild -r &&     abuild clean &&     sudo apk add --no-scripts --no-cache --update --upgrade --cache-dir /tmp/non-persisted-apk-cache-dir         /home/builder/packages/main/x86_64/linux-firmware*.apk' returned a non-zero code: 1

Yup, this PR is far from complete, I will need to update the kernel etc.

Looks good to me - tagging @ScottGarman in just to make sure this doesn't conflict inappropriately with https://github.com/tinkerbell/osie/pull/293

You'll definitely want to rebase this against the PR I just merged, which updates the eclypsium driver and userspace app.
However, the main blocker we should consider for this is that we need the new asrock kernel module to build for alpine 3.14, and we don't have that yet. So please don't merge this until we have that situation sorted out, otherwise we'll be blocking a major effort to track BIOS features.

This is still blocked by the fact that the ASRockRack kernel module doesn't yet build for alpine-3.14, so I believe this PR is stalled out. @splaspood can you re-target this appropriately and close this PR?

authors: ScottGarman splaspood tstromberg

repo: tinkerbell/osie


text:
Add Correlation heatmap to EDA

IMPORTANT: Please do not create a Pull Request without creating an issue first.
Before submitting (checklist)

[ ] Was this discussed/approved via a Github issue? (no need for typos and docs improvements)
[x] Did you read the contribution guide?
[x] Did you check the code style? make lint (poetry install -E style).
[x] Did you make sure to update the docs? We use Numpy format for all the methods and classes.
[ ] Did you write any new necessary tests?
[ ] Did you check that your code passes the unit tests pytest tests/ ?
[ ] Did you add your new functionality to the docs?
[x] Did you update the CHANGELOG?

Type of Change

[ ] Examples / docs / tutorials / contributors update
[ ] Bug fix (non-breaking change which fixes an issue)
[ ] Improvement (non-breaking change which improves an existing feature)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Proposed Changes

-Add Correlation heatmap to EDA
Related Issue

PR review
Anyone in the community is free to review the PR once the tests have passed.
If we didn't discuss your PR in Github issues there's a high chance it will not be merged.

Closing issues
Put closes #XXXX in your comment to auto-close the issue that your PR fixes (if such).

Codecov Report

Merging #77 (c90bbfe) into master (6c12eb6) will decrease coverage by 5.05%.
The diff coverage is 16.66%.

:exclamation: Current head c90bbfe differs from pull request most recent head a1a97b0. Consider uploading reports for the commit a1a97b0 to get more accurate results

@@            Coverage Diff             @@
##           master      #77      +/-   ##
==========================================
- Coverage   90.69%   85.64%   -5.06%
==========================================
  Files          48       48
  Lines        2127     2145      +18
==========================================
- Hits         1929     1837      -92
- Misses        198      308     +110

Impacted Files
Coverage Δ

etna/analysis/plotters.py
13.72% <16.66%> (+0.63%)
:arrow_up:

etna/transforms/pytorch_forecasting.py
26.38% <0.00%> (-73.62%)
:arrow_down:

etna/models/nn/tft.py
43.58% <0.00%> (-56.42%)
:arrow_down:

etna/models/nn/deepar.py
45.94% <0.00%> (-54.06%)
:arrow_down:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 6c12eb6...a1a97b0. Read the comment docs.

looks 🔥

add imports of new methods to etna.analysis.__init__.py please

repo: tinkoff-ai/etna-ts


text:
Dhivehi language added

Since Dhivehi is a right-to-left language, webapp's css and layout needs to be changed.

I have no experience with RTL languages and it's not clear to me what I have to change in the css. Would you mind advising me on CSS changes? Thanks!

Hi, I'm not very good at CSS. In general, all the text should float to right and the icons should be on the left size. Also, it's better have the chat panel on the left and users/login panel on the right.  I'll try to rewrite css for the whole app and do a new pull request.

As far as I understand, the root <html> should be updated with dir="rtl" languages like this: <html dir="rtl">, and a lot of css classes should have dir="auto".

Please do not delete .gitignore and firebase-init.js. They are both needed. Thanks!

Is this PR abandoned?

authors: or-else xahiru

repo: tinode/webapp


text:
reshape to register variable value

Part of #1353
reshape from int shape to shape with a variable writes the variable value to Variable.val. We don't need the value to generate the kernel code, but we need it to run the generated program.

Changes made in tinygrad/:
------------------------------------------------------------
files                             insertions       deletions
------------------------------------------------------------
tinygrad/shape/shapetracker.py            11               2
tinygrad/shape/symbolic.py                 1               0
------------------------------------------------------------
total                                     12               2
------------------------------------------------------------
lines added in the tinygrad folder: 10

repo: tinygrad/tinygrad


text:
Implement associative scan

Closes #2708.
Uses this algo.

[x] first impl
[ ] support reverse
[ ] basic testing
[ ] axis tests
[ ] SSM tests
[ ] jax comparisons?
[ ] some benchmarking

Works, but awfully slow for some reason.

I like this feature, but this hasn't been updated for a while

authors: blueridanus geohot


text:
Verify builtins get compiled into asm instructions we want

We are using __builtin calls in some of our bit manipulation functions. The idea is that the compiler will turn the builtin calls to native instructions, when compiled with the appropriate target flag. There are some indications that this is not always the case

https://github.com/facebook/folly/commit/11e98e939c840f416e38ecd7a0208f518a99e5c1
https://github.com/facebook/folly/commit/7213df65aa8d4d6fca18b1a6cfe76a77eed6a797
https://github.com/facebook/folly/blob/57f9d2cd02353e0f71fffb6db87d55ab11a2d990/folly/experimental/Instructions.h
https://danluu.com/assembly-intrinsics/
https://news.ycombinator.com/item?id=8508923

I have quickly checked our rank function's asm with objdump and it looks good; but we should do a deeper dive here.

objdump -d tinygraph-tests |grep pdep

source: gharchive/issue

repo: tinygraph/tinygraph


text:
.gitignore .backup files

Project Description
Hey, Contributor!
Interpret issues freely. Need help or have ideas? Comment right here. Remember, this is the only forum where Krisztián answers questions - your golden ticket to help!
Note: We eat our own dog food. We use Junior to work on Junior. So please, commit prompt.yaml, prompt.md, and change.sh as part of your contribution.
Keep it friendly, that's our vibe.
Happy contributing!

GPT-4 creates them when editing md files, e.g.: https://chat.openai.com/share/1078eeab-70a4-45cb-a575-a0d8e2fb5313

repo: tisztamo/Junior


text:
titanpad.com ssl cert revoked

The titanpad.com site is unreachable on secure browsers because the ssl cert is revoked

This is not a bug with the code. Site support is elsewhere, but I doubt we'll care very much about this. Also only an issue with Chrome.

authors: stuartf zeha

repo: titanpad/titanpad

license_source: bigquery


text:
deployment methods - pypi or maven

hi ,
would be great if there were pypi installation or maven coordinates so organization behind firewalls and with security controls can use the library.

Thanks for the suggestion. I will look into it to deploy them into pypi and maven later.

authors: titicaca yairdata

repo: titicaca/spark-iforest


text:
docker -e not working

/run.sh: line 99: exec: -e: invalid option
exec: usage: exec [-cl] [-a name] [command [arguments ...]] [redirection ...]

You are using the docker exec command wrong.

i use
docker run -d --cap-add SYS_PTRACE \
           -v /proc:/host/proc:ro \
           -v /sys:/host/sys:ro \
           -p 19999:19999 titpetric/netdata \
           -e SLACK_WEBHOOK_URL=https://hooks.slack.com/services/XXXX \
           -e SLACK_CHANNEL=alerts

i fixed this issue
add volumes
volumes:
      - ./slack-config.conf:/etc/netdata/health_alarm_notify.conf

repo: titpetric/netdata


text:
possible to yield Map object?

Hi
I got this error, when yield a Map object,
'You may only yield a function, promise, generator, array, or object, but the following object was passed: "[object Map]"'
Is that possible to support Map?
Thanks

Hi,
Workaround would be:
yield Array.from(map.values())
\C

Am 05.10.2016 um 02:33 schrieb Siyang Bi notifications@github.com:
Hi
I got this error, when yield a Map object,
'You may only yield a function, promise, generator, array, or object, but the following object was passed: "[object Map]"'
Is that possible to support Map?
Thanks
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

Or yield [...map.values()]

It works perfectly fine with .map.
For Example:
const result = yield array.map(x => task(x));
Where task() returns a promise and looks like:
const task = x => {     return new Promise((resolve, reject) => {         co(function*() {             const a = yield someTask(x) ;             const b = yield otherTask(a);             resolve(b);         }).catch(error => reject(error));     }); };
thus .map returns an array of promises. once all the promises are fulfilled result will be referring to array of all the bs

@harshitgupta Your code is a bit overhead.
co(function*(){...}) returns Promise ;)
That's why:
const task = x => co(function*(){
    const a = yield someTask(x);
    const b = yield someTask(y);
   return b;
});

const result = yield array.map(x => task(x))
// or simpler const result = yield array.map(task)

But co have function wrap. That's why the best solution is:
const task = co.wrap(function*(x){
   //somework
   return b;
});

const result = yield array.map(task);

Awesome!!! Thanks a lot for pointing it out.
I didn't know that.
I am little bit confused about the error handling. I have catch CB with my version of co. Would it just like:
.catch(error => error);
It doesn't seem right. :/
How would you handle it?
Thanks again.

@harshitgupta If you use co(function*(){ ... }):
co(function*(){
...
}).catch(err => console.error(err));

If you use co.wrap:
let handler = co.wrap(function*(p){
try {
...
} catch (err) {
console.error(err);
}
});

OP is about Map (the type), not Array.prototype.map).
+1, Map is even more appropriate than object for this.
In fact, "array or object" should really just be "iterable", as in, yielding an iterable for parallel execution.
I actually think this is a pretty big deal : co should be symmetrical with the newer builtin APIs and syntaxes like Map and Set (and weak variants), as well as for-of and yield* (it would be natural to want to yield* promises from an iterable in a co-generator)... and especially symmetry with Promise.all which is very relevant for parallel execution.
Objects are not actually iterables, though:
> for (let x of {});
TypeError: (intermediate value)[Symbol.iterator] is not a function

Dropping support for yielding objects would be a big breaking change, but it's not a big deal to say "iterables and plain objects". I would however suggest that non-iterable objects with a prototype other than Object or null should not be supported at all (not sure if that's the case now or not)

authors: DeShadow freiit harshitgupta siyangbi vaz

repo: tj/co

license: mit


text:
WIP - Startup BASIC program enhancements

Unfortunately this doesn't work as it is for some reason but I'm not sure why.  The program works fine in an emulator but when booting the Apple 2 it just drops to the BASIC prompt without running this version of Startup.bas at all.  When I catalog the disk it's not even there.  It seems like something is getting tripped up parsing the code but I'm not seeing anything in the logs.

Logs appear clean:
pi@a2iorpi:~ $ journalctl -fu apple2driver
-- Logs begin at Thu 2019-02-14 05:12:02 EST. --
Jan 25 07:04:09 a2iorpi apple2driver[259]: Opening Drive 2 as: /home/pi/Vol1.hdv
Jan 25 07:04:09 a2iorpi apple2driver[259]: ERROR: open /home/pi/Vol1.hdv: no such file or directory
Jan 25 07:04:09 a2iorpi systemd[1]: apple2driver.service: Main process exited, code=exited, status=1/FAILURE
Jan 25 07:04:09 a2iorpi systemd[1]: apple2driver.service: Failed with result 'exit-code'.
Jan 25 07:34:21 a2iorpi systemd[1]: Started Apple2-IO-RPi Driver.
Jan 25 07:34:21 a2iorpi apple2driver[441]: Generating Drive in memory from: /home/pi/Apple2-IO-RPi/RaspberryPi/apple2driver
Jan 25 07:34:21 a2iorpi apple2driver[441]: Opening Drive 2 as: /home/pi/Vol1.hdv
Jan 25 07:34:21 a2iorpi apple2driver[441]: Starting Apple II RPi v0027...
Jan 25 07:34:22 a2iorpi apple2driver[441]: Reset request
Jan 25 07:34:23 a2iorpi apple2driver[441]: Read block 0000 in slot 7, drive 1...succeeded
Jan 25 07:34:23 a2iorpi apple2driver[441]: Generating Drive in memory from: /home/pi/Apple2-IO-RPi/RaspberryPi/driveimage
Jan 25 07:34:23 a2iorpi apple2driver[441]: Sending date/time...39 2E 22 07
Jan 25 07:34:24 a2iorpi apple2driver[441]: Read block 0002 in slot 7, drive 1...succeeded
Jan 25 07:34:24 a2iorpi apple2driver[441]: Read block 0003 in slot 7, drive 1...succeeded
Jan 25 07:34:24 a2iorpi apple2driver[441]: Read block 0004 in slot 7, drive 1...succeeded
Jan 25 07:34:24 a2iorpi apple2driver[441]: Read block 0005 in slot 7, drive 1...succeeded
Jan 25 07:34:24 a2iorpi apple2driver[441]: Read block 003C in slot 7, drive 1...succeeded
Jan 25 07:34:24 a2iorpi apple2driver[441]: Read block 003D in slot 7, drive 1...succeeded
Jan 25 07:34:24 a2iorpi apple2driver[441]: Read block 003E in slot 7, drive 1...succeeded
Jan 25 07:34:24 a2iorpi apple2driver[441]: Read block 003F in slot 7, drive 1...succeeded
Jan 25 07:34:24 a2iorpi apple2driver[441]: Read block 0040 in slot 7, drive 1...succeeded
Jan 25 07:34:24 a2iorpi apple2driver[441]: Read block 0041 in slot 7, drive 1...succeeded
Jan 25 07:34:24 a2iorpi apple2driver[441]: Read block 0042 in slot 7, drive 1...succeeded
Jan 25 07:34:24 a2iorpi apple2driver[441]: Read block 0043 in slot 7, drive 1...succeeded
Jan 25 07:34:24 a2iorpi apple2driver[441]: Read block 0044 in slot 7, drive 1...succeeded
Jan 25 07:34:24 a2iorpi apple2driver[441]: Read block 0045 in slot 7, drive 1...succeeded
Jan 25 07:34:24 a2iorpi apple2driver[441]: Read block 0046 in slot 7, drive 1...succeeded
Jan 25 07:34:24 a2iorpi apple2driver[441]: Read block 0047 in slot 7, drive 1...succeeded
Jan 25 07:34:24 a2iorpi apple2driver[441]: Read block 0048 in slot 7, drive 1...succeeded
Jan 25 07:34:24 a2iorpi apple2driver[441]: Read block 0049 in slot 7, drive 1...succeeded
Jan 25 07:34:24 a2iorpi apple2driver[441]: Read block 004A in slot 7, drive 1...succeeded
Jan 25 07:34:24 a2iorpi apple2driver[441]: Read block 004B in slot 7, drive 1...succeeded
Jan 25 07:34:24 a2iorpi apple2driver[441]: Read block 004C in slot 7, drive 1...succeeded
Jan 25 07:34:24 a2iorpi apple2driver[441]: Read block 004D in slot 7, drive 1...succeeded
Jan 25 07:34:24 a2iorpi apple2driver[441]: Read block 004E in slot 7, drive 1...succeeded
Jan 25 07:34:24 a2iorpi apple2driver[441]: Read block 004F in slot 7, drive 1...succeeded
Jan 25 07:34:25 a2iorpi apple2driver[441]: Read block 0050 in slot 7, drive 1...succeeded
Jan 25 07:34:25 a2iorpi apple2driver[441]: Read block 0051 in slot 7, drive 1...succeeded
Jan 25 07:34:25 a2iorpi apple2driver[441]: Read block 0052 in slot 7, drive 1...succeeded
Jan 25 07:34:25 a2iorpi apple2driver[441]: Read block 0053 in slot 7, drive 1...succeeded
Jan 25 07:34:25 a2iorpi apple2driver[441]: Read block 0054 in slot 7, drive 1...succeeded
Jan 25 07:34:25 a2iorpi apple2driver[441]: Read block 0055 in slot 7, drive 1...succeeded
Jan 25 07:34:25 a2iorpi apple2driver[441]: Read block 0056 in slot 7, drive 1...succeeded
Jan 25 07:34:25 a2iorpi apple2driver[441]: Read block 0057 in slot 7, drive 1...succeeded
Jan 25 07:34:25 a2iorpi apple2driver[441]: Read block 0058 in slot 7, drive 1...succeeded
Jan 25 07:34:25 a2iorpi apple2driver[441]: Read block 0059 in slot 7, drive 1...succeeded
Jan 25 07:34:25 a2iorpi apple2driver[441]: Read block 005A in slot 7, drive 1...succeeded
Jan 25 07:34:25 a2iorpi apple2driver[441]: Read block 005B in slot 7, drive 1...succeeded
Jan 25 07:34:25 a2iorpi apple2driver[441]: Read block 005C in slot 7, drive 1...succeeded
Jan 25 07:34:25 a2iorpi apple2driver[441]: Read block 005D in slot 7, drive 1...succeeded
Jan 25 07:34:25 a2iorpi apple2driver[441]: Read block 005E in slot 7, drive 1...succeeded
Jan 25 07:34:25 a2iorpi apple2driver[441]: Sending date/time...39 2E 22 07
Jan 25 07:34:25 a2iorpi apple2driver[441]: Read block 0002 in slot 7, drive 1...succeeded
Jan 25 07:34:25 a2iorpi apple2driver[441]: Sending date/time...39 2E 22 07
Jan 25 07:34:25 a2iorpi apple2driver[441]: Read block 0002 in slot 7, drive 1...succeeded
Jan 25 07:34:25 a2iorpi apple2driver[441]: Sending date/time...39 2E 22 07
Jan 25 07:34:26 a2iorpi apple2driver[441]: Read block 0002 in slot 7, drive 1...succeeded
Jan 25 07:34:26 a2iorpi apple2driver[441]: Read block 0003 in slot 7, drive 1...succeeded
Jan 25 07:34:26 a2iorpi apple2driver[441]: Read block 0004 in slot 7, drive 1...succeeded
Jan 25 07:34:26 a2iorpi apple2driver[441]: Read block 0005 in slot 7, drive 1...succeeded
Jan 25 07:34:26 a2iorpi apple2driver[441]: Sending date/time...39 2E 22 07
Jan 25 07:34:26 a2iorpi apple2driver[441]: Read block 0002 in slot 7, drive 1...succeeded
Jan 25 07:34:26 a2iorpi apple2driver[441]: Sending date/time...39 2E 22 07
Jan 25 07:34:26 a2iorpi apple2driver[441]: Read block 0002 in slot 7, drive 1...succeeded
Jan 25 07:34:26 a2iorpi apple2driver[441]: Read block 0027 in slot 7, drive 1...succeeded
Jan 25 07:34:26 a2iorpi apple2driver[441]: Read block 0028 in slot 7, drive 1...succeeded
Jan 25 07:34:26 a2iorpi apple2driver[441]: Read block 0029 in slot 7, drive 1...succeeded
Jan 25 07:34:26 a2iorpi apple2driver[441]: Read block 002A in slot 7, drive 1...succeeded
Jan 25 07:34:26 a2iorpi apple2driver[441]: Read block 002B in slot 7, drive 1...succeeded
Jan 25 07:34:26 a2iorpi apple2driver[441]: Read block 002C in slot 7, drive 1...succeeded
Jan 25 07:34:26 a2iorpi apple2driver[441]: Read block 002D in slot 7, drive 1...succeeded
Jan 25 07:34:26 a2iorpi apple2driver[441]: Read block 002E in slot 7, drive 1...succeeded
Jan 25 07:34:26 a2iorpi apple2driver[441]: Read block 002F in slot 7, drive 1...succeeded
Jan 25 07:34:26 a2iorpi apple2driver[441]: Read block 0030 in slot 7, drive 1...succeeded
Jan 25 07:34:26 a2iorpi apple2driver[441]: Read block 0031 in slot 7, drive 1...succeeded
Jan 25 07:34:26 a2iorpi apple2driver[441]: Read block 0032 in slot 7, drive 1...succeeded
Jan 25 07:34:26 a2iorpi apple2driver[441]: Read block 0033 in slot 7, drive 1...succeeded
Jan 25 07:34:26 a2iorpi apple2driver[441]: Read block 0034 in slot 7, drive 1...succeeded
Jan 25 07:34:26 a2iorpi apple2driver[441]: Read block 0035 in slot 7, drive 1...succeeded
Jan 25 07:34:26 a2iorpi apple2driver[441]: Read block 0036 in slot 7, drive 1...succeeded
Jan 25 07:34:26 a2iorpi apple2driver[441]: Read block 0037 in slot 7, drive 1...succeeded
Jan 25 07:34:27 a2iorpi apple2driver[441]: Read block 0038 in slot 7, drive 1...succeeded
Jan 25 07:34:27 a2iorpi apple2driver[441]: Read block 0039 in slot 7, drive 1...succeeded
Jan 25 07:34:27 a2iorpi apple2driver[441]: Read block 003A in slot 7, drive 1...succeeded
Jan 25 07:34:27 a2iorpi apple2driver[441]: Read block 003B in slot 7, drive 1...succeeded
Jan 25 07:34:27 a2iorpi apple2driver[441]: Sending date/time...39 2E 22 07
Jan 25 07:34:27 a2iorpi apple2driver[441]: Read block 0002 in slot 7, drive 1...succeeded
Jan 25 07:34:27 a2iorpi apple2driver[441]: Sending date/time...39 2E 22 07
Jan 25 07:34:27 a2iorpi apple2driver[441]: Read block 0002 in slot 7, drive 1...succeeded
Jan 25 07:34:27 a2iorpi apple2driver[441]: Sending date/time...39 2E 22 07
Jan 25 07:34:27 a2iorpi apple2driver[441]: Read block 0002 in slot 7, drive 1...succeeded
Jan 25 07:34:38 a2iorpi apple2driver[441]: Sending date/time...39 2E 22 07
Jan 25 07:34:38 a2iorpi apple2driver[441]: Read block 0002 in slot 7, drive 1...succeeded
Jan 25 07:34:38 a2iorpi apple2driver[441]: Sending date/time...39 2E 22 07
Jan 25 07:34:38 a2iorpi apple2driver[441]: Read block 0002 in slot 7, drive 1...succeeded
Jan 25 07:34:38 a2iorpi apple2driver[441]: Read block 0006 in slot 7, drive 1...succeeded
Jan 25 07:34:38 a2iorpi apple2driver[441]: Read block 0007 in slot 7, drive 1...succeeded
Jan 25 07:34:39 a2iorpi apple2driver[441]: Read block 0008 in slot 7, drive 1...succeeded
Jan 25 07:34:39 a2iorpi apple2driver[441]: Read block 0009 in slot 7, drive 1...succeeded
Jan 25 07:34:39 a2iorpi apple2driver[441]: Read block 000A in slot 7, drive 1...succeeded
Jan 25 07:34:39 a2iorpi apple2driver[441]: Read block 000B in slot 7, drive 1...succeeded
Jan 25 07:34:39 a2iorpi apple2driver[441]: Read block 000C in slot 7, drive 1...succeeded
Jan 25 07:34:39 a2iorpi apple2driver[441]: Read block 000D in slot 7, drive 1...succeeded
Jan 25 07:34:39 a2iorpi apple2driver[441]: Read block 000E in slot 7, drive 1...succeeded
Jan 25 07:34:39 a2iorpi apple2driver[441]: Read block 000F in slot 7, drive 1...succeeded
Jan 25 07:34:40 a2iorpi apple2driver[441]: Read block 0010 in slot 7, drive 1...succeeded
Jan 25 07:34:40 a2iorpi apple2driver[441]: Read block 0011 in slot 7, drive 1...succeeded
Jan 25 07:34:40 a2iorpi apple2driver[441]: Read block 0012 in slot 7, drive 1...succeeded
Jan 25 07:34:40 a2iorpi apple2driver[441]: Read block 0013 in slot 7, drive 1...succeeded
Jan 25 07:34:40 a2iorpi apple2driver[441]: Read block 0014 in slot 7, drive 1...succeeded
Jan 25 07:34:40 a2iorpi apple2driver[441]: Read block 0015 in slot 7, drive 1...succeeded
Jan 25 07:34:40 a2iorpi apple2driver[441]: Sending date/time...39 2E 22 07
Jan 25 07:34:40 a2iorpi apple2driver[441]: Read block 0002 in slot 7, drive 1...succeeded
Jan 25 07:34:40 a2iorpi apple2driver[441]: Sending date/time...39 2E 22 07
Jan 25 07:34:40 a2iorpi apple2driver[441]: Read block 0002 in slot 7, drive 1...succeeded
Jan 25 07:34:41 a2iorpi apple2driver[441]: Read block 0003 in slot 7, drive 1...succeeded
Jan 25 07:34:41 a2iorpi apple2driver[441]: Read block 0004 in slot 7, drive 1...succeeded
Jan 25 07:34:41 a2iorpi apple2driver[441]: Read block 0005 in slot 7, drive 1...succeeded
Jan 25 07:34:41 a2iorpi apple2driver[441]: Sending date/time...39 2E 22 07
Jan 25 07:34:41 a2iorpi apple2driver[441]: Read block 0002 in slot 7, drive 1...succeeded
Jan 25 07:34:41 a2iorpi apple2driver[441]: Sending date/time...39 2E 22 07
Jan 25 07:34:41 a2iorpi apple2driver[441]: Read block 0002 in slot 7, drive 1...succeeded
Jan 25 07:34:41 a2iorpi apple2driver[441]: Read block 0006 in slot 7, drive 1...succeeded
Jan 25 07:34:41 a2iorpi apple2driver[441]: Read block 0007 in slot 7, drive 1...succeeded
Jan 25 07:34:41 a2iorpi apple2driver[441]: Read block 0008 in slot 7, drive 1...succeeded
Jan 25 07:34:41 a2iorpi apple2driver[441]: Read block 0009 in slot 7, drive 1...succeeded
Jan 25 07:34:41 a2iorpi apple2driver[441]: Read block 000A in slot 7, drive 1...succeeded
Jan 25 07:34:41 a2iorpi apple2driver[441]: Read block 000B in slot 7, drive 1...succeeded
Jan 25 07:34:42 a2iorpi apple2driver[441]: Read block 000C in slot 7, drive 1...succeeded
Jan 25 07:34:42 a2iorpi apple2driver[441]: Read block 000D in slot 7, drive 1...succeeded
Jan 25 07:34:42 a2iorpi apple2driver[441]: Read block 000E in slot 7, drive 1...succeeded
Jan 25 07:34:42 a2iorpi apple2driver[441]: Read block 000F in slot 7, drive 1...succeeded
Jan 25 07:34:42 a2iorpi apple2driver[441]: Read block 0010 in slot 7, drive 1...succeeded
Jan 25 07:34:42 a2iorpi apple2driver[441]: Read block 0011 in slot 7, drive 1...succeeded
Jan 25 07:34:42 a2iorpi apple2driver[441]: Read block 0012 in slot 7, drive 1...succeeded
Jan 25 07:34:42 a2iorpi apple2driver[441]: Read block 0013 in slot 7, drive 1...succeeded
Jan 25 07:34:43 a2iorpi apple2driver[441]: Read block 0014 in slot 7, drive 1...succeeded
Jan 25 07:34:43 a2iorpi apple2driver[441]: Read block 0015 in slot 7, drive 1...succeeded
Jan 25 07:34:47 a2iorpi apple2driver[441]: Reset request
Jan 25 07:34:48 a2iorpi apple2driver[441]: Reset request
Jan 25 07:34:49 a2iorpi apple2driver[441]: Reset request
Jan 25 07:34:50 a2iorpi apple2driver[441]: Reset request
Jan 25 07:34:51 a2iorpi apple2driver[441]: Reset request
Jan 25 07:34:52 a2iorpi apple2driver[441]: Reset request
Jan 25 07:34:52 a2iorpi apple2driver[441]: Read block 0000 in slot 7, drive 1...succeeded
Jan 25 07:34:52 a2iorpi apple2driver[441]: Generating Drive in memory from: /home/pi/Apple2-IO-RPi/RaspberryPi/driveimage
Jan 25 07:34:52 a2iorpi apple2driver[441]: Sending date/time...39 2E 22 07
Jan 25 07:34:52 a2iorpi apple2driver[441]: Read block 0002 in slot 7, drive 1...succeeded
Jan 25 07:34:52 a2iorpi apple2driver[441]: Read block 0003 in slot 7, drive 1...succeeded
Jan 25 07:34:52 a2iorpi apple2driver[441]: Read block 0004 in slot 7, drive 1...succeeded
Jan 25 07:34:52 a2iorpi apple2driver[441]: Read block 0005 in slot 7, drive 1...succeeded
Jan 25 07:34:53 a2iorpi apple2driver[441]: Read block 003C in slot 7, drive 1...succeeded
Jan 25 07:34:53 a2iorpi apple2driver[441]: Read block 003D in slot 7, drive 1...succeeded
Jan 25 07:34:53 a2iorpi apple2driver[441]: Read block 003E in slot 7, drive 1...succeeded
Jan 25 07:34:53 a2iorpi apple2driver[441]: Read block 003F in slot 7, drive 1...succeeded
Jan 25 07:34:53 a2iorpi apple2driver[441]: Read block 0040 in slot 7, drive 1...succeeded
Jan 25 07:34:53 a2iorpi apple2driver[441]: Read block 0041 in slot 7, drive 1...succeeded
Jan 25 07:34:53 a2iorpi apple2driver[441]: Read block 0042 in slot 7, drive 1...succeeded
Jan 25 07:34:53 a2iorpi apple2driver[441]: Read block 0043 in slot 7, drive 1...succeeded
Jan 25 07:34:53 a2iorpi apple2driver[441]: Read block 0044 in slot 7, drive 1...succeeded
Jan 25 07:34:53 a2iorpi apple2driver[441]: Read block 0045 in slot 7, drive 1...succeeded
Jan 25 07:34:53 a2iorpi apple2driver[441]: Read block 0046 in slot 7, drive 1...succeeded
Jan 25 07:34:53 a2iorpi apple2driver[441]: Read block 0047 in slot 7, drive 1...succeeded
Jan 25 07:34:53 a2iorpi apple2driver[441]: Read block 0048 in slot 7, drive 1...succeeded
Jan 25 07:34:53 a2iorpi apple2driver[441]: Read block 0049 in slot 7, drive 1...succeeded
Jan 25 07:34:53 a2iorpi apple2driver[441]: Read block 004A in slot 7, drive 1...succeeded
Jan 25 07:34:53 a2iorpi apple2driver[441]: Read block 004B in slot 7, drive 1...succeeded
Jan 25 07:34:53 a2iorpi apple2driver[441]: Read block 004C in slot 7, drive 1...succeeded
Jan 25 07:34:53 a2iorpi apple2driver[441]: Read block 004D in slot 7, drive 1...succeeded
Jan 25 07:34:53 a2iorpi apple2driver[441]: Read block 004E in slot 7, drive 1...succeeded
Jan 25 07:34:53 a2iorpi apple2driver[441]: Read block 004F in slot 7, drive 1...succeeded
Jan 25 07:34:53 a2iorpi apple2driver[441]: Read block 0050 in slot 7, drive 1...succeeded
Jan 25 07:34:53 a2iorpi apple2driver[441]: Read block 0051 in slot 7, drive 1...succeeded
Jan 25 07:34:53 a2iorpi apple2driver[441]: Read block 0052 in slot 7, drive 1...succeeded
Jan 25 07:34:53 a2iorpi apple2driver[441]: Read block 0053 in slot 7, drive 1...succeeded
Jan 25 07:34:54 a2iorpi apple2driver[441]: Read block 0054 in slot 7, drive 1...succeeded
Jan 25 07:34:54 a2iorpi apple2driver[441]: Read block 0055 in slot 7, drive 1...succeeded
Jan 25 07:34:54 a2iorpi apple2driver[441]: Read block 0056 in slot 7, drive 1...succeeded
Jan 25 07:34:54 a2iorpi apple2driver[441]: Read block 0057 in slot 7, drive 1...succeeded
Jan 25 07:34:54 a2iorpi apple2driver[441]: Read block 0058 in slot 7, drive 1...succeeded
Jan 25 07:34:54 a2iorpi apple2driver[441]: Read block 0059 in slot 7, drive 1...succeeded
Jan 25 07:34:54 a2iorpi apple2driver[441]: Read block 005A in slot 7, drive 1...succeeded
Jan 25 07:34:54 a2iorpi apple2driver[441]: Read block 005B in slot 7, drive 1...succeeded
Jan 25 07:34:54 a2iorpi apple2driver[441]: Read block 005C in slot 7, drive 1...succeeded
Jan 25 07:34:54 a2iorpi apple2driver[441]: Read block 005D in slot 7, drive 1...succeeded
Jan 25 07:34:54 a2iorpi apple2driver[441]: Read block 005E in slot 7, drive 1...succeeded
Jan 25 07:34:54 a2iorpi apple2driver[441]: Sending date/time...39 2E 22 07
Jan 25 07:34:54 a2iorpi apple2driver[441]: Read block 0002 in slot 7, drive 1...succeeded
Jan 25 07:34:54 a2iorpi apple2driver[441]: Sending date/time...39 2E 22 07
Jan 25 07:34:54 a2iorpi apple2driver[441]: Read block 0002 in slot 7, drive 1...succeeded
Jan 25 07:34:54 a2iorpi apple2driver[441]: Sending date/time...39 2E 22 07
Jan 25 07:34:54 a2iorpi apple2driver[441]: Read block 0002 in slot 7, drive 1...succeeded
Jan 25 07:34:54 a2iorpi apple2driver[441]: Read block 0003 in slot 7, drive 1...succeeded
Jan 25 07:34:54 a2iorpi apple2driver[441]: Read block 0004 in slot 7, drive 1...succeeded
Jan 25 07:34:55 a2iorpi apple2driver[441]: Read block 0005 in slot 7, drive 1...succeeded
Jan 25 07:34:55 a2iorpi apple2driver[441]: Sending date/time...39 2E 22 07
Jan 25 07:34:55 a2iorpi apple2driver[441]: Read block 0002 in slot 7, drive 1...succeeded
Jan 25 07:34:55 a2iorpi apple2driver[441]: Sending date/time...39 2E 22 07
Jan 25 07:34:55 a2iorpi apple2driver[441]: Read block 0002 in slot 7, drive 1...succeeded
Jan 25 07:34:55 a2iorpi apple2driver[441]: Read block 0027 in slot 7, drive 1...succeeded
Jan 25 07:34:55 a2iorpi apple2driver[441]: Read block 0028 in slot 7, drive 1...succeeded
Jan 25 07:34:55 a2iorpi apple2driver[441]: Read block 0029 in slot 7, drive 1...succeeded
Jan 25 07:34:55 a2iorpi apple2driver[441]: Read block 002A in slot 7, drive 1...succeeded
Jan 25 07:34:55 a2iorpi apple2driver[441]: Read block 002B in slot 7, drive 1...succeeded
Jan 25 07:34:55 a2iorpi apple2driver[441]: Read block 002C in slot 7, drive 1...succeeded
Jan 25 07:34:55 a2iorpi apple2driver[441]: Read block 002D in slot 7, drive 1...succeeded
Jan 25 07:34:55 a2iorpi apple2driver[441]: Read block 002E in slot 7, drive 1...succeeded
Jan 25 07:34:55 a2iorpi apple2driver[441]: Read block 002F in slot 7, drive 1...succeeded
Jan 25 07:34:55 a2iorpi apple2driver[441]: Read block 0030 in slot 7, drive 1...succeeded
Jan 25 07:34:55 a2iorpi apple2driver[441]: Read block 0031 in slot 7, drive 1...succeeded
Jan 25 07:34:55 a2iorpi apple2driver[441]: Read block 0032 in slot 7, drive 1...succeeded
Jan 25 07:34:55 a2iorpi apple2driver[441]: Read block 0033 in slot 7, drive 1...succeeded
Jan 25 07:34:55 a2iorpi apple2driver[441]: Read block 0034 in slot 7, drive 1...succeeded
Jan 25 07:34:55 a2iorpi apple2driver[441]: Read block 0035 in slot 7, drive 1...succeeded
Jan 25 07:34:55 a2iorpi apple2driver[441]: Read block 0036 in slot 7, drive 1...succeeded
Jan 25 07:34:55 a2iorpi apple2driver[441]: Read block 0037 in slot 7, drive 1...succeeded
Jan 25 07:34:55 a2iorpi apple2driver[441]: Read block 0038 in slot 7, drive 1...succeeded
Jan 25 07:34:55 a2iorpi apple2driver[441]: Read block 0039 in slot 7, drive 1...succeeded
Jan 25 07:34:55 a2iorpi apple2driver[441]: Read block 003A in slot 7, drive 1...succeeded
Jan 25 07:34:56 a2iorpi apple2driver[441]: Read block 003B in slot 7, drive 1...succeeded
Jan 25 07:34:56 a2iorpi apple2driver[441]: Sending date/time...39 2E 22 07
Jan 25 07:34:56 a2iorpi apple2driver[441]: Read block 0002 in slot 7, drive 1...succeeded
Jan 25 07:34:56 a2iorpi apple2driver[441]: Sending date/time...39 2E 22 07
Jan 25 07:34:56 a2iorpi apple2driver[441]: Read block 0002 in slot 7, drive 1...succeeded
Jan 25 07:34:56 a2iorpi apple2driver[441]: Sending date/time...39 2E 22 07
Jan 25 07:34:56 a2iorpi apple2driver[441]: Read block 0002 in slot 7, drive 1...succeeded

I will try your code tonight and see if I can reproduce your issue. All of my tests were written on the Apple //e first, converted to text and back again. It might be too picky about whitespace or missing a keyword. It’s likely that it is not logging failures properly either.  This dynamic drive feature is fairly new so I’m not sure how many people tried it yet other than myself.

Wondering if this is the problem?  https://github.com/tjboldt/ProDOS-Utilities/blob/main/prodos/basic.go#L94
I'm running on an enhanced //e.
I hope to be able to provide some enhancements on logging eventually but I'm not much of a coder so I'm still figuring out Go.

Nope, the ; in the INPUT lines was not the problem.  I'll keep looking.

This is the reason it is not logging the error.
https://github.com/tjboldt/Apple2-IO-RPi/blob/main/RaspberryPi/apple2driver/driver.go#L65
This part of the code is completely changed in my latest work that is not committed yet.

I see.  I added some more log outputs but it doesn't seem like generateDriveFromCwd() is erroring at all.  Specifically err = prodos.AddFilesFromHostDirectory(drive, cwd)

More clues:
pi@a2iorpi:~ $ ./ProDOS-Utilities/ProDOS-Utilities -d boot.hdv -c putall -i Apple2-IO-RPi/RaspberryPi/driveimage/
failed to add host files: failed to convert file: unexpected character before line number

The blank line at the end is causing problems but there is another weird issue with the parsing where some line numbers are replaced with the wrong number during parsing:

Blank line at the end was causing problems.  Removing it at least gets the basic file into the disk image.  But there's another weird issue where some of the line numbers are being replaced with the wrong number by the parser code.  See the weird line 5 in this screenshot:

The BASIC parsing isn’t very robust. I’ll need to make some fixes in the ProDOS-Utilities. Can you log a bug against that project with your failing example?

Yep, will do.  Will link to it here.

Try pulling merging the latest code. This should resolve your BASIC file parsing and add live dynamic drive regeneration.

I am also changing the bas files in driveimage to be symlinks and the source files are in the Apple2 directory. This unfortunately will create a conflict in your branch for this pull request but at least after this the files will also be the same in both places.

I won't open another PR for my customized Startup.bas unless you'd like to include the extra prompts.  Happy to contribute back but not sure if that's something you're looking for in this project.
Anyhow, there were a few other changes I had to make to get my BASIC to parse correctly but I finally got it after your recent updates.  Few extra things I had to do:

Change all bare PRINT lines to PRINT "" (Possibly also fixed with dummy REM after as in my next bullet - didn't try that)
Add dummy REM statements after bare commands like HOME & END
Remove all the asterisks (*) from my REM statements

My current working version is here: https://github.com/benjamink/Apple2-IO-RPi/blob/main/Apple2/Startup.bas

Did you rebuild apple2driver after merging in all changes from the main branch? I was able to import your code as-is after updating.

authors: benjamink bkrein-vertex tjboldt


text:
Fails to build without std feature enabled

Versions 0.3.6 and 0.3.7 fail to build without the std feature enabled, e.g. if only a direct dependency on hashbrown is used which depends on ahash without default features.
The error message is
error[E0433]: failed to resolve: use of undeclared type or module `std`
 --> /home/adam/.cargo/registry/src/github.com-1ecc6299db9ec823/ahash-0.3.7/src/aes_hash.rs:4:5
  |
4 | use std::hint::unreachable_unchecked;
  |     ^^^ use of undeclared type or module `std`

error: aborting due to previous error

Getting the same issue.
Workaround:
ahash = "=0.3.6"

Fixed https://github.com/tkaitchuck/aHash/commit/317347818a5120f3ff2a7f14d66aa9b88e10df59

authors: adamreichold tkaitchuck vadixidav

repo: tkaitchuck/aHash


text:
Add an About section

I suggest adding an About section saying "Fortran functions for dates and times" and adding topic tags datetime, dates, times.

I appreciate your kind advice!


text:
Using BenchmarkCI in Buildkite pipelines

I tried using following script for running benchmarks on buildkite pipline
using Pkg

# Activate `benchmark`
Pkg.activate("benchmark")
Pkg.develop(path=".") # Add parent Project.toml to development env
Pkg.instantiate()
Pkg.build()
Pkg.precompile()

# Start benchmarking
using BenchmarkCI
BenchmarkCI.judge()
BenchmarkCI.postjudge()

But it errors with:
Activating environment at `/<buildkite-path>benchmark/Project.toml`
:
Installed Parsers ──────────────────── v2.1.2
:
✓ Parsers
:
 15 dependencies successfully precompiled in 12 seconds (58 already precompiled)
:
[ Info: Using existing manifest file.
--
  | PkgBenchmark: Running benchmarks...
  | Activating environment at `<buildkite-path>/benchmark/Project.toml`
  | PkgBenchmark: creating benchmark tuning file /<buildkite-path>/benchmark/tune.json..
(1/3) tuning "new"...
:
:
PkgBenchmark: benchmark results written to .benchmarkci/result-target.json

  | PkgBenchmark: Running benchmarks...
  | ERROR: LoadError: LoadError: ArgumentError: Package Parsers [69de0a69-1ddd-5017-9359-2bf0b02dc9f0] is required but does not seem to be installed:
  | - Run `Pkg.instantiate()` to install all recorded dependencies.

( : to be replaced with entire package list)
The issue isn't specific to Parsers, but its just something it is trying to find first.

BenchmarkCI does an impressive job with Github Actions.
If this could be reused with Buildkite runners (which is widely being adopted), it would be great.
While here, postjudge() is something to inspect if it can post even from a buildkite pipeline

Hmm... It's a bit puzzling that the error occurs at such a late phase. Is this from a public repository? Can I see a CI log?

Sadly its a private repo.

authors: tkf ven-k


text:
add format_paths

Feel free to close this PR, but I do think it is useful.

Sorry, I'm not adding features to this pacakge. I added some explanations in README now: https://github.com/tkf/julia-code-style-suggesters#notes

authors: BeastyBlacksmith tkf

repo: tkf/julia-code-style-suggesters


text:
Add .pre-commit-config.yaml to check format README

pre-commit
A framework for managing and maintaining multi-language pre-commit hooks.
For more information see: https://pre-commit.com/

@all-contributors please add @pre-commit.ci for maintenance


text:
add MiVideo usage via Kaltura API data

⏸ On Hold
As of 16 June 2020, we've not gotten information from Kaltura about using their API for this purpose.  The reports they offer don't work on the time frame we want (we want hourly, not daily) and they don't include the course information (they could do this by passing along the LTI launch parameters, as is done for Caliper events).
This issue has been on hold for more than a week already.  With the end of the 2020.02.02 project approaching and the ITS management announcement that the metrics project is coming to an end, the "⏸ on hold" label has been applied to this issue.

Summary
We get MiVideo usage data from Caliper events sent by Kaltura.  Do an experiment with Kaltura's API to see whether we can get better (more? accurate?) data from it.
Details
Reports based on data from Caliper events doesn't exactly match the reports from the Kaltura console (KMC).  The numbers are often close, but sometimes the Caliper numbers are higher and other times the KMC ones are.
In order to see where the discrepancies lie, add another set of MiVideo usage based on Kaltura's API.  This issue is not an attempt to add any features.  It is to gather the same data from a different source and compare the two sources.

Zhen believes that the Kaltura API must be the definitive source.
Melinda thinks the current Caliper event method may be more accurate.  Melinda has a lot of experience with Kaltura and she says that the company's data has been questionable due to internal technical issues and because ad-blocker browser extensions interfere with analytics.

By collecting usage via the Kaltura API, we can compare the data with that from the Caliper events.  It may show us that one data source is more reliable than the other. It may also give Melinda the evidence she needs to present to Kaltura customer support and ask them to improve their analytics.

On 03 June 2020, I (@lsloan) wrote the following request and sent it to @melindakraft.  She used the message to open a support request with Kaltura.

We at UMich are generating data about Kaltura hourly usage by querying the Caliper events it emits and stores in our eventstore, Unizin's UDP.  We use "MediaEvent" events from Kaltura that have the "Started" action and a Canvas course ID within the "object" property.  With those events, we're able to build a DB table with the columns:

event_hour_utc – A string containing a partial timestamp of the format, "YYYY-MM-DD HH24", based on the "eventTime"  property of the Caliper event.
course_id – An integer ID of the Canvas course from the "object.extensions.kaf:course_id" property of the Caliper event.
event_count – The count of media started events that contain the combination of the above two columns.

It's extremely useful for us to see for which courses these Kaltura events occur.
However, for various reasons, we believe we might not be getting the complete picture from the events in our eventstore.  For example, it's possible that Caliper events from Kaltura may be lost or mishandled by the internal processes of Unizin's UDP.  So, we'd like to try getting this same data directly from Kaltura's API.
We're having trouble accomplishing this, though.
So far, we're able to use some of the Kaltura API reports to get the following values:

object_id – The Kaltura media ID.
count_plays – The number of plays for the media in the queried time period.

This doesn't quite give us what we need, though.  That is, the number of Kaltura media plays for a Canvas course ID in the queried time period.  We're able to take the Kaltura object_id and get its list of categories, which contains one or more Canvas course IDs.  However, we don't know how many plays of that object_id apply to each of the courses.
For example, if the object_id is "0_0uwudcrr", it is part of two Canvas courses, 351527 and 355646.  How many of its count_plays apply to each of those courses?
Is there any way we can get the Kaltura API report results to include the course IDs (the categories)?  Or is there a different API entry we can use to get the raw media playback data that includes the specific categories or the LTI request parameters that were sent when the media playback was requested?  That's the same information that Kaltura would use when it creates the Caliper events it sends to our eventstore.

Note that in truth, we're not concerned that the Caliper events are being lost on their way to Unizin's UDP or being mishandled by it.  We actually believe Kaltura may not be including everything in the Caliper events or not always sending events when they should.

repo: tl-its-umich-edu/course-inventory


text:
Open file on beta not working

Open file button not working properly. It doesn't open the box to select file from you computer. Facing this issue on https://beta.tldraw.com/

Closing this now as we've put out some more fixes for it. Let me know if this is still an issue though!

authors: TodePond gauravidg

repo: tldraw/tldraw-beta


text:
include() doesn't work

I can not include() .jl files and don't understand why. Only an error is generated, and serve(verb=true, nomess=true) neither tells me anything.
MWE:
testf.jl:
println("hello")

The following is in index.html:
```julia:rundiary/load
fn = "testf.jl"
println("Is this a file? $(isfile(fn))")
include(fn)
println("this is not printed")
```
\output{rundiary/load}

And the output is:
Is this a file? true
There was an error running the code.

Content of rundiary/output/load.out:
Is this a file? true
There was an error running the code.

Content of rundiary/load.jl:
# This file was generated by JuDoc, do not modify it. # hide
fn = "testf.jl"
println("Is this a file? $(isfile(fn))")
include(fn)
println("this is not printed")

Hello! I'm back from a fair bit of travelling so sorry for the delay.
Two things from this:

the issue has to do with paths (see below)
reporting the error would be useful (and is actually easy) this will be fixed soon.

So on a prototype branch, I showed the error and it's maybe a bit surprising at first:
Simple code:
```julia:scripts/test186
fn = "tempf.jl"
write(fn, "a = 1+1")
println("Is this a file? $(isfile(fn))")
include(fn)
rm(fn)
```
done.
\output{scripts/test186}

-->

Simple code:
fn = "tempf.jl"
write(fn, "a = 1+1")
println("Is this a file? $(isfile(fn))")
include(fn)
rm(fn)
 done.
Is this a file? true
There was an error running the code: LoadError("/Users/tlienart/.julia/dev/JuDoc/test/__tmp/basic/assets/scripts/test186.jl", 5, ErrorException("could not open file /Users/tlienart/.julia/dev/JuDoc/test/__tmp/basic/assets/scripts/tempf.jl")).

So it's a path issue. It's not immediately clear what/why is the issue here (I don't think it's related to JuDoc but rather to the fact that we're using nested include, since the script is included by JuDoc (using Main.include) and then there's an include in that script itself, so the include you use may not see the same path as the isfile (I don't know why though, it would be nice to investigate...)
Anyway this works in the mean time:
Simple code:
```julia:scripts/test186
fn = "tempf.jl"
write(fn, "a = 1+1")
println("Is this a file? $(isfile(fn))")
include(abspath(fn))
println("Now: $a")
rm(fn)
```
done.
\output{scripts/test186}

--->

Simple code:
fn = "tempf.jl"
write(fn, "a = 1+1")
println("Is this a file? $(isfile(fn))")
include(abspath(fn))
println("Now: $a")
rm(fn)
 done.
Is this a file? true
Now: 2

Hello! I'm back from a fair bit of travelling, apologies for the delay.

Me too :)

So it's a path issue. It's not immediately clear what/why is the issue here (I don't think it's related to JuDoc but rather to the fact that we're using nested include, since the script is included by JuDoc (using Main.include) and then there's an include in that script itself, so the include you use may not see the same path as the isfile (I don't know why though, it would be nice to investigate...)

So far I was just using include() and didn't think about how it works, but the docs describes this behavoir (just the relevant part from ?include):
During including, a task-local  include path is set to the directory containing the file. Nested calls to include will search relative to that path.

Anyway this works in the mean time: (note the abspath)

Thank you! The error message is also a good idea.
Maybe the docs should mention somewhere to use abspath() when using include()?

Yes, I must say it's a bit of a weird use-case to be using includes inside of eval blocks 😄 but I'll add it to the doc, thanks!

Yes, I must say it's a bit of a weird use-case to be using includes inside of eval blocks 😄 but I'll add it to the doc, thanks!

Is there another way to include source file? I'd like not to "pollute" my site with that long code (ofc I could use Literate or Weave 😄)

So what you want to do is something like

some markdown
include a code file
some markdown

?
If so you can just do that using https://tlienart.github.io/JuDoc.jl/dev/man/syntax/#Separate-evaluation-1 ? (or otherwise could you suggest an example of what you'd like to do?)

So what you want to do is something like

some markdown
include a code file
some markdown

Yes, something like the earlier linked repo where I tested how to plot. Slowly I finish what I wanted to achieve, if you're interested here's a link.

If so you can just do that using https://tlienart.github.io/JuDoc.jl/dev/man/syntax/#Separate-evaluation-1 ? (or otherwise could you suggest an example of what you'd like to do?)

I'm satisfied as I have a working version, but will think through if my approach is the best/fastest/easiest/etc.
Againk, thank you for the awesome package!

thanks for the feedback and the suggestions, it's super helpful :) and when your website is online I'd be glad to add it to the list in the README if you'd like


text:
Support for API Versions

Are there any plans to support API versions?

I don't have substantive work plans for this repository: I happily review & usually accept pull requests for fixes & features that fit the intended scope, but don't actively write new code here because, well, the project does what it set out to do.
The approach we took for Mapbox was that REST API documentation, published with docbox, is for a single version: the active version. Changes to that documentation are published as a page, which is just a usual page. No fancy system for that. And documentation for old versions is just formatted Markdown, without a docbox site.
I'd be interested in approaches here, but cautious about doing too much more to promote other versions. What I've seen is that documenting older versions of APIs can be a trap: unless you make sure that there are bright red warning signs everywhere saying that "this is the old stuff, don't use it for new development", people will use it for new development. Even if you add bright red warning signs everywhere, people will often ignore them and still use old APIs for who knows why :)
Have you seen approaches that work well for this? Or have a usecase in mind?

Closing - happy to continue the conversation, but not seeing an action here.

authors: akshayrawat tmcw

repo: tmcw/docbox

license: isc


text:
DOS turing completeness

Нужно сделать язык DOS Тюнинг полным. Смотри: http://en.wikipedia.org/wiki/Turing_completeness
Это важно, так как язык должен иметь возможность решать все типы задач.

Dublicate with #67


text:
Commands Have Stopped Working

When starting a new session, the commands are each printed twice, but don't seem to be executed.

env:

lubuntu 14.40
tmuxinator 0.6.10
tmux 1.9 (looks like it's not officially supported, but I've been using it for months without issue)
rvm 1.26.11
ruby 2.2.0

test.yml
# ~/.tmuxinator/test.yml

name: test
root: ~/

windows:
  - editor: vim

debug:
#!/bin/bash

# Clear rbenv variables before starting tmux
unset RBENV_VERSION
unset RBENV_DIR

tmux start-server\; has-session -t test 2>/dev/null

if [ "$?" -eq 1 ]; then
  cd /home/peter

  # Run pre command.

  # Create the session and the first window.
  TMUX= tmux new-session -d -s test -n editor -c /home/peter

  # Create other windows.

  # Window "editor"

  tmux send-keys -t test:0.0 '' C-m
  tmux send-keys -t test:0.0 vim C-m

  tmux select-layout -t test:0 main-vertical

  tmux select-pane -t test:0.0

  tmux select-window -t 0
fi

if [ -z "$TMUX" ]; then
  tmux -u attach-session -t test
else
  tmux -u switch-client -t test
fi

That looks like there might be something wrong with the .yml file as it's adding an extra send-keys statement. Either that or something has changed in the YAML parser. Here is what I get when I run debug:
#!/usr/local/bin/zsh

# Clear rbenv variables before starting tmux
unset RBENV_VERSION
unset RBENV_DIR

tmux start-server\; has-session -t test 2>/dev/null

if [ "$?" -eq 1 ]; then
  cd /Users/Soliah

  # Run pre command.

  # Create the session and the first window.
  TMUX= tmux new-session -d -s test -n editor

  # Create other windows.

  # Window "editor"

  tmux send-keys -t test:1 vim C-m

  tmux select-window -t 1
fi

if [ -z "$TMUX" ]; then
  tmux -u attach-session -t test
else
  tmux -u switch-client -t test
fi

Notice the single send-keys statement. Can you double check your yaml config doesn't have any stray characters.

@Soliah Thankfully, I'm no longer seeing this particular issue, wherein the commands would stop working entirely. (I reformatted a few weeks back, partially because of this issue.)
However, if I spin up a new Tmuxinator project and then debug it, I do still see the duplicate send-keys entries:
#!/bin/bash

# Clear rbenv variables before starting tmux
unset RBENV_VERSION
unset RBENV_DIR

tmux start-server\; has-session -t wat 2>/dev/null

if [ "$?" -eq 1 ]; then
  cd /home/peter

  # Run pre command.

  # Create the session and the first window.
  TMUX= tmux new-session -d -s wat -n editor -c /home/peter

  # Create other windows.
  tmux new-window  -t wat:1 -n server
  tmux new-window  -t wat:2 -n logs

  # Window "editor"

  tmux send-keys -t wat:0.0 '' C-m
  tmux send-keys -t wat:0.0 vim C-m

  tmux splitw -c /home/peter -t wat:0
  tmux select-layout -t wat:0 main-vertical

  tmux send-keys -t wat:0.1 '' C-m
  tmux send-keys -t wat:0.1 guard C-m

  tmux select-layout -t wat:0 main-vertical

  tmux select-pane -t wat:0.0

  # Window "server"

  tmux send-keys -t wat:1 bundle\ exec\ rails\ s C-m

  # Window "logs"

  tmux send-keys -t wat:2 tail\ -f\ log/development.log C-m

  tmux select-window -t 0
fi

if [ -z "$TMUX" ]; then
  tmux -u attach-session -t wat
else
  tmux -u switch-client -t wat
fi

Note: I ran the debugger with my existing .tmux.conf and again with every line removed and still saw this same result.
Please let me know if there's any additional environment or config information I can provide.

Could you try setting the following in your .tmux.conf.
set-option -g base-index 1
set-window-option -g pane-base-index 1

Same results.
Here's my .tmux.conf, in case that might be of any help.

I don't really why, but I resolved my same type of your issue by removing eval "$(docker-machine env myContainer)" from .zshrc.
Including docker-machine env myContainer command in .zshrc for trial, a similar problem occured.

It looks like commit 16d6c6020cd169a7e4467683d0c9f3c3ad1afc12 on PR #311 fixes all the extra unnecessary calls to send-keys that look like this:
tmux send-keys -t wat:0.1 '' C-m   # unnecessary call
tmux send-keys -t wat:0.1 guard C-m

I think this issue can be closed.

I can confirm that after, upgrading to 0.6.11, I'm no longer seeing those unnecessary send-key calls.

Awesome.

authors: Soliah ethagnawl hori-ryota podung

repo: tmuxinator/tmuxinator


text:
Syntax for lu

Here is some current output for "lu hıo hóa súq ky jí ka":

Some thoughts:

I don't think the labeling around lu … ky is right (should V at the top of the moved subtree be V', VP?).
Currently lu wraps a CP, and in fact zugaı permits "lu la hıo hóa…" with non-null C — how do we feel about this? (I think it might be OK)
I should coindex hóa with the subject of the lu verb (here jí).

If ky is a head (https://github.com/toaq/zugai/issues/10), then the moved constituent should be labeled kyP aka VFP.
Allowing lu la feels off to me. I would prefer any of the following:

say that C must be the null allomorph when next to lu (some kind of agreement). I believe you suggested this the other day.
find a different explanation which puts lu in C
delete lu

authors: lynn solpahi

repo: toaq/zugai


text:
Ruby Group capstone project

In this project  we are 3 members @EddyShimwa, @tobuya, and @Ridwanullahi-code.

@EddyShimwa is assigned to Team member #1
@tobuya  is assigned to Team member #2
@Ridwanullahi-code  is assigned to Team member #3

Hi Team,
You did extremely great on this project! 👏 👏
There are however a few issues that you still need to work on to go to the next project but you are almost there! 🚦   __🏃  🏡 🏃♂ 🏃♀  🏚 🌴
Highlights 👍

Good distribution of tasks!

Required Changes ♻

[ ] Good job distributing task proportionately among group members 👌 However, we want each of the tasks assigned to a particular team member to be monitored within the board. So, let's do this; instead of listing all tasks assigned to a particular team member in a one card, let's rather list each individual task as a card within the board so that the progress of each specific task by a group member can be easily monitored within the board.

Cheers and Happy coding!👏 💻 🍷
Feel free to leave any questions or comments in the PR thread if something is not 100% clear.
Remember to tag me in your question so I can receive the notification.
Please, do not open a new Pull Request for re-reviews. You should use the same Pull Request submitted for the first review, either valid or invalid unless it is requested otherwise.

As described in the Code reviews limits policy you have a limited number of reviews per project (check the exact number in your Dashboard). If you think the code review was unfair, you can request a second opinion using this form.

STATUS: APPROVE :heavy_check_mark: :heavy_check_mark:  :champagne:
Hi @EddyShimwa, @Ridwanullahi-code, and @tobuya
Your project is complete!  There is nothing else to say other than... it's time to merge it :shipit:
Congratulations! 🎉 :clap: :clap: :100:

To highlight :champagne:

Good issue description :heavy_check_mark:

Optional suggestions
Every comment with the [OPTIONAL] prefix won't stop the approval of this PR. However, I strongly recommend you to take them into account as they can make your code better. Some of them were simply missed by the previous reviewer and addressing them will really improve your application.
Cheers and Happy coding!👏👏👏
Feel free to leave any questions or comments in the PR thread if something is not 100% clear.
Please ping me @tresorsawasawa when you comment so I can receive the notification or use slack with the same name.

As described in the Code reviews limits policy  you have a limited number of reviews per project (check the exact number in your Dashboard). If you think that the code review was not fair, you can request a second opinion using this form.

authors: EddyShimwa rloterh tresorsawasawa


text:
type introspection not working in dynamic_bridge and ros2 topic echo

This has been a problem since before the bouncy release. Coredx seems to know the types of messages that it sees, but when it needs to use that type on the fly it doesn't seem to work. The easiest example of that is with ros2 topic echo. I should be able to do the following and see the messages echoed out.

ros2 run demo_nodes_cpp talker in one terminal
ros2 topic echo chatter in another terminal
ros2 topic list -t does seem to correctly show the types, but for some reason we have to specify the when we call ros2 topic echo. ros2 topic echo chatter std_msgs/String`. This works on other middlewares and used to work on coredx.

We experience the same kind of issue with the dynamic bridge. I'm not sure if they're related. If you run ros2 run ros1_bridge dynamic_bridge, it should be able to dynamically bridge topics into ros1 only if a ros1 node is trying to subscribe to them. Instead, nothing gets through. We have to run ros2 run ros1_bridge dynamic_bridge -- --bridge-all-topics in order to get anything across. The problem with using that method, is that we get more traffic than we actually wanted going across the bridge.

It looks like the test (ros2 topic echo chatter) doesn't wait long enough for discovery to complete.   By adding a short delay (I tried 1 second) after creating the node, allowing discovery to complete, it then works as expected.
Because discovery is asynchronous and can be impacted by network speed, network load, number of peers, etc, the test should be written so that it waits until the requested topic is discovered, rather than exiting immediately.

authors: ClarkTucker asibryant


text:
Added PVWatts API

Calculates the energy production of grid-connected photovoltaic (PV) energy systems. From National Renewable Energy Laboratory
Thank you for taking the time to work on a Pull Request for this project!
To ensure your PR is dealt with swiftly please check the following:

[x] Your submissions are formatted according to the guidelines in the contributing guide
[x] Your additions are ordered alphabetically
[x] Your submission has a useful description
[x] The description does not end with punctuation
[x] Each table column should be padded with one space on either side
[x] You have searched the repository for any relevant issues or pull requests
[x] Any category you are creating has the minimum requirement of 3 items

Thanks!

authors: davemachado jerriais

repo: toddmotto/public-apis


text:
FileHandle bug [rt.cpan.org #1939]

Migrated from rt.cpan.org#1939 (status was 'open')
Requestors:

bbb@cpan.org

Attachments:

xml-parser.FileHandle.patch

From  on 2003-01-11 23:48:35
:
XML::Parser 2.30 and 2.31

I've been trying for a while to figure out why
I'm getting this spewage from your module:

Can't locate object method "read" via package "FileHandle" (per
haps you forgot to load "FileHandle"?) at /usr/lib/perl5/vendor
_perl/5.6.1/i386-linux/XML/Parser/Expat.pm line 469.

I just upgraded XML::Parser from 2.30 to 2.31
in hopes that it would stop, yet I still got
the similar spewage:

Can't locate object method "read" via package "FileHandle" (per
haps you forgot to load "FileHandle"?) at /usr/lib/perl5/site_p
erl/5.6.1/i386-linux/XML/Parser/Expat.pm line 469.

Not sure if this is your bug, or if it's just
conflicting with something else on my system,
but I got fed up and finally just added it to
your Expat.pm file.  (A trivial patch has been
attached.)  And now it all works perfectly calm.
Let me know if you need any more details to
duplicate the problem.

From bbb@cpan.org on 2003-01-11 23:53:34
:
Sorry, I forgot to give my box info:

$ perl -V
Summary of my perl5 (revision 5.0 version 6 subversion 1)
configuration:
  Platform:
    osname=linux, osvers=2.4.17-0.13smp, archname=i386-linux
    uname='linux daffy.perf.redhat.com 2.4.17-0.13smp #1 smp fri feb 1
10:30:48 est 2002 i686 unknown '
    config_args='-des -Doptimize=-O2 -march=i386 -mcpu=i686 -Dcc=gcc
-Dcf_by=Red Hat, Inc. -Dcccdlflags=-fPIC -Dinstallprefix=/usr
-Dprefix=/usr -Darchname=i386-linux -Dvendorprefix=/usr
-Dsiteprefix=/usr -Uusethreads -Uuseithreads -Uuselargefiles
-Dd_dosuid -Dd_semctl_semun -Di_db -Di_ndbm -Di_gdbm -Di_shadow
-Di_syslog -Dman3ext=3pm'
    hint=recommended, useposix=true, d_sigaction=define
    usethreads=undef use5005threads=undef useithreads=undef
usemultiplicity=undef
    useperlio=undef d_sfio=undef uselargefiles=undef usesocks=undef
    use64bitint=undef use64bitall=undef uselongdouble=undef
  Compiler:
    cc='gcc', ccflags ='-fno-strict-aliasing -I/usr/local/include',
    optimize='-O2 -march=i386 -mcpu=i686',
    cppflags='-fno-strict-aliasing -I/usr/local/include'
    ccversion='', gccversion='2.96 20000731 (Red Hat Linux 7.2
2.96-109)', gccosandvers=''
    intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234
    d_longlong=define, longlongsize=8, d_longdbl=define,
longdblsize=12
    ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t',
lseeksize=4
    alignbytes=4, usemymalloc=n, prototype=define
  Linker and Libraries:
    ld='gcc', ldflags =' -L/usr/local/lib'
    libpth=/usr/local/lib /lib /usr/lib
    libs=-lnsl -ldl -lm -lc -lcrypt -lutil
    perllibs=-lnsl -ldl -lm -lc -lcrypt -lutil
    libc=/lib/libc-2.2.5.so, so=so, useshrplib=false,
libperl=libperl.a
  Dynamic Linking:
    dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef,
ccdlflags='-rdynamic'
    cccdlflags='-fPIC', lddlflags='-shared -L/usr/local/lib'

Characteristics of this binary (from libperl):
  Compile-time options:
  Built under linux
  Compiled at Apr  1 2002 12:23:22
  @INC:
    /usr/lib/perl5/5.6.1/i386-linux
    /usr/lib/perl5/5.6.1
    /usr/lib/perl5/site_perl/5.6.1/i386-linux
    /usr/lib/perl5/site_perl/5.6.1
    /usr/lib/perl5/site_perl/5.6.0
    /usr/lib/perl5/site_perl
    /usr/lib/perl5/vendor_perl/5.6.1/i386-linux
    /usr/lib/perl5/vendor_perl/5.6.1
    /usr/lib/perl5/vendor_perl
    .

$ uname -a
Linux skip 2.4.18-3 #1 Thu Apr 18 07:37:53 EDT 2002 i686 unknown

From srezic@cpan.org on 2016-02-01 08:15:45
:
On 2003-01-11 18:48:35, guest wrote:
> XML::Parser 2.30 and 2.31
>
> I've been trying for a while to figure out why
> I'm getting this spewage from your module:
>
> Can't locate object method "read" via package "FileHandle" (per
> haps you forgot to load "FileHandle"?) at /usr/lib/perl5/vendor
> _perl/5.6.1/i386-linux/XML/Parser/Expat.pm line 469.
>
> I just upgraded XML::Parser from 2.30 to 2.31
> in hopes that it would stop, yet I still got
> the similar spewage:
>
> Can't locate object method "read" via package "FileHandle" (per
> haps you forgot to load "FileHandle"?) at /usr/lib/perl5/site_p
> erl/5.6.1/i386-linux/XML/Parser/Expat.pm line 469.
>
>
> Not sure if this is your bug, or if it's just
> conflicting with something else on my system,
> but I got fed up and finally just added it to
> your Expat.pm file.  (A trivial patch has been
> attached.)  And now it all works perfectly calm.
> Let me know if you need any more details to
> duplicate the problem.

Maybe related?
https://rt.cpan.org/Ticket/Display.html?id=100959

I believe this was fixed in a6f7e5a2

repo: toddr/XML-Parser


text:
observe:true

please describe in wiki what's the purpose of observe:true and how to use and when to use.
ps: on wiki seen in github some markup errors are there, _ seen as verbatim instead of intended italic?, like: _.project_

Added the observe true documentation and fixed the italic issues

authors: IndrekV glensc

repo: toggl/toggl-button


text:
Use launchpad ppa to distribute debian package

ppa is already created.
We need to add a script that submits build when we push to stable channel

While you're at it, please consider creating an RPM as well to support Red Hat, Fedora and OpenSUSE. Maybe this should be a new issue.

authors: IndrekV tdgroot

repo: toggl/toggldesktop


text:
Need to type trailing spaces

This was tested on Windows. When I have to write a sentence, I also need to typing trailing spaces. This seems like a bug, and I can't see the space.
Environment: Win10, Shell: CMD

Hmm, this issue is invalid, as it seems to be a feature when you make an error halfway, you need to confirm with a space.

The trailing space is always needed if you have an error somewhere. As a confirmation that you don't want to go back and fix it.
This is how monkeytype does it.


text:
Integration with other react project

Hi,
First thanks for this project - really cool!
Second I'm starting to learn react (really total newb) and to get integrate it with django.
I can get the project to work on its own which is already a good news.
I am now trying to integrate it with the django-react-teamplate. It seems to be structured differently.
https://github.com/scottwoodall/django-react-template
Any tips on how and where to get started?
Thanks!
J.

Glad you found the project cool! 😄
So in django-react-template, the project is split into 2 parts:
1. /backend

contains the code for your app's API server (using Django REST framework + Postgres)
this server also hosts static files & you have to make sure that the files you want to serve are in the frontend/build directory (hardcoded here)

2. /frontend

contains the code for your react app
webpack is configured to bundle your frontend app into the /build directory

Since coincharts is based of create-react-app, npm run build already bundles our app into a /build directory (same as where django-react-template expects it's static files to be located at!)
So to integrate it, you only have to replace the entire contents of /frontend directory with coinchart's code & here's what I might do:
git clone https://github.com/scottwoodall/django-react-template
cd django-react-template

# remove unwanted code + clone `coincharts` into `/frontend` dir
rm -rf ./frontend
git clone https://github.com/tohjustin/coincharts.git ./frontend

authors: jsartre tohjustin

repo: tohjustin/coincharts


text:
Create Posts “20221001-how-i-prepared-for-my-amazon-front-end-engineer-interview”

Automatically generated by Netlify CMS

👷 Deploy Preview for monetaboot processing.

Name
Link

🔨 Latest commit
b22cca9ffa18fa9a6256e0e6755768a3fb25182d

🔍 Latest deploy log
https://app.netlify.com/sites/monetaboot/deploys/633792b15afb23000911c79a

repo: toicodedoec/potato


text:
Creating Variables Color-Modifiers Creates Blank Variables

Describe the bug
This seems like an old bug again where creating variables with color-modifiers results in blank variables; this was tested in rc7. The bug is also quite inconsistent as it sometimes works and sometimes doesn't. The user however has checked the test file shared below and confirms that it is the issue they are facing.
Older Related Issues:

#2407
#2139
#2059
#2012

To Reproduce
Steps to reproduce the behavior - available in test file.
Expected behavior
No matter what reference is being used and no matter the color space, variables should created with as expected with the calculated values.
Screenshots or Screencasts
https://github.com/tokens-studio/figma-plugin/assets/93133012/c0ea1d5d-173b-42aa-844f-35319b394fb1
Figma file (optional)
Test File

The issue was the mis-configuration of themes and not from code. Confirmed by the user.

repo: tokens-studio/figma-plugin


text:
StableDeref for Bytes?

I would like to store Bytes as the owning type in a rental RentRef struct (https://docs.rs/rental/0.5.4/rental/common/struct.RentRef.html) but for this Bytes needs to implement the StableDeref marker trait (https://docs.rs/stable_deref_trait/1.2.0/stable_deref_trait/trait.StableDeref.html).
StableDeref is implemented for Vec<T> and IIUC Bytes uses Vec<u8> as underlying type so this should be allowed as it guarantees that Bytes will always be heap allocated.  Would it be possible to implement this trait, or perhaps as an optional feature?  Or is there a reason this should not be done?
The current work-around is to give the referring type a static lifetime but it would be nice not to need to do this.

I wouldn't want to add such a public dependency (breaking changes there force them here to upgrade).

@seanmonstar perhaps as an optional dependency/behind a feature flag? :pray:

I'd like to second this (if applicable to Bytes), if for no other reason than the StableDeref maintainers don't want to implement the trait for non-std types: https://github.com/Storyyeller/stable_deref_trait/issues/12.

We are not going to add dependencies on non-std types either. The strategy here would be to implement a StableBytes wrapper.

authors: carllerche flub seanmonstar sunny-g

repo: tokio-rs/bytes


text:
Bytes: Use ManuallyDrop instead of mem::forget

Note: The tsan job is failing in CI due to https://github.com/rust-lang/rust/issues/122476, which should be resolved in the next few days.
Much like https://github.com/tokio-rs/bytes/pull/675, I found a few places we can more idiomatically use ManuallyDrop.

https://github.com/rust-lang/rust/issues/122476 is fixed now and the tsan job is passing again.


text:
Instrument Tokio Wakers

We want to detect a few things with regards to the Wakers related to a Task:

Time from wake to poll
If poll returns Pending but the Waker wasn't cloned.

While not fool proof, this could be a good-enough heuristic to detect a "forgot to wake".

If wake was called from a different thread, or same thread.
If a wake is called from within poll

While not wrong, could be a sign to help someone notice a task that "busy loops".

So, we'll need to instrument Tokio's wakers: emitting events for wake, wake_by_ref, clone, and drop. A couple notes about implementing:

These are tracing events, not spans.
We should pick some unique names, so that the subscriber can identify them.
We need a way to map a waker to the task ID.

The current "task ID" used by the subscriber is the span ID of the instrumented spawn.
We could possibly have Tokio's runtime record an actual task ID once the task is stored in the scheduler, something that the waker can access too.

I did a rough prototype pass of this a fairly long while ago (which, I think, is probably outdated and won't work with the latest Tokio). One thing I did is add spans to the various resources' poll methods, as well, so that when a waker is cloned, we can record which resource we are registering interest in, and (in the case of resources that have multiple forms of readiness) which form of readiness we are polling for.

Yes, by instrumenting wakers and also resources (#39), we should be able to correlate these relationships and show them in the Console.

The other way around could also work. Since a "subscriber" already needs to produce a unique span ID, it'd be useful to be able to reuse that than to have a second unique counter. The "other way" would be to save the span ID into Tokio's RawTask struct, so that the waker logs can grab it and emit it.
It does seem like a bit of annoying propagating of an extra argument through all the internal Tokio task creation code, but conditionally (so plenty of cfg_trace). But it seems like the way.

Done in  tokio-rs/tokio#3836, opened #42 for next step.

authors: hawkw seanmonstar

repo: tokio-rs/console


text:
doc: Examples

tokio-proto is quite a generic crate, but this means that as a first-timer it's often very difficult to wrap your head around all the generics and figure out what's what. Perhaps some key examples could be given for functions like connect, Server::new, etc, which show off what's happening?
One option may be to bundle the line protocol with this repository as an example, because in theory it's quite simple, right?

Er the bundling would specifically be for just the doc examples to compile.

This has been done w/ https://tokio.rs/

authors: alexcrichton carllerche

repo: tokio-rs/tokio-proto


text:
[FYI] [Not Ours] yarn generate 時のエラー

起こっている問題 / The Problem

yarn generate:dev（たとえば）をすると、スクショ欄にあるようエラーが出現する。
実行時に影響はないとはいえ、精神衛生上よろしくない。
だから、できれば取り除きたい。いや、取り除くべきだ。

スクリーンショット / Screenshot

期待する見せ方・挙動 / Expected Behavior

yarn generate で、当該エラーが一切出現しないこと。

起こっている問題の再現手段 / Steps to Reproduce

yarn generate の起動後、コンソールをずっと見ていると現れます。
本件は、既に vuetify に提出している issue および PR を、私の拙い英語力で可能な分だけサマリしたものです。
我々東京都 COVID-19 情報サイトとしてのアクションは不要です。今後出てくるであろう Update も、自動展開されるはずです。
個人的には vuetify 側の進捗も追いたいため、備忘の目的でここに置かせていただきます。

動作環境・ブラウザ / Environment

macOS / Windows / Linux / iOS / Android
Chrome / Safari / Firefox / Edge / Internet Explorer

PR クローズに従い、こちらもクローズします。
最近、ここで言っているエラーは見かけないですよね？


text:
「陽性患者数」のグラフ & データの更新日時の文言の高さに「陽性患者の属性」側を揃える

📝 関連issue
p-r #342
⛏ 変更内容

陽性患者の属性テーブルの height を 200px から 314px に変更(314 はグラフの高さを元に)

陽性患者数のグラフ & データの更新日時の文言の高さを揃える
1度に画面に表示される件数を増やす

📸 スクリーンショット

Google Chrome

Safari

window の幅に依存するため


text:
[WIP] [i18n] components/flow/FlowPcNotRequired.vue のi18n化

📝 関連issue / Related Issues

#932

⛏ 変更内容 / Details of Changes

components/flow/FlowPcNotRequired.vue のi18n化
作業中 ~（相談したいことはあとで追記します）~ 追記済み

[ ] 下記の再マークアップ（spanの位置）
   新型コロナ外来

 受診が不要

   と判断された場合

↑できれば、新型コロナ外来受診が不要と判断された場合みたいな入れ子がよいです（この外側にclass付きspanがあってもOK）
[ ] 下記の
除去

   症状が

   良くならない場合は

   新型コロナ
受診相談窓口

   に相談

[ ] 一部翻訳待ち
[ ]
関連 https://github.com/tokyo-metropolitan-gov/covid19/issues/932#issuecomment-596865325
[ ] 「症状が良くならない場合は」「～窓口」「に相談」が言語によっては語順が変わるので、変わっても大丈夫なようにCSSを再調整

@kaizumaki 上記のように出力されるようにしておくので、別issue・PRCSSの調整お願いします

@MaySoMusician 了解です！これから別issueたてますね。

authors: MaySoMusician kaizumaki


text:
PGSync tries to find FK between unrelated tables.

PGSync version:
v2.1.1
Postgres version:
v11.1
Elasticsearch version:
v7.11.2
Redis version:
v5
Python version:
v3.8
Problem Description:
Using this schema, while bootstrap and pgsync commands run without issues, I am getting the following error when actually create a Tenant database record. Look like pgsync has mistakenly tried to correlate the UserRoles medium table with Role's foreign key entity District?
Error Message (if any):
Exception in thread Thread-23:
Traceback (most recent call last):
  File "/usr/local/lib/python3.8/threading.py", line 932, in _bootstrap_inner
    self.run()
  File "/usr/local/lib/python3.8/threading.py", line 870, in run
    self._target(*self._args, **self._kwargs)
  File "/usr/local/lib/python3.8/site-packages/pgsync/sync.py", line 860, in poll_redis
    self.on_publish(payloads)
  File "/usr/local/lib/python3.8/site-packages/pgsync/sync.py", line 927, in on_publish
    self.sync_payloads(_payload)
  File "/usr/local/lib/python3.8/site-packages/pgsync/sync.py", line 829, in sync_payloads
    for doc in self._payloads(payloads):
  File "/usr/local/lib/python3.8/site-packages/pgsync/sync.py", line 645, in _payloads
    filters = self._insert(
  File "/usr/local/lib/python3.8/site-packages/pgsync/sync.py", line 339, in _insert
    foreign_keys = self.query_builder._get_foreign_keys(
  File "/usr/local/lib/python3.8/site-packages/pgsync/querybuilder.py", line 45, in _get_foreign_keys
    for key, value in get_foreign_keys(through, node_b).items():
  File "/usr/local/lib/python3.8/site-packages/pgsync/base.py", line 961, in get_foreign_keys
    for table, columns in _get_foreign_keys(
  File "/usr/local/lib/python3.8/site-packages/pgsync/base.py", line 920, in _get_foreign_keys
    raise ForeignKeyError(
pgsync.exc.ForeignKeyError: 'No foreign key relationship between "public.saas_api_user_roles" and "public.saas_api_district"'

There needs to be a direct or indirect relationship between all tables in your schemas.
Can you please provide more details of your database schema?

There needs to be a direct or indirect relationship between all tables in your schemas.
Can you please provide more details of your database schema?

I've hyperlinked the schema source code in the issue description, or this link: https://gist.github.com/namoshizun/3f86d97cd0b4ce72b779ed913a4fa849

Sorry I meant the database schema itself. You can send this to me directly if you have any reservations.
@namoshizun

I appear to be running into this as well. Initial bootstrap and sync work, but adding a new record on my Book<->Author through table errors with pgsync.exc.ForeignKeyError: 'No foreign key relationship between "public.BookAuthor" and "public.BookAuthor"'. Adding just a new Book works. Adding just a new Author works. It's adding a Book with an Author that is failing. The op causing it is  DEBUG:pgsync.sync: tg_op: INSERT table: public.BookAuthor. The last bit of the stack trace is  File "/Users/me/opt/anaconda3/lib/python3.9/site-packages/pgsync/sync.py", line 824, in _payloads     filters = self._insert_op(   File "/Users/me/opt/anaconda3/lib/python3.9/site-packages/pgsync/sync.py", line 491, in _insert_op     foreign_keys = self.query_builder._get_foreign_keys(   File "/Users/me/opt/anaconda3/lib/python3.9/site-packages/pgsync/querybuilder.py", line 68, in _get_foreign_keys     for key, value in get_foreign_keys(through_node, node_b).items():   File "/Users/me/opt/anaconda3/lib/python3.9/site-packages/pgsync/base.py", line 890, in get_foreign_keys     for table, columns in _get_foreign_keys(   File "/Users/me/opt/anaconda3/lib/python3.9/site-packages/pgsync/base.py", line 850, in _get_foreign_keys     raise ForeignKeyError( I'll try to dig into the code to see what it's expecting but would be happy to hear suggestions or workarounds.

this fixed it for me: https://github.com/toluaina/pgsync/pull/332

Sorry for taking a while to address this.
Can you please try against the main branch.
This should be resolved now.

authors: loren namoshizun toluaina

repo: toluaina/pgsync


text:
Cannot run on linux, help

$ cargo run --example window --verbose
       Fresh khronos_api v0.0.5
       Fresh lazy_static v0.1.10
       Fresh bitflags v0.1.1
       Fresh libc v0.1.8
       Fresh xml-rs v0.1.25
       Fresh shared_library v0.1.0
       Fresh dylib v0.0.1
       Fresh log v0.3.1
       Fresh clock_ticks v0.0.5
       Fresh rand v0.3.8
       Fresh wayland-client v0.1.7
       Fresh gl_common v0.0.4
       Fresh osmesa-sys v0.0.5
       Fresh x11-dl v1.0.1
       Fresh gl_generator v0.0.26
       Fresh tempdir v0.3.4
       Fresh mmap v0.1.1
       Fresh wayland-kbd v0.1.1
       Fresh glutin v0.1.6 (file:///home/neoe/oss/glutin)
     Running `target/debug/examples/window`
[glutin] x error code=12 major=0 minor=0!
[glutin] x error code=13 major=0 minor=0!
[glutin] x error code=14 major=0 minor=0!
Process didn't exit successfully: `target/debug/examples/window` (signal: 4)

What does the message mean?

This means that it failed to create an OpenGL context.
Does running glxgears work? And if not, what does glxinfo say?

It's been a long time.  @neoedmund feel free to reopen this if you're still having problems.

authors: francesca64 neoedmund tomaka

repo: tomaka/glutin


text:
Crates.io doesn't have the latest version

In the commit a6fe3081d98b8f6c1035001582144b502d897565, 0.1.8 is released, however the crates.io package at https://crates.io/crates/hlua/ only has 0.1.7.

For now, this can be worked around with https://crates.io/crates/hlua_master

Fixed by #70 which I had forgotten to merge

authors: Ameliorate tomaka

repo: tomaka/hlua


text:
Rewrite of wayland backend to new wayland-client API

This is a complete rewrite of the wayland backend to follow the breaking changes of the wayland-client API.
Commits are arranged more or less semantically, with the first one being setting back the state to a skeleton. A lot of stuff has been moved around, so it'll likely be easier to review the commits individually.
Among the notable changes brought by this PR:

upgrade to the new wayland-client API: this allowed to make some significant simplifications in the internal logic of the backend, while taking part of some tradeoffs regarding thread-safety (this is why I needed #322 ).
upgrading to the new version of wayland-kbd brought support for dead keys and compose, allowing to correctly interpret ^ followed by e as ê for example (though we still report two key press events, but only the second one contains an utf8 value)
Otherwise all previous features of the backend should still be there

Has been tested using the window, multiwindow and transparent examples of glutin under weston, everything working fine.

Well, I obviously can't review that. Please add an entry in the changelog saying that the backend was rewritten though.
Then let's merge after conflicts are solved.

Rebased

Thanks!

authors: tomaka vberger

repo: tomaka/winit


text:
iOS Abstract Out the UIView type from winit

[x] Tested on all platforms changed
[x] Added an entry to CHANGELOG.md if knowledge of this change could be valuable to users
[x] Updated documentation to reflect any user-facing changes, including notes of platform-specific behavior

There are a lot of changes to iOS in this pull request.

The UIApplication setjmp hacks now happen in Window::new. This allows PlatformSpecificWindowBuilderAttributes to customize the specific UIView class.
The biggest breaking change here is that winit no longer sets up a GLKView. Putting responsibility on other libraries like glutin and vulkano-win to specify the exact UIView subclass.
EventsLoop now explicitly checks that it's created on the main thread. AFAICT this was required before, but it was just UB to create it anywhere else.
Only one Window can ever be created.
EventsLoop cannot be polled until a Window has been created - in order for the CFRunLoopRunInMode calls to work.

I have been testing it with glutin. https://github.com/mtak-/glutin/commit/1a3066f8582ee2881890c7e7297419c8badb2fb3
Let me know what needs to be changed/etc.

This looks fantastic, thanks!


text:
Android: com.android.dex.DexIndexOverflowException: method ID not in ...

Gradle 3.3, WireMock 2.6.0.
I build my Android project by Gradle. I write my unit test by Espresso, Mockito and all work fine.
Here my build.gradle:
`dependencies {
// for folder "androidTest"
androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2.2'
androidTestCompile "org.mockito:mockito-android:2.7.21"
androidTestCompile "org.powermock:powermock-api-mockito:1.6.6"
androidTestCompile 'org.powermock:powermock-module-junit4:1.6.6'
// for folder "test"
testCompile 'junit:junit:4.12'
testCompile 'org.powermock:powermock-api-mockito:1.6.6'
testCompile 'org.powermock:powermock-module-junit4:1.6.6'

}`
And my project is success build and unit test success run. OK.
Now I want to add WireMock unit test. So I change my build.gradle (as show this blog: http://handstandsam.com/2016/01/30/running-wiremock-on-android/):
`dependencies {
// for folder "androidTest"
androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2.2'
androidTestCompile "org.mockito:mockito-android:2.7.21"
androidTestCompile "org.powermock:powermock-api-mockito:1.6.6"
androidTestCompile 'org.powermock:powermock-module-junit4:1.6.6'
//WireMock
androidTestCompile("com.github.tomakehurst:wiremock:2.6.0") {
    //Using Android Version Instead
    exclude group: 'org.apache.httpcomponents', module: 'httpclient'

    //Version conflict with our app's slf4j version
    exclude group: 'org.slf4j', module: 'slf4j-api'

    //Was getting a classpath conflict for org.objectweb.asm.AnnotationVisitor which is a part of 'net.minidev:asm'
    exclude group: 'org.ow2.asm', module: 'asm'

    //Was getting this warning, so decided to ignore this version included by WireMock.
    //Warning:Dependency org.json:json:20090211 is ignored as it may be conflicting with the internal version provided by Android.
    //In case of problem, please repackage with jarjar to change the class packages
    exclude group: 'org.json', module: 'json'
}

// for folder "test"
testCompile 'junit:junit:4.12'
testCompile 'org.powermock:powermock-api-mockito:1.6.6'
testCompile 'org.powermock:powermock-module-junit4:1.6.6'

}`
But when I try to build my project (gradlew build) I get the next error:
`:app:compileDev_no_verificationAndroidTestShaders
:app:generateDev_no_verificationAndroidTestAssets
:app:mergeDev_no_verificationAndroidTestAssets
:app:transformClassesWithDexForDev_no_verificationAndroidTest FAILED
FAILURE: Build failed with an exception.

What went wrong:
Execution failed for task ':app:transformClassesWithDexForDev_no_verificationAndroidTest'.

com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.dex.DexIndexOverflowException: method ID not in [0, 0xffff]: 65536

Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED
`

As per the README please can you post questions on the mailing list.

repo: tomakehurst/wiremock