More realistic static routing

A/B Street's cost functions for driving/biking and walking are laughably simple. They're used to pathfind for agents and to determine walksheds in the 15 min tool. This issue will focus on improving these cost functions for the static case; not going to worry about dynamic conditions like traffic delays or congestion charges yet.
Some thoughts/questions:

Do we express the cost just as an estimated time, subject to constraints? That's easier to communicate with people and matches the 15 min neighborhood intuition, but it doesn't directly express quietness / safety / pleasantness.
Multiple factors will influence a single cost. Should we use linear combination with parameters we have to somehow tune? Or a lexicographic comparison of each factor, arbitrarily choosing that a slight safety benefit warrants any increase in expected time?
Bucket list of factors:

For driving: speed limit and road length, waiting at traffic signals (could use actual fixed timing, or at least cycle length), unprotected left/right turns onto a bigger road
For biking: road length, elevation (don't have data yet), biking on/adjacent to a higher speed limit road, bike lanes in the door zone of parking, preferring totally separated trails, some OSM-based measure of road beauty (tree cover?) or quietness
For walking: same as biking, except the door zone factor doesn't matter

Individual people's preferences differ

Biking examples: fearless and fastest route possible, wanting hills for training, wanting safe/quiet routes
Do we need to support any arbitrary set of parameters, or just make up a few fixed profiles? Implementation-wise, since we're using contraction hierarchies, a few profiles is more reasonable.

Parameter tuning and testing

How do we verify resulting paths for different preferences are reasonable? I could manually audit some examples around Seattle that I'm intimately familiar with.
Should we set up goldenfile unit tests, or is this likely to be super brittle as we get new upstream OSM data?

Using the cost functions for reporting

Today, the main metric used as a score in the game is trip time savings
We can measure anything we simulate. It's a matter of how to report it -- total cyclist miles spent in a door zone?

Some initial tasks

[ ] Research how CycleStreets, Valhalla, GraphHopper and other open source routing engines solve these problems. (We're going to end up doing something way simpler of course, but at least get ideas)
[ ] Make a new RoutingProfile enum that subsumes PathConstraints, pass it in a limited number of places
[ ] Refactor internal CH / Dijkstra impls to work off the profile enum
[x] Make a new debug UI to specify a start/end. Automatically show the route for all profiles.
[x] Add sliders for the parameters to the UI and allow changing live. (Maybe for pathfinding, that always winds up calling the Dijkstra impl instead of rebuilding the CH)
[ ] Investigate using routing tables from CycleStreets directly (is https://github.com/cyipt/actdev/blob/main/data-small/great-kneighton/routes-fast.geojson an example?)

@Robinlovelace , @mvl22 as FYI -- I'm going to start some amount of this to improve the routes taken for actdev.

Very excited to see movement on this.

Writing a routing cost function for bicycles is a massive can of worms, as your own initial (but very incomplete) list shows. We've spent years trying to do it properly and still have a massive list of future things we want to implement. Look at other routing engine development trackers and, where you find people that actually care about bicycle routing, you will find lots of discussion, which you risk having to replicate.
My strong suggestion to you is that you simply add support for routing profile file/function formats used by another engine and delegate the problem there. That means there are off-the-shelf profiles that meet the 'good enough' test and can just be pulled in, for multiple different mode choices. Creating yet another forum for complex debate about how to score bicycle routing, in another format, and trying to solve that problem, is not really the core value A/B Street brings, and will become a distraction.
For instance, OSRM uses a Lua-based profile system:
https://github.com/Project-OSRM/osrm-backend/tree/master/profiles
You essentially would just need to provide a function prototype that reads any such functions that a profile writer has defined, adding support progressively for each type.
Things like junction modelling will be complex to implement and may not be worth bothering too much with until you have a lot more time.
(The CycleStreets cost profiles are significantly more detailed than OSRM's, incidentally.)
PS Yes, also provide the ability to provide a simple wayId/cost lookup. This won't handle junctions of course but will add much flexibility.

Thanks for the insights! I certainly don't aim to repeat the efforts of proper routing engines, just improve what abst is doing.
The idea of directly reusing existing profiles is interesting. The architectural requirements may not be that bad; abst can continue building contraction hierarchies as it does already, and just use a profile as a black-box to provide costs. Lua support specifically is a reasonable option; there are well-maintained Rust/Lua bindings for running natively. One complication is that abst rebuilds the contraction hierarchies and needs to reevaluate costs when the player edits the map. For this to continue working in web browsers, there'd need to be a WASM Lua implementation, likely in the form of a Lua interpret in native Rust. At a glance, a few projects exist to do this, but look unmaintained and incomplete.
Another possible complication with OSRM profiles is that abst maps don't retain key/values for OSM nodes. We do for ways, so maybe we just start with just process_way.
I dug into graphhopper a bit and found some nice info on how they combine multiple factors. I haven't actually found the profile definitions in the repo yet, just some example customizations, but I'll keep looking.
Anyway, I'll start with some of the architectural changes for more flexible routing and setting up a UI to quickly tune / understand the effects of cost functions. Still not sure how to write those functions, but directly calling into another project's profiles is a good possible option.

For this to continue working in web browsers, there'd need to be a WASM Lua implementation, likely in the form of a Lua interpreter in pure Rust.

I'd have thought that writing a basic Lua string parser that can then open up a whole range of off-the-shelf templates that others have already argued over, would be more productive than introducing the friction involved with a whole new syntax and requiring the same debates having to be rehashed.

Here's a simple tool to live-tune routing params and see how they affect a single route. The north/south arterial shown at the beginning has bike lanes, and the existing cost function adds a penalty for using car/bus/bike lanes. So as I fiddle with those values, you can see the chosen route jump back and forth.
Next up is #237 -- the same thing, but instead of one handpicked start/goal, use any abst scenario (like real Seattle Soundcast data or the disaggregated actdev ODs) to get lots of ODs, pathfind for all of them, and color all roads based on more/less/same traffic. So intuitively, a quick way to visualize how tuning a parameter would influence overall system behavior, without running a simulation.
Still undecided how to write the cost function. I might try some very simple additions to what's existing. With regards to the Lua profile idea:

I'd have thought that writing a basic Lua string parser that can then open up...

I'm in agreement here about wanting to reuse existing work and not repeat the process of tuning a profile. I'll dig more into the idea of using OSRM Lua specifically. I don't think a simple parser would suffice; the OSRM example uses includes and does arithmetic. I don't intend to go write a Lua interpreter for Rust if there isn't one already. But luckily, the Rust gamedev community loves Lua integration, and I bet at least somebody has WASM compatibility in mind. I'll look around more.

Yes, also provide the ability to provide a simple wayId/cost lookup.

This is one of the simplest directions forward, and would leverage all of your effort. Are you willing to export a CSV file (or any other format) with OSM way ID and a cost for the actdev integration?

Summary of directly using OSRM Lua profiles: feasible, but complicated and would likely incur some heavy dependencies, at a time when we're trying to slim down the web version of abst.
As I mentioned earlier, if abst only ran on native or if map edits didn't affect routing at all, this would be pretty easy. But we'd have to execute Lua both natively and on web. The easiest way to do this in Rust is if there's a Rust implementation of a Lua interpreter (or VM, technically), because Rust can turn into wasm just fine. All I found here was https://github.com/kyren/luster, which is abandoned and may be missing many features that the OSRM profiles use.
There are pure Rust parsers for Lua, like https://github.com/Kampfkarren/full-moon, but we'd then have to write an interpreter operating off the AST.
There are a number of ways to compile Lua into wasm: https://github.com/ceifa/wasmoon, https://github.com/vvanders/wasm_lua, and more at https://github.com/LewisJEllis/awesome-lua#implementations-interpreters-and-bindings. We could use rlua (the C bindings to native Lua) on native, and glue one of these Lua WASM impls to the web version. Or maybe for slightly less difference between environments, always use Lua WASM and run a WASM runtime (https://github.com/wasmerio/wasmer) on native or in the browser.
I haven't checked to see how many dependencies these options would bring in, but my guess is that they'd be substantial. As part of #377, we've been trying to slim down the startup cost of web abst. Lua integration is likely to harm that effort. It might wind up being worth it to pursue one of these options, to gain the benefit of reusing OSRM's effort, but it doesn't strike me as a priority.
I'll keep researching other OSM routers to see how they define profiles. Maybe one of them uses a different config format with simple logic to apply this to an OSM way's key/values, and we could just implement that logic and directly use the config file with the tuned params.

Valhalla uses some mix of lua and C++ -- even less easy to directly integrate.

BRouter uses a custom format

Here's a simple tool to live-tune routing params and see how they affect a single route.

This is very cool! To me it emphasises a key strength of the abstr approach: maximise playability. I think you can go a long way using simple profiles. After that there will be diminishing returns. On the note of simplistic 'get started' profiles, here's another from the routino project imported into the R package dodgr.

library(dplyr)
#>
#> Attaching package: 'dplyr'
#> The following objects are masked from 'package:stats':
#>
#>     filter, lag
#> The following objects are masked from 'package:base':
#>
#>     intersect, setdiff, setequal, union
dodgr::weighting_profiles$weighting_profiles %>%
  filter(name == "bicycle")
#>       name            way value max_speed
#> 1  bicycle       motorway  0.00        NA
#> 2  bicycle          trunk  0.30        NA
#> 3  bicycle        primary  0.70        15
#> 4  bicycle      secondary  0.80        15
#> 5  bicycle       tertiary  0.90        15
#> 6  bicycle   unclassified  0.90        15
#> 7  bicycle    residential  0.90        15
#> 8  bicycle        service  0.90        15
#> 9  bicycle          track  0.90        12
#> 10 bicycle       cycleway  1.00        15
#> 11 bicycle           path  0.90        12
#> 12 bicycle          steps  0.50         4
#> 13 bicycle          ferry  0.20        15
#> 14 bicycle  living_street  0.95        15
#> 15 bicycle      bridleway  0.70         8
#> 16 bicycle        footway  0.90         4
#> 17 bicycle     pedestrian  0.80         4
#> 18 bicycle  motorway_link  0.00        NA
#> 19 bicycle     trunk_link  0.30        NA
#> 20 bicycle   primary_link  0.70        15
#> 21 bicycle secondary_link  0.80        15
#> 22 bicycle  tertiary_link  0.90        15
dodgr::weighting_profiles$surface_speeds
#>        name     key                 value max_speed
#> 1  motorcar surface                cement        80
#> 2  motorcar surface             compacted        80
#> 3  motorcar surface           fine_gravel        80
#> 4  motorcar surface         paving_stones        60
#> 5  motorcar surface                 metal        60
#> 6  motorcar surface                bricks        60
#> 7  motorcar surface                 grass        40
#> 8  motorcar surface                  wood        40
#> 9  motorcar surface                  sett        40
#> 10 motorcar surface           grass_paver        40
#> 11 motorcar surface                gravel        40
#> 12 motorcar surface               unpaved        40
#> 13 motorcar surface                ground        40
#> 14 motorcar surface                  dirt        40
#> 15 motorcar surface           pebblestone        40
#> 16 motorcar surface                tartan        40
#> 17 motorcar surface           cobblestone        30
#> 18 motorcar surface                  clay        30
#> 19 motorcar surface                 earth        20
#> 20 motorcar surface                 stone        20
#> 21 motorcar surface                 rocky        20
#> 22 motorcar surface                  sand        20
#> 23 motorcar surface                   mud        10
#> 24  bicycle surface cobblestone:flattened        10
#> 25  bicycle surface         paving_stones        10
#> 26  bicycle surface             compacted        10
#> 27  bicycle surface           cobblestone         6
#> 28  bicycle surface               unpaved         6
#> 29  bicycle surface           fine_gravel         6
#> 30  bicycle surface                gravel         6
#> 31  bicycle surface           pebblestone         6
#> 32  bicycle surface                ground         6
#> 33  bicycle surface                  dirt         6
#> 34  bicycle surface                 earth         6
#> 35  bicycle surface                 grass         6
#> 36  bicycle surface                   mud         3
#> 37  bicycle surface                  sand         3
#> 38  bicycle surface                  sett        10
#> 39     foot surface           fine_gravel         4
#> 40     foot surface                gravel         4
#> 41     foot surface           pebblestone         4
#> 42     foot surface                   mud         2
#> 43     foot surface                  sand         2
dodgr::weighting_profiles$penalties
#>          name traffic_lights turn
#> 1        foot              2  0.0
#> 2       horse              8  0.0
#> 3  wheelchair              2  7.5
#> 4     bicycle              2  6.0
#> 5       moped              8  7.5
#> 6  motorcycle              8  7.5
#> 7    motorcar              8  7.5
#> 8       goods              8  7.5
#> 9         hgv              8  7.5
#> 10        psv              8  7.5

Created on 2021-02-03 by the reprex package (v1.0.0)

Thanks @Robinlovelace for the routino tip; that should be very easy to copy as a cost function!
I made a similar UI for seeing how the routing params affect all trips on a map. For every OD pair, it calculates how many paths cross every road. Then after you fiddle with the params, it does the same thing, and shows the diff. So here's where some bike lanes are:

And here's what happens if I change the params to more strongly prefer cycle lanes:

Red means more traffic, green is less.
This general tool/technique can also be used to show the player the effects of editing the map to build new cycle lanes, or make any other kind of comparison. It's faster / more reliable than running a simulation and comparing the count-per-road data from the simulations.
The visualization still needs some work to adjust the color scales. At first I tried https://github.com/a-b-street/abstreet/blob/7855d26a6a81ae2339bcff5a12d43aa98b398d2c/map_gui/src/tools/colors.rs#L189, which calculates a ratio count_after / count_before and can not draw anything for a range like [0.99, 1.01] (to not show roads with a small diff). But since bike traffic is a tiny percentage of most roads in the first place, most of the ratios are too close to 1.
So I switched to https://github.com/a-b-street/abstreet/blob/7855d26a6a81ae2339bcff5a12d43aa98b398d2c/game/src/debug/routes.rs#L340, shown above. This finds the biggest difference of (before - after).abs() from all changes, then uses a red or green scale and linearly interpolates by a percentage of the particular difference divided by the biggest diff.
I'm pretty sure I've spotted some before/after count comparisons in the PCT tool and your Geocomputation book before, so I'll poke around and see if there's a better method for coloring this kind of diff.

Impressive progress on this @dabreegster, great work!

This is neat!

I'll revive work here soon. Just noting a need for discouraging multi-step U-turn maneuvers like this:

@mvl22 We've got some decent elevation/incline data wired up now, and are going to start adjusting bike and pedestrian speeds based on percent incline. Happen to know any references for this? So far, we've unearthed http://bikecalculator.com/what.html and https://en.wikipedia.org/wiki/Tobler's_hiking_function (for walking).


FAQ Error

In the question "How can I manage the Network Watcher Resource?" there is a sentence that says: " Operations like move are not supported on the resource." However, I was able to successfully move the resource in the portal. Can it be moved now and this needs to be updated? Or will my change in the portal eventually revert?
Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 0ecfbaa6-9625-fef7-b945-f37a71309e64
Version Independent ID: 2368b1fe-4570-18fb-693d-44be6609b080
Content: Frequently asked questions (FAQ) about Azure Network Watcher
Content Source: articles/network-watcher/frequently-asked-questions.md
Service: network-watcher
GitHub Login: @damendo
Microsoft Alias: damendo

@shooker Can you explain what you mean by 'move'? It should not be possible to move the region or resource group of a Network Watcher, and I was not able to find a move option in the portal.
Are you sure what you moved was a Network Watcher resource?

@TravisCragg-MSFT You can move the resource from one resource group into another, outside of the default Resource Group that the portal creates.

@shooker I am not able to find the 'move' option in the portal. can you post a screenshot of the resource and how you are moving it?

@shooker Interesting. To view this, you have to 'show hidden types'. I would not recommend moving this resource, and I would move it back to the 'NetworkWatcherRG' if you have moved it elsewhere.
I am unsure if the change will revert, but the Network Watcher resources should stay in the Network Watcher RG.
We will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly continue the discussion and we will reopen the issue.


Bump redpen cli version to 1.1

I will change cli version to 1.1 from 1.0.1 since the RedPen output formats are going to be changed by issues such as #374 and #369.

Coverage remained the same when pulling cd535920186ae4321ce8f56b6f2ce9cb77563da6 on takahi-i:cli-version-1-1 into 2a673c2c059228240fe0c6e08bd23da5e77723f2 on recruit-tech:master.

:+1:

I will merge this, if there is no objection.

:clap:


consider removing LastResultHash and EvidenceHash

https://github.com/lazyledger/lazyledger-specs/blob/master/specs/data_structures.md#header
Evidence is already part of Block.Data. Not sure about the implications for both hashes yet.

[ ] better understand the implications of this change and document in an ADR (e.g. do light-clients use evidence hash?)
[ ] execute the changes

ref: #66

Evidence is already part of Block.Data.

This was reverted in https://github.com/celestiaorg/celestia-core/issues/894 so this issue no longer seems relevant.


[Feature Request] Password protected hidden folders

One of the only features that I would like to have on this app would be a password to protect hidden folders. It's the only thing really keeping me from using this app as my main gallery app since I have a lot of private photos hidden, and it wouldn't be nice to have someone clicking to show my hidden folders and seeing everything without my knowledge. A simple pin protection would be nice.

AES encryption for those folders would be nice too, but it's quite a long stretch I think. In the meantime I'm using s.s.e. encryption, open source and cross platform.

https://github.com/kollerlukas/Camera-Roll-Android-App/issues/49


Color in ring isn't the same than color in label

The color in the label isn't the same than color show into the pie.
Not issues in the emulator but in a real device.
Color for 61.08% is 1976D2
and the color for 38,92% is 64B5F6
The real colors are the shown in the label

I haven't looked at this project because I've been updating basepopup, I'll check this out in the near future

can not reappear

pls update to 1.3.0


Count down goes to negative time!

Minor visual bug, but if you start the timer with an initial value of 00:00:00 it will go into negative time:

I would expect it to stay at 00:00:00
It would also be nice to set an initial default time for when you first access the app page. At the moment it always starts at 00:00:00 and you need to set a time, and reset always goes to zero. Just another very minor point!

Thanks for leaving feedback!
I think perhaps disabling the start button when the value is 00:00:00 might be a nice way to go here. I feel like reset should always set it to 00:00:00, otherwise user would have to backspace any other value before entering their desired value.

I'll have a wee look after work and see if I can get it sorted.


Create a Subscription card

Hey,
I would like to add a flip card element to the content card folder by creating a flip card folder which will consist of HTML and CSS file
Screenshots

Plz review this and assign it to me under hacktober'22

Hey, please select a component from this Figma File

Yeah go ahead and change the picture in the Issue as well as the name of the Issue. @AKACHI-4

Yah ok!!

Please assign it to me if it's still available

hello @Ezekiel8807, I am already working on it plz work on some other issues.

@Rajdip019 I have completed it plz review


 I fooled around with the values but couldn't see a difference.
Is that ms per click? Clicks per second?
I feel like this is an incredibly dense question, but thought it was worth an ask lol

Clicks per second. You can't increase it above 20.


Slack api posting messages both in thread and channel

Reproducible in:
The Slack SDK version
slack-sdk @ file:///root/.cache/pypoetry/artifacts/27/53/c9/ca63502b551d096a9302635cefcd8e6f65d780f2e43bd81aa24bfcd027/slack_sdk-3.11.0-py2.py3-none-any.whl

Python runtime version
Python 3.9.7
OS info
python:3.9-slim-buster
Steps to reproduce:

Post a new message to a thread with

        try:
            _message = await self._bot.chat_postMessage(
                channel=reply_message.chat.chat,
                text=body,
                thread_ts=reply_message.replies_to.message_id,
            )

            return str(_message["ts"])
        except SlackApiError as e:
            logging.error(e, exc_info=True)

Get following response from slack

[2021-09-16 10:41:09 +0526] Sending a request - url: POST https://www.slack.com/api/chat.postMessage, params: {}, files: {}, data: {}, json: {'channel': 'G01KLTD4VND', 'text': '*Stanislav Mitrofanov* likes this', 'thread_ts': '1631788537.013100'}, proxy: {}, headers: {'Content-Type': 'application/json;charset=utf-8', 'Authorization': '(redacted)', 'User-Agent': 'Python/3.9.7 slackclient/3.11.0 Linux/4.15.0-111-generic'}
[2021-09-16 10:41:09 +0878] Received the following response - status: 200,
headers: {'Date': 'Thu, 16 Sep 2021 10:41:09 GMT', 'Server': 'Apache', 'x-xss-protection': '0', 'Pragma': 'no-cache', 'Cache-Control': 'private, no-cache, no-store, must-revalidate', 'Access-Control-Allow-Origin': '*', 'strict-transport-security': 'max-age=31536000; includeSubDomains; preload', 'x-slack-req-id': 'f8d99e473b2cbeda278d1ee8e96d981b', 'x-content-type-options': 'nosniff', 'referrer-policy': 'no-referrer', 'Access-Control-Expose-Headers': 'x-slack-req-id, retry-after', 'x-slack-backend': 'r', 'x-oauth-scopes': 'channels:join,chat:write,app_mentions:read,reactions:read,reactions:write,users:read.email,users:read,channels:read,groups:read,mpim:read,im:read,commands,mpim:write,im:write', 'x-accepted-oauth-scopes': 'chat:write', 'Expires': 'Mon, 26 Jul 1997 05:00:00 GMT', 'Vary': 'Accept-Encoding', 'Access-Control-Allow-Headers': 'slack-route, x-slack-version-ts, x-b3-traceid, x-b3-spanid, x-b3-parentspanid, x-b3-sampled, x-b3-flags', 'Content-Encoding': 'gzip', 'Content-Length': '381', 'Content-Type': 'application/json; charset=utf-8', 'x-envoy-upstream-service-time': '83', 'x-backend': 'main_normal main_bedrock_normal_with_overflow main_canary_with_overflow main_bedrock_canary_with_overflow main_control_with_overflow main_bedrock_control_with_overflow', 'x-server': 'slack-www-hhvm-main-iad-pj8e', 'x-via': 'envoy-www-iad-0snq, haproxy-edge-fra-1npe', 'x-slack-shared-secret-outcome': 'shared-secret', 'Via': 'envoy-www-iad-0snq'},

body: {'ok': True, 'channel': 'G01KLTD4VND', 'ts': '1631788869.013700', 'message': {'bot_id': 'B027UFGEYG6', 'type': 'message', 'text': '*Stanislav Mitrofanov* likes this', 'user': 'U027Y7E67M3', 'ts': '1631788869.013700', 'team': 'T29V7H6CS', 'bot_profile': {'id': 'B027UFGEYG6', 'deleted': False, 'name': 'vcs-bot', 'updated':<PHONE_NUMBER>, 'app_id': 'A0287DU94S0', 'icons': {'image_36': 'https://avatars.slack-edge.com/2021-07-14/2259131742759_a51520f8f27104d55dc8_36.png', 'image_48': 'https://avatars.slack-edge.com/2021-07-14/2259131742759_a51520f8f27104d55dc8_48.png', 'image_72': 'https://avatars.slack-edge.com/2021-07-14/2259131742759_a51520f8f27104d55dc8_72.png'}, 'team_id': 'T29V7H6CS'}, 'thread_ts': '1631788537.013100', 'parent_user_id': 'U027Y7E67M3'}}

Expected result:
Message posted only thread
Actual result:
Message posted both in thread and channel with same id(timestamp), any reactions applies to both messages

Hi @StanislavMitrofanov - Was the value you supplied asthread_ts the timestamp of the reply message and not the parent?  In that case you'd want to supply the parent thread_ts value as described in the API documentation

Hi @StanislavMitrofanov - Was the value you supplied asthread_ts the timestamp of the reply message and not the parent? In that case you'd want to supply the parent thread_ts value as described in the API documentation

value that i passed as thread_ts for my reply message<PHONE_NUMBER>.013100
timestamp i got from the post message api response 'ts': '1631788869.013700'

Also i noticed that reply message can appear in the channel after some time.

@StanislavMitrofanov I tried to reproduce your situation but I'm still unsure how it can arise. Do you see the same behavior even with the following simple script?
import logging
logging.basicConfig(level=logging.DEBUG)

import os
from slack_sdk.web.async_client import AsyncWebClient
client = AsyncWebClient(token=os.environ['SLACK_BOT_TOKEN'])

channel = "#random"  # change this as necessary
async def main():
    thread = await client.chat_postMessage(
        channel=channel,
        text="Starting a new thread...",
    )
    reply = await client.chat_postMessage(
        channel=channel,
        text="Here is a reply!",
        thread_ts=thread["message"]["ts"],
    )

import asyncio
asyncio.run(main())

👋 Let us know if you need more help here! If we don't hear back, we'll close this issue in a few days.

Sorry for replying to a closed thread but I once ran into similar issue so perhaps my observations will shed a bit more light on this topic just for future reference.
The issue described is actually a behaviour of Slack not the issue with slack_bolt or slack_sdk.
Whenever you're trying to reply to a specific thread, you need to make sure you're using this thread's timestamp with postMessage method. It's easy to make a mistake and take a timestamp that points to a message which is actually a thread reply. For example an event for thread message (so the message that is posted to channel and initiates thread) looks like this:
{
  "client_msg_id": "ecad407a-5966-450d-b81d-1d51a01a2d75",
  "type": "message",
  "text": "thread message",
  "user": "U0216TS0RTQ",
  "ts": "1640725808.000800",
  "team": "T021DM6C6KC",
  "blocks": [
      {
          "type": "rich_text",
          "block_id": "tZrd",
          "elements": [
              {
                  "type": "rich_text_section",
                  "elements": [
                      {
                          "type": "text",
                          "text": "thread message"
                      }
                  ]
              }
          ]
      }
  ],
  "channel": "C021DTE8PPD",
  "event_ts": "1640725808.000800",
  "channel_type": "channel"
}

Notice that it has ts parameter which is this thread's message timestamp.
When someone replies to this thread message, a thread reply is created. An event for such thread reply looks like this:
{
  "client_msg_id": "def1e302-a405-4bdf-a274-63c5ff0fad37",
  "type": "message",
  "text": "thread response",
  "user": "U0216TS0RTQ",
  "ts": "1640725837.000900",
  "team": "T021DM6C6KC",
  "blocks": [
      {
          "type": "rich_text",
          "block_id": "SXPX",
          "elements": [
              {
                  "type": "rich_text_section",
                  "elements": [
                      {
                          "type": "text",
                          "text": "thread response"
                      }
                  ]
              }
          ]
      }
  ],
  "thread_ts": "1640725808.000800",
  "parent_user_id": "U0216TS0RTQ",
  "channel": "C021DTE8PPD",
  "event_ts": "1640725837.000900",
  "channel_type": "channel"
}

Notice that it also has ts parameter which is this thread reply's timestamp, but it also has thread_ts attribute, which tells to which thread message this reply has been posted. Notice that thread_ts is same with ts from thread message mentioned earlier, but thread_ts is not the same with ts for thread reply.
Based on presence of thread_ts attribute, you can distinguish if message event comes for thread message or is it for thread reply. If thread already exists and someone replied to it, then the event will have thread_ts attribute. If message is new and just starts a thread, it won't have thread_ts attribute and will only have ts attribute . So you need to check if your event has thread_ts attribute. If yes, this is already a thread reply and you should use thread_ts value when using postMessage method. If your event does not have thread_ts attribute, this is a new message that just initiated a thread and it will certainly have ts attribute and you should use ts value when using postMessage method
Not let me show you by example what will happen when you use postMessage with thread_ts and ts values from an event for thread reply.
Let's say that we have channel and there is a message that initiated thread (thread message) and someone already posted a response to it (thread reply).

Now let's first use a bot to reply using thread message's timestamp and let's say that this simple piece of code simulates bot's behavior:
import asyncio

from slack_sdk.web.async_client import AsyncWebClient

BOT_TOKEN = "VERY_SECRET_TOKEN"
CHANNEL = "C0123456789"
THREAD_MESSAGE_TS = "1640725808.000800"
THREAD_REPLY_TS = "1640725837.000900"

async def main() -> None:
    client = AsyncWebClient(BOT_TOKEN)
    await client.chat_postMessage(
        channel=CHANNEL,
        thread_ts=THREAD_MESSAGE_TS,
        text="I'm bot and I'm responding to thread message",
    )

if __name__ == "__main__":
    asyncio.run(main())

So far nothing impressive happens. Bot normally responded to a message and it appeared in a thread.

Let's try to use thread reply's timestamp instead and make some modifications to code sample above:
# showing only changed lines
...

async def main() -> None:
    ...
    await client.chat_postMessage(
        ...
        thread_ts=THREAD_REPLY_TS,
        text="I'm bot and I'm responding to thread reply",
    )
...

Well, this caused a bit weird behaviour. This time bot's reply did not appear in the thread, however message that was once in a thread "jumped out" to the channel. However it's the same message, still identified by same timestamp. For example if we'll add reaction to this message that appeared in the channel we'll see that reaction also appeared on the thread reply in thread's details view.

I once contacted Slack's support to ask about this and it seems that they do not intend to change this behaviour in near future. So the only solution here is to actually make sure that proper thread message timestamp is used in postMessage method (as parameter's name states btw.).
(I think that sometimes this behavior got even weirder. In my example this message was both in channel and thread view, but if I remember correctly, under some circumstances thread reply from thread's details view could disappear completely and would then exist only in channel, but I would need to check this as this was some time ago).

Hey i have kind of simmilar problem, bot does not recognize  threads and archiving channels with it,
I'm trying to find better TS obtain method but almost everywhere TS is given specific which beats the purpose of the bot can someone see what the issue is here? (this is only part of the code)
import datetime
import sys
import time
import slack_sdk
from slack_sdk.errors import SlackApiError
from slack_sdk import WebClient

sys.path.append(r'xxxxxxxxxxxxxxxx')
SLACK_API_TOKEN = 'xoxb-xxxxxxxxxxxxxxxxxxx'

ARCHIVE_LAST_MESSAGE_AGE_DAYS = 1000

oldest_message_time_to_prevent_archive = (
    datetime.datetime.now() - datetime.timedelta(days=ARCHIVE_LAST_MESSAGE_AGE_DAYS)
).timestamp()

client = WebClient(SLACK_API_TOKEN)

my_user_id = client.auth_test()['user_id']

def post_archive_message(channel_name):
    message = (
        f"The Slack channel '{channel_name}' has been archived due to long inactivity.\n\n"
        "If you have any questions, doubts, or if you wish to unarchive the channel, "
        "please feel free to raise an IT ticket at [IT Ticket System](https://www.xxxxxx.com/)."
    )
    response = client.chat_postMessage(channel=f"#{channel_name}", text=message)
    print(response)

def channel_has_recent_messages(channel_id):
    # Getting up to 2 messages younger than ARCHIVE_LAST_MESSAGE_AGE_DAYS
    global response
    real_messages = []
    try:
        response = client.conversations_history(
            channel=channel_id,
            oldest=str(oldest_message_time_to_prevent_archive),
            limit=5
        )
        # Filter out message about our bot joining this channel
        if response["messages"] is not None:
            for m in response["messages"]:
                if 'user' not in m or m['user'] != my_user_id:
                    real_messages.append(m)
                else:
                    print("something")
            # real_messages = list(filter(lambda m: 'user' in m and m['user'] != my_user_id, response['messages']))
        else:
            print("No conversation history")
    except slack_sdk.errors.SlackApiError as e:
        print("No conversation history")

    # Check messages within threads
    thread_messages = []
    try:
        thread_response = client.conversations_replies(
            channel=channel_id,
            ts=str(oldest_message_time_to_prevent_archive),
            limit=5
        )
        if response["messages"] is not None:
            thread_messages = [m for m in thread_response['messages'] if 'user' in m and m['user'] != my_user_id]
    except slack_sdk.errors.SlackApiError as e:
        print("No conversation threads found!!!!")
    # # Combine top-level messages and messages within threads
    all_messages = real_messages + thread_messages
    # If we found at least one - return True, if not - False
    return any(message for message in all_messages)


Adding recommended parameters for 3' tag RNA-seq (e.g. QuantSeq) data

This proposed section for the documentation provides parameters for the QuantSeq FWD 3' mRNA sequencing protocol. I have added a markdown section to usage.md.

[x] This comment contains a description of changes (with reason).

@nf-core-bot fix linting


mapImage uses implicitly unwrapped optional.

A small change, not breaking. Adds compatibility with RxCocoa's rx_image property on UIImageView.

Cool, this makes sense. :+1:


Appropriately scale farm nutrition storage

Currently set to 500, which is quite a lot. Does it need reducing?

Gizmo to make it configurable solves this


Add HardwareNodeConfigApplied status to Provisioning Request

This update introduces the HardwareNodeConfigApplied status in the Provisioning Request to signify that essential hardware node attributes—such as BMC details, interface MAC addresses, and the boot MAC address—have been successfully applied to the Cluster Instance. A failure status may be triggered if incorrect interface labels are provided or if a mismatched boot interface label is specified that conflicts with the defined hardware profile. This status serves as an indication for users to verify and adjust their configuration if necessary.
Additionally, this update includes a validation check for missing or empty interface labels within the cluster instance default map, ensuring accurate configuration and alignment with hardware requirements.

/lgtm
tested positive and negative e2e test with ibi

/lgtm

/lgtm

/approve


How to read text of element without text of child elements?

raising from user email query for benefit of other users

For the following:

HP Color LaserJet Pro MFP M476dw

    MFP • 21 ppm

Do you know how to grab just the "HP Color LaserJet Pro MFP M476dw"
I tried //div[@class="product-name"]
It returns everything within: "HP Color LaserJet Pro MFP M476dw MFP • 21 ppm"

Response from @lohvht
I don’t know if this will work but what if you grab the whole thing and just take the substring to get “HP Color LaserJet Pro MFP M476dw”
i.e.
read //div[@class=”product-name”] to full_product_name
read //div[@class=”product-name”]/div to product_type
full_product_name = full_product_name.substring(0, full_product_name.lastIndexOf(product_type)).trim()

Further comments
Adding on, Chrome will return the text value of the element and its child, so there's nothing that can be changed fundamentally to retrieve the text without the child div text.
In theory, can use dom step and custom JavaScript code to return that value. But as you can see from below link, the custom JavaScript code will be more complicated than Victor's solution which 'subtracts' the child text from the whole string.
https://medium.com/@roxeteer/javascript-one-liner-to-get-elements-text-content-without-its-child-nodes-8e59269d1e71


add encoder test

add encoder test
panic when given blockSize <=4
change blockSize from int64 to int because we don't need that large
add length convert functions

Let us merge this first.


Fix absolute URLs for config.json and login-bg.jpg

It should fix (at least partially) issue #114.

LGTM


Regression in web connector

This simple app used to work (and now doesn't in 3.0.7 or 3.1.0):
@SpringBootApplication(proxyBeanMethods = false)
public class FunctionApplication {

	@Bean
	public FunctionRegistration<Function<String, String>> uppercase() {
		return new FunctionRegistration<Function<String, String>>(value -> value.toUpperCase())
				.type(FunctionType.from(String.class).to(String.class));
	}

	public static void main(String[] args) {
		SpringApplication.run(FunctionApplication.class, args);
	}

}

Maybe something to do with the String->String function type?

It's not the function signature. You can curl it on /uppercase and it works. It's only the root path / that fails with a 404.


Azure Service Fabric Cluster Upgrade error

Register-ServiceFabricClusterPackage as described results in:
Register-ServiceFabricClusterPackage : The file name 'ServiceFabric.msi' is invalid. File should be Microsoft Azure
Service Fabric.....msi
At line:1 char:1

Register-ServiceFabricClusterPackage -Code -CodePackagePath "ServiceF ...

  + CategoryInfo          : InvalidOperation: (Microsoft.Servi...usterConnection:ClusterConnection) [Register-Servic
 eFabricClusterPackage], FabricException
  + FullyQualifiedErrorId : RegisterClusterPackageErrorId,Microsoft.ServiceFabric.Powershell.RegisterClusterPackage

And if you rename the file:
Register-ServiceFabricClusterPackage -Code -CodePackagePath "Microsoft Azure Service Fabric.7.2.413.9590.msi
"
Register-ServiceFabricClusterPackage : The file name 'Microsoft Azure Service Fabric.7.2.413.9590.msi' is invalid.
File should be Microsoft Azure Service Fabric.....msi
At line:1 char:1

Register-ServiceFabricClusterPackage -Code -CodePackagePath "Microsof ...

  + CategoryInfo          : InvalidOperation: (Microsoft.Servi...usterConnection:ClusterConnection) [Register-Servic
 eFabricClusterPackage], FabricException
  + FullyQualifiedErrorId : RegisterClusterPackageErrorId,Microsoft.ServiceFabric.Powershell.RegisterClusterPackage

Funny error message!

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 12f8a9b5-f61a-4e8b-933b-749afcd78e9d
Version Independent ID: 329f7070-dd7e-a6fb-af06-03c120779731
Content: Azure Service Fabric infrastructure as Code Best Practices - Azure Service Fabric
Content Source: articles/service-fabric/service-fabric-best-practices-infrastructure-as-code.md
Service: service-fabric
GitHub Login: @peterpogorski
Microsoft Alias: pepogors

@mcurko To assist you better on your query could you provide us with the link to the document you are referring to ?
In case your query in not related to document content, open a new forum thread either Microsoft Q&A or StackOverflow as it could be better place to get help on your scenario where the community members could provide their expert guidance to you based on their experience.

https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-best-practices-infrastructure-as-code

@mcurko Thanks for sharing documentation link.  We will investigate and update as appropriate.

Thanks for the feedback! I have assigned the issue to the content author to investigate further and update the document as appropriate.

Hi @mcurko,
Sorry for the late response. Please can you provide all executed commands including the result here? I am wondering if you have executed Copy-ServiceFabricClusterPackage before as described in the documentation for Register-ServiceFabricClusterPackage. Also, I believe this is only for standalone cluster. We should correct this in the public docs. I'm happy to double check on the latter.
Christian

Hi @mcurko , We are closing this issue.  You can open a new issue if the question is for standalone cluster.
#Please-close this issue


Added Hover Effects.

Fixes Issue🛠 Closes #56
Description👨💻
Added Hover Effects in Contact Form and Background-image of the page
Type of change📄

[] New feature (Adds Hover Effects)

How this has been tested✅

go to Contact from Home Page.

Checklist✅

[] My code follows the style guidelines of this project
[] I have performed a self-review of my own code
[] I have commented my code, particularly in hard-to-understand areas
[] I have added demonstration in the form of video file
[] I am an Open Source Contributor

Screenshots/GIF📷
Shadows in card, hover effect in bg-image
https://github.com/Rakesh9100/Beautiify/assets/98605616/2aeda3c3-b9e8-49f1-809d-97528cbee413

When hovered to the contact form, the background is getting dull due to too much shadow effect. Pls reduce it accordingly @shivamm-verma

Okay i added that Feature (hover effect on background image) as well. Removing it...

confirm me to revert that Bg-Image-hover-effect commit.

What are you trying to ask? Just make new changes and push and make the commit to this PR, that's it @shivamm-verma

Merged!! 🎉 @shivamm-verma


tuya-spring-boot-starter-sample won't work due to baseUrl == null

I cloned the latest sample (using 1.1.1) and ran it:
Caused by: java.lang.NullPointerException: baseUrl == null
	at java.base/java.util.Objects.requireNonNull(Objects.java:246) ~[na:na]
	at retrofit2.Retrofit$Builder.baseUrl(Retrofit.java:505) ~[retrofit-2.9.0.jar:na]

The only thing I changed is specifying the properties:
connector.ak=...
connector.sk=...
connector.region=EU

It works again when I specify this manually:
connector.api.base-url=https://openapi-weaz.tuyaeu.com

Are you relying on the tuya-spring-boot-starter version  1.1.1 ?

Yes, but I've also tried 1.1.0 and 1.0.0 as well

You can break points in TuyaregionConfig before debug program, check the method afterPropertiesSet whether it wrok.

I also did that - afterPropertiesSet is never called. Does it work for you?

Oh, i found it doesn't work when i use the annotation @EnbaleMessaging.
Sorry, we will fix it soon.

I also did that - afterPropertiesSet is never called. Does it work for you?

yes, it  worked. If you message can't connect correctly it doesn't work. So you need to check the configuration of message.

I also did that - afterPropertiesSet is never called. Does it work for you?

yes, it worked. If you message can't connect correctly it doesn't work. So you need to check the configuration of message.

yes, it worked. If you message can't connect correctly it doesn't work. So you need to check the configuration of message.

yes, it worked. If you message can't connect correctly it doesn't work. So you need to check the configuration of message.


📖 Fix CII Best Practices badge info

This fixes the current misleading text about the CII
Best Practices badge. It currently says that "This badge tells us the
repo maintainers are aware of best development practices." - but
merely being "aware" doesn't earn a passing badge.
There's a long list of requirements to earn a passing badge;
we should give a sense of them here.
Note that this only checks for "passing", not silver or gold.
Note: This replaces a previous (messed-up) pull request #1009.
Signed-off-by: David A. Wheeler<EMAIL_ADDRESS>

I previously made a mistake in #1009; hopefully this one works out better :-).


Add k6-operator based traffic generator to tilt deployment

It should deploy k6-operator with a test traffic pattern that can be used to test aperture in local development environment based on our current tests.

This was done.


Fix typos

Hi,
I bumped into these typo's. So here is my first PR.

@allcaps thanks for the contribution . LGTM


Error exporting to android in godot version 3.0

SO: Ubuntu 16.04, Version: Godot 3.0
I HAVE HAD A PROBLEM WHEN EXPORTING A PROJECT FROM THE VERSION GODOT 3.0 TO ANDROID.

Godot version 3.0.alpha.custom_build.8de1dc7

Did you build Android export templates from the same commit? Keep in mind that you can't use templates from Godot 2.1.x or even 3.0-alpha1 if you're using a self-compiled editor binary.

I compiled Godot and the Android template both from the same commit and copied the apk file to ~/.godot/templates but the editor is not showing anything in the manager. I'm running Godot directly from $./bin/godot.osx.tools.64, is there something else I need for the editor to pick find the exporters?
Any help or comment is appreciated.

The layout changed a bit in the master branch, you now need to put your templates in: ~/.godot/templates/3.0-alpha/, and you should also add a version.txt file in ~/.godot/templates/3.0-alpha/ the string "3.0-alpha" in it. It's a bit convoluted but it will allow us to propose automatic downloads of the right version for your editor in the future.

@akien-mga thanks a lot!

That happens to me as well. Can anyone explain why?

@fabricadegame there are many things that could cause this. Please refer to other community channels to ask for help. If you find it's indeed an engine bug then you can open a new issue here.


[Error] NetworkManager

Hello! Thanks for great peer to peer transport! I have 2 questions.
What is the best way for the client to check if the host left the game?
I'm using LobbyDataUpdate_t but i'm not pretty sure that's is the good solution for many of players.
if (Convert.ToBoolean(pCallback.m_bSuccess) && pCallback.m_ulSteamIDLobby == steamLobbyId.m_SteamID){             int numMembers = SteamMatchmaking.GetNumLobbyMembers(steamLobbyId);             bool ownerLeft = true;             for (int i = 0; i < numMembers; i++)             {                 var member = SteamMatchmaking.GetLobbyMemberByIndex(steamLobbyId, i);                 if (member.m_SteamID == steamRemoteId.m_SteamID)                 {                     ownerLeft = false;                     break;                 }             }             if (ownerLeft)             {                     LeaveLobby();             }         }
And secondly.. when the host leaves the game and re-creates the server, and the client joins the host...the client and the host get errors. What's wrong with my code?
`public void StopSteam()
{
SteamMatchmaking.LeaveLobby(sID);
ResetSID(sID);
if (NetworkServer.active)
{
StopServer();
}
else
{
m_steamLobbyDataUpdate.Dispose();
m_steamLobbyDataUpdate = null;
        if (client != null)
        {
            StopClient();
        }
    }
}`

Hi,
Thanks for your report @roniprog. Sorry I missed it until now.
I'm aware now there is an issue with the disconnect code and I'm going to take a look at that now.
Regarding knowing the host has left - Mirrors disconnect functionality Should work - although there could be more of a delay to realise than a TCP connection but we can work to realise that asap - so something like NetworkManagers OnServerDisconnect.
I will update you when the disconnect code is fixed

Hi @roniprog, I believe I have fixed the issues with disconnecting.
Please update (and update to latest Mirror version) and let me know if its resolved for you


TPP news!

What is reasonable a short version for "IEEE MICRO Top Picks Honorable Mention" so that it fits in the badge dropdown in pub page?

I just tried removing IEEE and I think this is good enough

Oh the dropdown. Maybe just Paper Awards?

Don't get it. The drop down's name is Badge, which is ok. I meant, this will show up as an excessively long name there.

I don't think we need a separate drop down for awards yet. Unless we start getting awards left and write :D

Oh I see, I wasn't understanding how badges work. We definitely don't want to flatten everything into just Papar Awards.

I think it's not that bad (without IEEE).

Looks good. Can you make the change or do I need to push without IEEE?

Thanks @jaywonchung


Layout component IE11 compatibility

Bug Report
Layout component has some styling issues on IE11.
Steps
Open https://stardust-ui.github.io/react/components/layout on IE11 and Chrome side by side.
Go though the examples and issues will be seen.
Version
0.22


pulling to make modern

📝 Description

🎯 Goals

❌ Non Goals

🚦 Testing

⏮ Backwards Compatibility

📚 Related Issues & Documents

🖼 Screenshots/Recordings

📖 Added to documentation?

[ ] 📜 README.md
[ ] 📑 Documentation
[ ] 📓 Javadoc
[ ] 🍕 Comments
[ ] 🙅 No documentation needed

😄 [optional] What gif best describes this PR or how it makes you feel?

Summary by CodeRabbit

Bug Fixes

Adjusted the ore drop range to ensure players receive the correct amount of ore per mining action.

Please give your PR a good name.
Please follow the template.


[Bug] @transifex/cli doesn't find any files on Windows

Current Behavior
$ find . -name *.html | wc -l
1748
$ npx txjs-cli push --token=<redacted> --secret=<redacted>
Parsing all files to detect translatable content...
⸨████████████████████████████████████████⸩ 0/0 {file}
✓ Processed 0 file(s) and found 0 translatable phrases.
✓ Content detected in 0 file(s).
⚠ Nothing to upload.

Expected Behavior
I expect it to find all the default extension files (html, ts, etc), parse them and upload the translations to our native project.
Steps to Reproduce
Run on a windows machine with node > 12.
npm install -g @transifex/cli
touch sample.html
txjs-cli push --token=<PROJECT_TOKEN> --secret=<PROJECT_SECRET>

I expect this to at least find the html file and process it.
Possible Solution
Passing in the whole absolute path with forward slashes to a single file works.
Possible Implementation
Looks like there's an issue with how the absolute path is returned on windows and how the glob package expects paths.
https://github.com/transifex/transifex-javascript/blob/f28ea0561fdefa101ca5801a41d96f91fff44b93/packages/cli/src/commands/push.js#L35
shelljs.pwd returns the absolute paths with backslashes on Windows, while the glob package works only with forward slashes.
https://github.com/isaacs/node-glob/blob/af57da21c7722bb6edb687ccd4ad3b99d3e7a333/README.md?plain=1#L324

We have released v4.2.1 which should fix the path issue on Windows.

Works for me.


Add ratelimit headers to load scheduler

Is your feature request related to a problem? Please describe.
When dropping request by load scheduler, we don't have any feedback when we might retry (via headers). This would be nice especially with integration with graceful.js.
Describe the solution you'd like
Guesstimate retry-after in the scheduler (based on historical wait time, queue sizes, load, and other factors) and add headers to request.

For the rate-limiter part, there are two "kinds" of headers of interest:

the more general Retry-After, and
more ratelimiter-specific RateLimit-*, which are non standard yet, but there's a draft.

I think the Retry-After is simpler and more actionable, so aiming for it first.


 I think this is a bug, because even tasks that are already training are still affected by this error

The tracker was down for some reason.  Please upgrade to latest xgboost and open a new issue if the problem persists, preferably with a reproducible example

The latest version of xgboost will still have the same problem. Because of tracker.py, it is very simple to reproduce it. You only need to turn on the tracker service, and then use the telnet ip port, and enter the request to reproduce it. This is not essentially It's a bug, but the prompt information is really not friendly. In addition, the task being trained relies on tracker communication. If someone randomly sends a tacp request to the tracker port of the cluster machine, the ongoing training task will be terminated. I think this is undesirable and uncomfortable. I encountered this problem when using xgboost-spark. It was really distressing. In the end, I had to read most of the source code to solve this problem. I have seen similar questions on github and stackoverflow, but no one has given a solution

@trivialfis hello,first trunk your reply， the latest version of xgboost will still have the same problem. Because of tracker.py, it is very simple to reproduce it. You only need to turn on the tracker service, and then use the telnet ip port, and enter the request to reproduce it. This is not essentially It's a bug, but the prompt information is really not friendly. In addition, the task being trained relies on tracker communication. If someone randomly sends a tacp request to the tracker port of the cluster machine, the ongoing training task will be terminated. I think this is undesirable and uncomfortable. I encountered this problem when using xgboost-spark. It was really distressing. In the end, I had to read most of the source code to solve this problem. I have seen similar questions on github and stackoverflow, but no one has given a solution

@trivialfis I made some changes to the fock code, and added a friendly reminder that the tracker process has died and possible problem reminders. I hope you can consider my ideas, then I would be very grateful:

The tacker.py modified by the dmlc-core project fixes the tracker process exit problem caused by other programs accessing the port occupied by the tracker, and changes it to a more friendly prompt, allowing users to better troubleshoot.
xgboost has changed RabitTracker.java . I think that once the tracker server process dies, the entire java program should also die, because all subsequent calculations depend on the tacker process.

Thanks for the detailed suggtestions.
@wbo4958 Could you please help take a look into this?

@hezhaozhao-git Could you put up a PR for you fix?

@wbo4958 Thank you for your reply, I have created pr and look forward to merging.

@hezhaozhao-git Could you put up a PR for you fix?

@wbo4958 Thank you for your reply, I have created pr and look forward to merging.

Closing as the python tracker was removed in 2.1.


New example app: Trip Planner

Trip Planner is an example app where users can collaborate on trip planning. In our example we have hardcoded a single trip called "West Coast Trip", including 3 cities. For each itinerary stop, users can add notes and "to do" items (place to see, description etc). This example intends to educate on how FF collaboration can empower existing apps having their own data model and source of truth. This project is work in progress. In its final form it will address following topics:

Containers. Users should be clear how to reason about when and where to apply FF containers, how to share them etc.
Basic DDSes. Users should be clear how "optimistic" DDSes behave, and how to apply that knowledge in our sample app. We are starting with SharedMap and SharedString.
Modeling Collaboration. Users should be clear how to model more complex collaboration data. In our sample app here, we have collections where each item can have place, description & category. We want to discuss how we are splitting the model in a way where users do not inadvertently revert each other's changes, while still considering performance implications.
Audience. Users should be clear how to use audience to enhance collaboration experience.
Signals. Users should be clear on distinguishing persistent vs non-persistent data, and how each of them apply to various use cases.
FF Eventing. Users should be clear how to use events to bind FF data. We have existing examples that talk about eventing, but here we are looking into that same topic, but at a larger scale.
Source of Truth. In our sample app, the source of truth is separate from FF data. Users should be clear how two data sources can be synchronized.
Container States. Users should be clear how container state can be observed and managed.
Schema Upgrades. To keep pace with FF lib. changes, users should be clear how they can safely execute schema upgrades.
Recovery. Users should be clear how they can recover corrupted data.

100% nitpick, but would it be better to call the app "our-trip-planner" instead of "my-trip-planner" since it's collaborative?

100% nitpick, but would it be better to call the app "our-trip-planner" instead of "my-trip-planner" since it's collaborative?

Love it! Renamed, and ready for re-review.
Changed example to use shared upvote counter to initially better align with our getting-started example, before we start introducing more complex DDSes.

Since FF 2.0 and switching to focus on SharedTree, I think this example probably either needs to be updated or reconsidered.  Closing this PR since there has not been recent activity.


Provide reference documentation for transform parameters

The Image Registration Optimizer Weights example says:

we use the SetOptimizerWeights method to disable rotations around the x and y axes

SetOptimizerWeights takes an interable of weights that correspond to parameters of the Transform, but it is currently not possible to understand from the API reference what order the transform parameters are listed in.
For example, for SimilarityTransform3D I think the order is [3 versor componets, 3 translation components, isotropic scale factor], but looking at the API reference for SimilarityTransform3D there is no way to learn this. It would be great if the parameters that each transform takes were listed in the API reference.

Generally lower level information is in the ITK level documentation:
https://itk.org/Doxygen/html/classitk_1_1Similarity3DTransform.html
"The serialization of the optimizable parameters is an array of 7 elements. The first 3 elements are the components of the versor representation of 3D rotation. The next 3 parameters defines the translation in each dimension. The last parameter defines the isotropic scaling."
But I think it is reasonable to add that information to the SImpleITK documentation.


[Bug]: Initializing stuck at Installing bundled translators

Debug log ID
F6THSK9F-euc
What happened?
Seems similar to #2482. I opened Zotero today and the pop-up is stuck on 'Better BibText: Initializing - Installing bundled translators'. None of the citation keys load. Everything worked fine yesterday.
Thanks in advance for your help!

Can you try this build?

Still the same. New debug ID is 3NDDEQDK-euc

Can you :hiddenprefs:, search for scrubDatabase, double-click it to toggle it to true, and restart Zotero?

New debug ID is XVVWR5IS-euc. I set scrubDatabase to true, then restarted directly with logging.
It spends more time on "Loading databases", then still hangs on "Installing bundled translators" and switches back scrubDatabase to false.

A new build will drop here in a few minutes, can you do the above procedure again, but this time when you send the log, check the "include cache" checkbox before sending.

New debug ID is 6LXZ26XU-euc
Thanks a lot for your quick responses!

Is it possible you edited your auto-exports manually at some point? You have 2 auto-exports setup, but they're missing their metadata, so you're getting errors when BBT checks whether they should be scheduled at start. I've never seen a database in this state.

It's possible I moved the exported files around at some point, but I don't think I changed the content or played with metadata in my Zotero folder. The bug did happen the day after I set up one of the 2 auto-exports though.
I can definitely live without them or start them over. Is it possible to disable the auto-exports somewhere other than in the Preferences? Right now the Better BibTex tab only displays "Better BibTex is loading" and I cannot change the settings.

A build will drop here in 5 minutes or so that will remove the problematic entries when scrubDatabase is on. That should resolve the problem for you.
Moving around files should have no impact. I have no idea how these entries ended up this way in your database.

Problem resolved! Thank you so much, really grateful for your help over the weekend!

My pleasure. It's easier for me to do this in weekends, so you planned your problem just right 😉 . The fix is in the new release, you will be upgraded automatically. Thanks for your patience in hashing this out.


Multiple sensors or triggers

Hello, can i create multiple sensors for reading some bash script output like this? Or i have to use multi_sensor? Also can i create multiple triggers? Thanks.
  "sensor": [{
    "name": "Free Memory",
    "topic": "tele/__DEVICE_ID__/memory/free",
    ...
    "command": {
      "name": "/bin/sh",
      "arguments": [
        "-c",
        "cat /proc/meminfo | grep MemFree | cut -d\\: -f2 | sed 's/ //g' | grep -o [0-9]*"
      ]
    }
  }],
  "sensor": [{
    "name": "My Script",
    "topic": "tele/__DEVICE_ID__/my/script",
    ...
    "command": {
      "name": "/bin/sh",
      "arguments": [
        "-c",
        "/usr/local/bin/myscript"
      ]
    }
  }],

Hey .. sorry for late response. If i understand you correctly you want to add multiple sensors in your configuration. So lets say you want configure a sensor for my-first-script and a sensor for my-second-script. Then your configuration has to look like this:
{
  "sensor": [{
    "name": "First Script",
    "topic": "tele/__DEVICE_ID__/first",
    "command": {
      "name": "/path/to/my-first-script"
    }
  },{
    "name": "Second Script",
    "topic": "tele/__DEVICE_ID__/second",
    "command": {
      "name": "/path/to/my-second-script",
      "arguments": [ "firstArgument" ]
    }
  }]
}

The difference between sensor and multi_sensor is that the multisensor-script-output will be used to split into multiple values (each value is its own message).

Thanks for reply, but i created my own mqtt sensor with bash script. Maybe in the future i'll use mqtt-executor again. Thanks.


Error submitting transactions to kovan network from ICO Wizard

If you are reporting a problem with ICO Wizard, please include the following information:
Which network did you use? (Mainnet, Kovan, Rinkeby, etc.)
Kovan Test Network
If you were able to create it, what is the URL of your crowdsale?
First transaction was successful, second says it failed on Metamask, but on Kovan.etherscan it shows successful, third transaction failed on metamask and doesn't even show up on Kovan.etherscan.
https://kovan.etherscan.io/address/0xfa229b4e01d2f184d7fd6b41352354c5be402791
Do you have screenshots showing the problem?
Yes, showing the two failures and I left the ethereum address from etherscan above.
Do you see errors in the dev console? If yes, please include a screenshot
Dev console shows no errors, just some non associated warnings.

Hi, I think this is an issue with MetaMask. It often happens to me during development.
Can you try disabling and enabling the MetaMask extension (right click in the MetaMask icon, Manage extensions)?

@fvictorio

Stephen had this problem multiple times
For him, the problem is more Kovan specific. Maybe because there is no Byzantinum there? Or because he tested there more often :-)
Our DApp should resubmit transaction with a new nonce when submitted tx was rejected. Don't you think so?

Sure, I'll do some research around this.
@hashguide Does this happen randomly or do you know of some sequence of steps that will always trigger the problem?

I'm having a hard time trying to reproduce this. Plus, it seems like Kovan is having issues (some transactions take forever, etherscan behaves weirdly, there are people complaining in the gitter channel). So I'll wait until the network is working well again to try again, but it'd be helpful to have some pointers related to how to reproduce the issue.

Sorry didn't see these, I will try to reproduce it after cycling metamask.

Awesome, thanks.

While submitting on the Kovan network, everything seems to work fine now.


make pull-openlane failed

Description
Not able to update latest openlane commit.
Environment
python3 ./env.py issue-survey
Python: v3.8.10
Kernel: Linux v5.11.0-40-generic
Distribution: ubuntu 20.04
Container Engine: docker v20.10.10
OpenLane Git Version: 2021.11.25_01.26.14
---
PDK Version Verification Status: MISMATCH
The version of open_pdks installed does not match the one required by the OpenLane flow scripts (installed: 14db32aa8ba330e88632ff3ad2ff52f4f4dae1ad, expected: c5730b574461889c82858b08d12ba42423d9c2cb)
You may want to re-install the PDK by invoking `make pdk`.

Logs
  File "./dependencies/get_tag.py", line 26
    process_data: subprocess.CompletedProcess = subprocess.run(["git", "describe", "--tags", "--abbrev=0"], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
                ^
SyntaxError: invalid syntax
Pulling most recent OpenLane image relative to your commit...
docker pull
"docker pull" requires exactly 1 argument.
See 'docker pull --help'.

Usage:  docker pull [OPTIONS] NAME[:TAG|@DIGEST]

Pull an image or a repository from a registry
make: *** [Makefile:184: pull-openlane] Error 1

@donn even after sed its not worked. By setting IMAGE_NAME works.
export OPENLANE_IMAGE_NAME=efabless/openlane:2021.11.26_01.21.38

Yeah, sorry, I have no idea how this is happening. The only thing that makes sense is an out of date python version.

@donn I'm not familiar with this python syntax "process_data: subprocess.CompletedProcess = subprocess.run" what does it mean?

The : subprocess.CompletedProcess is a typing hint. PEP-0484, implemented in Python 3.5+, allows for type hints to assist IDE or other utilities with autocomplete and/or enforcing some basic type safety.
The idea is, a typical Python interpreter would read and ignore this part: so functionally this would be process_data = subprocess.run(...). However, if you're running a version of Python where the AST simply doesn't recognize type hints, they report a syntax error.

@donn Perhaps you should check sys.version_info to ensure you have the minimal required version.

I do. As part of the environment survey that I ask people to run before submitting any issue, which is reporting Python 3.8 here.

@donn
In Makefile default python3 used. If I change it to python3.8 everything working fine.
I've 2.7,3.5,3.8 version in Ubuntu. As openlane supports 3.5+ above, change to 3.8 works for me.

I can't do that. People's setups range from Python 3.6 (centos) to Python 3.9 (my setup). Changing it to python3.8 would break unless someone specifically had Python3.8 installed. Not acceptable.

@donn  as problem comes from my python version, fixed myself and closing this issue.


how to make docker images

hello， I want to use this project to make docker images，but I failed，can you tell me how to make docker images?

Hi,
I provide the prebuilt docker images here: https://hub.docker.com/repository/docker/utkuozdemir/nvidia_gpu_exporter
They are based on this Dockerfile in the repository.
You can use it directly or extend from it using
FROM utkuozdemir/nvidia_gpu_exporter:1.2.0

# your customizations

I hope this helps you to achieve what you need.


Return an error when weave isn't running, on RequestPool

Fixes #1906.
When I did just the simple fix, I got "invalid CIDR address" back from Docker, which suggested the error wasn't being propagated correctly, hence the other two commits.

This doesn't do anything particularly useful to fix the issue in 1.4. The plugin is still dying there (and getting restarted by docker), and no error shows up in the tty.

Given #1879 (which is now ready) you would be told the plugin died.


Protégé fails to open oeo-model.omn

Description of the issue
When opening Protégé it currently fails to import oeo-model.omn file when opening the oeo.omn. It writes the following error message in the command window:

Imported ontology document http://openenergy-platform.org/ontology/oeo/releases/v1.1.0/oeo-model.omn was not resolved to any documents defined in the ontology catalog.

After that, Protégé stops doing anything and show just a static progress bar.

@OpenEnergyPlatform/oeo-general-expert-formal-ontology : Does somebody else experience this problem? Any advice how to fix it?
Maybe something went wrong in yesterday's release...
Ideas of solution
If you already have ideas for the solution describe them here
Workflow checklist

[ ] I am aware of the workflow for this repository

I canno t reproduce it. I tried to load
https://openenergy-platform.org/ontology/oeo
and everything worked fine.

Ah, but I have an idea: The version IRIs changed - therefore, they are not present in your current workspace and protege tries to reload them using their version IRI (i.e. from the oep). This requires a HTTPS connection, which has to be activated manually for the JVM. I tink the easiest way would be to exclude the ontology section from the SSL enforcement in the webserver.

@l-emele I changed the settings. Could you try it again?

The changed settings solved the problem. Protégé now imports the modules without problems.


tsconfig requires compiler options with base url

Without base url, TS errors appear such as Cannot find module<EMAIL_ADDRESS>
Pre-flight checklist

[ ] I have read the Contributing Guidelines on pull requests.
[ ] If this is a code change: I have written unit tests and/or added dogfooding pages to fully verify the new behavior.
[ ] If this is a new API or substantial change: the PR has an accompanying issue (closes #0000) and the maintainers have approved on my working plan.

Motivation

Test Plan

Test links

Deploy preview: https://deploy-preview-_____--docusaurus-2.netlify.app/
Related issues/PRs

I would need to investigate. I definitely believe most sites work without it, but I also do believe TS requires you to set baseUrl per-project instead of inheriting it from the shared config...

When creating a typescript project from scratch using the --typescript flag it includes the base url in the tsconfig. The docs are just behind when it comes to migrating from js.


Please remove ff6347 as a CODEOWNER

The user @ff6347 is listed in the CODEOWNERS file but should be removed.

@ff6347 I didn't have the chance to look into this before, but as far as I can tell it has already been taken care of?
https://github.com/technologiestiftung/oeffentliches-gestalten-gpt-search/commit/dc87a1a8a095cf8a3fa61a8811ff1cec794d2876

Jupp


File "/home/ali/src/NAOChat/gpt.py", line 1, in

hi
when i run the gpy.py  getting the error  ~/Pepper_Chat_GPT$ python3.11 gpt.py
Traceback (most recent call last):
File "/home/ali/Pepper_Chat_GPT/gpt.py", line 1, in
from lwe import ApiBackend
ModuleNotFoundError: No module named 'lwe'
what i am missing ?!?

Same here

@varozhan3212 @jesusazogue do you have any clue ?


More information during extraction process on Android [$100]

Add a progress bar during extraction for Android. If it runs out of space or fails for other reasons, an error message should be displayed. Ideally the text should be customizable by the user for localized apps.

---
There is a **[$100 open bounty](https://www.bountysource.com/issues/7581372-more-information-during-extraction-process-on-android-100?utm_campaign=plugin&utm_content=tracker%2F42681&utm_medium=issues&utm_source=github)** on this issue. Add to the bounty at [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F42681&utm_medium=issues&utm_source=github).

Any chance this could be split in two? I imagine many people like myself are not working on droid AND ios.
I'm just having a look at what can be done in this area, for the loading screen after initial extraction too.

Sorry I forgot to clarify this. The bounty is for Android, extraction is not used on iOS.

@bionoid, could you port over the issue and bounty to p4a?

@dessant there is apparently no way to cancel the bounty beyond asking bountysource for a refund, which I have done. I will close the issue once that is settled.


adding information about usage, output and suggested use reference

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.:x: ozkary sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.

@ozkary : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@corob-msft : Thanks for your contribution! The author(s) have been notified to review your proposed change.


Add Social Media Icons to Footer

I'd like to add social media icons (Twitter, GitHub, LinkedIn, etc) to the footer of the website. Please assign this task to me.

@shreyyq We don't prefer using icons in the footer. Therefore, you can close this issue. However, if you would still like to work on it, we will review your work. If it proves to be useful, we will merge it; otherwise, we will close it.


Remove CopyRepoArtifacts target

Publishing changes in arcade (https://github.com/dotnet/arcade/pull/14559) are replacing old model of propagating artifacts from repo build to shared VMR locations.
Remove CopyRepoArtifacts target once the arcade changes have flown to installer repo.

Blocked by https://github.com/dotnet/installer/pull/19145


How do we call "public class Cache<T: NSCoding> "

i am trying like this
AwesomeCache.Cache(name: name, directory: cachePath)
but it's throwing me an error 'NSCoding' cannot be used as a type conforming to protocol 'NSCoding' because 'NSCoding' has static requirements

AwesomeCache is a generic class, thus you need to add the type of the objects you want to store in the cache when instantiating the instance.
let Cache<NSData>(name "foo")

Hey ,
Thanks, Alex i figured this out .i really appreciate you for your email.
On Tue, Nov 15, 2016 at 4:45 PM, Alexander Schuch<EMAIL_ADDRESS>wrote:

AwesomeCache is a generic class, thus you need to add the type of the
objects you want to store in the cache when instantiating the instance.
let Cache(name "foo")
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/aschuch/AwesomeCache/issues/83#issuecomment-260779341,
or mute the thread
https://github.com/notifications/unsubscribe-auth/APvjTkiN9dqdvYhpAtQ-DUizsCXxl0Iaks5q-if2gaJpZM4JuhZW
.

--
Thanks,
Anurag Yadav
iOS Developer
Mobile Programming
(818) 416-0961
--
Disclaimers
This email and any files transmitted with it are confidential and intended
solely for the use of the individual or entity to whom they are addressed.
If you have received this email in error please notify the system manager.
This message may contains confidential information and is intended only for
the individual named. If you are not the named addressee you should not
disseminate, distribute or copy this e-mail. Please notify the sender
immediately by e-mail. if you have received this e-mail by mistake delete
this e-mail from your system. If you are not the intended recipient, you
are notified that disclosing, copying, distributing or taking any action in
reliance on the contents of this information is strictly prohibited.


一些疑问

这个里面的tf 和keras 模型运行的结果有一定的差别，不知道为啥
我换了一个大一点的数据运行直接就卡了

tf和keras模型的运行结果不保证完全一致，因为可能一些参数初始化方法，还有随机数种子的设置都会导致不同的~
至于大一点数据卡了是什么情况？batch_size设小一点看看有没有输出，另外大模型刚开始需要一定时间进行初始化。

我用了一个20w *100多字符变量的数据 ，等了20分钟不止了 ，一直没有进入训练的日志。也太慢了，能哪里加速下吗

是在数据预处理过程中卡住了 还是在模型训练过程中卡住了呢 比如 LabelEncoder的话可能会慢一些，用多进程的方式处理可以更快，另外现在正在开发使用Hash编码的特征接口，就不用一定要把类别特征预处理成连续编码的形式了。

Instructions for updating:
keep_dims is deprecated, use keepdims instead
WARNING:tensorflow:From /home/mlp/python/anaconda3/lib/python3.6/site-packages/keras/backend/tensorflow_backend.py:1213: calling reduce_max (from tensorflow.python.ops.math_ops) with keep_dims is deprecated and will be removed in a future version.
Instructions for updating:
keep_dims is deprecated, use keepdims instead
total embed size 2139
WARNING:tensorflow:From /home/mlp/python/anaconda3/lib/python3.6/site-packages/keras/backend/tensorflow_backend.py:1264: calling reduce_prod (from tensorflow.python.ops.math_ops) with keep_dims is deprecated and will be removed in a future version.
Instructions for updating:
keep_dims is deprecated, use keepdims instead
WARNING:tensorflow:From /home/mlp/python/anaconda3/lib/python3.6/site-packages/keras/backend/tensorflow_backend.py:1349: calling reduce_mean (from tensorflow.python.ops.math_ops) with keep_dims is deprecated and will be removed in a future version.
Instructions for updating:
keep_dims is deprecated, use keepdims instead
Train on 147764 samples, validate on 36941 samples
Epoch 1/10
2018-08-16 15:13:41.790578: I tensorflow/core/platform/cpu_feature_guard.cc:137] Your CPU supports instructions that this TensorFlow binary was not compiled to use: SSE4.1 SSE4.2 AVX AVX2 FMA
2018-08-16 15:13:42.010050: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1105] Found device 0 with properties:
name: GeForce GTX 1080 Ti major: 6 minor: 1 memoryClockRate(GHz): 1.582
pciBusID: 0000:02:00.0
totalMemory: 10.91GiB freeMemory: 8.04GiB
2018-08-16 15:13:42.221082: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1105] Found device 1 with properties:
name: GeForce GTX 1080 Ti major: 6 minor: 1 memoryClockRate(GHz): 1.582
pciBusID: 0000:03:00.0
totalMemory: 10.91GiB freeMemory: 8.21GiB
2018-08-16 15:13:42.221259: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1120] Device peer to peer matrix
2018-08-16 15:13:42.221299: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1126] DMA: 0 1
2018-08-16 15:13:42.221312: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1136] 0:   Y Y
2018-08-16 15:13:42.221321: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1136] 1:   Y Y
2018-08-16 15:13:42.221338: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1195] Creating TensorFlow device (/device:GPU:0) -> (device: 0, name: GeForce GTX 1080 Ti, pci bus id: 0000:02:00.0, compute capability: 6.1)
2018-08-16 15:13:42.221350: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1195] Creating TensorFlow device (/device:GPU:1) -> (device: 1, name: GeForce GTX 1080 Ti, pci bus id: 0000:03:00.0, compute capability: 6.1)

卡到这里就啥都没了。。

这个还是没初始化完吗

我数据打印结果在上面

用的是哪个模型？ 样本数有20W 特征有100个field，每个field大概多少维？

data = pd.read_csv("train.csv")
print(type(data))
sparse_features =  ['gbdt_leaf_' + str(i) for i in range(120)]
target = ['label']

#1.Label Encoding for sparse features,and Normalization for dense fetures
for feat in sparse_features:
    lbe = LabelEncoder()
    data[feat] = lbe.fit_transform(data[feat])
#2.count #unique features for each sparse field
sparse_feature_dim = {feat:data[feat].nunique() for feat in sparse_features}
#3.generate input data for model
model_input = [data[feat].values for feat in sparse_feature_dim] #+ [data[target[0]].values]
print(model_input)
#4.Define Model,compile and train
model_lists = [AFM({"sparse":sparse_feature_dim,"dense":[]},).model,
               DCN({"sparse":sparse_feature_dim,"dense":[]},).model,
               DeepFM({"sparse":sparse_feature_dim,"dense":[]},).model,
               MLR({"sparse":sparse_feature_dim,"dense":[]},).model,
               NFM({"sparse":sparse_feature_dim,"dense":[]},).model]
for model in model_lists:
    #model = DeepFM({"sparse":sparse_feature_dim,"dense":[]},final_activation='linear').model
    model.compile("adam","binary_crossentropy",metrics=['mse'],)
    history = model.fit(model_input,data[target],
              batch_size=256,epochs=10,verbose=2,validation_split=0.2,)
    model.predict(model_input)

就是120个字段，

模型我也不知道选哪个好

sparse_feature_dim 把这个打印出来看下, 然后batch_size设置成1看下

这个dim 不大的，不超过50 。

我吧size设小看下

history = model.fit(model_input,data[target],               batch_size=256,epochs=10,verbose=2,validation_split=0.2,)这句改成verbose=1看看进度条走不走

到那里还是卡了，等等看吧

这种是最坑的，连个报错都没


Better mask_test_edges function

@tkipf This is my fix for a little bit more performant mask_test_edges function. I managed to reproduce the results of the paper and it works much better even with large graphs.
The only time consuming processes in this function are the assertions at the end of the function.

Thanks -- I'll leave this open for now in case someone is interested in a (working) example for a more efficient implementation. I rolled the master branch back to the original version before @philipjackson's PR to keep it in line with the paper.

Dear all,
Contrary to previous comments (here + #54), I was able to reproduce all results from @tkipf's original paper using @philipjackson's implementation (see #25) of the mask_test_edges function.
I suspect that previous issues might simply come from different train/validation/test splits. Indeed, @philipjackson set default parameters values to test_percent=30. and val_percent=20., whereas @tkipf used test_percent=10. and val_percent=5. in his experiments. This removes more edges from the training graph w.r.t. original experiments, leading to lower performances.
For the PubMed dataset, i.e. the largest one, @stefanosantaris's implementation runs in 3+ minutes on my laptop. @philipjackson's implementation runs in 0.03 seconds, and in a few seconds for a graph with 1 million nodes (I removed all assert lines for both functions).
As a consequence, I would recommend to use #25 with updated default parameters. :)

Dear all,
Contrary to previous comments (here + #54), I was able to reproduce all results from @tkipf's original paper using @philipjackson's implementation (see #25) of the mask_test_edges function.
I suspect that previous issues simply come from different train/validation/test splits. Indeed, @philipjackson set default parameters values to test_percent=30. and val_percent=20., whereas @tkipf used test_percent=10. and val_percent=5. in his experiments. So, @philipjackson masks more edges from the training graph w.r.t. original experiments, which leads to lower performances. With corrected parameters, I reach consistent results w.r.t. the paper.
Moreover, for the PubMed dataset, i.e. the largest one, @stefanosantaris's implementation runs in 3+ minutes on my laptop. @philipjackson's implementation runs in 0.03 seconds, and in a few seconds for a graph with 1 million nodes (I removed all assert lines for both functions).
As a consequence, I would recommend to use #25 with updated default parameters. :)

Hi, @GuillaumeSalha . Can you reproduce the results in the paper with test_percent=10, val_percent=5 with the original implementation /updated implementation? I still cannot reproduce it with the original one. Sad...

Hi @haorannlp !
After changing test_percent=10. and val_percent=5. in preprocessing.py, you need to run again:
cd ..
python setup.py install

Then, indeed, I can reproduce results from the paper.

Hi everyone,
I think what happened here is that I wrote this code along with @sbonner0 for use in a paper of our own, in which we used different sized val and test splits, and only submitted it as a pull request here as an afterthought. That's why my default val_percent and test_percent don't match up with @tkipf's originals, I didn't think to revert them when I made the pull request. Apologies for the inconvenience caused, and thanks to @GuillaumeSalha for spotting the issue!

Thank you buddy, @GuillaumeSalha! I can reproduce the results now.


Issue 71: Integration test and Samples

Signed-off-by: Shivesh Ranjan<EMAIL_ADDRESS>Change log description
Integration test and samples
Purpose of the change
Fixes #71
What the code does
Adds samples and integration tests
How to verify it
All new integration tests should pass

@shrids fixed. thanks


importerror cannot import name punktwordtokenizer

My current version of nltk is 3.2.4,, I couldn't import punckt word tokenizer through this,
here is my result.
>>> from nltk.tokenize import PunktWordTokenizer Traceback (most recent call last):   File "<stdin>", line 1, in <module> ImportError: cannot import name PunktWordTokenizer

The punkt tokenizer is a sentence tokenizer, i.e. to split string (normally a document or paragraph) nto list of strings (sentences). For word tokenizer, use the TreebankWordTokenizer or word_tokenize


Width of png file dimensions is limited to 32767

(Title is not entirely accurate, please see below)
The following code in C# will generate a png image that has 36666 in width, but only the first 32767 pixels in width will be correctly generated.
                const int TEST_WIDTH = 36666;
                SKPath testPath = new SKPath();
                // A straight horizontal path covering the full width
                testPath.MoveTo(new SKPoint(0, 100));
                testPath.LineTo(TEST_WIDTH, 100);
                // Configure paint
                SKPaint testPaint = new SKPaint
                {
                    Style = SKPaintStyle.Stroke,
                    Color = SKColors.Red,
                    StrokeWidth = 50,
                    StrokeCap = SKStrokeCap.Cyan
                };
                // Save to file
                var bitMap = new SKBitmap(TEST_WIDTH, 200);
                SKCanvas imageCanvas = new SKCanvas(bitMap);
                imageCanvas.DrawPath(testPath, testPaint);
                using (Stream stream = File.OpenWrite('path to png file'))
                {
                    SKData data = SKImage.FromBitmap(bitMap).Encode(SKEncodedImageFormat.Png, 100);
                    data.SaveTo(stream);
                }

The resulting image, if opened with Gimp or similar tools, will have a horizontal stroke that only spans to the 32767th pixel in x.
This is found in a Xamarin.Forms project, tested on Nexus 6P running Android 8.1 and iPhone 6s running iOS 11.2.6.

You will never guess... skia just clips it so that it can fit into it's underlying type:
https://github.com/google/skia/blob/master/src/core/SkScan_Hairline.cpp#L48-L62
They even have a note:

// We have to pre-clip the line to fit in a SkFixed, so we just chop
// the line. TODO find a way to actually draw beyond that range.

I am not quite sure what to do at this point... You can still draw in that area (like a rect), just not with lines.

I asked a question here and we will see what they say: https://groups.google.com/forum/#!topic/skia-discuss/VDuN76yRFvQ

Appreciate the info and post to google forum!

I just go confirmation that this will happen with lines:

Yes, I confirm that Skia's CPU backend will always clip the path into 32k x 32k bounds because we're using SkFixed (16.16 format) for scan conversion. The clip may be even smaller (8k x 8k) if 4x4 supersampling AA is used. We're thinking about adding tiling to completely remove that limitation.

I am going to close this as this is a core issue with skia. As soon as they fix it, it will magically appear in SkiaSharp.
For workarounds, I suggest discussing your case on their forums as they will be able to better help you.


[breaking] Handle the device parameter in pyspark.

Handle the new device parameter in pyspark.
Remove the old use_gpu parameter.

cc @WeichenXu123 .

emm,
This is a breaking change, it breaks our customer code unexpectedly, can we just deprecate use_gpu param instead of removing it suddenly ?

@WeichenXu123 Restored the compatibility with an warning when use_gpu is set to non-None.


onClientConnectionState() - status=133 clientIf=6 device=F0:A3:23:3C:D6:EF

How to solve this problem?status=133

Thanks for using the library. Error status 133 may have various reasons as it is a general error reported by the Android system.
It feels like it is a general question, if so please post a question on StackOverflow with #rxandroidble tag, otherwise feel free to reopen this issue with logs and more information.
For commercial support contact at<EMAIL_ADDRESS>


CODE IS BREAKING ON XCODE 10 GM WITH SWIFT 4.2

Did you try on master? Swift 4.2 was supported by #576


Is it possible to spicify node IP for datanode?

Because datanode will have to have a huge storage. So, it would be good if I can specify which node in cluster to be used as a datanode.
OR!
It's OK if I can just specify nodes for NameNode, JournalNode and ZKFC and let the rests be datanode.
Thanks,
Phakin

Hi @teamsoo ,
In current release, I think the answer is no.
A possible solution is that define some tip information like "mesos.hdfs.journalnode.hostname" in mesos-site.xml, then Hdfs-mesos can launch task based on user's needs.

correct @tangzhankun, the answer is no currently. Thanks for bringing up this issue @teamsoo! Constraints in HDFS-Mesos may be quite useful


[Fixes #86] Customize metadata_details

Needs merging of
https://github.com/GeoNode/geonode/commit/cec0ac888c50074d89b07d1729ea562d5b4ff6f0
into 3.2.

Needs merging of
GeoNode/geonode@cec0ac8
into 3.2.

it's already merged -> https://github.com/GeoNode/geonode/commit/cec0ac888c50074d89b07d1729ea562d5b4ff6f0


Action system terminal integration + Jest watch Fix #157

Storybook Hub is building storybooks for every commit in this PR.
Latest Storybook: https://a482251f-805e-4217-b77a-636638af6e5f.sbook.io/
( Visit here for more info )

This comment is automatically added by Storybook Hub


Rename Microsoft.Framework.* to Microsoft.Extensions.*

Need to rename assemblies and namespaces from Microsoft.Framework.* to Microsoft.Extensions.*.
Once the change is committed, please post an issue in the https://github.com/aspnet/Announcements/issues/ repo that links back to this issue.

https://github.com/aspnet/EventNotification/commit/cff1b1bc23ffe03704d4d0229dcbfecf2569d451


Set title to "Invoice" if the invoice includes products/services/tickets

Fix https://github.com/opencollective/opencollective/issues/1899

Codecov Report

Merging #44 into master will increase coverage by 0.46%.
The diff coverage is 85.71%.

@@            Coverage Diff             @@
##           master      #44      +/-   ##
==========================================
+ Coverage   74.25%   74.71%   +0.46%
==========================================
  Files          12       12
  Lines         167      174       +7
  Branches       37       39       +2
==========================================
+ Hits          124      130       +6
- Misses         36       37       +1
  Partials        7        7

Impacted Files
Coverage Δ

src/pages/invoice.js
92.59% <85.71%> (-1.03%)
:arrow_down:

Continue to review full report at Codecov.

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


running tests locally uses the wrong wsk binnary

When you run the scala tests in this repo, they pick up the wsk binary from, and worse, they use the settings from ~/.wskprops. The tests should be more explicit about using the binary from this repo, and document how to change the properties files used for tests.

This PR will make it possible to override the CLI path in test suites outside the upstream repo: https://github.com/apache/incubator-openwhisk/pull/3741.


Progress step(increment) value

Hello,
Is there any way to set the step value ? I mean if I have values from 0-200 and the step of 25, on stop trackingtouch to get only values multiple of 25 (0, 25, 50, 75...). This is how I temporally implemented on my app :
`circularSeekBar.setOnSeekBarChangeListener(new CircularSeekBar.OnCircularSeekBarChangeListener() {
@Override
public void onProgressChanged(CircularSeekBar circularSeekBar, int progress, boolean fromUser) {
selectedAmount = (progress / 25) * 25;
amount.setText(String.valueOf(selectedAmount));
}
        @Override
        public void onStopTrackingTouch(CircularSeekBar seekBar) {
            seekBar.setProgress(selectedAmount);
        }

        @Override
        public void onStartTrackingTouch(CircularSeekBar seekBar) {

        }
    });

`
Selected amount is an int where I keep the current progress of the seekbar and amount is a textview where I show it. With this implementation I get the values smaller or equal ... so if it's a value inside 25-49 I return 25. It's not the best solution, but it works...
Thanks !

You can do it this way on the onProgressChanged method:
mCircularSeekBar.setOnSeekBarChangeListener(new CircularSeekBar.CircleSeekBarListener() {
@Override
public void onProgressChanged(CircularSeekBar circularSeekBar, int progress, boolean fromUser) {
mCircularSeekBar.setProgress((progress / 10) * 10);
}
        @Override
        public void onStopTrackingTouch(CircularSeekBar seekBar) {

        }

        @Override
        public void onStartTrackingTouch(CircularSeekBar seekBar) {

        }
    });

Hi @hamz250 ,
Your implementation is exactly like mine. I don't see any improvement (your post looks better because you used the "insert code" function correctly). My question was if there is any way to set the step (the workaround how to apply a function to get it, found it pretty fast). I was looking for a method like "mCircularSeekBar.setStep(step)", like "mCircularSeekBar.setProgress(progress)".
Anyways, thanks for the answer,
Have a nice day!


Link the kernel at 0xFFFF_8000_0000_0000.

Link the kernel at the beginning of the upper
part of the canonical address space.  Lots of
other miscellaneous fixes.
Signed-off-by: Dan Cross<EMAIL_ADDRESS>

I'm going to close this in favor of another branch, that handles mapping in a different way (direct offset vs recursive).


Site search results overlap page content

Preliminary Checks

[X] This issue is not a duplicate. Before opening a new issue, please search existing issues: https://github.com/HugoBlox/hugo-blox-builder/issues?q=is%3Aissue
[X] This issue is not a question, feature request, or anything other than a bug report directly related to Hugo Blox Builder. Please post those things on Discord: https://discord.gg/z8wNYzb

Description
In light theme mode, search results are overlapping the page behind without a background to separate both which create a fuzzy result:

Reproduction Link
https://github.com/CravateRouge/CravateRouge.github.io
Steps to Reproduce

Ensure you are in light theme mode
Click on the search button
Type a keyword as "certi" in the search bar
scroll and you'll see the overlapping
...

Expected Result
There should have a background for the search result in light theme to separate the search from the page behind
Actual Result
In light mode there is no separation between the text of the search result and the page behind which creates a messy result.
What Hugo Module versions does your site use?
module github.com/HugoBlox/theme-landing-page
go 1.19
require (
github.com/HugoBlox/hugo-blox-builder/modules/blox-plugin-netlify v1.1.2-0.20231108143325-448ed0e3bd2b
github.com/HugoBlox/hugo-blox-builder/modules/blox-tailwind v0.2.1-0.20240602133901-492e343c2a33
)
What operating system(s) are you seeing the problem on?
Windows, iOS
What browser(s) are you seeing the problem on?
Safari, Firefox
Which Hugo Blox template are you using?
Landing Page
What version of Hugo are you using?
0.126.3

It may be a regression, as I recall this was not previously an issue.
It appears that setting a background explicitly on the id=search element resolves the issue. If you want to help test that suggestion, you could try adding a background to that element via Custom CSS (see docs).

It does solve the issue for the readability but you still have to scroll down the page behind to see the end of the search result because the scrolling is not focus on the search results but on the page content behind it.

maybe this solution will solve your problem click