text:
[test] New affinity check

This new affinity check reads the node configuration from a reference file which contains the output of lscpu -e. This builds the cpu sets for each NUMA region, socket, etc; so all the reframe tests are now independent from the system. However, since slurm settings could potentially affect a given system, each test has the flexibility to prescribe system specific options too.
Now, to add a new system, one only needs to add one reference file per system and extend the self.valid_systems.

I just read the description of the PR. Wouldn't lscpu -J help, which spits everything in JSON?

You can even combine lscpu -e -J

Hello @jjotero, Thank you for updating!

In the file cscs-checks/prgenv/affinity_check.py:

Line 94:80: E501 line too long (90 > 79 characters)
Line 102:80: E501 line too long (92 > 79 characters)
Line 126:16: E713 test for membership should be 'not in'

Do see the ReFrame Coding Style Guide

I just read the description of the PR. Wouldn't lscpu -J help, which spits everything in JSON?

Sure, I just didn't have a preference for that. I just updated it to use JSON files.

Sure, I just didn't have a preference for that. I just updated it to use JSON files.

I proposed JSON because it's much easier to parse within Python. I will have a look in the test later on.

How urgent is that we merge this? Because it can be really simplified after we merge #1773. The idea is that we put all this information in the configuration and make it available under current_partition. So I suggest commenting in #1773 what is the information that we need there.

I don't see how adding all this information from the config file would simplify this test. If so, I believe it would make the process of porting this test to a new partition a lot more complex, given that you manually have to add all the data into the config file; whereas now you just dump the JSON file and off you go.
My idea with this test was that once we start supporting fixtures, the whole process of fetching the partition topology can be made a fixture that any test could use if needed. That way you remove the need to hardcode any settings anywhere.

Check also this #1742. The idea is that we want to generate the configuration automatically. So all this topology discovery machinery could be part of the "auto-configuration". Other tests might want to know at least some high level information in order to configure themeselves. Why should they have to re-write that. Of course, this could be offered separately in a fixture library, but that's something we need to see.

@vkarak I see. I personally tend to vote against those "auto" features, because then it won't work for some users, and then they complain 😂.
Regarding the urgency of this PR, it is part of the Eiger tests, so I guess we should merge it at some point. We could also push it with a  FIXME in there and then we use this test as the "guinea pig" for all that stuff and see which way looks better.
@jgphpc The the fixture idea would transform that into something like
@rfm.fixture
class NodeTopology:
   ...

# and then in the test
@rfm.simple_test
class MyAffinityTest(rfm.RegressionTest):
    topology = fixture(NodeTopology, scope='partition')

    def __init__(self):
...

or something like that.

I personally tend to vote against those "auto" features, because then it won't work for some users, and then they complain 😂.

I understand this and that's why ReFrame didn't have such automations until now. The requested feature is more on auto-detecting the local node, which you can do in a way more controlled way. On the other hand, since the detection happens locally, fixtures could do the job nicely and I would vote for a cpuinfo fixture that would give you also the archspec information apart from the topology. Fixtures can also be made smart enough to run also on remote partitions. Regarding the syntax, that could be a potential one, but I am also thinking something more pytest-like. But we will discuss this.

Regarding the urgency of this PR, it is part of the Eiger tests, so I guess we should merge it at some point. We could also push it with a FIXME in there and then we use this test as the "guinea pig" for all that stuff and see which way looks better.

I'm fine with a FIXME note for the moment.

1 last minute comment about AlternateSocketFilling/ConsecutiveSocketFilling
On AMD, you have 2 sockets, with 4 numa nodes per socket.
The name could be AlternateNuma/ConsecutiveNuma

@jgphpc Good catch! In fact, the number of AlternateSocketFilling is just wrong. I've been playing with the slurm settings and it seems that there is no easy way to force an actual alternate socket filling in here.
I'll fix that sanity function and rename the tests.

I've now re-run all these tests and they all pass. As I mentioned above, it's not straightforward to me how to actually do an alternate socket filling. This could be quite important for systems that might have (say) 2 devices, and each device with affinity to different sockets. I'll keep experimenting in ault about this, but as far as this PR is concerned, I think it can be merged.

@jenkins-cscs retry eiger

@jenkins-cscs retry all

authors: jgphpc jjotero pep8speaks vkarak


text:
Added teleportation example

Hey @tgehr ,
Silq is a really great language and I'm really addicted to it now (haven't used qiskit or Cirq for 3 weeks straight).
Added an example for Quantum Teleportation over multiple message qubits. Hope this gets merged :)
Thanks
Abeer

Thanks for meeting the pull request @tgehr !

Hi @tgehr,
I don't see an example for Shor's algorithm in the silq repo. Is there a specific reason for not including it or can I see it as an opportunity to contribute one more example into silq? 😅

@AbeerVaishnav13 Well, there is Shor's algorithm for discrete logarithm: https://github.com/eth-sri/silq/blob/master/test/dlog.slq

Ohh yes @tgehr I meant Shor's Algorithm for factoring. My bad.
Ok sure, I'll create another pull request shortly for  the factoring algorithm.
Thanks :)

source: gharchive/pull-request

repo: eth-sri/silq

license_type: permissive

license_source: github-api


text:
Attack animation timing

Seems like the Sfx plays immediately when you press ctrl but the animation doesn't happen till half a second later. Would be nice to improve this

Animation timing is still a little off. I haven't paid too much attention to the sfx timing so I'll take another look at it.

source: gharchive/issue

authors: ethanmoffat sorokya

repo: ethanmoffat/EndlessClient

license: mit

license_source: bigquery


text:
[NEW]: [LFH] Use Hyperlane's API to build in the Interchain!

Introduction
We're Hyperlane, the interchain messaging platform. With Hyperlane's messaging API you can easily and securely communicate between blockchains, empowering you to build interchain applications. Hyperlane's Interchain Accounts allow you to perform actions on distant chains without ever having to deploy contracts on those chains.
Idea description
We have a bunch of ideas about what you could do with Hyperlane, but to help you narrow it down here are some, going from more general to more specific:

You could be passing messages or assets. You could be making cross-chain view calls or oraclize data between blockchains. There is really no end to what you could build, but given that time is of the essence you don’t want to expand scope too much.
A great way to shoot for the top prize is to attempt to make an interchain version of a popular app, i.e. an interchain Compound  or Sudoswap.
DeFi related

You could use our Interchain Accounts API to create an app that allows for interchain swaps without having to deploy any contracts on remote chains.
You could create an interchain Stableswap, accepting deposits of assets on multiple chains and creating unified liquidity pools.
You could create a contract that allows you to control multiple SAFEs or DAOs on remote chains. Using Interchain Accounts you could do this without having to deploy any additional logic on the receiving chains.
You could create interchain payment streaming contracts, collecting deposits on a number of chains and directing assets to

NFT related

You could create an interchain minting contract that acts as a load balancer between chains, i.e collecting orders on several chains (with lower fees or higher throughput) and executing the mint on a different chain.
You could create an interchain nft collection where the NFTs have different properties based on the chain they’re currently on.

Infrastructure

With respect to infrastructure, here’s a chance to build infrastructure either for Hyperlane or build infrastructure for other protocols that uses Hyperlane.
For example, a previous Hyperlane prize winner built infrastructure that supports Hyperlane relayers

Communication & Resources
You can read our docs or join our discord to learn more! We want to hear all your feedback and questions.

Hey hey! I've turned UniswapV2 pools into cross-chain pools using Hyperlane! https://devfolio.co/projects/hyperswap-f5da

authors: Skunkchain bowd

license: Unlicense


text:
[NEW]: on-chain tax solution

Introduction
Talk a little about yourself:
Hey, my name is Werner, I have a degree in tax law and in computer science. I worked for the government to implement tax law into code. After that I was working as PM for a tax startup and now I have a company that offers services to crypto traders and investors to support with their taxes. I'm probably one of the best informed people in this space talking with ministry of finance, members of parliament, teaching tax advisors.
Many of the things I do are a service and helping the investors to fix taxes after the things have been done. I want to move forward in the timeline and support people already when they are doing things onchain. There are a couple ideas that could be implemented and I could write the specs down pretty fast.
Idea 1: Sell shitcoins
Buy-any-NFT or coin contract. Because losses on crypto can only be tax deducted once realized therefore it's important to be able to sell the asset which is not always the case. Especially with small cap coins and NFTs
Idea 2: Tax estimator
A integration for example in Metamask that will show you how much tax you will owe for this transaction. This will only be an estimate but could be helpful to get an idea.
Idea 3: on-chain accounting.
Every web3 startup or company with crypto assets has problems with accounting and finding out what any given transaction means. By adding meta information and dropping those as encrypted information on the blockchain as well.
Skillset
What skills do you need, or think you might need to implement the idea?

[ x ] Core Blockchain Development (Go, C++, Rust)
[ x ] Smart Contracts (Solidity, Vyper)
[ x ] DApps, Web3.JS (JavaScript, CSS)
[ x ] Blockchain Operations, Infrastructure
[ ] Game theory, Crypto-Economics
[ ] Design, User Experience
[ ] Project Management
[ ] Other: ...

Communication

[ ] Matrix handle: werner_pekuna
[ ] Twitter handle_: @pekuna_steuer

Note that this is only a template, feel free to talk about anything you want teams to know!

Update
We are starting to build on idea 1. A smart contract that "buys" any type of coin or NF.
We are still open for people to join the team.
Find us in Room 2.10.4
We will make it fun and want to have a good time here.

Great idea and highly needed. I’ve also thought about building this to realize scam/honeypot losses
Check this one too:
https://nftlossharvestooor.com/

authors: PekunaMaster fabianhug


text:
opnode,l2os: Better lifecycle management

Description
This changes the order of shutdowns to be correct (rollup nodes prior to clients) as well as making sure that all ethclients are shut down.
Metadata
Fixes https://github.com/ethereum-optimism/optimistic-specs/pull/319

Not 100% sure of the whole codebase in depth to know if anything is missing but this generally looks good to me

Codecov Report

Merging #358 (e0d77ce) into main (72d6735) will increase coverage by 0.60%.
The diff coverage is 73.85%.

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

@@            Coverage Diff             @@
##             main     #358      +/-   ##
==========================================
+ Coverage   55.76%   56.36%   +0.60%
==========================================
  Files          46       46
  Lines        3967     3896      -71
==========================================
- Hits         2212     2196      -16
+ Misses       1491     1446      -45
+ Partials      264      254      -10

Impacted Files
Coverage Δ

opnode/test/setup.go
77.82% <65.11%> (ø)

opnode/node/node.go
71.06% <66.66%> (-0.77%)
:arrow_down:

opnode/test/geth.go
60.49% <76.59%> (ø)

opnode/internal/testutils/fake_chain.go
79.13% <94.73%> (ø)

l2os/service.go
77.02% <100.00%> (-1.64%)
:arrow_down:

opnode/l1/request_sema.go
100.00% <100.00%> (ø)

opnode/rollup/driver/state.go
68.88% <100.00%> (+0.34%)
:arrow_up:

opnode/rollup/derive/invert.go
68.42% <0.00%> (-31.58%)
:arrow_down:

opnode/internal/testlog/testlog.go
67.69% <0.00%> (-9.24%)
:arrow_down:

... and 8 more

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 72d6735...f202db1. Read the comment docs.

OK to merge, failing tests are related to an unrelated issue.

authors: codecov-commenter mslipper trianglesphere tynes

repo: ethereum-optimism/optimistic-specs

license: MIT


text:
Fix hang when exception happens inside context block

Builds on #9
What was wrong?
The open_in_process context manager implementation was resulting in processes hanging when an exception occured within the context block.  This was due to a finally statement that did await proc.wait()
How was it fixed?
Adjusted the error handling to more appropriately capture the intended semantics.

if KeyboardInterrupt then we send a SIGINT to the child process and wait a moment to let it shutdown cleanly.
if asyncio.CancelledError we send a SIGTERM to the child process and wait a moment to let it shutdown cleanly.
if context exits without exception we do await proc.wait()
if context exits with an unknown exception or the SIGINT/SIGTERM shutdowns timeout then we do a SIGKILL.

Cute Animal Picture

This somehow makes pypy angry.  I'm inclined to just drop support for pypy since it's been dropped in most other places.  This is ready to review either way.

@gsalgado this is rebased and ready for review.

repo: ethereum/asyncio-run-in-process


text:
EIP4844: Update cryptography API and Fiat-Shamir logic

This PR does a few things with the cryptography of EIP-4844.
Most importantly, it changes the public API of the KZG library to the following high-level API:
- verify_kzg_proof()
- compute_aggregate_kzg_proof()
- verify_aggregate_kzg_proof()
- blob_to_kzg_commitment()

compared to the old much more low-level API:
- compute_powers()
- matrix_lincomb()
- lincomb()
- bytes_to_bls_field()
- evaluate_polynomial_in_evaluation_form()
- verify_kzg_proof()
- compute_kzg_proof()

This means that all the cryptographic logic (including Fiat-Shamir) is now isolated and hidden in the KZG library and the validator.md file ends up being significantly simplified, only calling high-level KZG functions.
Some additional things that this PR does:

Moves all EIP4844 cryptography into polynomial-commitments.md
Improves the Fiat-Shamir stack by removing the need for SSZ and by introducing domain separators.

Future TODO tasks:

Add unittests in test_validator.py that tests the high-level API

Closes #3026

No lost and have lost
Sent from Outlook for iOShttps://aka.ms/o0ukef

From: Danny Ryan @.>
Sent: Monday, October 17, 2022 7:36:30 AM
To: ethereum/consensus-specs @.>
Cc: Subscribed @.***>
Subject: Re: [ethereum/consensus-specs] EIP4844: Update cryptography API and Fiat-Shamir logic (PR #3038)
@djrtwo commented on this pull request.
Good separation of concerns 👍
can you give more on the debate over ssz vs domain separators vs neither?
—
Reply to this email directly, view it on GitHubhttps://github.com/ethereum/consensus-specs/pull/3038#pullrequestreview-1143336598, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AV4C5HQ7YIM32MHK5PVSUJLWDRRM5ANCNFSM6AAAAAARFSSCXM.
You are receiving this because you are subscribed to this thread.Message ID: @.***>

Not sure what to do
Sent from Outlook for iOShttps://aka.ms/o0ukef

From: Ghassan Shaer @.>
Sent: Monday, October 17, 2022 7:38:18 AM
To: ethereum/consensus-specs @.>; ethereum/consensus-specs @.>
Cc: Subscribed @.>
Subject: Re: [ethereum/consensus-specs] EIP4844: Update cryptography API and Fiat-Shamir logic (PR #3038)
No lost and have lost
Sent from Outlook for iOShttps://aka.ms/o0ukef

From: Danny Ryan @.>
Sent: Monday, October 17, 2022 7:36:30 AM
To: ethereum/consensus-specs @.>
Cc: Subscribed @.***>
Subject: Re: [ethereum/consensus-specs] EIP4844: Update cryptography API and Fiat-Shamir logic (PR #3038)
@djrtwo commented on this pull request.
Good separation of concerns 👍
can you give more on the debate over ssz vs domain separators vs neither?
—
Reply to this email directly, view it on GitHubhttps://github.com/ethereum/consensus-specs/pull/3038#pullrequestreview-1143336598, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AV4C5HQ7YIM32MHK5PVSUJLWDRRM5ANCNFSM6AAAAAARFSSCXM.
You are receiving this because you are subscribed to this thread.Message ID: @.***>

Good separation of concerns :+1:
can you give more on the debate over ssz vs domain separators vs neither?

Currently we all agree to remove ssz from the Fiat-Shamir function as this allows for client teams to not implement any of the cryptography.
The debate is on whether these separator labels that we append just before we add a serialised point or field element or polynomial into the bytes array, add any extra security vs having no label at all.
The argument for having them is that you want a precise mapping from your higher level objects to the bytes array. For example, if I was adding a point into the byte array, I could simply serialise the point as 48 bytes then append onto the byte array, or I could first append a label "POINT" and then add the 48 bytes. In this way, the byte array also encodes the types.
Although this seems like a reasonable thing to do, there is no strong rationale as to whether it improves security, and seems to lean on the side of being "extra safe"

My issue is I had no idea in what I was undertaking by investing.   It has both been profitable and costly.
Sent from Outlook for iOShttps://aka.ms/o0ukef

From: kevaundray @.>
Sent: Monday, October 17, 2022 8:41:57 AM
To: ethereum/consensus-specs @.>
Cc: Where-2 @.>; Comment @.>
Subject: Re: [ethereum/consensus-specs] EIP4844: Update cryptography API and Fiat-Shamir logic (PR #3038)
Good separation of concerns 👍
can you give more on the debate over ssz vs domain separators vs neither?
Currently we all agree to remove ssz from the Fiat-Shamir function as this allows for client teams to not implement any of the cryptography.
The debate is on whether these separator labels that we append just before we add a serialised point or field element or polynomial into the bytes array, add any extra security vs having no label at all.
The argument for having them is that you want a precise mapping from your higher level objects to the bytes array. For example, if I was adding a point into the byte array, I could simply serialise the point as 48 bytes then append onto the byte array, or I could first append a label "POINT" and then add the 48 bytes. In this way, the byte array also encodes the types.
Although this seems like a reasonable thing to do, there is no strong rationale as to whether it improves security, and seems to lean on the side of being "extra safe"
—
Reply to this email directly, view it on GitHubhttps://github.com/ethereum/consensus-specs/pull/3038#issuecomment-1280063417, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AV4C5HQ77AQVZN7FBL435Q3WDRZCLANCNFSM6AAAAAARFSSCXM.
You are receiving this because you commented.Message ID: @.***>

As of two minutes ago, I think we now have enough information to come to a conclusion on how to proceed with this

Hope so.   I can not sit with the fact that my trust wallet was absolutely defrauded.  I have little confidence.  Two years on and it still burns !
Sent from Outlook for iOShttps://aka.ms/o0ukef

From: kevaundray @.>
Sent: Monday, October 17, 2022 9:31:21 AM
To: ethereum/consensus-specs @.>
Cc: Where-2 @.>; Comment @.>
Subject: Re: [ethereum/consensus-specs] EIP4844: Update cryptography API and Fiat-Shamir logic (PR #3038)
As of two minutes ago, I think we now have enough information to come to a conclusion on how to proceed with this
—
Reply to this email directly, view it on GitHubhttps://github.com/ethereum/consensus-specs/pull/3038#issuecomment-1280071939, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AV4C5HTGYTJTV7SCF3CREPTWDR63TANCNFSM6AAAAAARFSSCXM.
You are receiving this because you commented.Message ID: @.***>

Thanks interested more in how we are reimbursed.  If coins get burnt but people lose money.  Counter productive it seems.
Sent from Outlook for iOShttps://aka.ms/o0ukef

From: kevaundray @.>
Sent: Monday, October 17, 2022 9:31:21 AM
To: ethereum/consensus-specs @.>
Cc: Where-2 @.>; Comment @.>
Subject: Re: [ethereum/consensus-specs] EIP4844: Update cryptography API and Fiat-Shamir logic (PR #3038)
As of two minutes ago, I think we now have enough information to come to a conclusion on how to proceed with this
—
Reply to this email directly, view it on GitHubhttps://github.com/ethereum/consensus-specs/pull/3038#issuecomment-1280071939, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AV4C5HTGYTJTV7SCF3CREPTWDR63TANCNFSM6AAAAAARFSSCXM.
You are receiving this because you commented.Message ID: @.***>

Where is ENDIANNESS defined?

Where is ENDIANNESS defined?

https://github.com/ethereum/annotated-spec/blob/master/phase0/beacon-chain.md#constants

Merged! Thanks everyone!

repo: ethereum/consensus-specs


text:
[WIP] Adding the plugin reference

Adding the plugin reference in  remix-plugins directory.

Sorry I just see this PR. Can you also add this to the "build/metadata.json" ?

repo: ethereum/remix-plugins-directory


text:
Debug setup difficult in VS Code

Description
It's tricky to set up debug breakpoints inside VS Code whilst also passing environment variables and flags.
Some documentation showing how this can be enabled would be helpful.

Closing this as it likely is too specific and plenty of general vs code docs exist that solve the issue

repo: ethereum/trin


text:
Unify some fast & regular syncer logic

What was wrong?
The fast syncer got a lot of love, and the regular syncer missed out on a lot of those updates, because it was duplicated. When testing out regular sync, it was obvious it needed all the same upgrades.
How was it fixed?
Combined the relevant logic, isolating a few pieces that are different. Had to ask mypy very nicely to allow me to make the changes.
Cute Animal Picture

Pretty sure the failure is unrelated

repo: ethereum/trinity


text:
wrong transaction status?

i have added a token contract and i try to call a contract function via transaction and the result of this transaction seens be successful. but the transaction receipt i got indicates that function call is fail. because that contract function i called has a event but log field in transaction receipt is empty, and gas used is what i entered in input field which is not the gas actually used.

the problem is gas provided for transaction is not enough, but how can i decide how much gas is needed...

repo: ethereumproject/emerald-wallet


text:
fix: vscode type load

In order to load custom types in Visual Studio Code, we need to remove property typeRoots completely from ṫsconfig.json and move all used type definitions to types folder.
Even if it has only one element like "typeRoots": ["types"] or typeRoots": ["./types"] it still won't load.
As I checked, ./src/types is not necessary to be defined in typeRoots anyway, currently it only affects browser tests.
Fixes #119

as I see on the test tun, this typeRoots definition eventually affects doc generation.
@vojtechsimetka , could you tell me some info about it?

IMHO having API documentation superseeds a type warning in VScode (especially since e.g. Atom does not have this issue).

I have a different opinion about this and also I would rather use both. The types are more important in code as we are programming in TypeScript.
P.S. I would'nt like to change my IDE. :smile:

repo: ethersphere/bee-js


text:
chore: release 1.0.0

:robot: I have created a release *beep* *boop*
1.0.0 (2021-11-30)
Features

add isManifest, getHashes and getIndexDocumentPath utilities (#1) (4ddbca8)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/ethersphere/manifest-js/releases/tag/v1.0.0 :sunflower:

repo: ethersphere/manifest-js


text:
Modular etherspot wallet

Description

Removal of ERC7579 and ERC6900 submodules and import of ERC7579 contracts required.

Changed naming from EtherspotWallet7579 to ModularEtherspotWallet.

Rework of wallet, factory and base wallet to comply with updated standard.

Updating of test suite with utilisation of standard tests.

Addition of testing utils to make test setup easier.

Update of deployment scripting.

Updating gas estimation documents.

Updated hardhat.config to abstract solidity compliers, chain configs and Etherscan configs into their own separate config files /config.

Added setup script command to make setup easier and updated README.md.

Motivation and Context

To comply with updated ERC7579 standard for Modular Smart Accounts.

How Has This Been Tested?

Test suite (testing code).
Local deployment (testing deploy script).

Screenshots (if appropriate):
Test Suite:

Successful Local Deployment:

Gas Estimations

Types of changes

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

@lbw33 Pls resolve merge conflicts and issues reported by openzeppelin inspector.

Deleting comment from openzeppelin-code as it contains false positives.

repo: etherspot/etherspot-prime-contracts


text:
Consider using purescript-node-child-process?

I've just published v0.3.2 of purescript-node-child-process. It's used by pulp, which has a fairly comprehensive test suite, so hopefully that will put your mind at ease.
If you want, you could swap out your bindings for this library. I should be clear about why I think this would be a good thing:

It would serve as a better example for people who read the source of purs-loader
It would help us improve the node-child-process API
It might uncover bugs in node-child-process (although I am fairly sure that the part purs-loader would use doesn't have any bugs)
It might be easier for you if you ever need any more of the Node child_process API

Admittedly, these are more in the interest of the community at large rather than purs-loader in particular. So please feel free to ignore this! Alternatively, if you agree, I would be happy to do the work and send a PR.

Thanks for the heads up on purescript-node-child-process. Your library looks great!
I'd definitely be interested to migrate to using it. However, pending #34, this loader may be replaced with a plugin. So perhaps it would be best to hold off on a PR until #34 is figured out. But note that if the plugin pans out, I will be migrating it to purescript and will certainly use the purescript-node-child-process library.
If you're still interested in submitting PRs for migrating to the purescript-node-child-process library, the gulp-purescript package might be a good candidate. I've raised purescript-contrib/gulp-purescript#58 as a reminder so I remember to do this at some point. But I would definitely be open to a PR for it.

Ok, sounds great :) I will probably send a PR to gulp-purescript at some point in the not too distant future, then.

Great. Thanks!
On Sunday, 27 December 2015, Harry Garrood notifications@github.com wrote:

Ok, sounds great :) I will probably send a PR to gulp-purescript at some
point in the not too distant future, then.
—
Reply to this email directly or view it on GitHub
https://github.com/ethul/purs-loader/issues/35#issuecomment-167421214.

Closing since #34 has been merged. The heavy lifting is now done by the purescript-webpack-plugin. This will be migrated to purescript and will definitely leverage the purescript-node-child-process module.

authors: ethul hdgarrood

repo: ethul/purs-loader


text:
Allow Fides to use email OR phone as primary identity

Description
A new customer uses phone number as the primary id. We will need to add Twillio as a provider since it supports from SMS and email.
Fides + Twillio will need to text users for identity verification and dsr notifications.
Acceptance Criteria

Add a configuration option for fides to "know" what the primary identity is for a privacy request (e.g. a setting, policy option, etc.)
Use this configuration to control the behaviour of identity verification (#1467) and subject notifications (#1468)
This can be a single option per instance (today), but eventually should be configured per DSR policy rule

Implementation Details
The most appropriate way to configure this would be part of the DSR policy rules - therefore, you could have one rule that accepts email, another that accepts phone number, etc. However, as an immediate option, a single config option would be acceptable.

My understanding is that this is already possible.
https://ethyca.github.io/fides/tutorial/policy/#understanding-the-policy

@shawnplusplus that's not quite accurate; we can accept any kinds of identities, but in order to determine what is used for other features there is no configurable options today - everything for DSR automation assumes that email is how the privacy center is used.

authors: Kelsey-Ethyca NevilleS shawnplusplus

repo: ethyca/fides


text:
Add filtering and pagination to bulk vendor add table

Closes PROD-1267
Description Of Changes
This PR applies a few follow items based on feedback from the original bulk vendor adding PR.
Code Changes

[ ] add source filter modal
[ ] only show the filter modal and source column if TCF is enabled
[ ] add a pagination menu

Steps to Confirm - UAT
TCF enabled

[x] go to bulk vendor adding page
[x] check that the source column is there
[x] click on the filter button and make sure the filter works
[x] use the pagination menu and make sure it works

https://github.com/ethyca/fides/assets/17103888/1cc65114-14b6-4e86-a6f2-d23630a26e43
TCF disabled

[x] go to bulk vendor adding page
[x] check that the source column isn't there
[x] check that the filter button isn't there
[x] use the pagination menu and make sure it works

https://github.com/ethyca/fides/assets/17103888/3ed6e90a-0724-43fe-9c33-9dd64ffa3371
Pre-Merge Checklist

[ ] All CI Pipelines Succeeded
Documentation:

[ ] documentation complete, PR opened in fidesdocs
[ ] documentation issue created in fidesdocs

[ ] Issue Requirements are Met
[ ] Relevant Follow-Up Issues Created
[x] Update CHANGELOG.md
[ ] For API changes, the Postman collection has been updated

@allisonking Re: route being accessible when the dictionary isn't enabled.
I think updating the nav config to handle it makes the most sense. That's what we already do with plus and fides cloud.

that doesn't work because the page is accessed from a button instead of the navbar. Adding that check there will block the entire add-systems route if they don't have compass. For now I'll update the page to redirect to the index if the user doesn't have compass

ah okay, that might be a bug with how our nested routes work. I remember that bit of code being a bit complex... we might want to revisit this in the future

Pagination :
Here's a link to Figma to show the pagination control interaction. Notice the interaction takes place on the numeric values on the left and there is no additional control on the right that we see in the video above. So the Figma link shows the resting, hover and active states for the pagination control.
Filter :
Button alignment with the vendors button is slightly off. See attached. Both buttons should be aligned vertically

Tags should be centered horizontally in column (see attached GVL tag reference)

If possible, can we add a tooltip to the vendor tags : Maybe that's for another ticket, if so please ignore for now.
@rsilvery might confirm if this naming is how it should be presented ...
GVL tooltip : Global Vendor List
AC tooltip : Google Additional Consent List
And also for consistency, in the filter modal, we should probably change GVL and AC to their full names to be more descriptive for the user.
Filter and vendor buttons should be switched. So filter button on the right as it's the secondary action to the add vendors button
Otherwise looks great! 👍

thanks @simon-keane — I edited your comment to have checkboxes so I could keep track of which ones I knocked out. see this updated video, I think I got all your comments!
https://github.com/ethyca/fides/assets/24641006/6f9c0441-f242-4738-a4e5-63fc3e1de28b

UAT is passing! But I did create a followup bug to address the multiselect. It should select only the first page of vendors. https://ethyca.atlassian.net/browse/PROD-1306

Superb thanks @allisonking looks great.

authors: Kelsey-Ethyca TheAndrewJackson allisonking renderbits simon-keane


text:
Deprecate legal_basis , legitimate_interest, and legitimate_interest_impact_assessment in taxonomy

When #3827 is complete, we need to deprecate these fields in fideslang and provide a migration path.

Reopening, I am not sure if I am deprecating these yet in the same body of work

We are, paired with #3907 that we'll deliver in this release.

moving to done

authors: Roger-Ethyca pattisdr rsilvery

repo: ethyca/fideslang


text:
undefined reference to tensorflow::readbinaryproto  error

Hello, I am trying to compile your newer version of segmap which containing the cnn descriptor.
the most of catkin packages were built but I encountered an error while "catkin build segmapper" as below.

I searched for this issue on Google and found out that it's because the dynamic lib of tensorflow is not installed.
https://github.com/mgharbi/hdrnet_legacy/issues/10
so I re-built tensorflow 1.8.0 with the below command and re-installed.
bazel build --config=opt --define framework_shared_object=true tensorflow:libtensorflow_cc.so
However, the same error happens.
Can you guess what is the problem?
Thank you,

Seems to be a tensorflow compilation issue. What you could do is try with a newer version of tensorflow, such as 1.10. Only thing you'd need to do after that is retrain the models which are not compatible across versions of tensorflow.

@smauq  Thank you so much!
I successfully built the newer version of Segmap with Tensorflow 1.9.0!

Hi,I also install the Tensorflow 1.9.0,but when I run 'catkin build tensorflow_ros_cpp --cmake-args -DFORCE_TF_PIP_SEARCH="ON"' it turned a error:  Tensorflow was not found
What can I do to solve it ?
Thanks

Hi, @JustWon and @smauq . I tried to compile the newest version of segmap but got an error while building "segmapper". I use the latest version of tensorflow, which is 1.14.0, under ubuntu 16.04. The errors are posted below:
/usr/bin/ld: warning: libtensorflow_framework.so.1, needed by /home/lee/segmap_ws/devel/lib/lib_pywrap_tensorflow.so, not found (try using -rpath or -rpath-link)
/home/lee/segmap_ws/devel/lib/lib_pywrap_tensorflow.so：对‘tensorflow::shape_inference::InferenceContext::DebugString() const’未定义的引用
/home/lee/segmap_ws/devel/lib/lib_pywrap_tensorflow.so：对‘tensorflow::DebugOptions* google::protobuf::Arena::CreateMaybeMessage<tensorflow::DebugOptions>(google::protobuf::Arena*)’未定义的引用
/home/lee/segmap_ws/devel/lib/lib_pywrap_tensorflow.so：对‘tensorflow::_OptimizerOptions_default_instance_’未定义的引用
/home/lee/segmap_ws/devel/lib/lib_pywrap_tensorflow.so：对‘tensorflow::shape_inference::InferenceContext::InferenceContext(int, tensorflow::NodeDef const*, tensorflow::OpDef const&, std::vector<tensorflow::TensorShapeProto, std::allocator<tensorflow::TensorShapeProto> > const&, std::vector<tensorflow::Tensor const*, std::allocator<tensorflow::Tensor const*> > const&, std::vector<tensorflow::TensorShapeProto, std::allocator<tensorflow::TensorShapeProto> > const&, std::vector<std::unique_ptr<std::vector<std::pair<tensorflow::TensorShapeProto, tensorflow::DataType>, std::allocator<std::pair<tensorflow::TensorShapeProto, tensorflow::DataType> > >, std::default_delete<std::vector<std::pair<tensorflow::TensorShapeProto, tensorflow::DataType>, std::allocator<std::pair<tensorflow::TensorShapeProto, tensorflow::DataType> > > > >, std::allocator<std::unique_ptr<std::vector<std::pair<tensorflow::TensorShapeProto, tensorflow::DataType>, std::allocator<std::pair<tensorflow::TensorShapeProto, tensorflow::DataType> > >, std::default_delete<std::vector<std::pair<tensorflow::TensorShapeProto, tensorflow::DataType>, std::allocator<std::pair<tensorflow::TensorShapeProto, tensorflow::DataType> > > > > > > const&)’未定义的引用
/home/lee/segmap_ws/devel/lib/lib_pywrap_tensorflow.so：对‘tensorflow::DeviceName<Eigen::GpuDevice>::value’未定义的引用
/home/lee/segmap_ws/devel/lib/lib_pywrap_tensorflow.so：对‘tensorflow::FindKernelDef(tensorflow::DeviceType const&, absl::string_view, bool, tensorflow::NodeDef_ExperimentalDebugInfo const&, absl::string_view, absl::string_view, tensorflow::AttrSlice, tensorflow::KernelDef const**, std::string*)’未定义的引用
/home/lee/segmap_ws/devel/lib/lib_pywrap_tensorflow.so：对‘tensorflow::tensor::DeepCopy(tensorflow::Tensor const&)’未定义的引用
/home/lee/segmap_ws/devel/lib/lib_pywrap_tensorflow.so：对‘tensorflow::VersionDef::VersionDef(tensorflow::VersionDef const&)’未定义的引用
/home/lee/segmap_ws/devel/lib/lib_pywrap_tensorflow.so：对‘tensorflow::Node::ClearAttr(std::string const&)’未定义的引用
/home/lee/segmap_ws/devel/lib/lib_pywrap_tensorflow.so：对‘tensorflow::CallableOptions::ByteSizeLong() const’未定义的引用
/home/lee/segmap_ws/devel/lib/lib_pywrap_tensorflow.so：对‘tensorflow::TensorShapeUtils::MakeShape(int const*, long long, tensorflow::PartialTensorShape*)’未定义的引用
/home/lee/segmap_ws/devel/lib/lib_pywrap_tensorflow.so：对‘tensorflow::GetNodeAttr(tensorflow::AttrSlice const&, absl::string_view, std::vector<tensorflow::NameAttrList, std::allocator<tensorflow::NameAttrList> >*)’未定义的引用
/home/lee/segmap_ws/devel/lib/lib_pywrap_tensorflow.so：对‘tensorflow::CostGraphDef_Node_OutputInfo* google::protobuf::Arena::CreateMaybeMessage<tensorflow::CostGraphDef_Node_OutputInfo>(google::protobuf::Arena*)’未定义的引用
/home/lee/segmap_ws/devel/lib/lib_pywrap_tensorflow.so：对‘tensorflow::Env::NewRandomAccessFile(std::string const&, std::unique_ptr<tensorflow::RandomAccessFile, std::default_delete<tensorflow::RandomAccessFile> >*)’未定义的引用
/home/lee/segmap_ws/devel/lib/lib_pywrap_tensorflow.so：对‘tensorflow::OptimizationPassRegistry::RunGrouping(tensorflow::OptimizationPassRegistry::Grouping, tensorflow::GraphOptimizationPassOptions const&)’未定义的引用
/home/lee/segmap_ws/devel/lib/lib_pywrap_tensorflow.so：对‘tensorflow::GraphTransferInfo::GraphTransferInfo()’未定义的引用
/home/lee/segmap_ws/devel/lib/lib_pywrap_tensorflow.so：对‘tensorflow::AttrValue::MergePartialFromCodedStream(google::protobuf::io::CodedInputStream*)’未定义的引用
/home/lee/segmap_ws/devel/lib/lib_pywrap_tensorflow.so：对‘tensorflow::VariantTensorDataProto::VariantTensorDataProto(tensorflow::VariantTensorDataProto const&)’未定义的引用
/home/lee/segmap_ws/devel/lib/lib_pywrap_tensorflow.so：对‘tensorflow::NodeBuilder::NodeBuilder(tensorflow::NodeDefBuilder const&)’未定义的引用
/home/lee/segmap_ws/devel/lib/lib_pywrap_tensorflow.so：对‘tensorflow::PartialTensorShapeUtils::PartialShapeListString(absl::Span<tensorflow::PartialTensorShape const> const&)’未定义的引用
/home/lee/segmap_ws/devel/lib/lib_pywrap_tensorflow.so：对‘typeinfo for google::protobuf::io::ErrorCollector’未定义的引用
/home/lee/segmap_ws/devel/lib/lib_pywrap_tensorflow.so：对‘typeinfo for tensorflow::Session’未定义的引用
/home/lee/segmap_ws/devel/lib/lib_pywrap_tensorflow.so：对‘tensorflow::checkpoint::TensorSliceReader::GetVariableToDataTypeMap() const’未定义的引用
/home/lee/segmap_ws/devel/lib/lib_pywrap_tensorflow.so：对‘tensorflow::NodeBuilder::NodeOut::NodeOut()’未定义的引用
/home/lee/segmap_ws/devel/lib/lib_pywrap_tensorflow.so：对‘tensorflow::checkpoint::TensorSliceReaderCacheWrapper::GetReader(std::string const&, std::function<tensorflow::Status (std::string const&, tensorflow::checkpoint::TensorSliceReader::Table**)>, int) const’未定义的引用
/home/lee/segmap_ws/devel/lib/lib_pywrap_tensorflow.so：对‘tensorflow::AssetFileDef::default_instance()’未定义的引用
/home/lee/segmap_ws/devel/lib/lib_pywrap_tensorflow.so：对‘tensorflow::profiler::Resource::~Resource()’未定义的引用
/home/lee/segmap_ws/devel/lib/lib_pywrap_tensorflow.so：对‘tensorflow::PartialTensorShape::Concatenate(tensorflow::PartialTensorShape const&) const’未定义的引用

It seems like the libtensorflow_cc.so is quite different with the previous versions. Is it possible that I compiled tensorflow from wrongly? I just followed the instruction on tensorflow home page to do that from its source code. And I've rebuilt tensorflow many times, though it took me more than 2 hours for a time!!  Could you please give me some hints to solve this issue? thanks in advance!!

Hello, I am trying to compile your newer version of segmap which containing the cnn descriptor. the most of catkin packages were built but I encountered an error while "catkin build segmapper" as below.
I searched for this issue on Google and found out that it's because the dynamic lib of tensorflow is not installed. mgharbi/hdrnet_legacy#10
so I re-built tensorflow 1.8.0 with the below command and re-installed. bazel build --config=opt --define framework_shared_object=true tensorflow:libtensorflow_cc.so
However, the same error happens. Can you guess what is the problem?
Thank you,

hi,I encountered the same problem with you,can you tell me the answer?

authors: JustWon LiShuaixin jiu876 killyseason smauq

repo: ethz-asl/segmap


text:
cache-dir created with wrong ownership when using process-user flag on 0.4.6

snmpsimd.py --process-user=nobody --process-group=nogroup --cache-dir=/tmp/snmp-cache
When running the above command with version 0.4.6, the newly created snmp-cache directory is owned by the user executing snmpsimd.py. On version 0.4.5 and below, the same command creates the cache directory with ownership assigned to the configurable process-user flag, ie. nobody.
This seems like a regression after the file permission changes in the new version.

Thank you for reporting this! Should be fixed and released shortly.

Let's see if commit 8e35fd57d49bab2cee59c154abb23b0bcc67fc8b fixes this problem?

authors: etingof sweatybridge

repo: etingof/snmpsim


text:
User Menu does not close when an item in the Drawer is clicked (in DrawerLayout)

Describe the bug / expected behavior
We have observed an issue with closing of User Menu component when used within the Drawer component. The User Menu does not close when any item in the Drawer is clicked, but it works when clicked outside of the drawer component region.
What are the steps to reproduce?

Open the User Menu.
Click any place/item in the Navigation Drawer. (User Menu does not close)
Click any place outside the Navigation Drawer. (User Menu will close)

Screenshots / Screen recording
N/A
Code snippet / Link to minimum reproduction example

Material components (working example)
BLUI components (not working example)

Your environment information
Windows 10, Chrome (latest), Edge (latest)
Suggested fix
As a workaround, you can enable the portal used by the Menu component in the UserMenu:

We will need to see if enabling the portal inside of the UserMenu component causes any adverse effects (I can't remember why we disabled it in the first place).
Anything else to add?
This is caused by the z-indexing logic in the DrawerLayout. The Drawer has its z-index bumped up to cover the main content, but this puts the backdrop of the UserMenu behind the drawer, so clicking the Drawer does not trigger the close of the UserMenu.
reported by Melwyn.

Update the readme with this known issue and add a workaround to how to fix it.

It looks like the styles added in the showcase for DrawerLayout component are fixing this issue.
Styles : https://github.com/etn-ccis/blui-react-showcase-demo/blob/9d2e0d0b77175818695bfc91c712165125a7771f/src/router/index.tsx#L44
We can add those as default styles to DrawerLayout component in the blui-react-component-library.

authors: ektaghag-eaton joebochill surajeaton

repo: etn-ccis/blui-react-component-library


text:
Cannot close only one tab when opening several files

When I open several files in one tab, I cannot close the active tab but keep the others opened. How could I do that?
For example, when I open 'train.py' and 'data.py' at the same time, once I wq 'train.py', the vim shutdown totally. But, I still want to edit 'data.py'. I'm new to vim, how could I get this?

Hey @Air-Fighter ,
I think you can try \q.

It works, thank you @rmk135

repo: ets-labs/python-vimrc


text:
Errors upgrading from 1.0.1 to 1.1.0

bin/migration.php
except [NONE] Errno 2: "require(/var/www/411/vendor/autoload.php): failed to open stream: No such file or directory" at [/var/www/411/phplib/411bootstrap.php:57] 0:[require() called at [/var/www/411/phplib/411bootstrap.php:57]] 1:[require_once() called at [/var/www/411/bin/migration.php:7]]
PHP Fatal error:  require(): Failed opening required '/var/www/411/vendor/autoload.php' (include_path='.:/usr/share/pear:/usr/share/php') in /var/www/411/phplib/411bootstrap.php on line 57

/usr/local/bin/composer update
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.
Problem 1
- Installation request for etsy/phan ^0.6.0 -> satisfiable by etsy/phan[0.6].
- etsy/phan 0.6 requires php >=7.0 -> your PHP version (5.6.27) does not satisfy that requirement.
PS: Setup.md lists PHP 5.5 as a minimum version...

Your requirements could not be resolved to an installable set of packages.
Problem 1
- Installation request for etsy/phan ^0.6.0 -> satisfiable by etsy/phan[0.6].
- etsy/phan 0.6 requires ext-ast * -> the requested PHP extension ast is missing from your system.

Whoops, I forgot to update the upgrade docs. PHP 5.5 is still supported. Just run composer update --no-dev --optimize-autoloader and you should be good to go. (phan is a dev dependency)

I did use --no-dev as per my 3rd post, and was still getting errors...
so:
composer install --no-dev --optimize-autoloader
works fine when you are first installing but then:
composer update --no-dev --optimize-autoloader
doesn't:
Your requirements could not be resolved to an installable set of packages.
Problem 1
- Installation request for etsy/phan ^0.6.0 -> satisfiable by etsy/phan[0.6].
- etsy/phan 0.6 requires ext-ast * -> the requested PHP extension ast is missing from your system.

I think I misunderstood what install and update do. I think composer install should be sufficient to get all dependencies?

Yeah, for my fresh PHP7 setup, "install" worked fine.
It's just that I noticed that "update" wouldn't work on PHP 5.6, and then that it wouldn't also work on 7.0 post-upgrade.
I running 411 with no issues, just thought I'd highlight this issue.

Coolbeans. Thanks for the note and apologies for the trouble. Update the docs and will close this out!

authors: kiwiz profilernz


text:
Init MESSAGEMAN earlier

It is undefined behaviour to call MESSAGEMAN->Broadcast before initialization (compilers are free to compile away the null check on MessageMan.cpp:209, and in fact g++ does, leading to a SIGSEGV on startup).

vanilla has had this merged for a couple years and i didn't have any issue when testing it so, ok

authors: MinaciousGrace hexpointer

repo: etternagame/etterna


text:
Checkbox switch radio not working in Form

Hi,
The radio button, checkboxes and switches are not working if they are inside a form.
You can see the errors in the kitchen-sink.html
Good job by the way :)

I can confirm the problem in kitchen-sink.html

authors: kashiif totomaze

repo: eucalyptuss/material-foundation


text:
Wrong documentation regarding "@EnableWebFlux" in Tutorial "Spring Webflux and CORS"

The spring-webflux-cors-tutorial states in part 3:

In addition, the implementation needs the @EnableWebFlux annotation to import the Spring WebFlux configuration

This is in my opinion wrong, because as stated by Spring

If you want to take complete control of Spring WebFlux, you can add your own @Configuration annotated with @EnableWebFlux.
By this it not enables some webflux-configuration but disables all auto-configuration.

Spring documents:

If you want to keep Spring Boot WebFlux features and you want to add additional WebFlux configuration, you can add your own @Configuration class of type WebFluxConfigurer but without @EnableWebFlux.

Thanks for the feedback @blatobi
I've now updated this paragraph to:
"In addition, the implementation needs the @EnableWebFlux annotation to import the Spring WebFlux configuration in a plain Spring application. If we're using Spring Boot, then we only need this annotation if we want to override the auto-configuration"

repo: eugenp/tutorials


text:
Code on blog does not match code in repo, code in repo works, code on blog doesn't

The code for the sayHello method here (in this repo)...
https://github.com/eugenp/tutorials/blob/1c8962aff3e0c97f86b58ce9d33c9a2b4585e699/spring-reactive-modules/spring-reactive/src/main/java/com/baeldung/reactive/errorhandling/Handler.java#L56
...does not match the sayHello method on this blog:
Handling Errors in Spring WebFlux
The blog illustrates the usage of onErrorResume. However, given the sayHello method and handleRequest methods as stated on the blog, the onErrorResume block in the handleRequest method will never be entered. The reason is that request.queryParam("name").get() in sayHello throws an exception outside of the reactive pipeline of operations. (The exception is thrown before Mono.just has a chance to create a Mono publisher.)
The sayHello here on GitHub catches the exception and wraps it in a Mono.error, which is a different approach. (It signals the error inside the reactive pipeline.)
Are you able to update the blog? If I could make a suggestion, consider updating the blog so that sayHello matches the sayHello defined here in the GitHub repo.

Hey @jasonstolaruk.
Thanks for the feedback, we'll look into the issue and update the article.

Article is updated to match the code.

authors: jasonstolaruk lor6 ulisseslima


text:
[FIX] typo in example decodeImageUrl

I believe that's what you meant! :)

Nice, thank you! The danger of renaming things when the names are in comments too :)

@evancz totally hehe

authors: daedelus-j evancz

repo: evancz/elm-architecture-tutorial


text:
Update secondary content (Skills, Experiences, Additional info blocks)

Update secondary content (Skills, Experiences, Additional info blocks)

Update secondary content (Skills, Experiences, Additional info blocks)

repo: evangeldaping/homepage


text:
How generate a Google graph from a date time csv file

Hello,
I'm totally newbie and need to generate a google graph from date time stamps in X axis and Temperature value in Y axis, something like this : https://jsfiddle.net/99guxm3b/4
I need the values to be parsed from a CSV file, this file with be automotically filled-in with datas every x minutes.
How should i format my CSV or TXT file to let that file readable in order to generate the lines accordlingly in the Google Graph function drawChart() ?
data.addRows([
[new Date(Year, Month, Day, Hours, Minutes, Seconds, Milliseconds), YaxisValue]
]);
or
data.addRows([
[new Date(Milliseconds), YaxisValue]
]);
Once CSV file properly defined , what function should i use to parse datas and generate the graph ?
If someone could show me the way to proceed from a jsfiddle.net example, i could help me a lot.
Regards,

You should report issues here not questions. Please use Stackoverflow to ask questions.

This lib doesn't deal directly with Google Visualization other than providing a simple demo. With that said, the parser has some more advanced capabilities that can be leveraged to properly prepare your input data.
If you were to use CSV you could store the values in the [new Date(Milliseconds), YaxisValue] format. Do parse toArrays() and input the resulting 2D array into the data.addRows.
To get the data from a file into a 2D array check out the Google Visualization Demo specifically lines 142-152.
Since the parser treats all data as text you'll need to add another step to cast the values to the correct types. That's where hooks become useful, specifically the onParseValue hook. The lib already includes a generic hook definition used to detect and cast scalar values:
$.csv.hooks.castToScalar
castToScalar: function(value, state) {
    var hasDot = /\./;
    if (isNaN(value)) {
      return value;
    } else {
      if (hasDot.test(value)) {
        return parseFloat(value);
      } else {
        var integer = parseInt(value);
        if(isNaN(integer)) {
          return null;
        } else {
          return integer;
        }
      }
    }
}

Use this as a template to create your own custom hook.
Since you already know the structure of the data you can erase the body of the hook that deals with type detection. Just make sure the function signature hook(value, state) is maintained. The state property is used to track the current row/col, and the value is the value currently being parsed -- this is what you'll need to cast and return.
Here are the properties of the state object.
state: {
  rowNum: 1,
  colNum: 1
}

So, to properly convert your data add conditionals for if(rowNum === 1) and if(rowNum === 2). When you're done defining the callback hook assign it to the onParseValue property of the parser definition as seen in lines 142-152 of the demo.
When the parser spits out a 2D array it should contain the data cast to the correct types. Simply, use it at the data source for your graph and it should just work.

authors: arashsoft evanplaice lcoulon

repo: evanplaice/jquery-csv


text:
An alternative method

Hi Evan! I saw a post on Hacker News about you making thumbhash. But I think there already exists a simple compression method for tiny images, called BC1 (DXT1) texture compression - https://en.wikipedia.org/wiki/S3_Texture_Compression. It uses 4 bits per RGB pixel, I believe a decompressor can be made in under of 500 Bytes of code.
I wrote a comment about it - https://news.ycombinator.com/item?id=35268000 , and somebody actually implemented it - https://i.imgur.com/eIYZAmj.png (these are 8x8 pixel images, 32 Bytes each, enlarged with a bilinear interpolation).
It exists for decades and I wonder if you are aware of it. Maybe you could mention it in your repository, or do some comparison.

Based on your example image, the results are not nearly as pretty as blurhash or thumbhash IMO

What do you mean by "pretty"? The goal is to depict the original image as closely as possible, not to be "pretty". I think the BC1 method definitely is less blurry (contains more details). The bilinear interpolation could be replaced with something else.

The goal is to depict the original image as closely as possible

If that's your goal, go for it! I thought the same thing originally, but now I kinda agree with the goal of the blurhash project, which is to make placeholder content less ugly/more individualized while also giving a preview of the unique imagery to be loaded.
Here on their Github FAQ you can see why they default to a four by three sample, despite the fact that the library supports much higher sampling. After playing with the config supported by the previewer on their website, I came to the conclusion that indeed, more color stops is not usually nicer. This is of course algorithm-specific, but...
In general I think "contains more details" and "depicting the original as closely as possible" is actually the goal of a thumbnail, not a blurhash, which simply has the stated goal of "a compact representation of a placeholder for an image". Technically the former goal (max representation) is satisfied by a tiny low-res copy of the image that is blown up in all its pixelated glory... if that's not too ugly for you or your designers, a thumbnail is all you need!

By adding a blur, being choosy about the colors that dominate, etc, I'm conceding that being pretty is in fact the goal as well. So for me at least (and blur/thumbhash I believe) the goal is to balance aesthetics with accuracy - which I think thumbhash does best so far.
The best way I can explain it is: In these placeholders there's a threshold of detail, above which the human visual system works harder to disambiguate the blurriness, ultimately making it take longer to come to the same inevitable conclusion of "oh, I need to wait for the real thing to load". It's like the uncanny valley between "placeholder" and "picture". When looking at a page full of noisier/detailed placeholders, I feel this effect even more strongly.

vs.

This kinda example really highlights for me why more color stops aren't always better - the latter gives me more colors (like puke) but in practice, doesn't actually bring me appreciably closer to understanding what's going on in the image - so it's just kinda extra cognitive load while I wait.
In the original image, I can realize that none of the objects on the table will ever be truly recognizable without high detail, so as a designer my instinct would be to fall back to the color of the table on which they sit - which the first blurhash (at the recommended sampling) does pretty well. The objects can then "place themselves" on that "blank" table when the full image loads. :P

authors: Erudition photopea

repo: evanw/thumbhash


text:
Fix wrong time display

Fix #17704
Hi,
dieser PR soll den richtigen Timestamp anzeigen, wenn bei den wiederholenden Plänen die Ladezeit über die festgelegte Zeit hinausgeht.
Diese Implementierung funktioniert soweit schonmal. Ich weiß aber nicht, ob alle Use Cases abgedeckt sind, da wäre es super, wenn ihr auch einmal austestet was geht.
Vielen Dank für das tolle Projekt!
~Maschga

Mir ist nicht klar, wie die Lösung hier aussieht. Alle Werte zwischenspeichern? Was ist denn der Root Cause des aktuellen Issues?

Die wiederholenden Pläne speichern für die Zieluhrzeit keinen Timestamp, sondern Wochentag + Uhrzeit. Deshalb müssen die Timestamp-Zieluhrzeiten der wiederholenden Pläne errechnet werden.
Eine Annahme dafür ist, dass diese Zieluhrzeit (logischerweise) in der Zukunft liegt.
Zudem wird für jede Iteration auf dem Loadpoint die Zieluhrzeit jedesmal neu errechnet, da es sein kann, dass der Benutzer etwas an dem wiederholenden Plan geändert hat.
Wenn jetzt aber ein Auto mit einem wiederholenden Plan geladen wird und das Laden über die vom Benutzer gewünschte Zielzeit hinaus geht (also länger dauert, als evcc angenommen hat), dann wwäreird ab dem Zeitpunkt, bei dem die Zielzeit überschritten wird, diese Zielzeit in der Vergangenheit. Weil aber die Logik annimmt, dass die Zieözeit in der Zukunft liegen muss, wird ab sofort die Zielzeit auf den nächstgelegenen Wochentag geschoben, was zu diesem Fehler führt.
@naltatis hat den Vorschlag gemacht, den Soc und die Zielzeit zwischenzuspeichern, um den oben beschriebenen Fall zu umgehen. Das funktioniert in meiner Implementierung schon, aber bei Änderungen am Plan müssten noch die Variablenwerte angepasst werden. Da habe ich noch keine gute Lösung gefunden.

Hier ist diese Logik implementiert: https://github.com/evcc-io/evcc/blob/master/util%2Ftime.go#L9

Wir haben ja schon die planActive Variable. Könnten wir die nutzen (oder die auf plan- als Pointer zum Plan- und planActiveSlot aufsplitten) anstatt zwei neue hinzu zu fügen? Solange der alte Plan nicht fertig ist würde dann der plan weiter verwendet. Nach der Zielzeit wird ohnehin schnell geladen, ein folgender Plan könnte also auch nichts Besseres bewirken.

Eine Variable zu nutzen, um den Plan zu speichern, gefällt mir gut.
Wie mit einer Änderung umgegangen werden soll, bin ich mir noch nicht sicher. Ich weiß nicht, was in einem solchen Fall der Nutzer erwarten würde.

oder die auf plan- als Pointer zum Plan

Das ist nicht ganz so einfach. Ein Plan Objekt auf das wir verweisen können gibt es in der Form ja nicht. Die aktuelle Planzeit und das Ziel (SoC o. kWh) kann momentan drei Quellen haben:

kWh Plan am Ladepunkt (Energie + Zeitpunkt)
fester SoC Plan am Fahrzeug (SoC + Zeitpunkt)
wiederholender SoC Plan am Fahrzeug (SoC + Wochentagsregel)

Daher ist der Weg, dass wir uns das konkrete Ziel und Zeit beim beginnen der Ladung als primitiven merken schon gut. Wir müssen hier nur die Schreiblogik beieinander halten, dass wir keine inkonsistenten Zustände bekommen.

authors: Maschga andig naltatis

repo: evcc-io/evcc


text:
Easee: do not wait for DCC update after NoOp API call

fix #9007

@andig kleine Detailfrage am Rand. Ich würde gerne für reverts ohne den force-push auskommen. Wie führst Du reverts für commits durch?

git revert <sha>

ok, jetzt geht das natürlich nicht mehr weil du den Case geändert hast ;)

ok, jetzt geht das natürlich nicht mehr weil du den Case geändert hast ;)

Ja, das war mein perfider Trick! 😉
(Den letzten Change hatte ich heute nur kurz in Aktion. Morgen kann ich länger laden und testen.)

Ich habe gerade noch einen finalen Check hinzugefügt bevor wir beim wait auf das Product Update ein Timeout zurückgeben. Die "race condition" das zwischen mux.unlock und dem Select ein Product Update kommt, scheint doch häufiger als gedacht zu passieren. (Falls der Kontext nicht mehr ganz präsent ist - das hatten wir hier mal diskutiert.)

authors: GrimmiMeloni andig


text:
Joetaylor/add optional events

I want to make an Android Chrome keyboard which will only fire keydown and keyup events.

@eventualbuddha done, PTAL

@iamJoeTaylor see https://github.com/iamJoeTaylor/keysim.js/pull/3

Also, you may want to rebase from current master which fixes the Travis CI build.

@eventualbuddha done

authors: eventualbuddha iamJoeTaylor


text:
add simple nodejs image

Proposed Changes
Adds a simple NodeJS container image that can be used to create a NodeJS pim in the packageless-pims repository.
This is just the latest NodeJS version.
Type of Change
What kind of change to packageless-containers is this?

[ ] Bug Fix
[x] Feature
[ ] Documentation

Checklist
Before the Pull Request can be considered for merging, the following Checklist should have the corresponding fields completed:

[x] I have read the contributing guidelines
[x] I have tested my changes locally to ensure that they work as expected

Expected Behavior
Please include the behavior that is expected when running the image.
node command is run and accepts command line options
Comments
Any further information you want to provide can go here.

Closes #6

repo: everettraven/packageless-containers


text:
Feature request: Spacing between groups

Hi,
Is there any chance you could add an option to add a blank line between defined groups?
That would make this perfect for me.
Thanks,
Grant.

Adding this feature in 1.5.2

Thank you 😀

Could we perhaps not insert this blank line when a group is blank?

A bugfix is included in 1.5.3. If there are other bugs (or the same bug persists) feel free to create new issues :D

authors: ChaseGrant everfor

repo: everfor/UsingDirectiveFormatter


text:
Remove Nasty bits from Pair

So, back when Pair was creates some horrible things were done, just to get that darn of.
Some cruft needs to be cut from Pair:

[x] Remove of
[x] Remove value
[ ] ~Add toArray~
[ ] ~add pairToArray transformation~
[ ] ~add pairToList transformation~

EDIT: After some long, hard thought on this, decided to keep the Semigroup constraint for ap, chain and concat. They do in fact provide much value for things like a cheap Writer (which is just a Product type with a Semigroup in its fst.

Okay so after starting this change, turns out I will not be adding pairToArray and pairToList and will not add toArray to the Pair. While it is valid in JS, by allowing to move from Pair to Array or List, then we lose some of the benefits of having a List/Array of a single type.
since there will be special handling anyway, it makes sense to let the user use merge to make it a one "action" thing to map and extract into a value they have control over. For example, if they want to create an array like [ fst, snd ], then they can easily do things like this:
const { Pair, merge, reverseApply: thrush } = crocks

const f =
  thrush(Pair('George', 5))

// { name: 'George', count: 5 }
const obj =
  f(merge((x, y) => ({ name: x, count: y })))

// [ 5, 'George' ]
const arr =
  f(merge((x, y) => [ y, x ]))

This seems like the more powerful interface

Merged PR#86.
In master and going out with 0.4.0.
Closing!

repo: evilsoft/crocks

license: ISC


text:
:bug: fix(beta-docs): Fix issues with get-started

Description

fix open zepplen import
exmplain why we commit deploy artifacts

Testing
Explain the quality checks that have been done on the code changes
Additional Information

[ ] I read the contributing docs (if this is your first contribution)

Your ENS/address:

Current dependencies on/for this PR:

main

PR #79   👈

This comment was auto-generated by Graphite.

repo: evmts/evmts-monorepo


text:
Update cats-effect, cats-effect-laws, ... to 3.4.9

About this PR
📦 Updates

org.typelevel:cats-effect
org.typelevel:cats-effect-laws
org.typelevel:cats-effect-std
org.typelevel:cats-effect-testkit

from 3.4.8 to 3.4.9
📜 GitHub Release Notes - Version Diff
Usage
✅ Please merge!
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

⚙ Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.typelevel" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "org.typelevel" }
}]

labels: library-update, early-semver-patch, semver-spec-patch, version-scheme:early-semver, commit-count:1

Superseded by #212.

repo: evolution-gaming/cats-helper


text:
Compatibility with OpenMP 2.0

Visual Studio (MSVC) has only OpenMP 2.0, which does not support the task and taskwait directives.
As possible workaround seem to be using defines like this
#if _OPENMP == 200203
#pragma omp parallel for
                for(int i = 0; i < Ci->numChilds; i++) {
                        Cell * Cj = Ci->child+i;
                        upwardPass(Cj);
                }
#else
                for(Cell * Cj = Ci->child; Cj!=Ci->child+Ci->numChilds; Cj++) {
#pragma omp task untied if(Cj->numBodies > 100)
                        upwardPass(Cj);
                }
#pragma omp taskwait
#endif

I did not test it yet, as I am still fixing other issues with MSVC and exafmm.

There is an easy solution to your problem. Just don't compile with the OpenMP flag. It will ignore all #pramga if you do this. exaFMM is not based on for loops but rather recursive function calls. There is not way for you to have thread parallelism with OpenMP 2.0 anyway.

Shouldn't the code be rather equivalent and the difference only in how the pointer is incremented?
I am not an OpenMP expert, I currently just try to get the code running, but my program uses OpenMP so I will need to adapt the source in some way. I have no idea how much performance gain there is from OpenMP in your code, but if it would be possible in some way I would of course like to use it in parallel as well. Sadly I currently need to use MSVC and work around things like very old OpenMP :-/.

There is a way to formulate FMM with for loops, but FMM has been designed to use a tree traversal based on recursive function calls because it works better with the task based threading model, which scale better than loop parallelization. exaFMM scales perfectly up to 256 threads on a Xeon Phi, depending on the problem size. You can branch your code and delete the all #pragma , but please do not push this back to the repository.

authors: allo- rioyokota

repo: exafmm/exafmm


text:
🛑 My Site is down

In 44645ee, My Site ($SECRET_SITE) was down:

HTTP code: 0
Response time: 0 ms

Resolved: My Site is back up in b8deda5.

repo: exand/upptime


text:
Document running the Data Science Sandbox as Docker container while using ITDE and EXASLCT

The current ticket requests to document how users can run the DSS as Docker Container while using ITDE and EXASLCT.
This includes Mapping the port of the docker socket from host to inside the Docker Container.

PR #30 added creation of a Docker Image for DSS and was inspired by test_install_dependencies.py
On of the findings during review of the PR's  was that the docker socket was not mapped.

Documentation has been created and updated in the scope of #78.
SLCT is currently out of scope.
Closing the current ticket.

repo: exasol/data-science-sandbox


text:
Load and use xlsx in browser env  [help wanted]

I have a NuxtJs/Vuetify  application and I try to use my xlsx template from my static resources then add data and then save the file with the updated data.
I tried this :
const workbook = new Excel.stream.xlsx.WorkbookReader({ filename: '/static/template.xlsx' })
      workbook.xlsx.writeBuffer()
        .then(buffer => saveAs(new Blob([buffer]), `${this.asd.date} ${this.asd.place} .xlsx`))
        .catch(err => console.log('Error writing excel export', err))

But he downloaded xlsx was corrupted.
saveAs coming from : import { saveAs } from 'file-saver'

#354

#354

Did you attempt to use (new Excel{}).xlsx.readFile(/*...*/).then(/*...*/); ? I suppose, that your code didn't read any data before writeBuffer.

Did you attempt to use (new Excel{}).xlsx.readFile(/*...*/).then(/*...*/); ? I suppose, that your code didn't read any data before writeBuffer.

#37

#37

https://github.com/exceljs/exceljs/issues/354

https://github.com/exceljs/exceljs/issues/354

authors: Siemienik iabukai

repo: exceljs/exceljs


text:
该数字是文本类型，可能导致计算结果出错 The number is a text type and may cause an error in the calculation result

This message is displayed in excel. Is numfmt configured incorrectly?
  const formatMap = {
    rate: '0.00%',
    money: '$0.00',
    int: '0',
    string: '@',
  }

  const workbook = new Excel.Workbook()
 const worksheet = workbook.addWorksheet(...)
  worksheet.columns = tableColumns.map((column) => ({
    header: column.title || column.headerName,
    key: column.dataIndex || column.field,
    width: (column.width || 100) / 7,
    height: 70,
    style: {
      numFmt: formatMap[column.oldType] || 'General',
    },
  }))

because value must typeof number
fixed:
https://stackblitz.com/edit/vitejs-vite-89tlat?file=src/App.jsx


text:
DEV: Update API calls to datetime functionality

The API calls in main are depreciated. I have updated these calls to comply with the latest versions. If I use main to build SciPy docs with myst_nb execution mode set to cache then I get the following errors,
reading sources... [  3%] reference/generated/scipy.cluster.hierarchy.DisjointSet.add .. reference/generated/scipy.fft.ifft
(Error in parallel process)
Traceback (most recent call last):
  File "/Users/czgdp1807/mambaforge/envs/scipy-dev/lib/python3.12/site-packages/sphinx/util/parallel.py", line 76, in _process
    ret = func(arg)
          ^^^^^^^^^
  File "/Users/czgdp1807/mambaforge/envs/scipy-dev/lib/python3.12/site-packages/sphinx/builders/__init__.py", line 495, in read_process
    self.read_doc(docname, _cache=False)
  File "/Users/czgdp1807/mambaforge/envs/scipy-dev/lib/python3.12/site-packages/sphinx/builders/__init__.py", line 536, in read_doc
    publisher.publish()
  File "/Users/czgdp1807/mambaforge/envs/scipy-dev/lib/python3.12/site-packages/docutils/core.py", line 234, in publish
    self.document = self.reader.read(self.source, self.parser,
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/czgdp1807/mambaforge/envs/scipy-dev/lib/python3.12/site-packages/sphinx/io.py", line 106, in read
    self.parse()
  File "/Users/czgdp1807/mambaforge/envs/scipy-dev/lib/python3.12/site-packages/docutils/readers/__init__.py", line 76, in parse
    self.parser.parse(self.input, document)
  File "/Users/czgdp1807/Quansight/MyST-NB/myst_nb/sphinx_.py", line 152, in parse
    with create_client(
  File "/Users/czgdp1807/Quansight/MyST-NB/myst_nb/core/execute/base.py", line 79, in __enter__
    self.start_client()
  File "/Users/czgdp1807/Quansight/MyST-NB/myst_nb/core/execute/cache.py", line 36, in start_client
    _, self._notebook = cache.merge_match_into_notebook(self.notebook)
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/czgdp1807/Quansight/jupyter-cache/jupyter_cache/cache/main.py", line 357, in merge_match_into_notebook
    cache_nb = self.get_cache_bundle(pk).nb
               ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/czgdp1807/Quansight/jupyter-cache/jupyter_cache/cache/main.py", line 296, in get_cache_bundle
    NbCacheRecord.touch(pk, self.db)
  File "/Users/czgdp1807/Quansight/jupyter-cache/jupyter_cache/cache/db.py", line 371, in touch
    record.accessed = datetime.utcnow()
                      ^^^^^^^^^^^^^^^^^
DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).

Sphinx parallel build error:
DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).
make: *** [html-build] Error 2

With my PR I get the following,
writing additional pages... search done
copying images... [  9%] ../build/plot_directive/reference/generated/scipy-interpolate-SmoothSphereBivariateSpline-__call__-1.pn
copying images... [100%] ../build/plot_directive/tutorial/stats/sampling_srou-1.png
dumping search index in English (code: en)... done
dumping object inventory... done
[jupyterlite-sphinx] Running JupyterLite build
[jupyterlite-sphinx] JupyterLite build done
build succeeded.

The HTML pages are in build/html.

Seems like the newer API is applicable from Python 3.11 onwards.

Requesting @chrisjsewell @choldgraf @agoose77 for review. Thanks. <3.

There is a codecov error with Python 3.10 job.

This is a duplicate of #114. Either way, please let me know how I can help moving a release fwd as I run into these deprecations in a few projects, too.

@bsipocz I noticed your PR as well. I think merging this PR (this one is compatible with Python 3.9, 3.10, 3.11 and 3.12) and releasing a new version of jupyter-cache should get things going.
Requesting @agoose77 for reviewing and if possible merge this PR.

Well, the other would have been compatible too two weeks ago if CI was allowed to run on it 🤷♀
And if you noticed it, it would have been a minimum courtesy to at least cross-reference an existing PR before starting a new one or at least once you notice it.

Well, the other would have been compatible too two weeks ago if CI was allowed to run on it 🤷♀

Please check the description of this PR. I personally don't know why CI wasn't executed on your PR. Maintainers of this repository can comment on it.

And if you noticed it, it would have been a minimum courtesy to at least cross-reference an existing PR before starting a new one or at least once you notice it.

Apologies. Referenced your PR here as well.

repo: executablebooks/jupyter-cache


text:
[v3] Add prerequisites to Practice Exercises

This issue is part of the migration to v3. You can read full details about the various changes here.
Exercism v3 introduces a new type of exercise: Concept Exercises. All existing (V2) exercises will become Practice Exercises.
Concept Exercises and Practice Exercises are linked to each other via Concepts. Concepts are taught by Concept Exercises and practiced in Practice Exercises. Each Exercise (Concept or Practice) has prerequisites, which must be met to unlock an Exercise - once all the prerequisite Concepts have been "taught" by a Concept Exercise, the exercise itself becomes unlocked.
For example, in some languages completing the Concept Exercises that teach the "String Interpolation" and "Optional Parameters" concepts might then unlock the two-fer Practice Exercise.
Each Practice Exercise has two fields containing concepts: a practices field and a prerequisites field.
Practices
The practices key should list the slugs of Concepts that this Practice Exercise actively allows a student to practice.

These show up in the UI as "Practice this Concept in: TwoFer, Leap, etc"
Try and choose 3 - 8 Exercises that practice each Concept.
Try and choose at least two Exercises that allow someone to practice the basics of a Concept.
Some Concepts are very common (for example strings). In those cases we recommend choosing a few good exercises that make people think about those Concepts in interesting ways. For example, exercises that require UTF-8, string concatenation, char enumeration, etc, would all be good examples.
There should be one or more Concepts to practice per exercise.

Prerequisites
The prerequisites key lists the Concept Exercises that a student must have completed in order to access this Practice Exercise.

These show up in the UI as "Learn Strings to unlock TwoFer"
It should include all Concepts that a student needs to have covered to be able to complete the exercise in at least one idiomatic way. For example, for the TwoFer exercise in Ruby, prerequisites might include strings, optional-params, implicit-return.
For Exercises that can be completed using alternative Concepts (e.g. an Exercise solvable by loops or recursion), the maintainer should choose the one approach that they would like to unlock the Exercise, considering the student's journey through the track. For example, the loops/recursion example, they might think this exercise is a good early practice of loops or that they might like to leave it later to teach recursion. They can also make use of an analyzer to prompt the student to try an alternative approach: "Nice work on solving this via loops. You might also like to try solving this using Recursion."
There should be one or more prerequisites Concepts per exercise.

Although ideally all Concepts should be taught by Concept Exercises, we recognise that it will take time for tracks to achieve that. Any Practice Exercises that have prerequisites which are not taught by Concept Exercises, will become unlocked once the final Concept Exercise has been completed.
Goal
Practices
The "practices" field of each element in the "exercises.practice" field in the config.json file should be updated to contain the practice concepts. See the spec.
To help with identifying the practice concepts, the "topics" field can be used (if it has any contents). Once prerequisites have been defined for a Practice Exercise, the "topics" field should be removed.
Each practice concept should have its own entry in the top-level "concepts" array. See the spec.
Prerequisites
The "prerequisites" field of each element in the "exercises.practice" field in the config.json file should be updated to contain the prerequisite concepts. See the spec.
To help with identifying the prerequisites, the "topics" field can be used (if it has any contents). Once prerequisites have been defined for a Practice Exercise, the "topics" field should be removed.
Each prerequisite concept should have its own entry in the top-level "concepts" array. See the spec.
Example
{
  "exercises": {
    "practice": [
      {
        "uuid": "8ba15933-29a2-49b1-a9ce-70474bad3007",
        "slug": "leap",
        "name": "Leap",
        "practices": ["if-statements", "numbers", "operator-precedence"],
        "prerequisites": ["if-statements", "numbers"],
        "difficulty": 1
      }
    ]
  }
}

Tracking
https://github.com/exercism/v3-launch/issues/6

⚠ The spec for Practice Exercises has changed. Besides having a prerequisites field, each Practice Exercise should now also have a practices field, which should list the slugs of Concepts that this Practice Exercise actively allows a student to practice. See the spec for more information.
The issue's text has been updated to reflect the updated spec.

repo: exercism/ada


text:
Cannot find type declarations when imported using "bundler" as module resolution

Hey! I am trying to install the latest version (1.0.0) but it looks like it doesn't work when setting moduleResulution to bundler when using TypeScript:
src/components/Editor/languageCompartment.ts:47:37 - error TS2307: Cannot find module '@exercism/codemirror-lang-wren' or its corresponding type declarations.

47       const { wren } = await import("@exercism/codemirror-lang-wren");
                                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Any idea how to fix this?

Could be, but I did try to point to the github repo URL from the package.json file and that also didn't seem to work. @dem4ron you've also looked at this. Did you have any more insights?

I think publishing this would solve this issue.

@joshgoebel Do you want to publish the new version?

repo: exercism/codemirror-lang-wren


text:
feat: introduce pre-commit framework

To avoid confusion, I updated this PR now to only use pre-commit to replace (and fix) the
existing clang-format checks. Other checks can be added in follow-up PRs.
Here is the commit message from the commit that does the actual switch. The other commit reformats all the files that went through without proper formatting due to the bug in the setup:

This replaces the custom clang-format script with the pre-commit framework,
making it easier to add checks in the future and simplifying GitHub
integration.
The GH workflow is adapted to run checks now as well.
To use it locally, all you need to do is install pre-commit locally, typically
via:
pip3 install --user pre-commit

You can then run pre-commit run --all to run it locally. Note that this does not install
a Git hook. If you want that as well, run pre-commit install.
For more details on pre-commit and other installation options, see
https://pre-commit.com/ and https://pre-commit.com/#install

I ran all practice exercises through the test runner to find the ones that needed manual formatting, because clang-format would split long test names over multiple lines. All occurrences are fixed now.

I ran all practice exercises through the test runner to find the ones that needed manual formatting, because clang-format would split long test names over multiple lines. All occurrences are fixed now.

That would have been my final question. Thanks for all the work on this one.

I merged your other PR. Can you please fix the conflicts, so we can merge this and have beautiful formatting?

I merged your other PR. Can you please fix the conflicts, so we can merge this and have beautiful formatting?

Ok, just saw your approval and comment here. We could have just closed the other PR without merging if we're going with this version. Using both works as well, of course.

Alright, it's rebased now. However, there was one other potential "issue" I wanted to point out. The solution templates that only have the namespace, e.g.,
namespace diamond {

}  // namespace diamond

with the current clang-format config get reformatted to look like this:
namespace diamond {}  // namespace diamond

I find this non-ideal, since a student would have to navigate inside {} and hit return there.
We could fix this with a comment:
namespace diamond {
    // TODO: implement solution
}  // namespace diamond

Then the student would still have to remove the comment, but still better than having {} IMHO.
Alternatively, we could use the clang-format option KeepEmptyLinesAtTheStartOfBlocks. I haven't tested this yet, but I think it would leave the template alone, since a namespace counts as a block in that context and the empty line would be at the beginning of the block. On the other hand, it would also leave empty lines in other places that we may not want. So I'm a bit torn on what to do.
Let me know what you think please!

We could fix this with a comment:

I like this solution.
What do you think @siebenschlaefer ?

authors: ahans vaeng

repo: exercism/cpp


text:
Update anagram exercise spec

Hi, this is an update to the anagram exercise to match the problem-specifications canonical-data.json,
https://github.com/exercism/problem-specifications/blob/master/exercises/anagram/canonical-data.json

Thanks @amscotti ! 🎆

authors: amscotti matthewmorgan

repo: exercism/ecmascript


text:
🤖 Add .meta/config.json file for concepts

TL;DR; Add authors/contributors to a new concepts/<slug>/.meta/config.json to Concepts in the same way you have for Concept Exercises.

To properly attribute authorship/contributorship for an individual concept, each concept will have its own .meta/config.json file with authors and contributors keys like those for concept and practice exercises. We're also moving the concept's blurb from the track's config.json to the .meta/config.json file, also similar to concept and practice exercises.
See https://github.com/exercism/docs/pull/96/files for the update to the specification.
This PR adds a .meta/config.json file for all concepts found in the track's config.json file containing:

A blurb key, which value is copied from the config.json file and subsequently removed from the config.json file
An authors key, the value of which is copied from the exercise teaching the concept (if any)
A contributors key, the value of which is copied from the exercise teaching the concept (if any)

For ease, the concept's authors/contributors are pre-populated with the authors/contributors of the exercise that teaches the concept (if any).
Maintainers TODO list
These are the things you, the maintainers, should do:

[ ] Update the authors (if needed)
[ ] Update the contributors (if needed)

For clarity, authors should be the people who originally created the concept documents on this track. Contributors should be people who have substantially contributed to the concept documents. PRs for typos or multiple-concept PRs do not automatically mean someone should be considered a contributor to that concept. Those non-concept-specific contributions will get recognition through Exercism's reputation system in v3.
You can either update this PR by pushing a new commit to this PR, or merge this and do a follow-up PR later. The former has the disadvantage that once we've added linting rules to configlet for the concept .meta/config.json file, the configlet CI check will start failing.
Tracking
https://github.com/exercism/v3-launch/issues/27

Following a suggestion that was made, we've updated the PR to pre-populate the authors/contributors with the authors/contributors of the exercise that teaches the concept (if any). This gives us a nice starting point, as the concept documents used to be exercise documents. You, the maintainers, should check to see if the authors/contributors are correct and add missing authors/contributors.

Thanks! @iHiD Could you approve?

@iHiD I still can't merge due to the failing CI check. Could you?

repo: exercism/ruby


text:
Add custom token to community contributions workflow

The pause-community-contributions workflow makes a call to the
GitHub API to check if the person contributing is a member of
the organization.
However, this call currently fails if the contributor has set their
membership to 'private'.
This is because the default token provided for GitHub Actions only
has permissions for the repository, not for the organization. With
this token, we're not allowed to see private memberships.
We've created a custom, org-wide secret containing a personal token
that has permissions to read organization membership.
Unfortunately the secret cannot be accessed directly by the shared
workflow, it has to be passed in.
We updated the shared workflow to use the token, if it is provided,
and this PR updates the workflow in this repo to pass the secret.
Until this is merged, contributions from people with private membership
in the Exercism organization will be automatically closed.
Note that this PR also removes the workflow_dispatch which fails if
you try to use it.

I forgot I had tested the original workflow by setting my membership to private :)


text:
Update bowling canonical-data

This is based on my work implementing this problem for Rust
https://github.com/exercism/xrust/pull/213
I'm addressing a few things here.

The description at the top is now about implementing the tests, not
about the problem domain.

I've reordered the test to (hopefully) make things flow more smoothly.
I found that the previous set of tests introduced concepts in kind of a
mix, instead of one at a time.

They are now:

Score a 0 point game
Score a game with no spares/strikes
Spares

Simple spare
Spare with bonus
Spare in last frame

Strikes

Simple strike
Strike with bonus
Strike in last frame

Exceptions

Some other changes:

Updated descriptions. My goal here was to try to clearly state what
bit of scoring logic was being tested in each test, without relying too
much on bowling-specific terms. 'strike', 'spare' and 'frame' are
unavoidable, but other terms were replaceable.

Remove unnecessary tests. There were a few different tests of games
without spares & strikes when only one is really necessary. My goal is
that each test should lead the student to make one change to their code.
If a bunch of tests can pass because of the same change then some of
those tests can be removed.

Explicit description of arity removed. I tried to cover the expected
API in the description text.

Expectations of exceptions changed from specific error text to -1,
which is what I normally see for exception test definitions.

I think I've covered the comments to date.

repo: exercism/x-common


text:
phone-number tests dont check for length greater than 11

The problem brief mentions:

If the phone number is more than 11 digits assume that it is a bad number

But the tests do not check for this requirement.

there are phone numbers which is 11 digits ... , for example a landline number 04424611XZ , the first three digits change accordingly

We cannot actually say how many digits are allowed in phone numbers , it differs from country to country , there are even 11 to 14 digit phone numbers.

@DeathSec I agree, but the purpose of the exercise isn't to be a 100% accurate, production-ready phone number system. The tests should come from here: https://github.com/exercism/x-common/blob/master/exercises/phone-number/canonical-data.json. If you think there are gaps in the exercise that can be corrected, the place to do it is in the x-common repository.

then it's missing a few tests (and has some tests that aren't listed at all in xcommon)
      {
        "description": "invalid when 12 digits",
        "phrase": "321234567890",
        "expected": null
      },
      {
        "description": "invalid with letters",
        "phrase": "123-abc-7890",
        "expected": null
      },
      {
        "description": "invalid with punctuations",
        "phrase": "123-@:!-7890",
        "expected": null
      },
      {
        "description": "invalid with right number of digits but letters mixed in",
        "phrase": "1a2b3c4d5e6f7g8h9i0j",
        "expected": null
      }

The first in the above checks for one of the cases greater than 11 (i.e. 12) but not all. I'll raise an issue for that there, but there remains the fact that the tests for the xc execrcise differs quite a bit from the xcommon spec shown above.

Agreed. We should fix everything up when we address this issue.

The change to x-common repo is made in #719. the test case now reads:
        {
          "description": "invalid when more than 11 digits",
          "property": "clean",
          "phrase": "321234567890",
          "expected": null
        },

authors: DeathSec ryanplusplus wolf99

repo: exercism/xc


text:
allergies: Add test case to check when not allergic to anything

Add test case for also checking isAllergicTo() when not allergic to anything.

Thank you!  Yup, this is a fine way to kick off this exercise.
Cheers!

authors: jmluy jtigger

repo: exercism/xjava


text:
secret-handshake:  verify ordering of actual/expected

In the Jasmine testing framework, it is convention to:
expect(actual).fn(expected)

But some test suites have the following:
expect(expected).fn(actual)

This causes the error messages to be confusing.
Please verify the secret-handshake exercise to make sure that the expectations are ordered correctly. If they are, then this can be closed.
This issue will help to close #111

Got it

This one is OK and can be closed

Thanks a lot!

authors: ireddick rchavarria

repo: exercism/xjavascript


text:
Bob test suite only performing one test

The test suite is only performing one test and then passing me. Here is the output from the test suite.

I haven't modified the test suite in any way.

D:\Doug\exercism\javascript\bob>jasmine-node bob_test.spec.js
.

Finished in 0.012 seconds
1 test, 1 assertion, 0 failures, 0 skipped

Here is my Bob.js

I purposely returned the wrong strings to make tests fail.

var Bob = function() {
    'use strict';

    this.hey = function(message) {

        function isYelling (message) {
            var re = /[^\w]/gi;
            var ALPHAS = message.replace(re, '');
            return ALPHAS.toUpperCase() == message && ALPHAS != ""
        }

        function isSilence(message) {
            var re = /\s+/g;
            return message.replace(re, '') === ""
        }

        function isQuestion (message) {
            return message.charAt(message.length - 1) === "?";
        }

        if (isYelling(message)) {
            return "Woah, chill out!*";
        } else if (isSilence(message)) {
            return "Fine. Be that way!**";
        } else if (isQuestion(message)) {
            return "Sure.**";
        } else {
            return "Whatever.";
        }
    }
};
module.exports = Bob;

I'm on windows 7 and have installed Node.js according to the instructions provided.
If you need any other info let me know.

Hi Katrina, I'm wondering if you'd like me to work on implementing any of the above-mentioned ideas?

That would be wonderful! If you have any specific questions, don't hesitate to holler. Also, if you have any co-conspirators that can help whip the javascript into shape, that would be wonderful :) As I've discovered while watching the folks who are managing all the various lisp tracks, this is a lot of fun with friends!

Hello, @kytrinyx and @ZacharyRSmith.
I know that this issue is quite old for now, but I would really like to know if there have been some progress in this matter. I would like to contribute, but I'm a newbie in the Exercism community.
How does this kind of decisions (organization of infos, instructions, etc.) are made? Is this the correct place to discuss it or does Exercism maintains a proper place for decisions that could affect more than one language track?

Well, this issue started as a support request and then evolved into a discussion about multiple topics. Since the original objective was achieved (the user is now able to run the remaining tests) I think it's OK to close this one.
If there are still pending tasks (like a missing stub file in Bob exercise) a new issue specific to this task must be created.

Thanks @joelwallis I've opened a new issue in the discussions repository, and will go ahead and close this one.

authors: DouglasBrunner ZacharyRSmith joelwallis kytrinyx


text:
Add Sieve exercise

Add Sieve exercise

@masters3d

repo: exercism/xobjective-c


text:
Document HoistField concept of delegateProps

Explain function of delegateProps, particularly which attributes should be listed / how those determinations are made.

Added some minor documentation here.  Think this is really an implementation concept for control writers only, and am not sure how much I want to push the pattern, so left it minimal.

authors: amcclain lbwexler

repo: exhi/hoist-react


text:
Right click on a Grids' Context Menu opens Browser's Context menu

Navigate to Hoist React Toolbox -> 'Grids > Standard' panel
Select and Right Click on a row
Grids Specific Context Menu list is displayed
Right Click on a control from the dropdown list
Browser's default context menu is displayed

Can you take a look at this one Brendan.  Definitely a bit annoying....

See #1081

@haynesjm42, @amcclain for your review.  As I mentioned in the PR, happy to close this one.

I am of the opinion that this is an ag-grid bug, if anything. Would vote for closing.

ag-Grid Bug.  If we had a clean way to fix it for them, we would, but this does not seem worth it.

authors: haynesjm42 lbwexler mpeckerman shravnk


text:
ECR-4083: long to int migration

Overview

See: https://jira.bf.local/browse/ECR-4083
Definition of Done

[ ] There are no TODOs left in the code
[ ] Change is covered by automated tests
[ ] The coding guidelines are followed
[ ] Public API has Javadoc
[ ] Method preconditions are checked and documented in the Javadoc of the method
[ ] Changelog is updated if needed (in case of notable or breaking changes)
[ ] The continuous integration build passes

Re-created from #1346

repo: exonum/exonum-java-binding


text:
F-string is causing scenario double braces to be rendered as single braces

https://www.expectedparrot.com/content/c72bac27-c500-4815-8628-ebe15dc73526

Disregard -- it is not being passed correctly.

See updated notebook ^^ comparing with/out f-string and scenarios.

It works for me on this branch:
https://github.com/expectedparrot/edsl/tree/light_lm_refactor
Here's the nb: https://www.expectedparrot.com/content/7eb26d68-efdf-4bc1-853e-32fd40add38e
Note we're still intentional showing a warning.

authors: johnjosephhorton rbyh

repo: expectedparrot/edsl


text:
bucket_game:  should problem_id be null in data export?

Also, how in the data do I know how many tries I took to get each problem right?

the problems are logged each time so you can just look at repeated problems or you can look at accuracy. but the problem_id field was handling this previously (query on problem id count). That's currently factored into the postgres db we were using so what I'll do later today or tomorrow is add a problem_id for each problem in problems.js and then re-add this field to all of the games

authors: boomsbloom vsoch

repo: expfactory/expfactory-games