use standard mdbook directory structure

This closes #39

Thanks man! I think this is the logical and best way to organize the book


⚠ Bofrost.de has degraded performance

In 2529a31, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 2396 ms

Resolved: Bofrost.de performance has improved in 170ec8e after 2 hours, 36 minutes.


Experiments Question

Hi! I really appreciate your jobs, that is awesome! But I' m new to SSL, and I have some questions about experiments.

Did you have a validation set for choosing the best model during training? Or just chose the best model with test set?
I confused the meaning of "In the pseudo labeling phase, all unlabeled images are predicted with test-time augmentation, which contains five scales and horizontal filpping." mentioned in the paper, but I didn't find the corresponding code in the repo.
Look forward to your early reply, and best wish!

Following other works, the validation set is directly used as the test set.
Please refer to https://github.com/LiheYoung/ST-PlusPlus/blob/f4ff2ebaae15fb3e2c6000b50d62a67e40058118/model/semseg/base.py#L22-L42


Update sample and demo applications to 0.8.0

https://github.com/Azure-Samples/acme-fitness-store
Spring CLI project starters for AI
Carina demo app (move into spring-cli starter project?)

closing, duplicate of #262


🐛 Bug Report: Sourcemaps for typescript are broken

📜 Description
Stack traces on backend code show incorrect line numbers, making it very difficult to debug. It seems that stack traces for .ts are not working as intended.
This comment from rugvip in 2021 captures the problem perfectly:
https://github.com/backstage/backstage/pull/5368#pullrequestreview-639857555
👍 Expected behavior
Stack traces should show the correct line location.
👎 Actual Behavior with Screenshots
TypeError: Cannot set properties of undefined (setting 'allParentGroups')
[0]     at eval (webpack-internal:///../../plugins/catalog/catalog-backend-module-doordash/src/providers/doordashRelationsBuilder.ts:69:66)
[0]     at Array.forEach (<anonymous>)
[0]     at processRelations (webpack-internal:///../../plugins/catalog/catalog-backend-module-doordash/src/providers/doordashRelationsBuilder.ts:65:7)
[0]     at AssetsServiceEntityProvider.fullSync (webpack-internal:///../../plugins/catalog/catalog-backend-module-doordash/src/providers/AssetsServiceEntityProvider.ts:85:88)

This is a sample stack trace. doordashRelationsBuilder.ts:65:7 is not near any callsite of trying to access the.allParentGroups property in that file.
👟 Reproduction steps
Create a backend project with typescript and throw an error and observe the stack trace.
📃 Provide the context for the Bug.
No response
🖥 Your Environment
No response
👀 Have you spent some time to check if this bug has been raised before?

[X] I checked and didn't find similar issue

🏢 Have you read the Code of Conduct?

[X] I have read the Code of Conduct

Are you willing to submit PR?
None

Hi!
Just to confirm, which version of backstage and specifically the CLI are you on currently?

Hi,
we are using:
    "@backstage/cli": "^0.22.6-next.2",

As for the different plugins, they have different versions, but for the catalog-backend plugin in particular, it's
"@backstage/plugin-catalog-backend": "^1.8.1-next.2"

@taras you were mentioned on the previous issue did you ever dig into this and work out what's going on? :pray:


Can't build

error[E0432]: unresolved import upstream
--> grpcio\src\lib.rs:3:9
|
3 | pub use upstream::*;
|         ^^^^^^^^ use of undeclared crate or module upstream

Which OS are you using? We currently don't support compiling on Windows (supported platform: https://github.com/CeresDB/ceresdb/blob/main/README.md#platform-support). I guess this conditional flag causes your problem:
https://github.com/CeresDB/ceresdb/blob/e9f7fa6c34c256eabe474f58e649768ff37e5b69/grpcio/Cargo.toml#L12-L16

This dep (grpcio) says it can be built on windows (https://github.com/tikv/grpc-rs#prerequisites) but we haven't tried it... Sorry for the inconvenience.

yes, I am building on windows. Maybe that's the problem.


etcd 2.0.3 --force-new-cluster retains old cluster's information

Hello,
I have a five-node v0.4.6 cluster that I am attempting to migrate to a new v2.0.3 cluster. Here are the steps I have followed:

Perform a snapshot from the v0.4.6 cluster.
Run etcd-migrate from v2.0.3 on the v0.4.6 data directory. This converted fine.
Run etcd with --force-new-cluster against that data directory. Again, this ran fine.

At this point, I can run etcdctl and everything is fine. I can see data. I restarted etcd to drop the FORCE_NEW_CLUSTER flags and so on to switch to production mode, leaving the final command line for the single node forced cluster as this:
/usr/bin/docker run --net=host --name=etcd2 -e ETCD_NAME=discovery4
    -e ETCD_LISTEN_CLIENT_URLS=http://<IP_ADDRESS>:4001,http://<IP_ADDRESS>:4001
    -e ETCD_LISTEN_PEER_URLS=http://<IP_ADDRESS>:7001
    -e ETCD_INITIAL_ADVERTISE_PEER_URLS=http://<IP_ADDRESS>:7001
    -e ETCD_ADVERTISE_CLIENT_URLS=http://<IP_ADDRESS>:4001,http://<IP_ADDRESS>:4001
    -e ETCD_DATA_DIR=/data -v /usr/share/ca-certificates/:/etc/ssl/certs
    -v /mnt/ssd/etcd2:/data
    quay.io/coreos/etcd:v2.0.3

After checking that etcdctl can still communicate with this member, I then attempted to add a new member.
$ ~/etcdctl member add discovery1 http://<IP_ADDRESS>:7001
Added member named discovery1 with ID 446e1346f598e422 to cluster

ETCD_NAME="discovery1"
ETCD_INITIAL_CLUSTER="discovery1=http://<IP_ADDRESS>:7001,discovery4=http://<IP_ADDRESS>:7001"
ETCD_INITIAL_CLUSTER_STATE="existing"

Wait a second, that address doesn't look right in ETCD_INITIAL_CLUSTER. Sure enough, etcdctl is giving me the old address from the old cluster, from before the forced new cluster. Upon deeper inspection, etcd is also reporting the old address on the single node that was forced:
$ curl http://<IP_ADDRESS>:7001/members | python -mjson.tool
[
    {
        "id":<PHONE_NUMBER>506348066,
        "peerURLs": [
            "http://<IP_ADDRESS>:7001"
        ]
    },
    {
        "clientURLs": [
            "http://<IP_ADDRESS>:4001",
            "http://<IP_ADDRESS>:4001"
        ],
        "id":<PHONE_NUMBER>175327943,
        "name": "discovery4",
        "peerURLs": [
            "http://<IP_ADDRESS>:7001"
        ]
    }
]

This is where etcdctl gets its information from. After I force new cluster, etcd should not remember anything from the prior cluster.

@jedsmith You need to run etcdctl backup on the data dir before you run force-new.
We probably should rename force-new to force-standalone. Today's force-new only removes the other members in the cluster by appending entries. etcd itself never modifies the old log entries.
etcdctl backup tool would modify the log entries.

The root bug, then, is that etcd lies about its peer URL in this state. The peer URL I provide via environment variable is overridden and reported as another peer URL, against my express wishes.


Video link no visual - just audio

Video link no visual - just audio

https://docs.microsoft.com/en-us/powerapps/developer/component-framework/overview#feedback

@benjli1 We don't see  any issue from our side. Video plays with both audio and visuals. Closing the issue.


Facing error while running with Droidbox

While install the apk with
droidbot -a /home/anuj/Desktop/hawkular-android-client/build/outputs/apk/hawkular-android-client-debug.apk  -event dynamic -duration 100 -o droidbot_out
It says
INFO:Device:waiting for device

daemon not running. starting it now on port 5037 *

daemon started successfully *
Connecting to a device with serialno=.* with a timeout of 60 secs...
Connected to device with serialno=.*
/usr/local/lib/python2.7/dist-packages/com/dtmilano/android/viewclient.py:2601: UserWarning: Running on emulator but no serial number was specified then 'emulator-5554' is used
warnings.warn("Running on emulator but no serial number was specified then 'emulator-5554' is used")
Actual device serialno=emulator-5554
adb server is out of date.  killing...

daemon started successfully *
Traceback (most recent call last):
File "/usr/local/bin/droidbot", line 9, in
load_entry_point('droidbot==1.0.0a2', 'console_scripts', 'droidbot')()
File "/home/anuj/droidbot/droidbot/start.py", line 76, in main
quiet=opts.quiet)
File "/home/anuj/droidbot/droidbot/droidbot.py", line 46, in init
self.device = Device(device_serial, output_dir=self.output_dir)
File "/home/anuj/droidbot/droidbot/types.py", line 58, in init
self.get_display_info()
File "/home/anuj/droidbot/droidbot/types.py", line 235, in get_display_info
self.display_info = self.get_adb().getDisplayInfo()
File "/usr/loc
al/lib/python2.7/dist-packages/com/dtmilano/android/adb/adbclient.py", line 414, in getDisplayInfo
displayInfo = self.getLogicalDisplayInfo()
File "/usr/local/lib/python2.7/dist-packages/com/dtmilano/android/adb/adbclient.py", line 431, in getLogicalDisplayInfo
for line in self.shell('dumpsys display').splitlines():
File "/usr/local/lib/python2.7/dist-packages/com/dtmilano/android/adb/adbclient.py", line 376, in shell
self.__send('shell:%s' % cmd, checkok=True, reconnect=False)
File "/usr/local/lib/python2.7/dist-packages/com/dtmilano/android/adb/adbclient.py", line 242, in __send
self.__checkOk()
File "/usr/local/lib/python2.7/dist-packages/com/dtmilano/android/adb/adbclient.py", line 285, in __checkOk
raise RuntimeError("ERROR: %s %s" % (repr(recv), error))
RuntimeError: ERROR: ''

Probably it is due to multiple versions of ADB installed.
Did you install adb command using apt-get install? If so, just remove it and add the ${ANDROID_SDK}/platform-tools to your PATH.
Hope it helps.

Thanks. It helped


GKE issues installing elasticsearch & prometheus

it looks like we've had some regressions with GKE and host paths/security/persistence lately
more details here:
https://groups.google.com/forum/#!topic/fabric8/7yNVloyk8IE
there's also this related issue for jenkins on GKE:
https://github.com/fabric8io/fabric8/issues/6505

The jenkins builds now work on GKE with the latest release but we're not yet defaulting to using persistence so pods like elasticsearch will fails.
I'd like to change the default of gofabric8 deploy --pv flag from false to true so that we enable persistence OOTB.
Docs updated in the commits above too.  Is this an acceptable approach?
I was thinking we could automate the creation of the StorageClass in gofabric8 but that might be hard to do as it requires understanding what implementation folks want for which cloud provider.
To start with maybe we force folks to create the StorageClass with kubectl following the getting started docs?


Add ApplicationInsights telemetry to track usage of Glimpse.Site

I've a general remark regarding the configuration of the Instrumentation key for Application Insights.
The thing with the Instrumentation key being specified in the ApplicationInsights.config and directly in the _Layout.cshtml is that it is a lot harder to switch those over when moving through different environments like local development/test/.../production.
You might wonder why this is an issue? Well the number one reason I have on my list is that I don't like my production telemetry information being mixed with test or even worse local development metrics, especially when exceptions are being tracked. Just imagine building a notification system on top of those metrics and trackings and getting alerts on your mobile phone because somebody is generating a bunch of exceptions while developing a new feature :stuck_out_tongue_winking_eye:
So I would suggest to remove the Instrumentation key from the applicationinsights.config file and add it programmatically based on a configuration setting. You can then add the following code to the application's startup code
TelemetryConfiguration.Active.InstrumentationKey = ConfigurationManager.AppSettings["ApplicationInsights:InstrumentationKey"]; and the same for the _Layout.cshtml file
That way in development you can keep the existing one (although where is it currently pointing to?) and in production you can change the value in the azure websites configuration, so no need to include it in source control :wink: (although the production instrumentation key is not secret as it will still be exposed by including it in the _Layout.cshtml , but that is a different discussion which I already had with the Application Insights team). But at least, without malicious intent, the production metrics will remain useful that way.
Just my 2 :moneybag:

@CGijbels thanks for your feedback. Yes, in many cases you want to share instrumentation key. We discussed it with @beckylino and for now we placed snippet in a separate file as @avanderhoorn suggested to download it using bundler. This will speed up loading, but will move instrumentation key even deeper into the javascript file. We probably can initialize instrumentation key right after bundler call.
I'd suggest to keep and upload it this way for now, see how telemetry looks like and than address feedback on telemetry and investigate how to share the instrumentation key with the server side key properly.
BTW, instead of using app settings - you can do something like this.

@SergeyKanzhelev If you look at https://www.visualstudio.com you will see that the bootstrapper code in in a separate file and the key is in the body of the page.

@SergeyKanzhelev using the TelemetryConfiguration.Active.InstrumentationKey is indeed a lot better than using the app settings, thanks for that tip, now it only needs to be set at one place
Either way, how the instrumentation key is sent down the client is one thing, but I wonder if you agree on the fact that the instrumentation key should not be set inside the ApplicationInsights.config file, but programmatically by reading it from the app settings, so that at least 2 different instrumentation keys and therefor different Application Insights App will be used to separate the production telemetry data from the other environments....

@avanderhoorn wow, visualstudio is still using "old" Application Insights - one integrated into Visual Studio Portal. It will be shut down very soon.
However the approach is exactly the same as we can implement here. They actually set global before loading the script and use this variable to initialize Application Insights. We can do it with Glimpse as well. I thought we may have more feedback and telemetry needs once we will look at production data. So wanted to fix it in one shot. We can send an update right away though...


How can i find the mapping of npcNameId

What's your question?
Hi,i'm a developer from @NewMoe-Technology team,currently we try to build a custom tts system and we need to prerendering the audio.
Here i found some ${name} placeholder were comes with some npcNameId,although i saw that there's comment in the code that shows what's that npc name in english,but i haven't found that there's some file shows the ja name and cn name.
I'm not a js or ts expert,my mainly programming language is Python.So is there any help that can tell me where can i such kind of map?

You can use XIVAPI:
https://beta.xivapi.com/api/1/sheet/BNpcName/<decimal ID>?fields=Singular@en,Singular@de,Singular@fr,Singular@ja

Where <decimal ID> is the decimal/base 10 ID of the name. For example BNpcNameID of 303D base-16 hex would be an ID of 12349 decimal, resulting in this request:
https://beta.xivapi.com/api/1/sheet/BNpcName/12349?fields=Singular@en,Singular@de,Singular@fr,Singular@ja

Which gives this JSON response:
{
  "schema"<EMAIL_ADDRESS>  "row_id": 12349,
  "fields": {
    "Singular": "Haam Forlorn",
    "Singular@de": "Haam-Verloren[a]",
    "Singular@fr": "délaissé de Haam",
    "Singular@ja": "ハーム・フォーローン"
  }
}

More information is available here: https://beta.xivapi.com/api/1/docs
There's a non-"beta" version of XIVAPI which has 7.0 Dawntrail information, but that version will eventually be going away so it would be better to code against the beta version if possible.

You can use XIVAPI:
https://beta.xivapi.com/api/1/sheet/BNpcName/<decimal ID>?fields=Singular@en,Singular@de,Singular@fr,Singular@ja

Where <decimal ID> is the decimal/base 10 ID of the name. For example BNpcNameID of 303D base-16 hex would be an ID of 12349 decimal, resulting in this request:
https://beta.xivapi.com/api/1/sheet/BNpcName/12349?fields=Singular@en,Singular@de,Singular@fr,Singular@ja

Which gives this JSON response:
{
  "schema"<EMAIL_ADDRESS>  "row_id": 12349,
  "fields": {
    "Singular": "Haam Forlorn",
    "Singular@de": "Haam-Verloren[a]",
    "Singular@fr": "délaissé de Haam",
    "Singular@ja": "ハーム・フォーローン"
  }
}

More information is available here: https://beta.xivapi.com/api/1/docs
There's a non-"beta" version of XIVAPI which has 7.0 Dawntrail information, but that version will eventually be going away so it would be better to code against the beta version if possible.

May be i should try this weekend and i will bring my reply to you,thanks alot mate :)

You can use XIVAPI:
https://beta.xivapi.com/api/1/sheet/BNpcName/<decimal ID>?fields=Singular@en,Singular@de,Singular@fr,Singular@ja

Where <decimal ID> is the decimal/base 10 ID of the name. For example BNpcNameID of 303D base-16 hex would be an ID of 12349 decimal, resulting in this request:
https://beta.xivapi.com/api/1/sheet/BNpcName/12349?fields=Singular@en,Singular@de,Singular@fr,Singular@ja

Which gives this JSON response:
{
  "schema"<EMAIL_ADDRESS>  "row_id": 12349,
  "fields": {
    "Singular": "Haam Forlorn",
    "Singular@de": "Haam-Verloren[a]",
    "Singular@fr": "délaissé de Haam",
    "Singular@ja": "ハーム・フォーローン"
  }
}

More information is available here: https://beta.xivapi.com/api/1/docs
There's a non-"beta" version of XIVAPI which has 7.0 Dawntrail information, but that version will eventually be going away so it would be better to code against the beta version if possible.

Hi,reply here.
First,thanks for your guide and i can now get the information,great.
Second,ohoh,it's sounds like a bad news.According to our leader and other core dev:there is a lot of player using a custom triggers called TriggerNometry(Is that?).That means the trigger word from player may not same as cacbot preset and hard to predict.So i need find a more faster AI Audio rendering solution.
Finally,thanks your help.
BR


SLoad saves current sessions ignoring g:startify_session_persistence = 0

Docs says that
Automatically update sessions in two cases:

    1) Before leaving Vim
    2) Before loading a new session via :SLoad

and it's assumed it will save ONLY when let g:startify_session_persistence = 1 but with let g:startify_session_persistence = 0 it saves too.
PS. I'd like to use Startify as a start screen only without session handling. This is a job for vim-obsession and vim-prosession

It checks that for many years already:
https://github.com/mhinz/vim-startify/blob/4f296fe4245d7d5146bbb67d6960acd10b09d12e/autoload/startify.vim#L197-L199
I just tested it using :SL one (session with only one buffer), opening a few new buffers, :SL two, :SL one and I were back to the session with only one buffer. So the session wasn't altered.

Hmm, here is my scenario:

Startify is a first screen
VIM-obsession write sessions and keeps it in sync state (always, not only on exit and before switching)
VIM-prosession I use to create new session by specifying a path and previously I used this plugin to autoload last session when vim was started from user's home dir (MacVim, GVIM are started from home, user starts gvim by just clicking on icon). Prosession also handles that there is only one session inside project.
ctrlp-obsession gives me a nice way to switch sessions

(It will be great if only one did the the job).
Problem: So when I switch sessions via ctrlp-obsession - everything is fine. But when I use SLoad I always get an empty session, SLoad corrupt it somehow (Actually I use SLoad only to test vim-startify, normally I use ctrlp-obsession)

The code for :SLoad is pretty simple and I'm fairly sure it doesn't corrupt anything by itself. (Unless you have actual exact steps that reproduce the problem when the other session plugins are disabled.)
I can think of only one thing at the moment.. let's try this in your vimrc:
let g:startify_session_delete_buffers = 0

Does this solve your issue already?

It changes something - sessions are not empty any more, new session is loaded, but old session buffers were not closed, so I got a mix of two sessions. The expected behaviour of g:startify_session_delete_buffers was to clean up the buffers list ob startify page itself (this is how I understood it).

No, it deletes all your current buffers, so that you only get the buffers of the session after :SLoad.
When that happens, if deletes a buffer, switches to the next one, deletes a buffer, switches to the next one etc. Everytime that happens, the BufEnter event is triggered and vim-obsession saves the session: https://github.com/tpope/vim-obsession/blob/master/plugin/obsession.vim#L118
So.. when doing :%bdelete, you end up with an empty session. From Startify's side everything works as expected, it's just that both plugins use different approaches to session handling that don't play well together.
Putting it in a nutshell, I see two things to avoid this issue:

Using let g:obsession_no_bufenter = 1
Changing this plugin no to trigger any events when deleting all buffers. But there might be some use cases for this, and I'm reluctant to do this just to make it work together with another plugin for session handling.

But since you don't want to use startify's session handling, there should be no problem anyway, eh?

I'd like to stick to one plugin and use one instead of 3. Startify gives nice start page like IDE, but it doesn't save all the time current state (only on SLoad and vim exit) and does not let me create new session.

but it doesn't save all the time current state

When is this a problem?
When you work in a session, you do that until you exit the editor or switch to another session (with :SLoad) or close the session (with :SClose). In all these cases your session gets saved.

does not let me create new session

Just close the current session with :SClose (note how :echo v:this_session is empty afterwards), open any buffers you want and save them with :SS newsession.


[Feature Request] Different colors for up/down lines

This is a feature request.
It would be nice to have the possibility to change the colors for lines that go up and down. If used for some sort of statistics, the linies going up could be green, the ones going down could be red.
Would be nice to have this sort of feature.

@MrMooky I think this is a good candidate for a plugin. I think implementation would follow the same way as https://github.com/bbc/Chart.Bands.js except that instead of changing the gradient colour above or below a threshold, the colour would change when the sign of the slope of the line changes.

Sounds like it can be done, good. But creating a plugin for charts.js is not my kind of expertise. Do people with the proper skills check around here and pick an idea to create plugins, or should I ask somewhere else for this?

Someone might look here. Maybe asking on StackOverflow might get you somewhere too


Better way to specify bundled and unbundled labels

Specifying which labels to bundle and not bundle needs to be in the user options dialog, so that we don't have to have an "Unbundled" label. This will also solve one of the language-dependence problems (#15).

Note that this would be a trade-off: with the current system, the user can access Gmail on multiple devices with this extension, and the configuration of what to bundle and not bundle carries with them. With a setting in the options, it would be stored locally instead, meaning that it would have to be configured separately for every computer. Some could see this as a benefit, wanting different configurations on work and home computers, for example, but most would see it as an annoyance.
An alternative idea is to pick a rarely used punctuation mark and have the user append that to the name of each bundled label. This way, the setup is portable, and we don't have the extra parent label floating around, and we don't have the language independence issue. We could even allow the user to configure this mark in the options; since this would typically be a one-time setup per device, the annoyance factor would be low, and it would ensure that we don't conflict with someone's quirky label names.


[RESOLVED] Interface eth0(): High error rate (>2 for 5m)

Problem started at 09:27:29 on 2023.07.21
Problem name: Interface eth0(): High error rate (>2 for 5m)
Host: S100-Primario
Severity: Warning
Operational data: errors in: 1, errors out: 0
Original problem ID: 32893
Event details in Zabbix: http://<IP_ADDRESS>/tr_events.php?triggerid=23483&eventid=32893

Problem has been resolved in 3m 0s at 09:30:29 on 2023.07.21
Problem name: Interface eth0(): High error rate (>2 for 5m)
Host: S100-Primario
Severity: Warning
Original problem ID: 32893


Content not updated

Hi,
When I add new content to the .svg-pan-zoom_viewport group it is not visible on the page. My code works when I don't enable the pan/zoom plugin.
 But why isn't it possible to just add new content to the svg without taking this extra step?

Issue doesn't follow issue guidelines. Closing until issue is updated.


3BET stat and some cosmetic changes for VPIP and PFR

No api changes, some re-org on the project, let me know if good with you! Added a 3BET stat per https://redchippoker.com/basic-hud-stats/ and renamed VC % to VPIP and framed num raises as a percentage (PFR).
Moved WinStats, PlayStats, and PreflopStats to player_stats.py
Renamed and moved RandomnessStats to variance_stats.py

Ah yes, more legit for sure now that it's in separate files ;) Thanks for the contribution!
I'll have to make this even more legit and add some CI ;)

Haha - yea I made a folder for some unit tests too, but meh, it’ll get
there. :) I really like the Evening class btw. I’ll checkout the web-socket
branch later!
On Sun, Jun 14, 2020 at 12:36 AM valakuzhyk<EMAIL_ADDRESS>wrote:

Ah yes, more legit for sure now that it's in separate files ;) Thanks for
the contribution!
I'll have to make this even more legit and add some CI ;)
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/valakuzhyk/pokernow_club_stats/pull/1#issuecomment-643717374,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/APFHJDBHNEKSLBXQCJO6FRTRWRHU7ANCNFSM4N5IXUDQ
.


[Bug, Report], Locale, Errors, on, el-date-picker - EN,, locale, loaded

Element UI version
1.4.1
OS/Browsers version
Chrome / Linux / Ubuntu 16.04
Vue version
2.4.2
Reproduction Link
https://jsfiddle.net/pj71jkyw/443/
Couldn't configure the reproduction link to work, not sure how to add package dependencies. [edit: Partial fix on the fiddle- just don't know how to get the import keyword working.]
Steps to reproduce
Previous to an upgrade to 1.4.1 at version 1.3.2 (I think) all was working OK.
This is my config for locale-
import 'element-ui/lib/theme-default/index.css'

import VueI18n from 'vue-i18n'

import Element from 'element-ui'
import enLocale from 'element-ui/lib/locale/lang/en'
import locale from 'element-ui/lib/locale'

Vue.use(VueI18n)
Vue.use(Element, { enLocale })

Vue.config.lang = 'en'
locale.use(enLocale)
Vue.locale('en', enLocale)

When I use el-date-picker with a format of 'dd MMM yyyy' the month portion shows in Chinese.
Example: 09 八月 2017
The locale is loading correctly, since on the el-select I see 'Select' in English.
What is Expected?
Expect to see the month names in English.
What is actually happening?
Chinese month names show up.

@adavie1 @jaydubyasee You may have upgraded vue-i18n from 5.x to 6.x because Element has different i18n configurations for those two versions.

vue-i18n 5.x: http://localhost:8085/#/en-US/component/i18n#compatible-with
vue-i18n 6.x: http://localhost:8085/#/en-US/component/i18n#compatible-with-2

Apart from Element, if you don't have other texts that need to be internationalized, we recommend using the Element built-in i18n directly instead of vue-i18n.

@Leopoldthecoder  thanks for the comment- I did check that- at least in the package.json it's still set at v5.XX. I also ran yarn list to check, and as far as I can tell, it's still at 5.xx. Did I miss anything?
Whilst I don't need internationalisation now, the project will need it in the next few months.

@adavie1 I tested in a new project with<EMAIL_ADDRESS>and<EMAIL_ADDRESS>and it worked fine:
import Vue from 'vue'
import VueI18n from 'vue-i18n'
import Element from 'element-ui'
import enLocale from 'element-ui/lib/locale/lang/en'

Vue.use(VueI18n)
Vue.use(Element)

Vue.config.lang = 'en'
Vue.locale('en', enLocale)

Thanks for testing that @Leopoldthecoder
Very odd: just did yarn list vue-i18n to confirm version:
yarn list v0.27.5
└─<EMAIL_ADDRESS>Done in 1.01s.

I've replaced my code with yours as given above. Same issue persists.

@adavie1 Could you post your project on GitHub so I can take a look? You can remove irrelevant code before posting it.

it's quite a big project, so I've taken the relevant portions and put them here:
App.vue (script porition)
import Vue from 'vue'
import moment from 'moment'

import 'element-ui/lib/theme-default/index.css'

import VueI18n from 'vue-i18n'
import Element from 'element-ui'
import enLocale from 'element-ui/lib/locale/lang/en'

Vue.use(VueI18n)
Vue.use(Element)

Vue.config.lang = 'en'
Vue.locale('en', enLocale)

import LoginModal from '@/components/LoginModal'

export default {
  name: 'app',
  components: {
    LoginModal
  },
  data () {
    return {
      showLogin: !this.loggedIn(),
      year: moment(new Date()).format('YYYY')
    }
  }
}

I have a constants section where I set up frequently used things like text, formats and objects in Data.js
The relevant date portions:
Data.js (constants and data types)
// element-ui and moment.js clash on YYYY vs. yyyy
export const SELECT_DATE_FORMAT = 'd/MM/yyyy'
export const SELECT_DATETIME_FORMAT = 'd/MM/yyyy HH:mm'

// moment.js values used for static display
export const DATE_FORMAT = 'DD MMM YYYY'
export const DATETIME_FORMAT = 'dd MMM yyyy hh:mm a'

export const DATE_SQL_FORMAT = 'YYYY-MM-DD'
export const DATETIME_SQL_FORMAT = 'YYYY-MM-DD HH:mm:ss'

export const DATE_HUMAN_FORMAT = 'd MMM YYYY h:mm a'

And finally, the actual use of the datepicker- the roughly the same code is used through the application:
... import constants...
import {SELECT_DATE_FORMAT, CURRENCY,
  UTIL_LABEL,
  TAX_LABEL,
  UTIL_OVERDUE_LABEL,
  UTIL_AMOUNT_LABEL,
  UTIL_EXTRA_INPUT_LABEL,
  UTIL_EXTRA_INPUT_TOTAL} from '@/components/Data'

... define values in data() ...
  data () {
    return {
      format: SELECT_DATE_FORMAT,
      currency: CURRENCY,
      utilLabel: UTIL_LABEL,
      taxLabel: TAX_LABEL,
      overdueLabel: UTIL_OVERDUE_LABEL,
      amountLabel: UTIL_AMOUNT_LABEL,
      extraChargesLabel: UTIL_EXTRA_INPUT_LABEL,
      extraCalcTotal: UTIL_EXTRA_INPUT_TOTAL,
      localData: this.rowData,
      site: {},
      rates: []
    }
  },

.... template usage ....
<template>
...
         <el-form  :model="localData"  label-width="90px">
           <el-form-item label="Paid?">
             <el-switch  on-text="Yes" off-text="No" v-model="localData.paid" placeholder="Paid?"></el-switch>
           </el-form-item>

           <el-form-item label="Date Paid">
             <el-date-picker :format="format" v-model="localData.paidDate" placeholder="Paid Date" :disabled="!localData.paid"></el-date-picker>
           </el-form-item>

           <el-form-item label="Reference No.">
             <el-input v-model="localData.paidRef" placeholder="Paid Ref" :disabled="!localData.paid"></el-input>
           </el-form-item>

           <el-form-item label="Paid Amount">
             <el-input type="number" v-model="localData.paidAmount" :disabled="!localData.paid">
               <template slot="prepend">{{currency}}</template>
             </el-input>
           </el-form-item>

           <el-form-item label=" ">
             <el-button type="success" @click="onSubmit" disabled>Save</el-button>
           </el-form-item>
         </el-form>
...
</template>

@adavie1 I have reproduced this bug. Trying to fix it.

Me too reproduced this bug in Ru locale.

Fixed in #6328

Thanks @Leopoldthecoder for fixing this. I guess it will be in the next release?

@adavie1 Yes


[PROPOSAL] Third Party Resources support

Hi !
Following the different issues that were opened and closed as well as the different
pull request which suffered the same fate, I've implemented a way to support Third Party Resources in swarmkit.
I've described my implementation choices in the following design doc: Third Party Resources.
I've also listed the different issues and PRs that were opened and closed on this subject:

https://github.com/docker/swarmkit/issues/594
https://github.com/docker/swarm/issues/2223
https://github.com/docker/swarmkit/issues/1244
https://github.com/docker/swarmkit/issues/211
https://github.com/docker/docker/issues/23917
https://github.com/docker/docker/issues/24582
https://github.com/docker/docker/issues/24750
https://github.com/docker/docker/issues/28642
https://github.com/docker/swarmkit/issues/206
And many more

I believe the main users involved were:

@stevvooe
@aluzzardi
@justincormack

This proposal would solve problems for different resources such as:

GPUs
FPGAs
MICs (Many-Integrated Core, such as Xeon Phi)
More here
...

Would it be possible for you to review this proposal and express your concerns / insights on wether this would fit in swarmkit and if so if my code is the best place ?
The naming conventions are also something that would be up for discussion as I don't have a very strong opinion on the current one.
Thanks !

The protobuf issues may be related to your Go version. CI is running Go 1.7.5, and with a different version of Go the descriptors compress differently. We'll be upgrading to 1.8.x soon, when Docker does.
Thanks for opening this PR. It looks like a really useful feature.

@aaronlehmann I've been wrecking my brains on that for the last hour :)

It might be good to add something to the validation in manager/controlapi/service.go which checks that resource reservations are expressed as integers, not as sets.

So this update is more of a draft :) I've fixed most of the comments and tried to implement the executor.
I did not address naming as I'd like to have more feedback on this so that I don't have to change the name 3-5 times :)
@aaronlehmann I've implemented the executor but I'm a bit lost.
The way I did it works when the task is scheduled on remote nodes but if the task is scheduled on master that doesn't work.
From what I understand the solution would be to change the env in the update part but I'm confused by when the update is called and what that would mean (should I do an equivalent of a docker exec to set the env?
Do you have any insights on this ?
Thanks !

I did not address naming as I'd like to have more feedback on this so that I don't have to change the name 3-5 times :)

Smart.

@aaronlehmann I've implemented the executor but I'm a bit lost.
The way I did it works when the task is scheduled on remote nodes but if the task is scheduled on master that doesn't work.
From what I understand the solution would be to change the env in the update part but I'm confused by when the update is called and what that would mean (should I do an equivalent of a docker exec to set the env?
Do you have any insights on this ?

Sorry, I think I didn't do a very good job explaining this.
Basically, if I understand correctly, you want to communicate to the containers which resource was allocated for that container. For example, if there are multiple GPUs, and "GPU1" gets allocated for a task, there should be a way for the software running in that container to know which GPU it should use.
Right now, this PR sets an environment variable from the scheduler, but this doesn't really work. The main problem is that the task's Spec should come directly from the service, and if it's changed by the scheduler, it would look like this task is out-of-date because it doesn't match the current version of the service (among other issues). We'd also like to keep the scheduler as agnostic to the low-level details of the workload it's scheduling as possible (though we admittedly currently violate this a bit in some of the scheduling filters). For example, if we extended swarmkit to be able to schedule VMs instead of containers, it should ideally not take any significant changes to the scheduler to support that.
So what I proposed instead was adding a ThirdPartyResource field on the Task object, with the resources the scheduler has allocated to this task (I see you've already done that; excellent!).
Then when the node receives a task, it will be able to act on this information and set the appropriate environment variables inside the container. The interface between swarm and the containers is called the executor. We actually have two executor implementations. One, inside the swarmkit repo, is used mainly for testing, and uses the Docker REST API to create and monitor containers. The other one is inside the docker/docker repository and is the one that actually gets used if you use swarm mode in Docker.
In swarmkit's executor, here is where the environment variables for the container are set: https://github.com/docker/swarmkit/blob/59d7fb2cae146ca8a911f08d60773f3e14791671/agent/exec/dockerapi/container.go#L146
It should be pretty simple to change that so that it generates whatever environment variables are implied by the resource assignments (as the scheduler does now), and adds them to that list. The task is accessible as c.task in that method.
In the Docker executor, there's an identical config method that would need the same modifications once support for this added to Docker.
Does this help at all?

Side Note I switched to go 1.7.5 (and regenerated protobuff) and that doesn't seem to solve the cricleci...

Odd. Which version of protoc do you have installed?

Thanks for the insights !
I've updated the PR and addressed the following:

In NodeInfo moved to a map of ThirdPartyResources for consistency and easy copy
Implements the merging of Env variables and TPR variables in the executor
Refactors my crazy TPR reconciliation code
Another try at circle CI

We still need to address naming (and function naming)  and the leader switch.
I'm trying to find this part of the code :)

This is shaping up nicely.

We still need to address naming (and function naming) and the leader switch.

I'll try to get back to you soon with a more definite recommendation on naming.
I'm not sure you need anything special to handle leader switches. When the scheduler starts up on a new leader, it calls addTask for every task that's already assigned to a node (see newNodeInfo). Your TPR reconciliation should take care of restoring the scheduler's local state, right?

I'm not sure you need anything special to handle leader switches. When the scheduler starts up on a new leader, it calls addTask for every task that's already assigned to a node (see newNodeInfo). Your TPR reconciliation should take care of restoring the scheduler's local state, right?

Yep, realized that after thinking about it for 3 seconds :)
What this new push does:

Assigns nil to the TPR map instead of VoidVal
Fixes the import style
Throws away nodeInfo takenResources store and uses AssignedTPR
Adds some tests
Adds a whole lot of utils

What still needs to be done:

Test at the scheduler level
naming

@aaronlehmann I was hoping to maybe display what resources were assigned to the task in cmd/swarmctl/service/inspect.go
However it looks like the service structure doesn't have a Task field (meaning no AssignedTPR)
and since the TaskSpec is supposed to be immutable I can't see anyway to make that happen :(
any idea on how to do that / if it's the right place ?
Thanks !

I've created a small demo of GPU support and third party resource usage:
https://asciinema.org/a/2ttawfkrlnlg68r3xuq9q1dih

I was hoping to maybe display what resources were assigned to the task in cmd/swarmctl/service/inspect.go
However it looks like the service structure doesn't have a Task field (meaning no AssignedTPR)
and since the TaskSpec is supposed to be immutable I can't see anyway to make that happen :(
any idea on how to do that / if it's the right place ?

service inspect also lists the service's tasks and calls task.Print for each one. So you could add this to Print in cmd/swarmctl/task/print.go, although I see there are already a lot of columns so it may be hard to fit the information.
In general I'd recommend against putting too much effort into swarmctl. We use it primarily as a development and debugging tool. I appreciate that you added basic support for this feature into swarmctl, and it's fine with me if you want to add resource information to "service inspect". However, the real prize is the Docker CLI, as that's what end users will interact with. I hope that once this PR is merged, you'll have time to add support to the Docker API/CLI as the last step in making this available to end-users. The API bits are straightforward - essentially modifying https://github.com/docker/docker/tree/master/daemon/cluster/convert to expose the new fields in Docker's REST API. The CLI part is similar to what you're doing here for swarmctl, but the more important of the two implementations.

What this does:

Changes from ThirdPartyResources to Generic resources
Addresses concerns about swarmctl flags
Addresses concerns about Sprintf
Rebase on master
Adds tests to scheduler
Adds tests for parsing

I see that some files got added in vendor. That seems like it might be unintentional (maybe a rebase artifact?).

Thanks for your patience with all the review comments, and for the quick turnarounds. This is getting closer and hopefully the volume of comments will drop after this round.

Thank you for reviewing and taking time to notice my dumb mistakes :)

Please sign your commits following these rules:
https://github.com/docker/docker/blob/master/CONTRIBUTING.md#sign-your-work
The easiest way to do this is to amend the last commit:
$ git clone -b "tpr" git@github.com:RenaudWasTaken/swarmkit.git somewhere
$ cd somewhere
$ git rebase -i HEAD~842361559048
editor opens
change each 'pick' to 'edit'
save the file and quit
$ git commit --amend -s --no-edit
$ git rebase --continue # and repeat the amend for each commit
$ git push -f

Amending updates the existing PR. You DO NOT need to open a new one.

Still need to fix the commit history (will do tomorrow) but this should address all your comments:

fixed incomplete renaming
Change Integer message to uint64 and named it discrete
Moves the Generic resource to the executor
some sanity checks in claim / reclaim
Now uses '{green, red, blue}' syntax for sets
fixes leftover print statements
fixes moved imports
...

@aaronlehmann about the files added in the vendor file, it looks like when pulling master it doesn't pass make dep-validate :(
Here is an example of what I did:

docker run -it golang:1.7.5 /bin/bash
go get github.com/docker/swarmkit
make setup
make dep-validate

I endup with the same result on circleci: https://circleci.com/gh/docker/swarmkit/6937
So not sur what to do on that one

Fixed commit history

about the files added in the vendor file, it looks like when pulling master it doesn't pass make dep-validate :(

We were having problems with vendor validation earlier, but they should be fixed now. Looks like CI is passing now with the latest commits.

@RenaudWasTaken Sorry in advance, I'm going to question the design once more :)
Does the scheduler actually need to know about the set of resources and do the claiming?
Couldn't we just do it in the same way we handle CPU and Memory - the node reports how many GPUs it has available, the TaskSpec.Resources require 1 GPU, the scheduler will schedule the task to a node where at least 1 GPU is available (and then remember it is taken) and only then it becomes the agent's job to figure out to which GPU this actually maps.
Hope I'm making sense.
To further explain, the protos would look like:
message Resources {
  int64 nano_cpus = 1 [(gogoproto.customname) = "NanoCPUs"];
  int64 memory_bytes = 2;
  map<string, int64> generic = 3;
}

OR
message Resources {
  int64 nano_cpus = 1 [(gogoproto.customname) = "NanoCPUs"];
  int64 memory_bytes = 2;

  message Generic {
    string type;
    int64 value;
  }

  repeated Generic generic = 3;
}

Then, the scheduler would just do its regular business, like it does for memory or CPU. It doesn't need to keep track of the "allocated generic resources" and so on.
It basically sees that a Node has 3 GPUs available, there's 1 task taking 2 GPUs and this task requires 1 GPU. So it fits.
Finally, down at the agent level, we try and map this "1 GPU request" to a specific GPU.
At the end of the day, it doesn't matter which GPU the container gets as long as it gets 1.

@RenaudWasTaken Sorry in advance, I'm going to question the design once more :)

No problem :)

Does the scheduler actually need to know about the set of resources and do the claiming?
Couldn't we just do it in the same way we handle CPU and Memory - the node reports how many GPUs it has available, the TaskSpec.Resources require 1 GPU, the scheduler will schedule the task to a node where at least 1 GPU is available (and then remember it is taken) and only then it becomes the agent's job to figure out to which GPU this actually maps.

I have a pretty similar discussion with kubernetes about the same point you are trying to make.
Basically, implementing this in the agent prevents you from doing resource level scheduling (something you might want to do in the future).
Since you are taking the specific example of GPUs I'll elaborate more on that.
A few basic example would be a user asking for GPUs with a certain amount of memory, a minimum driver version, certain specific compute capabilities, ...
You could argue that those could be expressed through labels however, one very important requirement when scheduling tasks on multiple GPUs (basically everything in deep learning) is how they are connected between each others (NVLINK, SWITCH, BRIDGE, ...) and that can have a tremendous impact on performance if not done correctly.
Usually when your GPUs are connected through bridge you probably don't want to schedule the task as it would probably be faster on one GPU.
Now I am not trying to solve this problem here and wether or not and how we solve this for swarmkit is not something that should be debated here.
However I do believe that being able to do scheduling decisions at the scheduler level might be something that swarmkit could want to do in the future and that would not be possible if the resource allocation is done in the agent :)
So it might be good to keep the possibility at least for now open

A few basic example would be a user asking for GPUs with a certain amount of memory, a minimum driver version, certain specific compute capabilities, ...

You could argue that those could be expressed through labels however, one very important requirement when scheduling tasks on multiple GPUs (basically everything in deep learning) is how they are connected between each others (NVLINK, SWITCH, BRIDGE, ...) and that can have a tremendous impact on performance if not done correctly.

However I do believe that being able to do scheduling decisions at the scheduler level might be something that swarmkit could want to do in the future and that would not be possible if the resource allocation is done in the agent :)

I agree with all of that, however, I fail to see how this approach is solving those scenarios. Could you elaborate more?
How can I specify for a certain amount of memory or driver version with this approach?
I still see this as the same problem - a node has stuff available, a task requires some stuff, and the scheduler makes sure it matches.

I agree with all of that, however, I fail to see how this approach is solving those scenarios. Could you elaborate more?
How can I specify for a certain amount of memory or driver version with this approach?

I am not trying to solve resource level predicates right now :)
This is something I believe could be added in the future.

I still see this as the same problem - a node has stuff available, a task requires some stuff, and the scheduler makes sure it matches.

Well say a node has stuff (GPUs) and the stuff has some properties (memory).
The user wants a task with some stuff (1 GPU) and wants to specify some of those properties (at least 4Gb)
This is a decision that can't be made at the node level it has to be done at the scheduler level :)
However, I don't think this is the PR to talk about wether you want to have resource level scheduling or not.
But I do believe that keeping this option open by having the decisions done at the scheduler level will make things easier :)

Please sign your commits following these rules:
https://github.com/docker/docker/blob/master/CONTRIBUTING.md#sign-your-work
The easiest way to do this is to amend the last commit:
$ git clone -b "tpr" git@github.com:RenaudWasTaken/swarmkit.git somewhere
$ cd somewhere
$ git rebase -i HEAD~842353769144
editor opens
change each 'pick' to 'edit'
save the file and quit
$ git commit --amend -s --no-edit
$ git rebase --continue # and repeat the amend for each commit
$ git push -f

Amending updates the existing PR. You DO NOT need to open a new one.

What this new push does:

Handles parsing correctly
Fixes capitalization, double 's' mistakes and old command line arguments in design doc
blank lines
Handles updates correctly see here meaning:

Checks for type changes
Checks for resource decreases
Checks for resource disappearance

Only exports necessary functions
uses again "--generice-resources" until we come to an agreement on what the command line should be

The design decisions that are still being argued are:

Command line argument name
Set protobuf implementation

This one is tricky as protobuf has a limiting syntax and makes the code look weird
oneof can't have a map or a repeated in them so we must use a message
Neither the type void exists nor the type set
I don't

Should we have sets / why do we need sets ?

The way I implemented it is that I need to schedule a task which requires a GPU and when launched needs to know which GPU it got in order to use the correct one.
This use case is in my opinion very common for any hardware attached device
You could also have it for a simple example:

node-1 has hdds = {sda1, sda2}, ssds = {sda3, sda4}
I want to schedule a task on an ssd. However, once my task runs it needs some way to know on which drive it has to write

Shouldn't the scheduler only deal with integers and have the agent decide which element in the set the task gets

This makes sense a lot of sense
However this locks us from implementing resource level scheduling

ie: I have a node with:
- GPU-1: 4Go memory
- GPU-1: 8Go memory
How do I express constraints on tasks > 4Go ? Labels won't help, you'd need the information at the scheduler level to make a decision on that

@aaronlehmann @aluzzardi @dongluochen I'll be at dockercon all 4 days should we discuss this there ?

That's a great idea. We were thinking of inviting you to discuss it with us sometime after DockerCon. If you'll be at DockerCon, it would be especially convenient, assuming the four of us can find time.
Perhaps Monday afternoon/evening would be a good time, before everyone gets busy with conference stuff? Or maybe if there is some time on Thursday that is not taken by the summits...
@aluzzardi @dongluochen Do you know when you will be available?

@RenaudWasTaken It'd be great to meet. I'm arriving Monday afternoon 4pm. Monday evening or Thursday would work for me.

We could discuss this at first on Monday around 6pm and then decide if this needs another meeting ?
@flx42 and @3XX0 who are in my team and maintainers of nvidia-docker and libnvidia-container might want to attend too :)

This is a TLDR of the discussion we had with @aaronlehmann and @dongluochen :)
We discussed of:

Having the set resource be decided in the agent
The protobuf structure and what it would look like in the future
Naming

Because we plan to add properties to Generic resources in the future (i.e: GPU X has 4GB of memory),
this implies that if we move the set assignment to the agent, then it would have to be moved back to the scheduler when that happens.
Therefore we think that it's better to keep it in the scheduler.
Regarding the protobuf structure after much discussion around the limit of protobuf we decided to settle with the following design:
message Resources {
  int64 nano_cpus = 1 [(gogoproto.customname) = "NanoCPUs"];
  int64 memory_bytes = 2;

  message Generic {
    message Generic_String {
         string kind;
         string value;
    }
    message Generic_Integer {
         string kind;
         int64 value;
    }

    oneof resource {
       Generic_String string = 1;
       Generic_Integer integer = 2;
   }
 }

  repeated Generic generic = 3;
}

We'll have the master convert that internally to a map in order to not suffer the small performance worst case we might have with a list.
We were thinking that in the future we might add a map<string, string> for the properties and maybe transition the cpu and memory to the generic resource.
Finally for the naming part we decided to go with node-generic-resource for swarmd and generic-resource for swarmctl.
I believe this is all we talked about :) @aaronlehmann can you confirm this ?

Yes, this looks like what we discussed. I don't think we discussed naming (and I'm sure there will be some suggestions around this), but the data model looks like what we had in mind.
Also note that Generic_Integer will also be used inside ContainerSpec to request n instances of a generic resource. This removes the ambiguity we had before where the data structure in the service definition included a set, but it couldn't be used in that context.
@aluzzardi @dongluochen can you please take a look?

Hi !
This new push uses the new design. Most of the code has been rewritten and moved
to the genericresource module.
I slightly changed the design to not have nested structures and renamed the messages:
message GenericString {
	string kind = 1;
	string value = 2;
}

message GenericDiscrete {
	string kind = 1;
	int64 value = 2;
}

message GenericResource {
	oneof resource {
		GenericString str = 1;
		GenericDiscrete discrete = 2;
	}
}

message Resources {
	// Amount of CPUs (e.g.<PHONE_NUMBER> = 2 CPU cores)
	int64 nano_cpus = 1 [(gogoproto.customname) = "NanoCPUs"];

	// Amount of memory in bytes.
	int64 memory_bytes = 2;

	// User specified resource (e.g: bananas=2;apple={red,yellow,green})
	repeated GenericResource generic = 3;
}

I also added a test file to cover the resource management functions

@dongluochen addressed your concerns and refactored the RemoveNodeResource to be more readable:
https://github.com/docker/swarmkit/pull/2090/files#diff-7ab8630771b2b5876e19c53bf12a3816R81

@RenaudWasTaken Since the first target scenario is GPU, can you add GPU test cases to demonstrate how it would be specified and used?

Well I'm not sure if a test is adapted here ? It needs the specific GPU UUIDs and in our case, our runc hook.
There is however, a demo here:
https://asciinema.org/a/2ttawfkrlnlg68r3xuq9q1dih

@RenaudWasTaken the document link on the issue 404's

@diogomonica fixed

Done!

@aaronlehmann do you want me to squash everything ? Or squash but keep the two commits (design, code) separated ?

Either is fine with me.

Done :)

Rebased :)

Thanks ! When can we expect it to be merged so that I know when to open a pull request on docker :D ?

Ping @aluzzardi

Hi !
@aaronlehmann, @dongluochen I'm currently playing with the docker integration (almost done) and I noticed two small things that might need some changes here.
The first one is about the node command line arguments, I believe it makes more sense to have them in docker node update NODEID --generic-resources-add ... instead of docker swarm [init|join] --generic-resources ... do you agree ? Should I update the PR to match this ?
The second one is a small change in the Parse function where it would probably make more sense to have the following prototype: Parse(cmd string) ([]*api.GenericResource, error) at the docker level.
Do you want me to update the PR (I'll have to rebase it anyway) ?

The first one is about the node command line arguments, I believe it makes more sense to have them in docker node update NODEID --generic-resources-add ... instead of docker swarm [init|join] --generic-resources ... do you agree ? Should I update the PR to match this ?

I think the right model is for nodes to self-report their generic resources. This is how we know how much memory each node has, for example - the nodes send it up in NodeDescription instead of needing an admin to docker node update each node to tell the manager how much memory it has.
Is it difficult to automatically detect GPUs?

The second one is a small change in the Parse function where it would probably make more sense to have the following prototype: Parse(cmd string) ([]*api.GenericResource, error) at the docker level.

I agree with this change.

@aaronlehmann it's not difficult to detect GPUs if you have nvml + the Nvidia driver but you don't want CUDA as a dependency for docker :)
You have two ways to go for this:

Try using an unreliable way to detect GPUs (list /dev/nvidia*)

We really don't recommend that (kubernetes does that and has race conditions because of that).
Additionally you have no guarantee that our driver will continue advertising GPUs this way
It doesn't really solve the problem for other vendors

Have some kind of plugin mechanism which would be called by docker or a binary called as a hook when joining the cluster ?

That's another discussion :)
But could be a good idea

instead of needing an admin to docker node update each node to tell the manager how much memory it has.

Well you could have an explorer running as a daemon, it doesn't have to be your cluster admin

Okay. So we'll need a way to tell the local Docker engine what resources you have. But I think the resources should still be sent up in NodeDescription, instead of through docker node update. This is a better fit for the self-reporting model, and allows individual nodes to publish their information (docker node update can only be run on a manager).
As for how to tell the engine what resources it should report in NodeDescription, I'm not sure offhand what's best. A simple idea that comes to mind is providing flags for dockerd (sort of like what you added to swarmd), and corresponding entries in daemon.json. I'll preemptively ping @thaJeztah to see if he has any ideas.

A simple idea that comes to mind is providing flags for dockerd (sort of like what you added to swarmd), and corresponding entries in daemon.json

That seems like a better idea than docker swarm init --generic-resources ...
Btw, when can we expect this PR to be merged :) ?
Thanks!

@aaronlehmann done

Sorry, needs another rebase already!
@aluzzardi: Can you please review this when you get a chance?

@RenaudWasTaken @aaronlehmann Sorry for the slow response time!
I'll give this a review by EOW

Rebased !

I think docker node update to update generic resources is acceptable, or preferred in the case of hot-swappable resources. We don't need to remove/rejoin the node.

@aluzzardi any updates :) ?

@RenaudWasTaken Thanks a lot for your contribution!

hello
there are lots of discussion here.
have you commit or finish the supporting for Third Party/Generic Resource supporting?

if yes, could you update which version support?
do you have some user overall guide on how to supporting Third Party resource in specified case?

Thanks.


Milliner createResource breaks when '_format=jsonld' is not removed

I happened to be installing the Islandora modules on a Drupal site and forgot to enable the 'Remove jsonld parameter' checkbox @ /admin/config/search/jsonld. When I migrated the islandora tags I saw entries show up in Fedora, so I wasn't concerned. It wasn't until I tried to update them and saw errors pop up in the Karaf log that I discovered something was wrong.
Milliner was creating an empty resource and failing to populate it, so when I went to update the resource it didn't have the 'schema:dateModified' Milliner wanted so it threw a 500 error.
Initially I didn't know why Milliner wasn't populating the Fedora resource record until I threw a bunch of debugging log statements throughout the createResource function. Turn out that, without that 'Remove jsonld parameter' enabled, the processJsonld function always returns an empty array, so Milliner simply PUTS nothing. None of this throws an error at creation time, even though this is obviously a problem.
I know that this used to work so I'm not sure when it broke OR if I did something else quirky to cause this, so if someone could reproduce, that would be nice.

Did you switch the configuration param?
https://github.com/Islandora/Crayfish/blob/dev/Milliner/cfg/config.example.yaml#L11

Ah, that is probably the quirky bit in my setup! Crayfish was setup by the playbook but the Drupal site wasn't; causing those two configuration settings to not align properly.
Still, it seems like there should have been some sort of warning, if not an error, pop up in the Milliner log if it tries to PUT an empty JSONLD. We either need to abort the whole resource creation OR ensure that we at least PUT a value for the configured date last modified predicate so that future updates don't crash.


feat: port Topology.Instances.Real

I generalized some lemmas from additive subgroups of the real numbers to additive subgroups of an archimedean additive group.

Thanks :tada:
If CI passes, please remove the label awaiting-CI and merge this yourself, by adding a comment bors r+.
bors d+

bors merge


Potential issue with pleroma/akkoma links

Hi, thanks for this cool project!
I have attempted to link my own profile on my website https://notjakob.com/ in the <head> section, but it does not seem to be recognised by the extension.
In my case, the link does not include the @, *oma links are just https://instance.tld/username and not https://instance.tld/@username like with Mastodon - could this be the source of the issue on my site?

I found this comment because I have multiple rel="me" links on my website https://charadepodcast.com however streetpass only seems to recognize my Mastodon profile link. At first I thought it might be an issue of not recognizing more than one profile per page, which still might be true, but also, the profile that is not being recognized is Pleroma. I used the format https://instance.tld/users/username which Pleroma seems to use.


2d alignment seems bad

When I plot landmarks_2d on an image in input folder, it produces bad result. Why is this happening?

Hi, landmarks may have a 1-pixel shift in 224*224 output image due to coordinates inconsistency between python and matlab (starts from 0 or 1).
Besides, our model may not perform well if the photo is taken at a near-range distance like the first example. Thanks.

Actually I have a silly question. How do you compute the landmark coordinates on source image, as the predicted landmarks are conputed from cropped image.

Actually I have a silly question. How do you compute the landmark coordinates on source image, as the predicted landmarks are conputed from cropped image.

Do you solve this problem now? I have the same question.

Actually I have a silly question. How do you compute the landmark coordinates on source image, as the predicted landmarks are conputed from cropped image.

Do you solve this problem now? I have the same question.

@watermoon123 @xinxxx0124
I rewrote the demo a bit such that I could obtain the "cropped img" and "68 landmarks" in a jupyter notebook.
Then I did
 for x,y in landmark:         cv2.circle(mask, (x,int(224-y)), 2, (255,0,0))
Originally the landmarks seemed upside down for me but this did the job. The 224 is the size of the cropped image.


Task output fixes

fixes #162 and #166

Is this going to be released on maven central as 2.0.3? I need this fix asap. Thanks.


option to disable snake case transforms

Also, please bump version in the package.json and maybe mention this new option in the README.

Also, please bump version in the package.json and maybe mention this new option in the README.

I thought versions in package jsons were deprecated 10 years ago in favour of git tags? :P
All good points though.

Also, please bump version in the package.json and maybe mention this new option in the README.

I thought versions in package jsons were deprecated 10 years ago in favour of git tags? :P
All good points though.

tagging master once merged will package and publish the new version

actually I think I can just use json-client


Edit The Way Players are Selected

First Change:
Players removed with the -Name grouping will be subtracted at the end once the full list of players has been collected. This means that first, players do not need to be removed at the end of the list, for example :bring all,-%TEAM can now be written as :bring -%TEAM,all and function the same way.
Second Change:
Additionally, the random and #NUMBER sections have been moved to the end, which ensures both that the random player will not be one already selected, and also will not be one purposely removed with the -Name. This means that a command such as :bring random,-%TEAM,-%TEAM2 will bring a player who is not on TEAM1 or TEAM2, where previously, if the random player was on one of these teams, the command would just bring no players.
Third Change:
Because this reformating may result in some unintentional issues, such as :bring all,-%TEAM,scel, where scel is a player on the team not adding scel to those being brought, there is now a +Name section, so in order to achieve the desired effect, the admin would just have to run :bring all,-%TEAM,+scel.
Final Change:
the !usage command has been edited to reflect these changes.

Looks like the script I used to write this on is a slightly older variation of the model than is currently posted on github. Let me know if you need me to re-edit on the github version.

Let me know if you need a rationale for any of these changes too. I largely did them through a Gameshow Group lense, where players may need to run commands like:
:bring random,-%Red,-%Orange,-%Yellow,-%Green
:kill all,-%Red,+Lethalitics
:refresh %Red,-Lethalitics,admins
All of which would not quite function as intended under current conditions.
Command 1 would only bring a player if they werent on one of the listed teams, whereas now it will select a random player that is not on one of the listed teams.
Command 2 would not kill lethalitics (if the + param wasn't added but the rest of my commits were).
Command 3 would refresh red team and all admins including Lethalitics, whereas now it will ethdd

This also fixes the issue where if I were to say, ":bring Player1,Player1,Player1,Player1,random" in a 4 player server, the random not function.

Looks like the script I used to write this on is a slightly older variation of the model than is currently posted on github. Let me know if you need me to re-edit on the github version.

Yep, please do. (from the master branch, not release)
Judging from the file changes, the version you've worked with seems to be one that is pretty outdated. Lots of changes, including edits to the GetPlayers function, had been made since.


How to show the beginning of text in a WinUI TextBox control after selecting all the text rather then the end.

Hi Team,
My requirement was to show the beginning of text in a WinUI TextBox control after selecting all the text rather then the end. I have tired to achieve it by using selection related properties but not works as per our requirement.
Code:
Create a simple application using below code:

Replication steps:

Run the sample.
Focus TextBox.
Press Ctrl + A key.
Note all the text will be selected, but in view end of the text will be shown. Please find the screenshot regarding it below:

Expected output:
To show the beginning of text in a WinUI TextBox control after selecting all the text rather then the end
Can you please suggest a solution for this query asap?

Hi Team,
Any update on this?

I don't see any way to control the scrolling behavior. The underlying RichEdit control seems to have this default behavior, and WinUI doesn't expose any APIs which can prevent this or change the scrolling.


[WIP] add troubleshoot option 🔫

as proposed here - to help debugging/troubleshooting.
https://github.com/fastlane/fastlane/issues/6878
adds --troubleshoot  enables log:true  on all .sh calls.
this should not be run on CI, existing setups using --verbose on CI - should not be affected, therefore not passwords in ci log

I think this needs some more discussion, see my comments in #6878. I'll add [WIP] to the title for now to reflect this.

@milch i did a confirm arround the option.
fastlane demo --troubleshoot

@KrauseFx  feedback adressed

@milch  feedback adressed

Looks good, thanks!


How to prepare dataset?

Hi, thank you for sharing the code!
I'm wondering how to prepare the dataset if I want to train my own, especially how to prepare the labels. I noticed the txt file from chest dataset contains all the points and its location information. But all the location information are within 0~1 range. Could you share more details on how to prepare them?
Many thanks!

Hi there!
You can prepare dataset as the existing dataset, such as Hand, Chest. The image and label of dataset are placed in data folder, while the codes for processing the image and label are lied in universal_landmark_detection/model/datasets, in which you should modify the readLandmark function.
After preparing the image, label and processing codes, you should modify the config.yaml, __init__.py and main.py.
If you have any further question, feel free to contact me.

Thank you, Heqin, for your response and all the helpful instructions.
I’m specifically interested in the initial step before placing the data into the data folder. What data format does the code require? And should I normalize all coordinates based on each image size?

You can prepare it whatever you like. After placing the data, you just need to modify/rewrite the readLandmark function (together with readImage) to process your own landmarks and images. Here is the reference code of these functions:
    def readLandmark(self, name, origin_size):
        li = list(self.labels.loc[int(name), :])
        r1, r2 = [i/j for i, j in zip(self.size, origin_size)]
        points = [tuple([round(li[i]*r1), round(li[i+1]*r2)])
                  for i in range(0, len(li), 2)]
        return points

    def readImage(self, path):
        '''Read image from path and return a numpy.ndarray in shape of cxwxh
        '''
        img = Image.open(path)
        origin_size = img.size

        # resize, width x height,  channel=1
        img = img.resize(self.size)
        arr = np.array(img)
        # channel x width x height: 1 x width x height
        arr = np.expand_dims(np.transpose(arr, (1, 0)), 0).astype(np.float)
        # conveting to float is important, otherwise big bug occurs
        for i in range(arr.shape[0]):
            arr[i] = (arr[i]-arr[i].mean())/(arr[i].std()+1e-20)
        return arr, origin_size

Thank you for your help!! I'll try it out


Date picker: Ability to only change year or month to change date

Overview
Currently the date picker needs the user to select the date to set the date. This seems to make sense. But sometimes a user wants to change the date once it's set, and only change the month or year.
Screen recording

SCSS Disability services
There is a use case identified by Lia Shechter - SCSS Disability services (Jira story: CSSFSCD-1475) where their users in a case management app want to be able to quickly change the month or the year of a date, and not change the day of the month. When you do this with our date picker component currently, the date is not saved. The user then clicks out and assumes that they have changed the date, but it has not.

Acceptance Criteria:

Save date change if user just changes a year and/or month in the dropdown, without clicking on the day of the month.

@ArakTaiRoth Adjust story to make clear that we want native Date functionality

From: Meng Li - UX Designer - Jobs, Economy and Trades
As seen in the screen recording below, when the user wants to change only the year and/or the month of the date, they wouldn’t be able to do so unless they also click the day. If they click outside the calendar without clicking the day, no change is appended.
We did 5 rounds of testings with our users, this behaviour has consistently caused confusion and undermined the data integrity from a business requirement point of view (as some user thought they had successfully changed the year and moved on).
https://github.com/user-attachments/assets/6d23a0b9-cc53-487d-b670-e288e639fd17


fcppt: 3.2.2 -> 3.5.0

Motivation for this change
Regular update. Note the added metal dependency. This package isn't in nixpkgs yet. I wasn't sure if I should include it "officially", so it's just an embedded derivation here. Is that okay?
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[x] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[x] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

@bhipple Thanks for the review! I've fixed the things you mentioned.

LGTM!

Result of nixpkgs-review pr 84880 1

2 packages built:
- fcppt
- metal

Thanks!


simple fix of issue #177

this should fix issue #177

I don't really understand why the checks fail.

Oh, ignore it, this is my fault( I will fix it later, build passed actually (just failed last step with package upload)


isReadOnly calendar flag

Hi,
It is possible to implement an "isReadOnly" flag to the Calendar object? (Not the tui.Calendar but the one referred in schedule.calendarId)
The flag makes the calendar acting as a normal calendar but hides it in the create popup and set all of its schedules as readonly.
This flag is useful for calendars like holidays or global events that must not be editable by the user
Thanks,
Francesco

In my case, I change schedule.isReadOnly property to true when calling calendar.createSchedules if I have read-only calendar.


Fix failures with newer dns package

Testsuite passed

@stgraber so does this change basically stop the us forwarding the original packet onto the next DNS server and instead create a new request packet with the same question? Do you know why this stopped working?

Yeah, creating a new request with the same id so the client is happy with the response.
I'm not sure what was wrong with the previous approach, looks like the request as received was overflowing something, likely causing a miscalculation of the length. I don't know if it's our fault and we should have changed something else in the request to make it valid or if it's a bug in miekg pack/unpack.


steam: actually remove nativeOnly packages

fae860361ee35e1e7cefa6c93857ce2fc3cc3500 missed an important if statement which
guarded all of these behind nativeOnly
glib and libcap are non-nativeOnly requirements that were deduplicated away with
the nativeOnly requirements, so we need to bring those back

Motivation for this change
Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
22.05 Release Notes (or backporting 21.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[ ] Fits CONTRIBUTING.md.

fae8603 missed an important if statement which
guarded all of these behind nativeOnly

It was largely intentional, in generally this just causes more libraries to be available in /usr/lib and the other linked directories. Do you have an example game where the regression can be shown?

As discussed in https://github.com/NixOS/nixpkgs/pull/161997, this is intentional and we might want to keep the extra packages except for networkmanager098: https://github.com/NixOS/nixpkgs/pull/162904


Refactor css

For https://github.com/microsoft/vscode/issues/165169

[x] src/vs/workbench/contrib/welcomeWalkthrough/browser/walkThroughPart.ts

@chrmarti need your help, thanks

@chrmarti Can I still provide anything

@weartist LGTM, thanks for your PR!

@weartist LGTM, thanks for your PR!

Thank you for your help！


⚠ Jenkins Plugins Artifactory has degraded performance

In 800d21a, Jenkins Plugins Artifactory (https://get.jenkins.io/plugins/artifactory/) experienced degraded performance:

HTTP code: 200
Response time: 2455 ms

Resolved: Jenkins Plugins Artifactory performance has improved in 7cd5c01 after 29 minutes.


Text-Only Button Text Not Centered Vertically

I'm curious about the 2px top-margin applied to button labels? It's causing the text to be off-center vertically...

If I remove the 2px, everything looks great...

Closing due to age (also seems no longer to be an issue)


[help]: audio recorded on CanMV-k230 can't be heard

Help
I can capture .wav via app/sample_audio.elf -type 1 -filename pdm.wav  from big core console, but when playing it on Ubuntu host with play pdm.wav command, nothing can be heard. Meanwhile, I can hear other audio playing correctly on Ubuntu so it is might not be my host settings issue.

CanMV-k230 does not support pdm and can be replaced with i2s.You can capture .wav via app/sample_audio.elf -type 0 -enablecodec 1 bitwidth 16 -filename i2s.wav from big core console.

For more detailed usage methods, please refer to the documentation:
https://github.com/kendryte/k230_docs/blob/main/zh/01_software/board/examples/K230_SDK_CanMV_Board_Demo使用指南.md

@gh-sxp thanks for the information, however, -type 0 still doesn't work here.
Here I did use any external mircophone when recording as I assume there is one microphone on CanMV board, is this correct?

hi，There is no microphone on the CanMV board. When recording audio, you can insert headphones to try and see if you can record the sound input from the headphones. If you still cannot record sound, you can plug and unplug the headphones during the recording process.

Thanks, I see now. I thought that B4013AM MIC is mounted. After retrying with a headphone with MIC, I can hear the recordings now.
May I ask  if the B4013AM is also mounted, which option should we use to record via it? Since in this case,  there will be two MICs available on the board.

Thanks! I thought that B4013AM MIC is mounted. After retrying a headphone w/ mic , I can hear it now.
May I ask  if the B4013AM is also mounted, which option should we use to record via it? Since in this case,  there will be two MICs available.

If two mics are available and you only want to record one, you can specify the parameters channels and monochannel.
Record microphone audio using the following command: app/sample_audio.elf - type 0 -enablecodec 1 -bitwidth 16 -channels 1 -monochannel 0 -filename mic.wav
Record headphone audio using the following command: app/sample_audio.elf  -type 0 -enablecodec 1 -bitwidth 16 -channels 1 -monochannel 1 -filename headphone.wav

@gh-sxp thanks for the information.


Empty result if LIMIT in Cypher

Hi,
I'm not sure if this is a general problem, but I get an empty result if I use LIMIT in Cypher.
Short code example:
from neo4j.v1 import GraphDatabase, basic_auth
from pprint import pprint

def main():
    driver = GraphDatabase.driver("bolt://localhost", auth=basic_auth("neo4j", "neo4j"))
    with driver.session() as session:
        result = session.run("MATCH (n) RETURN n LIMIT 2")

        for r in result:
                pprint(r)

if __name__ == '__main__':
    main()

Without LIMIT everything works fine.
I'm using Python 3.5.2, Neo4j 3.1.1 and neo4j-driver 1.1.0.
Regards, Michael

Nevermind. I don't know if it works now because I added query logging to neo4j.conf, but it works again.
Regards, Michael


If there is only one value per line, visualise value by line length

Like this: https://www.bloomberg.com/graphics/2017-who-will-be-the-next-fed-chair/
Maybe we should we also add a toggle for this in settings

This is actually already possible (see https://public.flourish.studio/visualisation/24006/). We should add an example somewhere of this.

Ha, good point!

Thinking about this, though, it would be very fiddling and annoying if you had six names and six scores to make something like the simple Bloomberg chart linked to above. Wouldn't be hard to automate it.

This is actually already possible (see https://public.flourish.studio/visualisation/24006/). We should add an example somewhere of this.

Should this be a blueprint?


Windows setup issues

This looks like a really useful tool, but the setup leaves a LOT to be desired.
Unlike most VS Code Extensions, where clicking the "Install" button is all that is required, this tool requires SIGNIFICANT knowledge of Python and your operating system, in my case, Windows.
The first thing that happened upon installation is the loss of all my custom Workspace Settings, and it is now reporting "Unknown configuration setting".  Strike 1.
I found the code extensions folder for this extension under "dkupco.viewx-0.2.1" by looking at the timestamp.  Not exactly intuitive, but I found it.
Unfortunately, not knowing anything about Python, I found the Windows 10 installations instructions inscrutable, for example:
.\viewX_setup.ps1 -path "some\parent\folder" -name "env_name" [-reqFile "path\to\requirements\file"]
i.e. some\parent\folder.  parent to what?
i.e. path\to\requirements\file.  what requirements?
I was unable to complete this step.  Strike 2.
Further on... the Python-specific instructions: I have no idea how to do any of this.  I have to ask myself "how many days I want to devote to reading blogs to figure this out?"  For me its under an hour.  Strike 3.  I'm out.
I note that as of this submission there are only 255 downloads of this extension, IMHO an astonishingly low number given the tool's capabilities.  I would guess that the lack of adoption is due to the setup instructions.  If you're a Python developer, you might have a good shot of getting the extension to work.  If you have no Python experience, good luck.
I can't use this tool in its current incarnation.  This is the most complicated so called "Quick Start" I have ever encountered.  IMHO Quick Start should be 1 line: "Click the Install button."  Please consider making the installation 1 click.  I would really like to use this tool.

Hi @timmackey,
First of all, many thanks for your remarks! This is exactly what is needed for ideas to grow and improve. Please bear in mind that this extension is made initially as a school project and not production ready, but I hope we will make it actually usable soon.
I will try to help you by walking through your remarks quickly now but I will definitely try to adopt all your suggestions in order to improve this extension.
Strike 1)
For the loss of all your custom Workspace Settings I really apologize but this did not happen to me while I tested it. Some crucial changes are made in this version for it to become cross-platform. I will try to reproduce it but the latest version is 0.2.2 so I hope this does not occur now.
And "dkupco.viewx-0.2.1" is just the naming convention how extensions are named when they are shipped, "publisherName.extensionName-version".
Strike 2)
This is not actually a Python but a Powershell script. I will try to make it easier and more clear in the future, but for now all that is needed to be passed as arguments are:

path of some folder existing on your disk. It will be used as a parent folder for Python virtual environment.
name of the folder. It will be created inside the previous folder and Python virtual environment will be created inside it.

Requirements are not needed if the script is run from "setup_scripts" folder. They are [optional] in that case.
Strike 3)
This extension is just an optional development tool for building DSLs in textx  which is built in Python so setting up a Python environment is necessary. But, besides the previous step, nothing more is needed for you to start using the extension.
I will really try to make setup more understandable and done in 1 click. Also, the documentation is also planned to be created so all unnecessary setup steps that are stated here can be moved there and leave here the "Quick start" really simple and easy.
Please fell free to give more suggestions, remarks and contributions which are very welcome. As soon as I find some time I will try to make this extension's setup steps more readable and doable.

It's now December 2018.  The tool is still unusable.  If you are unable to automate the installation, please consider making the instructions "idiot-proof" for a non-python developer in the Windows environment.
Thank you.

Hi @timmackey,
I am sorry I did not have time to dedicate to this project in past time but I plan to do so in the months to come.
I will try to make the installation steps as simple as it can be, however, you must at least install Python on your machine. It is mandatory since this extension is meant to be used for DSL development using textX, which is a Python-based DSL framework, after all. Besides that, all you have to do in order to complete the installation is to install the extension and run the Powershell setup script, which does not really require any Python knowledge.
I do really hope that I will have some more time to invest in this project so we can address all issues that make using this extension still a bit complicated.
Thank you for understanding.


Cyclic 1.12 Crafttweaker zenscript documentation

Based on 1.12 .  Some sample script files https://github.com/Lothrazar/Cyclic/tree/trunk/1.12/scripts_zen_example

Don't forget to add the pages to the mkdocs.yml :)

ok on it

What is the current state of this PR?

Closing due to inactivity.


Handle Bitbucket mercurial hooks

https://confluence.atlassian.com/bitbucket/event-payloads-740262817.html#EventPayloads-RepositoryEvents states that only difference between a git and hg repo:push is the change type field.
Changed the checks to also work for hg

 You should sign our Contributor License Agreement in order to get your pull request merged.

Along with the patch from https://github.com/drone-plugins/drone-hg/pull/8) this worked splendidly.

LGTM


Fix Update Roles of User

Purpose
Revert the partial PR : https://github.com/wso2/carbon-kernel/pull/2993

PR builder started
Link: https://github.com/wso2/product-is/actions/runs/939782987

PR builder completed
Link: https://github.com/wso2/product-is/actions/runs/939782987
Status: failure


cue application on exome

Hello,
I would like to check if CUE can be applied to analysis data from Exome sequencing? Thanks

Hi @marcelamtrucco ,
Yes, the framework can be applied to the analysis of exome data as well -- since the SV signals will similarly appear in exome-based images. However, we haven't yet created models trained on exome data specifically (the WGS models cannot be applied directly). The framework includes support for training custom models and generating training data, which can be used to specialize the models to WES.
Support for WES inputs is on our roadmap though and I can let you know when we have such models released.
Cheers,
V


How do I play a morph target animation in MRE?

I have a Gltf with morph target keyframes that I can view in Babylon.js, Three.js, etc, but when I enable the animation group in an MRE the morph animation is not represented.

Looks like our glTF loader (UnityGLTF) doesn't support animating blend shapes yet. I've filed an issue: KhronosGroup/UnityGLTF#482


[BUG] Share to HackerNews doesn't work

The problem
When trying to enable sharing posts to HackerNews by way of e.g.
[params.page.share]
enable = true
Twitter = true
Facebook = true
HackerNews = true

it doesn't add a button for sharing to HackerNews.
Expected behavior
I expect a share to HackerNews icon/link to appear at the bottom of the post, along with other buttons.
Screenshots

Build Environment

OS: Arch Linux
Theme version/commit: addce327
Hugo version: 0.80.0

Preview Environment

OS: Arch Linux
Browser: Chromium  87.0.4280.141

Fixed, will be available in the next release. The fixes are already in the dev branch.

Fixed, will be available in the next release. The fixes are already in the dev branch.


Change starter to-do demo page title

What is it?

[ ] Feature / enhancement
[ ] Bug
[ ] Docs / tests

Description
I found that to-do demo in Qwik Basic starter template had wrong title "Qwik Flower", So, I changed it to "Qwik To-Do"
and changed qwik version in getting starter webpage
Use cases and why

One use case

Another use case

Checklist:

[ ] My code follows the developer guidelines of this project
[ ] I have performed a self-review of my own code
[ ] I have made corresponding changes to the documentation
[ ] Added new tests to cover the fix / functionality

thx


Passwordless Email Auth

It would be nice if I could have the option to create a email magic link authentication method. 👀

https://github.com/lazaronixon/authentication-zero/commit/00f02d18753fb7e924362b9d4ac4e019804885f7
Done 😜


Properly handle CanonicalAliasEvent and NameEvent content being absent, null or empty

which is allowed by the spec to show those events were deleted:
https://matrix.org/docs/spec/client_server/r0.4.0.html#m-room-canonical-alias
https://matrix.org/docs/spec/client_server/r0.4.0.html#m-room-canonical-alias
Relevant serde issue: https://github.com/serde-rs/serde/issues/1425
I know this code is bad, but it does the job, and I need help to make it better. See this more as a precice problem description in the form code, instead of “please merge this”. Feel free to just drop it and do a clean rewrite if that's easier.

I have an idea on how we could implement this. We could add a new Empty variant to ruma_identifiers' Error enum, then we only have to call deserialize once and can map that variant to None afterwards.

Just pushed a new, clean version with the ideas from @dtolnay and @jplatte. Now we have one general empty_string_as_none function, placed in src/lib.rs as I did not find a better place, and tests for all four cases for both events.


randomly Stopped with exit code 137

for some reason the container running ouroboros keeps stopping after a few minutes of being up?
my config is a stack V2
version: '2'
services:
  ouroboros:
    image: pyouroboros/ouroboros:latest
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    environment:
      - LOG_LEVEL=debug
      - NOTIFIERS=pover://abc@xyz
      - PROMETHEUS_ADDR=<IP_ADDRESS>
      - DATA_EXPORT=prometheus
    networks:
      - default
  prometheus:
    image: prom/prometheus:latest
    ports:
      - 9090
    networks:
      - default
      - grafana
networks:
  grafana:
    external:
      name: grafana_default

the debug logs arent really helpful either?
https://pastebin.com/raw/g95BYCRe
any suggestion

2019-02-22 10:35:02 : DEBUG : dockerclient : God im messy... cleaning myself up.
Are you sure you're not passing SELF_UPDATE?

see. my easter egg ended up helping debug 🤣

I’m not sure if it was maybe a confit or image issue as I changed my stacks around and strangely enough it’s now staying on without stopping?
But I’m also 100% I wasn’t using the self update feature

that comment should only show up if there are multiple instances of ouroboros that can see each other

I examined the code myself and saw that too so I had no idea why it was being called when the was only 1 instance running?
Only thing I can think was because I put it inside a stack and not run manually so the name was being generated as ourobous_ourobous_1 instead of ourobous

Hmm. Well im glad its taken care of. If we run into it again we can look into it further.


I want to delete item when click on X button without drag to Trash can.Help me!

http://prntscr.com/i0lw7i

Hi there. I had this same issue and I found a work around. This might break nested elements as I haven't tried. If your structure is only one level deep you can comment out the click handler in the  dndDraggable directive.
`      // element.on('click', function(event) {
//   if (!attr.dndSelected) return;
  //   event = event.originalEvent || event;
  //   scope.$apply(function() {
  //     $parse(attr.dndSelected)(scope, {event: event});
  //   });

    // Prevent triggering dndSelected in parent elements.
    // event.stopPropagation();
  // });

`

Did you ever figure this out TienTungs295?


question about current_mmdetection_Head.pth

Hi, "current_mmdetection_Head.pth" contains the backbone, neck, and roi_heads, which part should I input to the model?
Thank you very much.

You should use all of them, Regards


Better database structure

Right now, there's just one table with the most recent results. There should probably be multiple tables doing different things instead so that repo results are kept over time, at the very least.

Maybe MongoDB would be better for the way this'll be structured?


vimeo ERROR: No video formats found

youtube-dl --verbose  https://vimeo.com/channels/staffpicks/141050536
[debug] System config: []
[debug] User config: []
[debug] Command-line args: [u'--verbose', u'https://vimeo.com/channels/staffpicks/141050536']
[debug] Encodings: locale ISO8859-1, fs ISO8859-1, out ISO8859-1, pref ISO8859-1
[debug] youtube-dl version 2015.11.10
[debug] Python version 2.7.10 - IRIX64-6.5-IP35-mips-n32bit-ELF
[debug] exe versions: ffmpeg UNKNOWN, ffprobe UNKNOWN, rtmpdump 2.2b
[debug] Proxy map: {}
[vimeo] 141050536: Downloading webpage
[vimeo] 141050536: Extracting information
[vimeo] 141050536: Downloading webpage
ERROR: No video formats found; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
File "/usr/nekoware/bin/youtube-dl/youtube_dl/extractor/vimeo.py", line 378, in _real_extract
view_count = int(self._search_regex(r'UserPlays:(\d+)', webpage, 'view count'))
File "/usr/nekoware/bin/youtube-dl/youtube_dl/extractor/common.py", line 584, in _search_regex
raise RegexNotFoundError('Unable to extract %s' % _name)
RegexNotFoundError: Unable to extract view count; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
File "/usr/nekoware/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 661, in extract_info
ie_result = ie.extract(url)
File "/usr/nekoware/bin/youtube-dl/youtube_dl/extractor/common.py", line 290, in extract
return self._real_extract(url)
File "/usr/nekoware/bin/youtube-dl/youtube_dl/extractor/vimeo.py", line 427, in _real_extract
self._sort_formats(formats)
File "/usr/nekoware/bin/youtube-dl/youtube_dl/extractor/common.py", line 766, in _sort_formats
raise ExtractorError('No video formats found')
ExtractorError: No video formats found; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.

Likewise for vimeo.
 youtube-dl --verbose 'https://vimeo.com/95388759'
[debug] System config: []
[debug] User config: []
[debug] Command-line args: [u'--verbose', u'https://vimeo.com/95388759']
[debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2015.11.10
[debug] Python version 2.7.10 - Darwin-15.0.0-x86_64-i386-64bit
[debug] exe versions: avconv 11.4, avprobe 11.4
[debug] Proxy map: {}
[vimeo] 95388759: Downloading webpage
[vimeo] 95388759: Extracting information
[vimeo] 95388759: Downloading webpage
ERROR: No video formats found; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/vimeo.py", line 378, in _real_extract
    view_count = int(self._search_regex(r'UserPlays:(\d+)', webpage, 'view count'))
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 584, in _search_regex
    raise RegexNotFoundError('Unable to extract %s' % _name)
RegexNotFoundError: Unable to extract view count; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
  File "/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 661, in extract_info
    ie_result = ie.extract(url)
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 290, in extract
    return self._real_extract(url)
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/vimeo.py", line 427, in _real_extract
    self._sort_formats(formats)
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 766, in _sort_formats
    raise ExtractorError('No video formats found')
ExtractorError: No video formats found; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.

Duplicate of #7460.


Ignore inputs with empty names on form submission

Form elements without name attribute must not be included as a parameter on form submission.

Closed by https://github.com/gushonorato/mechanizex/commit/7a6a82555fa493f81374a07564cbe09ccbedbe63