Detox Tests Hang on iOS 13 Simulator

Describe the bug
We've been running the same tests for a while. They stopped working when I upgraded to Catalina, Xcode 11 and Xcode started booting an iOS 13 Simulator. They work again if I specify an OS version in our package.json:
  "detox": {
    ...
    "test-runner": "jest",
    "configurations": {
      "notworking": {
        "binaryPath": "ios/build/Build/Products/Debug-iphonesimulator/APPNAME.app",
        "build": "ENVFILE=.env xcodebuild -workspace ios/biogen.xcworkspace -scheme UAT-FR-DETOX -configuration Debug -destination 'platform=iOS Simulator,name=iPhone 8' -derivedDataPath ios/build",
        "type": "ios.simulator",
        "device": {
          "name": "iPhone 8",
          "os": "iOS 13.2"
        }
      },
      "working": {
        "binaryPath": "ios/build/Build/Products/Debug-iphonesimulator/APPNAME.app",
        "build": "ENVFILE=.env xcodebuild -workspace ios/biogen.xcworkspace -scheme UAT-FR-DETOX -configuration Debug -destination 'platform=iOS Simulator,name=iPhone 8' -derivedDataPath ios/build",
        "type": "ios.simulator",
        "device": {
          "name": "iPhone 8",
          "os": "iOS 12.2"
        }
      }
    }
  },
}

The simulator launches, installs the app and launches the app, then the tests hang forever and with a console.log in our jest.setup.js I've been able to confirm that the device.launchApp awaits forever:
beforeAll(async () => {
  await detox.init(config, { launchApp: false })
  await device.launchApp({
    permissions: {
      notifications: 'YES',
      camera: 'YES',
      medialibrary: 'YES',
      photos: 'YES',
      microphone: 'YES'
    }
  })
})

To Reproduce

[x] I have tested this issue on the latest Detox release and it still reproduces

git clone
npm ci && (cd ios && pod install)
detox test -c working

If possible, please provide a small demo project that reproduces the issue, or attach a video with the reproduction - this would be very appreciated.
Expected behavior
Detox should launch the simulator, launch the app, and execute the tests.
Environment (please complete the following information):

Detox<EMAIL_ADDRESS>React Native<EMAIL_ADDRESS>Node: v12.4.0
Device: iPhone 8
Xcode: 11.2 (11B52)
iOS: 13.2
macOS: 10.15.1

Device and Verbose Detox Logs
detox[876] INFO:  [AppleSimUtils.js] BUNDLEID launched. To watch simulator logs, run:
        /usr/bin/xcrun simctl spawn 576BC106-EB9D-47EA-8AED-B0014D730C3C log stream --level debug --style compact --predicate 'processImagePath beginsWith "/Users/USER/Library/Developer/
CoreSimulator/Devices/576BC106-EB9D-47EA-8AED-B0014D730C3C/data/Containers/Bundle/Application/A35CC083-5EC1-47A8-A38C-ACD23D986816/APPNAME.app"'
detox[948] TRACE: [ArtifactsManager.js/LIFECYCLE] artifactsManager.onLaunchApp({
  bundleId: BUNDLEID,
  deviceId: '576BC106-EB9D-47EA-8AED-B0014D730C3C',
  launchArgs: {
    detoxServer: 'ws://localhost:63940',
    detoxSessionId: '2b1e2f66-afcb-f6e9-ee58-f1844bc05b84'
  },
  pid: 948
})
detox[876] TRACE: [AsyncWebSocket.js/WEBSOCKET_SEND] {"type":"isReady","params":{},"messageId":-1000}
detox[876] TRACE: [DetoxServer.js/MESSAGE] role=tester action=isReady (sessionId=2b1e2f66-afcb-f6e9-ee58-f1844bc05b84)
detox[876] DEBUG: [DetoxServer.js/CANNOT_FORWARD] role=testee not connected, cannot fw action (sessionId=2b1e2f66-afcb-f6e9-ee58-f1844bc05b84)
detox[876] DEBUG: [DetoxServer.js/LOGIN] role=testee, sessionId=2b1e2f66-afcb-f6e9-ee58-f1844bc05b84
detox[876] DEBUG: [DetoxServer.js/LOGIN_SUCCESS] role=testee, sessionId=2b1e2f66-afcb-f6e9-ee58-f1844bc05b84

iOS Framework Build Logs
N/A
Last note
I hope I have included all necessary information, don't hesitate to tell me if something's missing. Thanks for taking the time.

We use iOS 13 simulators in our CI, so I don't think it's an issue with Detox.
Follow the sync debugging docs and provide the information. Thanks

I see that there are requests that Detox is waiting for, but Detox also awaits endlessly when I try to set a blacklist or disable synchronization, and this produces no specific logging, even with EarlGreyStatistics:
beforeAll(async () => {
  await detox.init(config, { launchApp: false })
  console.log('DETOX INIT')
// SUCCESSFUL
  await device.disableSynchronization()
  console.log('DISABLED SYNC')
// NEVER LOGS
  await device.setURLBlacklist(['.*batch.com*'])
  console.log('SET BLACKLIST')
// NEVER LOGS
  await device.launchApp({
    launchArgs: { detoxPrintBusyIdleResources: 'YES' },
    permissions: {
      notifications: 'YES',
      camera: 'YES',
      medialibrary: 'YES',
      photos: 'YES',
      microphone: 'YES'
    }
  })
  console.log('LAUNCHED APP')
// NEVER LOGS

  await exportGlobalsFromEnv()
})

Where could the problem come from? I tried reinstalling applesimutils to no avail as well.

If you disable sync, it should not be blocking. So your issue lies elsewhere, not in the native Detox part. What do you see on screen?

Maybe my comment placement wasn't great but disable sync awaits forever as well. On screen my app is responsive on its first screen in the simulator. EarlGreyStatistics don't mention anything if I try a detox function before launching and if I launch they only display some ongoing network requests. Any idea?

Before launching, Detox is not running.
Looking at the code (https://github.com/wix/Detox/blob/88f2170e9926b3e5c98a41c2eb3cf5418452aebc/detox/ios/Detox/DetoxManager.m#L55), the blacklist is applied very early on, before the app is running. So if you are seeing network requests in the statistics output, that means that you haven't set the blacklist correctly.

The problem is that when I try to set a blacklist, the call awaits forever and the app doesn't launch as well. It seems all calls to device methods await forever.

You need to set the blacklist as app launch argument, as described here:
https://github.com/wix/Detox/blob/master/docs/APIRef.DeviceObjectAPI.md#10-initialize-the-url-blacklist-at-device-launch


Add uploadFilesConcurrency option (defaults to Infinity) to throttle source files upload

This PR fixes #66 by using es6-promise-pool to throttle the requests to Sentry's API.

Thanks! Published as 1.16.0


Failed to resolve com.beloo.widget:ChipsLayoutManager dependency

Hello,
As of 2022-01-12 it seems jcenter has finally died and requests to it are throwing 502s.  The dependency com.beloo.widget:ChipsLayoutManager (https://github.com/BelooS/ChipsLayoutManager) seems to be abandoned and is only hosted on jcenter; can you please switch to a different dependency or integrate this one somehow (maybe fork it and publish the result with original author's permission)?

There's an issue tracking this on the com.beloo.widget repo https://github.com/BelooS/ChipsLayoutManager/issues/69; I can work around by following the jitpack instructions there, but it requires excluding this dependency as-is from com.github.pchmn:MaterialChipsInput:1.0.8

Hi I have add chips Input as a module in my project and i was modify it android to androidx and after that I build the project getting chips layout manager library not found issue and also can not find com.pchmn.materialchips.R2;

@arindam091 the solution is just to point jitpack at the BelooS/ChipsLayoutManager repo and use the resultant artifact.  Jitpack works by pulling the source from the linked repo, building it, and hosting the output artifact in its own Maven repo.  My build.gradle changed to:
project:
allprojects {     repositories {         google()         ...         maven { url "https://jitpack.io" }     } }
module:
implementation('com.github.pchmn:MaterialChipsInput:1.0.8') {         exclude group:'com.beloo.widget', module:'ChipsLayoutManager'     }     implementation 'com.github.BelooS:ChipsLayoutManager:v0.3.7'


Support CREATE TYPE for creating custom type

Hello, I think it would be nice to add CREATE TYPE statement for creating custom composite type.
Use cases
-- Defining composite type
CREATE TYPE inventory_item AS (
    name            text,
    supplier_id     integer,
    price           numeric
);

-- Using composite type `inventory_item`
CREATE TABLE on_hand (
    item      inventory_item,
    count     integer
);
INSERT INTO on_hand VALUES (ROW('fuzzy dice', 42, 1.99), 1000);

References

Postgres: https://www.postgresql.org/docs/current/sql-createtype.html
SQL server: https://docs.microsoft.com/en-us/sql/t-sql/statements/create-type-transact-sql?view=sql-server-ver16

@MRGRAVITY817 @rex-remind101 do you have any specific type to be supported? PostgreSQL and SQL Server seem not to follow the standard, so implementing each one of them would be a task by itself, isolated from the other ones.

Hey @AugustoFKL, I've also just ran into this. Could you please elaborate your question about any specific type? Personally, I just want this crate to be able to parse Postgres' CREATE TYPE ... AS (...) and CREATE TYPE ... AS ENUM (...)

@teenjuna I see.
The problem is, CREATE TYPE ... AS (...) follows the standard (1), but the latest not. I'm currently mostly working to try to expand our ANSII implementation, or some others as I need. Otherwise, I don't have plans to work on that.
I could work on the first one, but not the CREATE TYPE ... AS ENUM. Does that help you?
[1] : https://jakewheat.github.io/sql-overview/sql-2016-foundation-grammar.html#datetime-type

@AugustoFKL any improvement will be very helpful, thank you!
It'll be also very helpful if you will consider the possibility that AS ENUM might be implemented in the future if you implement the ANSII variant (e.g. your implementation doesn't prevent this)! I might focus on this (as well as the INSERT INTO ... RETURNING and similar popular Postgres constructs) somewhere in the end of the year.


Derive Error with Eq

I wanted to unit test the code logic of my resolvers. But my resolvers return a async_graphql::Error and I can't use assert_eq! because async_graphql::Error do not implement equal.
I can serialize to json each error to test but I don't know if it's the best way to do it so I prefer propose this MR to add Eq.
Feedback are welcome.

Thank you! 😁


Sending POST request as HTML form

Checkout the following approach.
I think scenarios I send request like a HTML from are more descriptive.

Despite my comment, we can go with this PR ! Thank you very much.
I will go through some refinements in the next couple of days before release.

Thank you Timothée.
We have to extend the implementation so that we could send multidimensional data like the bellow
<input type="text" name="options[0][deptid]" id="deptid" />
<input type="text" name="options[0][deptname]" id="deptname" />
<br/>
<input type="text" name="options[1][deptid]" id="deptid" />
<input type="text" name="options[1][deptname]" id="deptname" />


Update sonobuoy version to v0.56.16

The default K8s registry is changed to registry.k8s.io, the related change is introduced since sonobuoy v0.56.8, upgrade its version to the latest release v0.56.16 to avoid image pull failure.

No CI tests failed yet, I met the image pulling error when I run a local conformance test against a K8s 1.27 kind cluster.
The same failure should happen when we upgrade the K8s version of conformance testbeds to 1.27.

/skip-all


RESEARACH: initial discovery

Research session 10/30/15
Journy mapping

Updated the wiki.
Attached info presented at 11/4 meeting.
Meeting 15-11-4.pdf

Attached info presented at 11/11 meeting.
Attached map of observations from brainstorm at 11/11 meeting.
MappingObservations_15-11-11.pdf
Meeting 15-11-11.pdf


Rename roxot adapter

Hey guys,
Please rename "Roxot" analytics adapter to "Prebid Analytics by Roxot". It's the official name for our analytics product and we want to be consistent across different platforms. Otherwise, publishers might be confused when seeing the same product under different names.
Could you merge it to the master as soon as the 0.22.0 prebid.js is released?
Thanks in advance.

LGTM.

@mkendall07 Thank you for noticing. Fixed.

@mkendall07
Hi!
Could you review the code? Let us know if there are any issues. Also, could you implement these changes to the website update devoted to the release of prebid.js 0.22? Thanks in advance.

This PR LGTM. Still reviewing (and discussing) the other Roxot PR.


Unit test for IstioControlPlane input to manifest generate

Missing test per https://github.com/istio/istio/issues/21887.

@ostromart: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

gencheck_istio
0b6fc7dc5a4844c7ed7e4252c197da66a1e28146
link
/test gencheck_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@ostromart: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

gencheck_istio
48e54bef8b0feef7cb6844198e38c8b916e523dc
link
/test gencheck_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@ostromart: The following tests failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

gencheck_istio
48e54bef8b0feef7cb6844198e38c8b916e523dc
link
/test gencheck_istio

unit-tests_istio
48e54bef8b0feef7cb6844198e38c8b916e523dc
link
/test unit-tests_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.


Release v0.0.2

Add "site/" to .gitignore
Fix nnf-fencing-agent ServiceAccount name
Add missing dash for --decode
Document RBAC configuration for Flux (#62)
Using a private repository for user containers (#69)
Containers RFC Update
Renamed environment variables + remove line breaks
Updated DNS hostnames/subdomains details + env vars
Updated containers RFC to account for MPI jobs via mpi-operator
Remove 'Say'
Using a private repository for user containers - MPI File Utils (#72)

Do NOT squash or rebase.


fix: url() with variable or relative path in sass/scss is broken (fixes #7651)

Description
fixes #7651
Additional context

What is the purpose of this pull request?

[x] Bug fix
[ ] New Feature
[ ] Documentation update
[ ] Other

Before submitting the PR, please make sure you do the following

[x] Read the Contributing Guidelines.
[x] Read the Pull Request Guidelines and follow the Commit Convention.
[x] Check that there isn't already a PR that solves the problem the same way to avoid creating a duplicate.
[x] Provide a description in this PR that addresses what the PR is solving, or reference the issue that it solves (e.g. fixes #123).
[ ] Ideally, include relevant tests that fail without this PR but pass with it.

Any news on this PR?

Is there anything I can do to help get this PR merged?
I'd love to migrate our projects over from Webpack to Vite, but this is a real blocker for us.

We need tests for this. Feel free to send another PR that supersedes this with tests!

Any news?

I tried implementing this into a new PR with tests but a load of other seemingly unrelated tests started failing because of it.
This is out of my area of expertise so not something I'm going to be able to help with unfortunately.


refactor: improve usage of attributes and methods in Task class

Main edits:

Reordered methods in task.py so that we have special (__post_init__), public, and protected (one underscore) methods, specifically in this order.
Increased modularization in generate_trials() by adding _setup_trial_phases() protected method.
Removed unnecessary attributes used only in one method (i.e., _choice).
generate_trials returns now a dictionary that contains everything the user may need to 1) Exactly reproduce the experiment, so initialize again the Task class and call the generate_trials method ("task_settings", "ntrial", "random_state" keys), and 2) Dig/display/analyze the synthetic data generated during the current session ("modality_seq", "time", "phases", "inputs", "outputs" keys). The issue about the previous version was that we were saving everything into trials, even the protected attributes (which were repeated, e.g., there were two inputs keys -"_inputs" and "inputs"- in the old version's dictionary), and it wasn't very clear what the purpose of trials was looking at what was saved in it. Now I think is much clearer (see 1) and 2)) for both the user and the developer.
The idea behind protected attributes is that they should not be accessed directly from outside the class (even if the single underscore syntax is just a convention and not a strict rule). The user doesn't need to know how things are stored and manipulated internally. With this rationale, I made protected all attributes that are not input parameters for the constructor of the class. What is needed can be accessed from the user via the dictionary described in the bullet point above.

Exactly reproduce the experiment, so initialize again the Task class and call the generate_trials method ("task_settings", "ntrial", "random_state" keys), and

Would it make sense to add a test (either here or in separate PR) to to check that this works

Exactly reproduce the experiment, so initialize again the Task class and call the generate_trials method ("task_settings", "ntrial", "random_state" keys), and

Would it make sense to add a test (either here or in separate PR) to to check that this works

Good point, I'll do it here :)


Implement DDIM

TODO:

[x] DDIMSampler
[x] LitDDIM with modified sampling process

Made api changes but shouldn't change from here.


Add tests for loadme script

Loadme script logic is Not verified in automated tests: it should be!

Done in buildenv


Please add new CFA data scientist to CDC Gov

What type of help do you need?

[ ] Question
[ ] New Repo
[ ] Delete Repo
[x] User Membership (please make sure new members are familiar with the CDC open practices and set up their profile with name and org info to help people collaborate with them)
[ ] Other

Please describe how you'd like us to help.
Could you please add Casey Middleton, a new data scientist at CFA to CDC Gov so that she can access our repos? Her CDC ID is<EMAIL_ADDRESS>and her github username is CaseyMiddleton.

Invite sent to<EMAIL_ADDRESS>


PR: better project description

We need good project description. This description should be very short, like 1-2 sentences. It should show what is project and what is main feature of project.
Right now we have “React components developed to make your site more friendly ;)” on homepage. It is a good start, but we should make it better. Right now, main problem us that description doesn’t show how website will be friendly exactly. For example, icons packs make website friendly too ;).
What do you think about: “Animations library for React. Just wrap your exists UI with Animakit components to get transitions for better UX.”?

I liked the description and used the second sentence. Thank you!

Awesome! :)


Corecct ProcessInfo.operationSystemVersion on Windows

At Windows 8.1, Microsoft changed the default behavior of
GetVersionEx not to return actual version number for preventing
compatibility isseus. I think it's better to use the product version
retrived from kernel32.dll as an alternative as Microsoft described in
a document:
https://docs.microsoft.com/en-us/windows/desktop/SysInfo/getting-the-system-version

The usage here is not for compatibility but rather reporting purposes.  I agree with @jakepetroules - we should just resort to RtlGetVersion

If my understanding is correct, we can't use that approach. RtlGetVersion is a kernel mode function, so application programs can't use it.

@yamoridon - no your understanding is not correct.  The RtlFunctions are implemented in the kernel, but you can still use them in usermode.  It just is a slightly roundabout way - you need to use GetProcAddress.  If you want, I can make the change - its pretty easy.

Thank you for advice. How about this? Too long line?

Minor naming things, but looks good otherwise!

@swift-ci please test

Can you also please squash the changes?

Does it mean following?

Close this PR.
Make a new branch.
Make changes on this PR as one commit on the new branch.
Make a new PR

You can use git rebase -i to squash all the commits into a single commit and force push to the existing branch :-).

Seems to  have succeeded. Thank you for your kind support!

@swift-ci please test

@swift-ci please test

I think that this improves the Windows status quo, so I'm going to go ahead and merge this.  If @millenomi has additional suggestions, they can be handled in a follow up.


Object has no attribute 'parent'

I am currently working on a Python script that saves screenshots from an Excel file using the excel2image module.
My code is pretty easy:
import excel2img excel2img.export_img(Workpath + "/" + "CB_TEMP.xlsx", "alarm_BB1.png", "Deckblatt", "A2:C20")
Unfortunately I always get the following error message:
`Unfortunately I always get the following error message:

AttributeError                            Traceback (most recent call last)
 in
----> 1 excel2img.export_img(Workpath + "/" + "CB_TEMP.xlsx", "alarm_BB1.png", "Deckblatt", "A2:C20")
~\anaconda3\lib\site-packages\excel2img\excel2img.py in export_img(fn_excel, fn_image, page, _range)
111
112         # See http://stackoverflow.com/a/42465354/1924207
--> 113         for shape in rng.parent.Shapes: pass
114
115         xlScreen, xlPrinter = 1, 2
~\anaconda3\lib\site-packages\win32com\client_init_.py in getattr(self, attr)
471                 args=self.prop_map_get.get(attr)
472                 if args is None:
--> 473                         raise AttributeError("'%s' object has no attribute '%s'" % (repr(self), attr))
474                 return self.ApplyTypes(*args)
475
AttributeError: '<win32com.gen_py.Microsoft Excel 16.0 Object Library.Range instance at 0x2460934736048>' object has no attribute 'parent'`
I have already tried several workarounds but I can't get it to work. Sometimes it works like magic, but mostly only after a reboot and deleting the data in C:/Users/patrick/AppData/Temp/gen_py.
I have a feeling something is clashing in the code with the win32com module I use in a function before to convert an XLSB file to an XLSX file:
def ConvertExcel(excel_filepath, Workpath):     excel = win32com.client.gencache.EnsureDispatch('Excel.Application')     xlsb_doc = excel.Workbooks.Open(os.path.abspath(excel_filepath))     excel_sheets = os.path.abspath(Workpath) + "\\CB_TEMP.xlsx"     xlsb_doc.SaveAs(excel_sheets, 51)     xlsb_doc.Close()     excel.Quit()     del excel     return excel_sheets
Kind regards,
Patrick

Hey Patrick,
Feel free to try using my fork here. It turns out the parent attribute changed for parent to Parent, so this was a simple one-line fix.

Hey Patrick,
Feel free to try using my fork here. It turns out the parent attribute changed for parent to Parent, so this was a simple one-line fix.

settled,thanks!

Hey Patrick,
Feel free to try using my fork here. It turns out the parent attribute changed for parent to Parent, so this was a simple one-line fix.

you save me a night thx!

Thnks

Hey Patrick,
Feel free to try using my fork here. It turns out the parent attribute changed for parent to Parent, so this was a simple one-line fix.

It worked for me


Question/Request: Using float values with (sellupperpcnt, selllowerpcnt,trailingstoploss) params

hey @whittlem
Can we use float values (i.e. .5) for (sellupperpct, selllowerpct,trailingstoploss)?
Most gains or losses happen in decimal percentages, so having the ability to use floats is more logical versus having to wait for a full  (1,2,3..) % gain or (-1)% loss to trigger a SELL.
the code logic when checking in the (config) area, looks for an INT:
if 'sellupperpcnt' in config:                             if isinstance(config['sellupperpcnt'], int):                                 if config['sellupperpcnt'] > 0 and config['sellupperpcnt'] <= 100:                                     self.sell_upper_pcnt = int(config['sellupperpcnt'])
the code logic when looking for command-line arguments looks for an INT and then tries to set it to FLOAT (that doesn't look right):
if args.sellupperpcnt != None:             if isinstance(args.sellupperpcnt, int):                 if args.sellupperpcnt > 0 and args.sellupperpcnt <= 100:                     self.sell_upper_pcnt = float(args.sellupperpcnt)

@whittlem @letsautom8  i made changes to the code to allow floats for those parameters, all in (PyCryptoboty.py).
Here is output from a successful  BUY/SELL with the changes:

|                Market : ALICEUSDT                                            |

Granularity : 5m

Bot Mode : LIVE - live trades using your funds!

Bot Started : 2021-05-01 10:06:16.958378

================================================================================

Sell Upper : 0.5%

Sell Lower : -0.5%

—
================================================================================
|         Iteration : 1                                                        |

Timestamp : 2021-05-01 16:05:00

Close : 17.71

EMA12 : 17.28

EMA26 : 17.25

Crossing Above : True

Currently Above : True

Crossing Below : False

Currently Below : False

Condition : EMA12 is currently crossing above EMA26

SMA20 : 17.17

SMA200 : 16.85

|              MACD : 0.03                                                     |
|            Signal : -0.05                                                    |
|   Currently Above : True                                                     |
|   Currently Below : False                                                    |

Condition : MACD is currently above Signal and has crossed over

Action : BUY

================================================================================

*** Executing LIVE Buy Order ***

ALICE balance before order: 0.0

USDT balance before order: 84.5069

—
================================================================================
|         Iteration : 1                                                        |

Timestamp : 2021-05-01 16:05:00

Close : 0.84

EMA12 : 0.84

EMA26 : 0.84

Crossing Above : False

Currently Above : False

Crossing Below : False

Currently Below : True

Condition : EMA12 is currently below EMA26 and has crossed over

SMA20 : 0.84

SMA200 : 0.78

|              MACD : -0.01                                                    |
|            Signal : -0.01                                                    |
|   Currently Above : False                                                    |
|   Currently Below : True                                                     |

Condition : MACD is currently below Signal and has crossed over

Action : WAIT

================================================================================

Order quantity after rounding and fees: 0.95

ALICE balance after order: 0.95

USDT balance after order: 67.6151

—
================================================================================
|         Iteration : 2                                                        |

Timestamp : 2021-05-01 16:10:00

Close : 0.15

EMA12 : 0.15

EMA26 : 0.15

Crossing Above : False

Currently Above : False

Crossing Below : False

Currently Below : True

Condition : EMA12 is currently below EMA26 and has crossed over

SMA20 : 0.15

SMA200 : 0.16

|              MACD : -0.01                                                    |
|            Signal : -0.01                                                    |
|   Currently Above : True                                                     |
|   Currently Below : False                                                    |

Condition : MACD is currently above Signal and has crossed over

Action : WAIT

================================================================================

! Trailing Stop Loss Triggered (< -0.5%)

—
================================================================================
|         Iteration : 2                                                        |

Timestamp : 2021-05-01 16:10:00

Close : 17.56

EMA12 : 17.31

EMA26 : 17.26

Crossing Above : False

Currently Above : True

Crossing Below : False

Currently Below : False

Condition : EMA12 is currently above EMA26 and has crossed over

SMA20 : 17.17

SMA200 : 16.84

|              MACD : 0.04                                                     |
|            Signal : -0.04                                                    |
|   Currently Above : True                                                     |
|   Currently Below : False                                                    |

Condition : MACD is currently above Signal and has crossed over

Action : SELL

================================================================================

Margin : -0.87%%

================================================================================

*** Executing LIVE Sell Order ***

ALICE balance before order: 0.95

USDT balance before order: 67.6151

Order quantity after rounding and fees: 0.94

ALICE balance after order: 0.01

USDT balance after order: 84.0749

I'll show you the changes i made in a follow-up post

Here is the snippet of the output of a diff on my code compared to the main branch:
`                         if 'sellupperpcnt' in config:

                       if isinstance(config['sellupperpcnt'], int):

                           if config['sellupperpcnt'] > 0 and config['sellupperpcnt'] <= 100:

                               self.sell_upper_pcnt = int(config['sellupperpcnt'])

                       if isinstance(config['sellupperpcnt'], (int,str)):

                           if float(config['sellupperpcnt']) > 0 and float(config['sellupperpcnt'] <= 100):

                               self.sell_upper_pcnt = float(config['sellupperpcnt'])

                   if 'selllowerpcnt' in config:

                       if isinstance(config['selllowerpcnt'], int):

                           if config['selllowerpcnt'] >= -100 and config['selllowerpcnt'] < 0:

                               self.sell_lower_pcnt = int(config['selllowerpcnt'])

                       if isinstance(config['selllowerpcnt'], (int,str)):

                           if float(config['selllowerpcnt']) >= -100 and float(config['selllowerpcnt']) < 0:

                               self.sell_lower_pcnt = float(config['selllowerpcnt'])

                   if 'trailingstoploss' in config:

                       if isinstance(config['trailingstoploss'], int):

                           if config['trailingstoploss'] >= -100 and config['trailingstoploss'] < 0:

                               self.tailing_stop_loss = int(config['trailingstoploss'])

                       if isinstance(config['trailingstoploss'], (int,str)):

                           if float(config['trailingstoploss']) >= -100 and float(config['trailingstoploss']) < 0:

                               self.tailing_stop_loss = float(config['trailingstoploss'])`

--
`         if args.sellupperpcnt != None:

       if isinstance(args.sellupperpcnt, int):

           if args.sellupperpcnt > 0 and args.sellupperpcnt <= 100:

       if isinstance(args.sellupperpcnt, (int,str)):

           if float(args.sellupperpcnt) > 0 and float(args.sellupperpcnt) <= 100:
               self.sell_upper_pcnt = float(args.sellupperpcnt)

   if args.selllowerpcnt != None:

       if isinstance(args.selllowerpcnt, int):

           if args.selllowerpcnt >= -100 and args.selllowerpcnt < 0:

       if isinstance(args.selllowerpcnt, (int,str)):

           if float(args.selllowerpcnt) >= -100 and float(args.selllowerpcnt) < 0:
               self.sell_lower_pcnt = float(args.selllowerpcnt)

   if args.trailingstoploss != None:

       if isinstance(args.trailingstoploss, int):

           if args.trailingstoploss >= -100 and args.trailingstoploss < 0:

       if isinstance(args.trailingstoploss, (int,str)):

           if float(args.trailingstoploss) >= -100 and float(args.trailingstoploss) < 0:
               self.trailing_stop_loss = float(args.trailingstoploss)`

Here is snippet of my code changes:
     if args.sellupperpcnt != None:

       if isinstance(args.sellupperpcnt, int):

           if args.sellupperpcnt > 0 and args.sellupperpcnt <= 100:

       if isinstance(args.sellupperpcnt, (int,str)):

           if float(args.sellupperpcnt) > 0 and float(args.sellupperpcnt) <= 100:
               self.sell_upper_pcnt = float(args.sellupperpcnt)

Please create a PR :)

Would u mind creating a PR pls? Any improvements are welcome.

hey @letsautom8 , sure, i am reading up on how to do all that.

I reviewed the PR which looks good but the validation needs some adjusting. If you can fix that I'll approve and include it. Thanks for the contribution.


Add custom icon for "add stage"

https://github.com/otacke/h5p-editor-game-map/commit/90c8c7fb636f15bd2e4ea36637cce18c1648a5f4


Parameter for receiving RTK corrections from radio serial port?

In the EvalTool or the cltool, you can configure the uINS as a rover to receive RTK corrections via radio through a serial port e.g.
cltool.exe -flashConfig=rtkCfgBits=0x01 -svr=RTCM3:SERIAL:COM9:57600
I can't seem to find the same in the ROS driver parameter list. How can I do this?

@dominoc - The CLTool documentation can be a little misleading. That -srv function is to stream corrections from a source that is connected using a COM port (e.g. a radio connect a COM port on the computer). Those corrections are captured by the CLTool then passed to a uINS device on the specified COM port. It is basically a pass through to do everything through a computer.
The uINS can recognize base corrections streamed to any serial port. If the radio has a serial output it can be connected to the serial ports on the uINS directly.

Wasn't questioning CLTOOL but I read through the ROS driver source code and figured out the right ROS param values to pass, e.g. RTK_server_ip=SERIAL:COMX and RTK_server_port=9600

@dominoc I'm trying to do the same thing in ROS on a Raspberry Pi running Ubuntu Mate. Will you please, share more details on how you got it working? I have tried setting my parameters in the launch file as:
RTK_server_ip: "/dev/ttyS0",
RTK_server_port: 57600,
RTK_correction_type: "RTCM3"
/dev/ttyS0 is the serial tx/rx uart port on the RPi and 57600 is the baud rate of the radio streaming RTCM3.
Unfortunatly, this is not working as far as I can tell. I get a message that the RTK server was successfully connected but, the message shows RTCM3:<IP_ADDRESS>:57600 and nothing shows up in the topic /RTK/info or rel.
Any help you can provide is much appreciated. Thanks in advance.

You need the SERIAL keyword.e.g.
RTK_rover: "true"
RTK_server_ip: "SERIAL:/dev/ttyS0",RTK_server_port: 57600,
RTK_correction_type: "RTCM3"
Best regards
Dominic
On Thursday, 6 August 2020, 12:23:15 am SGT, Bill<EMAIL_ADDRESS>wrote:

@dominoc I'm trying to do the same thing in ROS on a Raspberry Pi running Ubuntu Mate. Will you please, share more details on how you got it working? I have tried setting my parameters in the launch file as:
RTK_server_ip: "/dev/ttyS0",
RTK_server_port: 57600,
RTK_correction_type: "RTCM3"
/dev/ttyS0 is the serial tx/rx uart port on the RPi and 57600 is the baud rate of the radio streaming RTCM3.
Unfortunatly, this is not working as far as I can tell. I get a message that the RTK server was successfully connected but, the message shows RTCM3:<IP_ADDRESS>:57600 and nothing shows up in the topic /RTK/info or rel.
Any help you can provide is much appreciated. Thanks in advance.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.


_Ionicons.default.getImageSource is not a function

Good day to all !
I'm trying to implement react-native-vector-icons in react-native-navigation from wix.
Originally i had expo project, but i've ejected it and manually linked RNN & RNVI.
Normal usage of icons is OK, but when i trying to use getImageSource function it fails.

Environment
"react-native": "~0.61.4",
"react": "~16.9.0",
"react-native-vector-icons": "^6.6.0",
"react-native-navigation": "^6.6.0",
Checked issues and trials:
I've already checked issues:
https://github.com/oblador/react-native-vector-icons/issues/700
https://github.com/oblador/react-native-vector-icons/issues/791
and other similiar issues on stackoverflow.

Tried manual linking according to instruction: https://github.com/oblador/react-native-vector-icons#option-manually-1

Tried linking via: react-native link react-native-vector-icons

But nothing helps

This is because the npm package does not contain this feature yet.
getImageSource() was implemented a few months ago, but the last publish date of the npm package is June 27 2019

This is because the npm package does not contain this feature yet.
getImageSource() was implemented a few months ago, but the last publish date of the npm package is June 27 2019

I'm facing the same issue, so there is no answer to this? :/

So, no workaround?

So, no workaround?

i'm also curious, because I want to use it with expo

I am using expo with bare settings and I am getting this error using package "react-native-vector-icons": "^8.0.0"
What is the problem? this should work with bare settings? is it that the package dose not contain this method, should I upgrade?

Hello @oblador ,
I have the same problem here, and this is what I get

Uncaught TypeError: _expo_vector_icons_Ionicons__WEBPACK_IMPORTED_MODULE_6__.default.getImageSourceSync is not a function

We’ve just released a major new version with significant changes and improvements. If you’re still experiencing this issue after upgrading, please open a new issue with updated details. We're closing all the very old issues to get on top of things. Thanks for your patience!


Add MIT License

Please add some license to this project so people know what terms they can use it under :) e.g. MIT license attached.

Thanks!


Allow public access

I'm looking at allowing visitors to view my InvenTree instance, I don't currently see a way to do this but I could be missing something.
Any ideas or preferences on how I might go about implementing this feature?

Django provides for "user permissions" which can apply to individual users or entire groups. These can provide fine-grained control of what users can access / read / write / delete (etc).
I think this would be a good way to approach the problem, and create a "guest" account which can only view certain parts of the data.
However this functionality needs to be used to actually restrict access to the particular data. I would also like to see it coded in way that is not particular to a single InvenTree instance (e.g. at the very least it covers InvenTree in a generic way, or it can be extended to meet particular needs).
Docs:

https://developer.mozilla.org/en-US/docs/Learn/Server-side/Django/Authentication
https://docs.djangoproject.com/en/3.0/topics/auth/

Oh I never shared my thoughts on the actual implementation...
My idea is to focus on group/role based permissions although user based permissions would of course still work. I plan on sticking with the default Django permissions as I think they should be good enough (view, change, add, delete).
You'd create a group in the admin panel and set whatever permissions you would like that group to have, then add users to that group. These would be the broad restrictions that would apply to the API and top level UI elements, based on the model. These can be implemented with just Django.
In order to use object based permissions we need a per object authentication backend like django-guardian, since that isn't natively supported in Django. On creation (or while being edited) each object should have a form that can be used to pick which groups have access to that object. What object permissions they have should be based on that groups model permissions, to keep it simple.
You can use the admin panel to set user permissions per object or to fine tune the group permissions per object, but I think that's a bit much to add to the front end UI.
I wound up with this approach since it was easier to implement an anonymous user and would add more to the project.

Hi @Zeigren check out the implementation in https://github.com/inventree/InvenTree/pull/1018
Does this meet your requirements here?

@SchrodingersGat I think we should close this ticket, the role and permission system definitely allows for visitor/public/view-only profile.

@SchrodingersGat I think we should close this ticket, the role and permission system definitely allows for visitor/public/view-only profile.

Agreed, thanks for bringing this to my attention @eeintech

Agreed, thanks for bringing this to my attention @eeintech


[1.5.1] Print function is hijacked and crashes

Hi,
This one is from core package.

Crash 1: if you don't have print dialog defined globally you get errors in console. Not documented, not very happy to have it anyway, but bearable.
Crash 2: If the dialog is defined globally, but the component is not loaded

Expected print service to be initialized.
overrideMethod @ console.js:273
window.print @ index.js:1888
(anonymous) @ index.js:1946

Crash 3 or malfunction: no error, image generated for print, print page blank.

https://github.com/devel-pa/pdfslick-demo
yarn start
or in storybook try to CTRL+P from different stories
yarn storybook
Thanks,
Paul

Not much tested, but
Attempt to fix: https://github.com/devel-pa/pdfslick-demo/tree/tryfix
Check patches folder and src/components/PrintUtils.tsx component


⚠ PrivateHD has degraded performance

In 52402a2, PrivateHD ($PHD) experienced degraded performance:

HTTP code: 200
Response time: 1051 ms

Resolved: PrivateHD performance has improved in 575bde0.


Filter out null blocks

Looking at the error that occurs the most in Sentry (https://sentry.io/organizations/metamask/issues/2052743196/?project=273505&query=is%3Aunresolved&sort=freq&statsPeriod=14d), it appears that we can receive null blocks:
node_modules/eth-json-rpc-filters/subscriptionManager.js in normalizeBlock

Since normalizeBlock presumes block has certain properties, it makes sense that we filter out bad block representations before trying to normalize them.

This makes sense. Would you mind adding a test for this?

j


OS/X emoji size too small (due to HighDPI screens)

seems like we are taking the  DPI into account when loading the colored emoji font face in the open_shaper implementation.

Was it fixed in https://github.com/contour-terminal/contour/pull/1216 ?

@Yaraslaut oh yes, you were right, i forgot to close it. thanks. :)

Seems like the emojis are still small in the latest release

Oh interesting. Many thanks for your interest, @erf.

This is how it is for me on latest version. I wonder what might have caused this for you to still be small. Hmmm...  I might be able to direct you to some logging hints tomorrow (too tired now) :)

Here is a screenshot. It only seem to happen on an external monitor using a m1 macbook.

If i'm on my internal montor it seem ok - but notice the heart emojis does only take up a single col width .. i've enabled mode 2027

Hi,

So this is how it looks like on my M1. It should work (tm). I think it may of course be a system installation deviation between your M1 and my M1. Do you use a custom emoji font (anywhere)? Would you mind sharing your contour.yml config (the font configuration part at least)?
On the DPI issue that you're facing on an external monitor, I think we may need a drop-out ticket, that specifically addresses that issue. I am not having an external display next to me, but I will check ASAP as well. Many thanks for reporting (and sorry for the inconveniences :) )

Hey, i just used the default config file. The heart issue seem to be in my editor (but also in vim, nvim), but if i cat the file it seem ok ... untill i drag the mouse and select that line .. very weird . i made a screen recording:
https://github.com/contour-terminal/contour/assets/1562523/83d2758c-9a3a-40cd-9942-96988208318f

Yeah, this one we'll be tracking in #1375. Many thanks :)


docs: update incorrect API example in readme

Fixing docs for DC

:tada: This PR is included in version 2.0.10 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Updated typos in batching.md

fixed spelling error and added markdown for italic text that was being emphasized via dashes

Before creating a pull request, make sure that you have read the contribution file located at
https://github.com/pnp/powerShell/blob/dev/CONTRIBUTING.md
Type

[X] Bug Fix
[ ] New Feature
[ ] Sample

Related Issues?
???
What is in this Pull Request ?
fixed spelling error and added markdown for italic text that was being emphasized via dashes
Guidance

You can delete this section when you are submitting the pull request.*
Please update this PR information accordingly. We use this as part of our release notes in monthly communications.
Please target your PR to Dev branch. If you do not target the Dev branch we will not accept this PR.

Summary

copilot:summary
Details

copilot:walkthrough

Well noticed. Thanks for taking the time to correct this @CatSchneider, appreciated!


Fixed no sound issue when compiling with Arduino IDE 1.8.6, 1.8.7

I'm applying this. Thank you @MrBlinky


[BCHDCC-56] Map Toggle Functionality

Description

Add functionality to toggle the community resources map view opened and closed on mobile and tablet. Follows the design outlined in the BCHD figma.
This map toggle is one of the "subtasks" in BCHDCC-56.
The labels and toggle are accessible.
Motivation and Context

BCHDCC-56 - Designs should be responsive for mobile phones / Ipads

Screenshots

Libraries Added
Migrations to Run: Yes / No
Tests to Run
Internal Checklist

[x] My code follows the code style of this project (https://rubystyle.guide/).
[ ] I have added tests to cover my changes.
[x] All new and existing tests passed.

@anna-dorigo Yeah I agree, I wasn't sure about that either, but I'm not sure if I should change the design. I think maybe we should keep it and they can change it if they dislike the label or if they find it confusing.

@anna-dorigo Yeah I agree, I wasn't sure about that either, but I'm not sure if I should change the design. I think maybe we should keep it and they can change it if they dislike the label or if they find it confusing.

Right, we can do that, in any case it will be an easy change


Add giganto-client test functions

Codecov Report
Base: 77.76% // Head: 77.72% // Decreases project coverage by -0.05% :warning:

Coverage data is based on head (12559b9) compared to base (38987dd).
Patch coverage: 0.00% of modified lines in pull request are covered.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #259      +/-   ##
==========================================
- Coverage   77.76%   77.72%   -0.05%
==========================================
  Files          27       27
  Lines        3742     3744       +2
==========================================
  Hits         2910     2910
- Misses        832      834       +2

Impacted Files
Coverage Δ

giganto-client/src/connection.rs
46.93% <ø> (ø)

giganto-client/src/frame.rs
100.00% <ø> (ø)

giganto-client/src/ingest.rs
100.00% <ø> (ø)

giganto-client/src/lib.rs
100.00% <ø> (ø)

giganto-client/src/publish.rs
73.50% <0.00%> (-1.94%)
:arrow_down:

giganto-client/src/publish/range.rs
100.00% <ø> (ø)

src/publish.rs
71.65% <0.00%> (+0.22%)
:arrow_up:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


⚠ Bofrost.de has degraded performance

In 09f8137, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 1680 ms

Resolved: Bofrost.de performance has improved in 66ba155.


layer-update-one-to-n-relations

fix #265

updated content to use UUID for 1-n relations
updated documentation/forms_one-to-many-relations project so that it also uses UUIDs

fixed the PR CI checks, ready to review @wonder-sk


KeyError: 'ｰ'

I ran into another issue parsing a title of a book, ティンクル☆くるせいだｰすGoGo！(1). The error is below:
% cutlet
ティンクル☆くるせいだｰすGoGo！(1)
Traceback (most recent call last):
  File "/Users/ykim/.local/share/virtualenvs/sandbox-nIHPi2Hu/bin/cutlet", line 14, in <module>
    print(katsu.romaji(line.strip()))
  File "/Users/ykim/.local/share/virtualenvs/sandbox-nIHPi2Hu/lib/python3.8/site-packages/cutlet/cutlet.py", line 127, in romaji
    roma = self.romaji_word(word)
  File "/Users/ykim/.local/share/virtualenvs/sandbox-nIHPi2Hu/lib/python3.8/site-packages/cutlet/cutlet.py", line 191, in romaji_word
    return self.map_kana(kana)
  File "/Users/ykim/.local/share/virtualenvs/sandbox-nIHPi2Hu/lib/python3.8/site-packages/cutlet/cutlet.py", line 231, in map_kana
    out += self.get_single_mapping(pk, char, nk)
  File "/Users/ykim/.local/share/virtualenvs/sandbox-nIHPi2Hu/lib/python3.8/site-packages/cutlet/cutlet.py", line 264, in get_single_mapping
    return self.table[kk]
KeyError: 'ｰ'

This may be related to the changes from #7 and/or #8. This string did not error before either changes. My guess is that the ☆ in the middle is causing some issues.

Thanks for the bug report.
The issue here is not the star, it's the thing that looks like a hyphen. That's actually a half-width long vowel stroke (長音符). I didn't have any handling for half-width katakana, so they were failing at lookup time.
This worked in older versions of the code because unknown characters were passed through. That would have been bad with text like this, as it would look like normal ascii, but have to be encoded in URLs or other situations. Thanks for helping me catch it!
I just released 0.1.9, which should fix this issue.


What is the correct way to use TelemetryClient with Activity?

I have 2 apps are built on .NET 6. One of them is class library (ClassLibrary), another one asp.net core (WebApp).
ClassLibrary contains no external packages. WebApp references to ClassLibrary, also has reference to Microsoft.ApplicationInsights.AspNetCore 2.20.0. I think it's not important, but I run it on my Windows laptop.
I want my ClassLibrary publishes some telemetry for further  consumption and sending all that to Application Insights in Azure.
I added into it ActivitySource and through it I create Activities in different pieces of code. It looks like this:
using var activity = MyActivitySource.Current.StartActivity("MyActivity");
activity?.SetTag("tenantId", tenantId);
activity?.SetTag("onDate", onDate);

In my WebApp I created ActivityListener
_listener = new ActivityListener
{
	ShouldListenTo = source =>
	{

		return source.Name.Equals("MyActivitySourceName", StringComparison.OrdinalIgnoreCase);
	},
	Sample = (ref ActivityCreationOptions<ActivityContext> _) =>
	{
		return ActivitySamplingResult.AllData;
	},
	ActivityStarted = activity =>
	{

	},
	ActivityStopped = activity =>
	{
		var requestOperation = telemetryClient.StartOperation<RequestTelemetry>(activity);

		foreach (var tag in activity.Tags)
			requestOperation.Telemetry.Properties.Add(tag);

		telemetryClient.StopOperation(requestOperation);
	}
};

And connected it to listen my ActivitySource:
ActivitySource.AddActivityListener(_listener);
I get transactions in Application insights. And they are looked similar to what I wanted. But there are couple issues I don't know how to solve.

I don't see in Application Insights information I added into requestOperation.Telemetry.Properties.Add(tag). Neither in Request Properties nor Custom properties.
I have unreal time in my operation. It's too small. I don't know how can I set it correctly.

How can I fix these two issues?

Hi @cijothomas

2 - the duration is between the time of StartOperation and StopOperation. Which would be very low, as you are doing it in the ActivityStopped callback.

I thought I can get duration like this: DateTime.UtcNow - activity.StartTimeUtc.
The problem is I don't know how to set this value to requestOperation

Maybe there is a better way to achieve you goal. If you can elaborate your end goal, we might be able to suggest better ways.

Let's look on SqlServerClient or HttpClient. If you add to your project reference to Microsoft.ApplicationInsights.AspNetCore and call builder.Services.AddApplicationInsightsTelemetry() you will get telemetry from them among other telemetry that will be viewed like a tree in Application Insights.
I want to do something similar with my library. If you connect AddApplicationInsightsTelemetry() I want you to see traces from my library in tracings inside Application Insights.

https://docs.microsoft.com/azure/azure-monitor/app/asp-net-dependencies#manually-tracking-dependencies - To manually track dependencies not automatically collected.

If I use this approach in my library, my library will be addicted to Microsoft.ApplicationInsights.AspNetCore package. My idea is exactly to avoid that. I want to give an opportunity to library users to get some diagnostic information (traces) from my library, connected with distributed tracing as well. But the choice how will you use this information I want leave to user.
Maybe you want just write some flatten logs into you system if you have monolith app and distributed tracing isn't needed in your case. Maybe you want exporting this traces to some tracing system and Application Insights it's only one option among others.
If you want doing nothing with this information you can doing nothing but library code stays the same regardless do you use this traces or not. What is bolded this is the main reason why I thought to use approach with Activity / ActivityListener. I thought this is exactly what I need.

setup own listener

Do you mean ActivityListener like in my example above or something else?

call ApplicationInsights specific API (like TrackDependency etc.).

I'm calling StartOperation() and StopOperation() because I thought as StartOperation method accepts an Activity object, this is exactly what I need. The only problem leaved it's I couldn't set correct time. I have this time but I don't know where I have to pass it. I tried the next way:
var requestOperation = telemetryClient.StartOperation<RequestTelemetry>(activity);
requestOperation.Telemetry.Duration = activity.Duration; // it doesn't work
telemetryClient.StopOperation(requestOperation);

But it didn't work. If I resolve this issue I will be happy.
PS. issue with tags I resolved by moving necessary tags from SetTag to SetBaggage method; with SetBaggage it works.

You are better off doing TrackDependency/TrackRequest in the OnActivityEnd callback.
// following shows hardcode values. but they can come from Activity and Activity tags.
DependencyTelemetry dep = new DependencyTelemetry();
dep.Name = "DependencyName";
dep.Data = "SqlStatement";
dep.Type = "Sql";
dep.Target = "TargetServer";
dep.Duration = TimeSpan.FromSeconds(10);
dep.ResultCode = "500";
dep.Success = false;
    dep.Context.Cloud.RoleName = "MyRole";
    dep.Context.Cloud.RoleInstance = "MyRoleInstance";
    client.TrackDependency(dep);

I'd also suggest to not use SetBaggage. It serves different purpose.

You are better off doing TrackDependency/TrackRequest in the OnActivityEnd callback.

Okay, thanks!

I'd also suggest to not use SetBaggage. It serves different purpose.

I have an issue with tags. I tried
activity.AddTag("bbb", 2);
activity.SetTag("bbbbbb", 22);

but as a result I see anything in activity.Tags
Could you tell please a little bit detailed when I should SetBaggage(), when and how I should use xxxTag() ?

but as a result I see anything in activity.Tags

Could you elaborate this? What exactly is the issue with Activity.SetTag

Here is part of how is looked my end-to-end transactions in Azure: https://ibb.co/z4QCV33
I marked with a red rectangle my custom events which were created with activity and which were exported by my activity listener.
Area marked with green rectangle it's what I want to see only inside root operation. In my case I want to see that only inside PartnerCustomersReportUploadingService.Uploading operation.
When I used tags nothing happened. I didn't see these properties in end-to-end transactions. I even didn't see added tags inside activity.Tags property when I'm debugging.
When I'm using SetBaggage I see these properties inside end-to-end transactions. What I really wanted is to see them only inside root operation for which I set them. Currently I see them inside all downstream items including logs items. For sure it's better than not seeing them at all. That's why I settled on using Baggage.


Initial code migration

This is the initial PR for migration of the code base to the new repository.
The feils have been transferred from the old project, preserving their git history.
All packages are now at the top of the directory. These only serving internal functions have been moved into internal.
/cc @nishakm

@nishakm this is done, its the first commit to the repo!

@puerco any chance of creating a fresh git history for this project?

Ah no no, all the work in the past weeks was precisely for the opposite: I extracted the history of these files to preserve contributions that people have done to the project. I think is important to keep it to give credit to the work they already did.


Enable source maps on prod

What is it?
Right now it's hard to debug. Open source anyways

Done
https://github.com/opensource-observer/oso/pull/585


Fix dependencies for @polkadot imports

Just brought the @polkadot packages up to the same version - yarn test looks good so presumably no functionality is broken by this.
package.json was formatted automatically - can revert if you'd like!
❯ yarn test
yarn run v1.22.17
$ yarn test:jest && yarn test:auto
$ jest --testTimeout=23000 --maxWorkers=2 --verbose
 PASS  tests/accounts/solana.test.ts
  Solana accounts
    ✓ should create a new solana accounts (137 ms)
    ✓ should import an solana accounts using a private key (139 ms)
    ✓ should publish a post message correctly (661 ms)
    ✓ Should encrypt content (121 ms)
    ✓ Should encrypt and decrypt content (124 ms)

 PASS  tests/messages/post/publish.test.ts
  Post publish tests
    ✓ should publish post message correctly (1302 ms)
    ✓ should amend post message correctly (2199 ms)

 PASS  tests/accounts/ethereum.test.ts (7.709 s)
  Ethereum accounts
    ✓ should create a new ethereum accounts (1113 ms)
    ✓ should import an ethereum accounts using a mnemonic (1095 ms)
    ✓ should import an ethereum accounts using a private key (1119 ms)
    ✓ Should encrypt some data with an Ethereum account (996 ms)
    ✓ Should encrypt and decrypt some data with an Ethereum account (990 ms)

 PASS  tests/accounts/nuls2.test.ts
  NULS2 accounts
    ✓ should create a NULS2 accounts (6 ms)
    ✓ should import a NULS2 accounts using a mnemonic (3 ms)
    ✓ should import a NULS2 accounts using a private key
    ✓ should change NULS2 account address' prefix (3 ms)
    ✓ should publish a post message correctly (450 ms)
    ✓ Should encrypt content (2 ms)
    ✓ Should encrypt and decrypt content (2 ms)

 PASS  tests/messages/forget/publish.test.ts
  Forget publish tests
    ✓ should post a message which will be forget (2623 ms)

 PASS  tests/messages/store/publish.test.ts
  Store message publish
    ✓ should store a file and retrieve it correctly (2475 ms)

 PASS  tests/messages/aggregate/publish.test.ts
  Aggregate message publish test
    ✓ should publish an aggregate message (1962 ms)

 PASS  tests/messages/program/publish.test.ts
  Test the program message
    ✓ Publish a program retrieve the message (2587 ms)

 PASS  tests/messages/aggregate/get.test.ts
  Aggregate message retrieve test
    ✓ should retrieve an existing aggregate message (387 ms)
    ✓ should retrieve an existing aggregate message without specifies side params (296 ms)

 PASS  tests/messages/store/get.test.ts
  Store message retrieval
    ✓ should retrieve a store message correctly (308 ms)

 PASS  tests/accounts/nuls.test.ts
  NULS accounts
    ✓ should create a NULS accounts (12 ms)
    ✓ should import a NULS accounts using a mnemonic (6 ms)
    ✓ should import a NULS accounts using a private key
    ✓ Should encrypt content (1 ms)
    ✓ Should encrypt and decrypt content (1 ms)

Test Suites: 11 passed, 11 total
Tests:       31 passed, 31 total
Snapshots:   0 total
Time:        14.109 s, estimated 16 s
Ran all test suites.
$ ts-node testsAuto/entryPoint.ts
---Starting: substrateTests
Test [1-Success]        createAccountTest
Test [2-Success]        importAccountFromMnemonicTest
Test [3-Success]        importAccountFromPrivateKeyTest
Test [4-Success]        PublishAggregate
Test [5-Success]        encrypt
Test [6-Success]        encryptNDecrypt
✨  Done in 18.46s.


Automation: List global roles/users pages for standard users when they have custom permissions assigned

Taken from work done in https://github.com/rancher/dashboard/issues/8344, we should write an automated test to ensure that we do list the appropriate material in Page Configuration >> Users & Authentication pages for a standard user who has the roles or users.
E2E feels like the goal
To reproduce:

As an admin, create a global role by navigating to Users and Auth >> Roles >> Global Roles >> Verbs: List, Get & Resources: Global Roles
Create a standard user as an admin and assign the role
Log in as standard user

Expected result:
The user to be able to list/get the pages Users & Auth
Factors:

We need to add a test suite around non-admin users.

Added pages expected to be displayed and accessible.


Incremental model selection

This implements a simple approach to do hyper-parameter optimization on
incrementally trained models.  It is heavily insprired by (and steals content
from) #221 but makes fewer opinions, and doesn't attempt to implement
scikit-learn APIs.  I don't intend for this to be user-facing, or necessarily get
merged, but I hope that it to enable conversation around the topic.
Currently it implements a function fit, which takes in a model, training
and testing data and a parameter space.  It creates many models and trains them
on a block of data, scores them, and then keeps only the better performing
ones, training them on subsequent blocks of data.
It continues to do this until only one is selected.
This function is not intended for public users, but is hopefully something we
can play with as we eventually build a full solution.  It is decently
configurable today and we will need to find sane defaults.  Notably, this
function does not take opinions on the following:

How testing data should be separated from training data,
currently they are both explicitly provided
How many parameters to start with (provided as integer input)
How to decrease this number over time (provided as function input)

Additionally it does not, but probably should provide configurations for the
following:

How to select models from the current group
How to decide on stopping criteria for any particular model
How to decide how many models to select based on the scores received so far

I believe that this implementation is a decent start though and should be ok as a
conversation piece.  I think that it makes some decisions that we don't want to
think about yet (online determination of how many models to keep) while giving
us knobs for other parameters that I think we'll want to play with (model decay
functions, how to handle testing, etc..)
It is decently well tuned from a dask perspsective.
It optimistically tries moving forward on models between rounds and then cancels
work if it's not necessary.   This depends on dask master.
Performance is also a bit better with https://github.com/dask/distributed/pull/2100
merged in (but not necessary)
Notebook: https://gist.github.com/3a33bed7e7289550bfea8a48af702c82
It would be nice to settle on a sane default for this operation, which I understand is commonly needed.
I suspect that we should play a bit with some real problems using this to see what ends up being important before doing much more development work.

I recommend that before we develop further on either solution that we play
a bit with concrete problems to see what is important.
Eventually my guess is that this implementation will grow to the point
where you can use it as a piece to build out the full algorithm that you
want without having to do any low-level dask work.  However, I'm going to
claim that we don't yet know what algorithm you'll want to build before
first having a few more serious examples to play with.
On Sun, Jul 8, 2018 at 4:47 PM, Scott Sievert<EMAIL_ADDRESS>wrote:

@stsievert commented on this pull request.
Thanks for this implementation @mrocklin https://github.com/mrocklin.
I've glanced at the code, but need to take time to thoroughly review. Does
this clarify the ideas in #221 (comment)
https://github.com/dask/dask-ml/pull/221#issuecomment-402345232?
It implements starting/stopping work based on the current estimate of
good/bad models (which I agree should be done in #221
https://github.com/dask/dask-ml/pull/221). Is there anything else I
should pay close attention to for #221
https://github.com/dask/dask-ml/pull/221?
In dask_ml/model_selection/_incremental.py
https://github.com/dask/dask-ml/pull/288#discussion_r200852886:

       continue

   time_step = meta['time_step']

   ident = meta['ident']

   done[time_step].add(ident)

   info[ident].update(meta)

   history.append(meta)

   # Evolve the model by a few time steps, then call score on the last one

   model = models[ident]

   for i in range(time_step, next_time_step):

       X_future, y_future = get_futures(i + 1)

       model = client.submit(_partial_fit, model, X_future, y_future,

                             fit_params, priority=-i + meta['score'])

   score = client.submit(_score, model, X_test, y_test, scorer,

                         priority=-time_step + meta['score'])

Nice – the priority keyword is useful, and I wasn't aware of the
implementation.
I should spend some time thinking about priority. I think we want to use a
multiplicative ratio to try to remove scale: priority=score / i.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/dask/dask-ml/pull/288#pullrequestreview-135244651,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AASszFZ9gF2CukknIBePCoxb0pFCPVRDks5uEm_GgaJpZM4VGzHI
.

After looking at the Incremental.fit problem I'm inclined to generalize this code a bit so that the caller provides a list of models, training and testing data, and a function that gets called after every batch of training data gets processed to determine how to proceed.  That function would accept a dictionary mapping model identity to scoring information, and it would then return a dictionary showing how much further to proceed on each model before checking in again.
def update(score_info):
    """ Something like successive halving for hyperband """
    best = topk(n=len(score_info) / 2, score_info, lambda k: score_info[k]['scores'][-1])
    additional_steps = int(...)
    return {ident: scores_info[ident]['time-step'] + additional_steps for ident in best}

def update(score_info):
    """ Something like Incremental.fit """
    assert len(score_info) == 1
    [d] = score_info.values()
    if any(score > d['scores'][-10] + tolerance for score in d['scores'][-10:]):
        return {ident: d['time-step'] + 1}  # do one more time step
    else:
        return {ident: d['time-step']}  # no more work to do, signals termination

def update(score_info):
    """ Something like RandomSearchCV """
    out = {}
    for ident, d in score_info:
        if any(score > d['scores'][-10] + tolerance for score in d['scores'][-10:]):
            out[ident] = d['time-step'] + 1  # keep evolving this one
        else:
            out[ident] = d['time-step']  # don't evolve this one any further, it's done

The full fit function would have the something like the following inputs:
def fit(model, parameter_list, X_train, y_train, X_test, y_test, update, fit_params, scorer):
    ...

This may not cover these cases though.  Critique welcome before I invest time into this.

I simplified the example above significantly in an edit.  Better to look on github rather than depend on e-mail.

I'm inclined to generalize this code a bit

This looks like a disciplined way of controlling when to call partial_fit on models. It looks like one float determines model quality. update controls whether to pass a particular model to fit.
I think this looks good to me. I would like to store state inside update (I assume update is called with as_completed as fit completes). For the output of update, I think a negative integer should cancel any fit calls that are currently running for that model.
I think we'd want to control the fit call signature. Could we have a list of metadata aside the scores? Something like
>>> scores
{'model-1': [0.3, 0.4, 0.5],
 'model-2': [0.5, 0.5, 0.5]}
>>> model_meta
{'model-1': {...},
 'model-2': {...}}
>>> all_meta  # for HyperbandCV
{'scorer': ...,
 'X_test': ...,
 'y_test': ...}

where all_meta and model_meta could be configured by the programmer of Hyperband/Incremental.fit/RandomizedSearchCV in some way.
Then the call signature for fit could be
fit(model, X, y, **model_meta[ident], **all_meta) -> model, meta

I'm not seeing why update should be an argument to fit, but https://github.com/scikit-learn/scikit-learn/pull/9599#issuecomment-399853508 seems related. I renamed {X, y}_train to X, y. I also think we should rename update.

It looks like one float determines model quality

I don't understand this.  Which float?  In principle there is no one thing that determines model quality here.  We're a bit lower level.

I would like to store state inside update.

What state would you want to propagate.  I expect that the scores input will grow a number of other bits of metadata collected during the computation.

(I assume update is called with as_completed as fit completes)

In the context of successive halving update is called at the end of every epoch

I think a negative integer should cancel any fit calls that are currently running for that model.

The convention I proposed above is that the user passes back the number of additional steps go to forward in each model before calling update again.  A number of 0 would result in no additional fits.  Removing the element from the dict would result in forgetting the model entirely.  I believe that your proposed use of -1 fits one of these two.  Is that correct?

I think we'd want to control the fit call signature. Could we have a list of metadata aside the scores?

Yes, I agree that some collection of metadata is likely to be important.

where all_meta and model_meta could be configured by the programmer of Hyperband/Incremental.fit/RandomizedSearchCV in some way.

So the user would also pass functions to include in the partial_fit or score calls?  Is there a particular place where they should be run?  Should the user have the freedom to provide the entire partial_fit or score call or is this too much?  If too much, then can you suggest an implementation of _partial_fit that would cover most needs that you can think of?  Where do we call meta_func?  Or should it be a context manager or something else?  What is the right balance of easy to implement and also sufficient?  (these are somewhat rhetorical questions, I wouldn't expect anyone to have a full answer to any of them without trying out a bunch of things).
def _partial_fit(model_and_meta, X, y, fit_params, meta_func=None):
    ...

def _score(model_and_meta, X, y, scorer, meta_func=None):
    ...

I'm not seeing why update should be an argument to fit, but scikit-learn/scikit-learn#9599 (comment) seems related.

I'm probably misusing the term fit here.  That's just the name of my full function that does all of the training work.  I'm using the term partial_fit for training on a single batch.  I suspect that this is what you are calling fit above.

I got confused by naming/etc but am starting to understand (and disregard most of https://github.com/dask/dask-ml/pull/288#issuecomment-405416238; it's ill-informed). I think this adaptive training will require

specifying how many times _partial_fit is called with a particular model
receiving the score for each model after _partial_fit called so many times
storage and modification of metadata. This metadata is per-model for Hyperband, but it might be global for all models in other use cases (e.g., bayesian searches).

I think the _partial_fit and _score functions are good in this implementation. I think update should have the call signature
update(ident: str, train_metas: {str: dict}, model_metas: {str: dict})
    -> training_iters: {str: int}, model_metas: {str: dict}

There are two pieces of metadata: one for training (train_metas), and one to be used and modified in update (model_metas)
I would expect this to be called as soon as model ident has finished their _score call.
The metadata information in model_metas might change

I think train_metas should have scores and partial_fit_calls keys, and also the same keys as cv_results_ (e.g., mean_fit_time). This would be the object passed to and modified in _partial_fit and _score.
I think model_metas should hold on to historical information, and be initialized in meta_func. In the Hyperband case, this would mean holding onto the previous brackets and their scores in case any models need to be restarted. This would only live on the scheduler/master and not be passed to or modified in _partial_fit or _score.
I do think update should be renamed.

The convention I proposed ... Removing the element from the dict would result in forgetting the model entirely

I think 'not present' should default to 'do nothing'. I'd only want to specify the state for some subset of the models, not all the models. For Hyperband with some subset of the models I'd specify which models should be trained more and which models should be killed.
I think there {'model-0': -1} should cancel the most recent _partial_fit call for 'model-0', but hold onto the results from the previous _partial_fit calls. I think we should use -1 because it's kind of like going back one _partial_fit call.

I'm not sure about some of the motivation behind your thoughts above.
For the desire to call update after every score call I believe that you want this in order to support asynchronous hyperband, where you evolve tasks based on the scores that have arrived so far.  Instead of this approach I recommend that we just submit a training step on every model until a global update check, but submit them with a priority equal to their score.  This will mean that we still keep things saturated during stragglers, but won't let good models die if they happen to be unlucky about when they finish.  If async hyperband was your only motivation then I suggest that we keep things a bit simpler for now with the update function and run it only after all of the previous instructions finish.
Similarly I suspect that this was your motivation for having "no change" be the default in update.  But I'm not sure.  If you can include motivation behind your thoughts that would be useful

If you can include motivation behind your thoughts that would be useful

Asynchronous Hyperband is part of my motivation but not all of it. This is an adaptive training function, one that decides to train models based on prior evaluations and stored metadata. Wikipedia has a good example of the model updating after seeing one evaluation, what I'm used to seeing in adaptive algorithms.

run it [update] only after all of the previous instructions finish.

This won't perform well for synchronous Hyperband. There are a couple embarrassingly parallel loops in synchronous Hyperband, and there's no reason for loop to wait on another. It will work well for one successive halving call in synchronous Hyperband.
This is important: the initial call to update would return anywhere between 1 and 81 calls to _partial_fit. This doesn't really go away in later calls to update, which will specify anywhere between 3 and 27 _partial_fit calls.
This could be avoided if there's some way to specify the different Hyperband loops as independent, at least for synchronous Hyperband. This could work for asynchronous Hyperband too, as long as additional arguments are passed.

run it [update] only after all of the previous instructions finish.

I think this should be supported as well. That's the simplest interface I would expect.

Pushed some formatting changes.
Will take a closer look later (tomorrow most likely).

This looks pretty good. A lot of my concerns are addressed by the fact that this

works with classes (e.g., update=cls.fit), so arbitrary state can be stored and arbitrary functions can be run.
can be called in parallel (though I had some trouble getting https://github.com/dask/dask-ml/pull/288#issuecomment-405756267 to work).

Making this work with asynchronous Hyperband will be some work but not an incredible amount.

Making this work with asynchronous Hyperband will be some work but not an incredible amount.

Yeah, I'm happy to set up concurrent execution of successive halving for hyperband (or walk someone else through it) after we have a bit more understaning of how randomsearch and successive halving perform.  I don't think that building hyperband is likely to be a priority until then.

I thought I discovered some bugs, but turns out I didn't.

I've run into a bug where Dask can serialize and deserialize a model but the fit method tries to pickle the object (not Dask serialize) and it fails. Here's a notebook demonstrating this bug: https://gist.github.com/stsievert/dd65c1071593b8842267ac7a1f92a22e (this bug is on an outdated branch, https://github.com/mrocklin/dask-ml/pull/1, but it doesn't look like the commits since d8ab06aa35f4f2b73968e7726fe214cd791c6500 will resolve this issue).
After this issue is resolved, I will run into https://github.com/dask/distributed/issues/2183.

Sorry for the long delay.  Short term I recommend seeing if you can pre-scatter the model.  My hope is that this will be a decent short term fix.
model = client.scatter(model)

I believe that this is a case of https://github.com/dask/distributed/issues/2110

I ran into a bug on this branch, and implemented a quick and simple fix.
The algorithm in would try to retrieve a particular model from models, but it would throw a key error (which has to do with cancelling work).  Occasionally, the algorithm in https://github.com/dask/dask-ml/pull/221 will cancel work ahead of time and remove it from memory (del models[desired_ident]), even though it wanted to retrieve that key later.

Basically, I'd like a way to restore a model after it's been deleted. If the del models[ident] line isn't removed, something like
while True:  # line 168 of _incremental.py
    # ...
    instructions = update(info)
    bad = set(models) - set(instructions)

    # Delete the futures of bad models.  This cancels speculative tasks
    for ident in bad:
        del models[ident]
        del scores[ident]
        del info[ident]

    if not any(instructions.values()):
        for ident in instructions:
            models[ident] = restore_model(ident)
        break

Basically, I'd like a way to restore a model after it's been deleted. If the del models[ident] line isn't removed, something like

You would continue keeping ident in the dictionary that you provide in the update function, but with a value of 0.  This will keep it around, but not evolve it further.

You would continue keeping ident in the dictionary that you provide in the update function, but with a value of 0. This will keep it around, but not evolve it further.

D'oh. Of course. I've pushed those changes.

Two questions:

Should we test these functions if they're not user facing?
Can I merge mrocklin#2 into #221? It'd simplify git and save some time.

If you merge dask-ml master, I believe the CI failure will be fixed.
I haven't isolated the cause of that segfault yet.

@mrocklin I'll need to hear your input on all these linting checks :)
I've found that https://dask-ml.readthedocs.io/en/latest/contributing.html#pre-commit-hooks is a decent workflow.

In this, it'd be nice to support keyboard interrupts in this, and preserve the models/infos/etc on exit.
My use case is a user firing a keyboard interrupt and still recovering the best model's score/related info.

Agreed.  That's a nice idea.  I'll take a look at that soonish.
On Fri, Aug 31, 2018 at 6:49 PM, Scott Sievert<EMAIL_ADDRESS>wrote:

In this, it'd be nice to support keyboard interrupts in this, and preserve
the models/infos/etc on exit.
My use case is a user firing a keyboard interrupt and still recovering the
best model's score/related info.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/dask/dask-ml/pull/288#issuecomment-417808005, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AASszBaq2dz1JdoM9SrmMiBeA08sN2ptks5uWb1jgaJpZM4VGzHI
.

"soonish" meaning in the next few days
On Fri, Aug 31, 2018 at 7:30 PM, Matthew Rocklin<EMAIL_ADDRESS>wrote:

Agreed.  That's a nice idea.  I'll take a look at that soonish.
On Fri, Aug 31, 2018 at 6:49 PM, Scott Sievert<EMAIL_ADDRESS>wrote:

In this, it'd be nice to support keyboard interrupts in this, and
preserve the models/infos/etc on exit.
My use case is a user firing a keyboard interrupt and still recovering
the best model's score/related info.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/dask/dask-ml/pull/288#issuecomment-417808005, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AASszBaq2dz1JdoM9SrmMiBeA08sN2ptks5uWb1jgaJpZM4VGzHI
.

@TomAugspurger do you have thoughts on the right way to make a RandomSearch version of this that is API-familiar to a Scikit-Learn user?  Is there even an established API for this kind of thing with partial_fit?

class IncrementalSearch(BaseEstimator):

Would it make sense to factor this out from the Hyperband work going on now?

Yes, I think so. But I'm not sure what order we should do things in.

IncrementalSearch (is that the best name?) that provides a kind of baseline for this class of search models
Hyperband is a relatively minimal extension to IncrementalSearch implementing its strategies for model selection, etc.

does that conform with others' expectations? I'm happy to take over the work from those that are busy with other things.

I've updated the docstring considerably, including a runnable example.  Tests will fail until https://github.com/dask/distributed/pull/2232 is merged in.

Yes, I think so. But I'm not sure what order we should do things in.

IncrementalSearch (is that the best name?) that provides a kind of baseline for this class of search models
Hyperband is a relatively minimal extension to IncrementalSearch implementing its strategies for model selection, etc.

does that conform with others' expectations? I'm happy to take over the work from those that are busy with other things.

Yes, I think that ideally something like Hyperband would look something like the following:
class Hyperband(IncrementalSearch):
    def __init__(**hyperband_specific_kwargs);
        ...

    def additional_calls(self, scores):
        ...

If this existed I think that it would be easier to experiment with this sort of thing.
I should write up documentation for this PR, but I might want to wait until such a super-class exists.

I would be happy to leave the sklearn-specific conventions to someone else :)

OK then, so how's this for a plan

Merge dask/distributed#2232
Merge this
I take a pass at an IncrementalSearch base class today
We rebase Hyperband on IncrementalSearch

And followup items for documentation, examples, etc. of IncrementalSeach
The goal being to maximize the effectiveness of @stsievert's time :)

Sounds good to me
On Wed, Sep 5, 2018 at 10:55 AM, Tom Augspurger<EMAIL_ADDRESS>wrote:

OK then, so how's this for a plan

Merge dask/distributed#2232
https://github.com/dask/distributed/pull/2232
Merge this
I take a pass at an IncrementalSearch base class today
We rebase Hyperband on IncrementalSearch

And followup items for documentation, examples, etc. of IncrementalSeach
The goal being to maximize the effectiveness of @stsievert
https://github.com/stsievert's time :)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/dask/dask-ml/pull/288#issuecomment-418761650, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AASszPmVR3XDUo_xlrdACmhvYLI3NxQxks5uX-X5gaJpZM4VGzHI
.

class IncrementalSearch(BaseEstimator):

Perfect – I had this idea when playing with stop_on_plateau, but didn't bring it up. This should also inherit from DaskBaseSearchCV, right?

That's my current plan. Should have something later this afternoon.
On Wed, Sep 5, 2018 at 11:02 AM Scott Sievert<EMAIL_ADDRESS>wrote:

class IncrementalSearch(BaseEstimator):
Perfect – I had this idea when playing with stop_on_plateau, but didn't
bring it up. This should also inherit from DaskBaseSearchCV, right?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/dask/dask-ml/pull/288#issuecomment-418786064, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ABQHIikP5ChUY33NGFup36R6nltlSHRcks5uX_WKgaJpZM4VGzHI
.

Good to merge any time @TomAugspurger .


Dispatch ESLint and IDE issues.

Love the work so far.
I am running into a bit of an issue w/ MeteorFlux that are a bit over my head, but I am sure will impact others.

ESLint: The way Dispatch/Register are currently structured triggers the ESLint new-cap rule.  Dispatcher.dispatch didn't ever cause any issues.  Am I doing something wrong?  If not, why did we structure the API call this way.  This could be related to import failure of the IDEs I am using

IntelliJ IDE (Webstorm):  For whatever reason, 'Dispatch' and 'Register' show as unresolved functions/methods.  Since so many folks are using Webstorm, I wanted to make sure to flag this as an issue.  Although, I haven't really researched it so far.

I see. Yes, it's a not usual API and I suppose ESLint doesn't play nice with Meteor "globalization".
How do you think it should be? Maybe MF.dispatch(), MF.register() and MF.action?
Suggestions are welcomed.

I would say Flux.*  I doubt it conflicts w/ any namespace if people are using the package?  It'll make it a lot more clear to anyone looking at the code what's happening.  Think it's a hugely necessary change for adoption, though.

Ok, I like that.
I will release it with a 2.0 version for that major change. I want to experiment a bit first passing action as a parameter as well, so it's easier to unit test the functions outside the app context. For example:
State.modify('something', (state = 'default value', action) => {
  if (action.is('USER_DID_SOMETHING'))
    return action.someValue;
  else
    return state;
});

// and...

Flux.register(action => {
  switch(action.type()) {
    case 'USER_DID_SOMETHING':
      SomeCollection.insert({ value: action.someValue });
      break;
  }
});

Any thoughts?

Wanted to offer up help again, a hectic few months for me, but it's really the only thing stopping me from using meteorflux right now :(

@Custos I am really honored by your offer. The truth is we are not longer maintaining this project due to the more than possible deprecation of Blaze and Tracker by Meteor. Instead, we are thinking a new tool more powerful based on React and Mobservable.
That said, if you want to keep using MeteorFlux, you can of course. My suggestion is that you choose your own global and make a file in your lib folder, like this:
Flux = {
  register: Register,
  action: Action,
  dispatch: Dispatch
//... and so on


Publish library

I'm waiting until 0.15 comes out before publishing this as a library.

Pending https://github.com/purescript/registry/pull/395


etcd-waiter.service "not-found"

Hello,
I've just finished building a CoreOS cluster using the new cloud-config files and the latest stable version of CoreOS (522.5.0). I noticed that in the master.yaml there is a "write_files" command to write a waiter.sh file in /opt/bin directory and after there is a definition for etcd-waiter.service, that will using that file.
I have 2 problems:

after the boot I can't find any waiter.sh file in /opt/bin
entering the command "systemctl status etcd-waiter.service" results in:
"Loaded: not-found (Reason: No such file or directory)   Active: inactive (dead)"

Looking at the etcd-waiter.service definition in master.yaml I look at its dependencies and I see that:
Wants=network-online.target
Wants=etcd.service
After=etcd.service
After=network-online.target
Before=flannel.service
Before=setup-network-environment.service
How can it be executed BEFORE setup-network-environment.service and AFTER etcd, if etcd REQUIRES setup-network-environment.service?
Please be patient with me, I'm new in Linux world but I'm really interested in kubernetes and its potential. Thanks.

cc/ @kelseyhightower any idea?

@pires just changed this in #3639 or #3556

Even though it seems @rAy82 is right about the misleading entry Before=setup-network-environment.service, CoreOS should have written that file to the filesystem. But it didn't. So it should be something else. May I ask you to try this with beta or alpha version of CoreOS and let me know?

You're right, those are two distinct problems.
I've installed a fresh master VM running the latest CoreOS alpha release (571.0.0) but nothing seemed to have changed: no waiter.sh file or even /opt/bin directory. But these weren't the only things that the system wasn't writing... look at this:

The system wasn't writing any of the unit from the cloud-config. Then I tried to remove the three hyphens at the beginning of the master cloud-config, rebooted... et voilà!

/opt/bin directory created and waiter.sh file in it
all the units correctly written on the system
BUT...
all the processes are inactive

seeing the dependencies between all the processes, it seems to depend on the network-online.target that has not started (I don't know why). The only thing I could verify is that entering the "systemctl restart systemd-networkd" command the network-online.target starts and so all the other processes start automatically.
Putting all together:
it seems that the three hyphens at the beginning of the cloud-config were preventing the system to parse the whole config file
the network-online.target unit does not start automatically within the system boot
the
I hope that my analysis will be useful to help solving my issues

Where are you assembling your CoreOS cluster? I've just tested this successfully both with Vagrant and GCE.

Could it be that the files weren't downloaded because of some networking issue? Kubernetes binaries and some helpers like setup-network-environment are always downloaded? Or could it be that when you SSH to the node the files are not yet written? Not sure.. but this seems like a VM provisioning issue rather than Kubernetes or the provided cloud-configs.

I'm testing the coreos cluster with kubernates on two distinct and separated environments: a bare-metal coreos cluster in my office and a VMware Workstation environment with coreos VMs to test kubernetes when I'm not at work.
The issue has been opened because of my problems on my VM platform, but I'm having the same issue with network-online.target on both the environments. That prevents the other processes to start and therefore to download the various components, unless I restart the systemd-networkd process.
I don't think this issue could be due to a real networking problem because even though the network-online.target is inactive, I can ping internet URLs without any problem.
I exclude that the files are "not ready" when I ssh to the machine, because I wait some minutes but the situation doesn't change.
I'll try focus my tests on the conditions on which the network-online.target starts on not: have you some info on it?
Perhaps that argument is going out of topic, should we close that issue and open a new one?

Not sure how to proceed since many things may be happening in your environments that are out of scope of this project. Also, I've got no access either to VMware or bare-metal CoreOS.
I'd recommend you to try out a Vagrant solution that I do maintain (https://github.com/pires/kubernetes-vagrant-coreos-cluster), or GCE or AWS, and close this issue.

Ok, thank you for your help.


if invalid adress + workername = 40

if invalid adress + workername = 40 chars, it doesnt get authenticated..

+1

though indentations need to be fixed

@aayanl what do i need to fix?

Removed 40 chars in paymentprocessor, thanks to @hellcatz  for letting me know


Charlie to Charlie-Main

Completely Done and Finalize Design Move Charlie To Charlie-Main By Sanjana kumara 2024/10/30 1.17 am

Completely Done and Finalize Design Move Charlie To Charlie-Main By Sanjana kumara 2024/10/30 1.17 am


Add buttons to sudz.html

I want buttons which lead the user to my LinkedIn also back to home page. Such buttons are required for all pages.

I will work on this

i will take this?

Lots of buttons to add, lots of PRs to be made.

I would like to work on this . Can you assign this task to me ?

heyy i would like to work on this issue, can you assign this issue to me ??

I want to pick this issue can you explain this well by add screenshot please?


In pick_up_tip() add support for multi-channel pipette tip tracking

fixed in https://github.com/OpenTrons/opentrons_sdk/pull/63


AB#4283 Network Asset Mutators

Implementing mutations for network asset. Includes query building for IP address range object.

Added in the query and a couple other fixes


Fix for focus on thumbnail. Added documentation and guidance on use

Added macro options and documentation
Fixed a visual bug with focus style on image thumbnail

Previously like this

Now like this

Looks good although I think It needs more documentation. If you look at other pages some sections are missing and the multiple downloads example should probably come further down the page. But I this isn't priority at the moment then just add the documentation panel back in

I have put 'requires documentation' back in. That is not a priority at this stage, but the bug fix is.


Adding additional database support via AbstractJdbcTestResourceProvider - not supported, insufficiently documented, or is this implementation wrong?

Issue description
I aim to add support for a new database (CockroachDB) to Micronaut Test Resources. I can't just use a GenericTestContainerProvider as I need a AbstractJdbcTestResourceProvider to provide all of the database properties. To make this work, I implemented my own AbstractJdbcTestResourceProvider.
According to the docs: https://micronaut-projects.github.io/micronaut-test-resources/1.1.1/guide/index.html#implementing-test-resources
In addition, you need to declare the resolver for service loading, by adding your implementation type name in the `META-INF/services/io.micronaut.testresources.core.TestResourcesResolver file.
which, for my kotlin project, sounds like this file belongs in {module}/src/test/resources/META-INF/services/.
However, the logs indicate that this resolver wasn't loaded:
15:23:10.694 [ForkJoinPool.commonPool-worker-9] INFO  i.m.t.e.TestResourcesResolverLoader - Loaded 4 test resources resolvers: io.micronaut.testresources.postgres.PostgreSQLTestResourceProvider, io.micronaut.testresources.redis.RedisTestResourceProvider, io.micronaut.testresources.elasticsearch.ElasticsearchTestResourceProvider, io.micronaut.testresources.testcontainers.GenericTestContainerProvider

My best guess is that I'm running a Micronaut Test Resources server, the only documented way to use test resources; the embedded server version is mentioned but there are no details on how to run it. If that's the case, it's possible that the test resources server doesn't have visibility on my module's META_INF.
All that context given,
What am I doing wrong here?; or
What is the right way to debug the test resources server to figure out this problem myself?

which, for my kotlin project, sounds like this file belongs in {module}/src/test/resources/META-INF/services/.
However, the logs indicate that this resolver wasn't loaded

Test resources must not be defined in the test source set: they are executed in a separate process from tests, and therefore are compiled separately. If you use Gradle, which I assume is the case because you're using Kotlin, your test resource can be implemented in the src/testResources/java source set: https://micronaut-projects.github.io/micronaut-gradle-plugin/latest/#_implementing_your_own_test_resources_resolver

Ah, that makes perfect sense! Thank you so much! I'll test that out today.
For the time being, I proposed a minor documentation change - https://github.com/micronaut-projects/micronaut-test-resources/pull/95. It doesn't so much beyond more directly call out that each plugin has its own Test Resources-specific documentation.

I can improve the docs to mention in the implementation section that it is likely that the test resources are going to be invoked in a separate process.


Submit conda-forge recipe

@parente I wanted to use this today but there's no conda package yet :crying_cat_face:
We probably need another tag for this.  Would you suggest 0.0.4 or 0.1.0?

Current master is CLI incompatible with 0.0.4 (removed redundant yes flag IIRC) so 0.1.0.

https://github.com/conda-forge/staged-recipes/pull/2449


Add dry-run resource for VPC SC in project module

It would be useful to add the dry-run resource for VPC Service Controls in the project module.
See:

https://github.com/GoogleCloudPlatform/cloud-foundation-fabric/blob/master/modules/project/vpc-sc.tf
https://registry.terraform.io/providers/hashicorp/google/latest/docs/resources/access_context_manager_service_perimeter_dry_run_resource

Yes, thanks for raising this it somehow fell through the cracks and we forgot. If you want to send a PR by all means do it, otherwise I/we can take care of it soonish.

Yes, thanks for raising this it somehow fell through the cracks and we forgot. If you want to send a PR by all means do it, otherwise I/we can take care of it soonish.

Thanks for taking care of it ludoo ! 😃